class NotiPodController(NSObject):
window = objc.IBOutlet()
- playlistModel = objc.IBOutlet()
- folderModel = objc.IBOutlet()
+
loadingSheet = objc.IBOutlet()
loadingLabel = objc.IBOutlet()
loadingIndicator = objc.IBOutlet()
+ previewWindow = objc.IBOutlet()
+ previewText = objc.IBOutlet()
+
+ playlistModel = objc.IBOutlet()
+ folderModel = objc.IBOutlet()
+
+
def awakeFromNib(self):
self.runningGenerator = False
def doCancel_(self, sender):
self.runningGenerator = False
+ def doPreviewThread(self):
+ yield "Calculating changes..."
+
+ folder = self.folders()[0]
+ playlists = [self.library.get_playlist_pid(pid) for pid in self.playlists()]
+
+ all_tracks = []
+ for playlist in playlists:
+ all_tracks.extend(playlist.tracks)
+
+ gen = libnotipod.sync(
+ dry_run=True,
+ source=self.library.folder,
+ dest=folder,
+ files_to_copy=all_tracks
+ )
+ self.previewResult = "\n".join(gen)
+
+ @objc.IBAction
+ def doPreview_(self, sender):
+ self.previewResult = ""
+ self.previewWindow.orderOut_(self)
+
+ def finish():
+ self.previewText.textStorage().mutableString().setString_(self.previewResult)
+ self.previewWindow.center()
+ self.previewWindow.makeKeyAndOrderFront_(self)
+
+ self.runGenerator(self.doPreviewThread, finish)
+
@objc.IBAction
def doSync_(self, sender):
folder = self.folders()[0]