Przeglądaj źródła

VLCPlayListController: add conformance to EditableMLModel

closes #441
Carola Nitz 6 lat temu
rodzic
commit
0f929016ff

+ 7 - 1
SharedSources/MediaLibraryModel/PlaylistModel.swift

@@ -84,8 +84,14 @@ extension PlaylistModel {
     }
 }
 
-// MARK: - MediaLibraryObserver
+// MARK: - Edit
+extension PlaylistModel: EditableMLModel {
+    func editCellType() -> BaseCollectionViewCell.Type {
+        return MediaEditCell.self
+    }
+}
 
+// MARK: - MediaLibraryObserver
 extension PlaylistModel: MediaLibraryObserver {
     func medialibrary(_ medialibrary: MediaLibraryService, didAddPlaylists playlists: [VLCMLPlaylist]) {
         playlists.forEach({ append($0) })

+ 11 - 0
Sources/MediaEditCell.swift

@@ -32,6 +32,8 @@ class MediaEditCell: BaseCollectionViewCell {
                 updateForAlbum(album: album)
             } else if let genre = media as? VLCMLGenre {
                 updateForGenre(genre: genre)
+            } else if let playlist = media as? VLCMLPlaylist {
+                updateForPlaylist(playlist: playlist)
             } else {
                 fatalError("needs to be of a supported Type")
             }
@@ -83,6 +85,15 @@ class MediaEditCell: BaseCollectionViewCell {
         //TODO: add thumbnail
     }
 
+    func updateForPlaylist(playlist: VLCMLPlaylist) {
+        thumbnailImageView.layer.cornerRadius = 3
+        AudioAspectRatio.isActive = false
+        VideoAspectRatio.isActive = true
+        titleLabel.text = playlist.name
+        timeLabel.text = playlist.numberOfTracksString()
+        //TODO: add thumbnail
+    }
+
     var isChecked: Bool = false {
          didSet {
             checkboxImageView.image = isChecked ? UIImage(named: "checkboxSelected") : UIImage(named: "checkboxEmpty")