X-Git-Url: https://code.delx.au/notipod/blobdiff_plain/fd45d2bc20ac9ed64deba0ae046cdc96a4fa9bd7..2a63113c140f7b0d41c5980fab90af8510129d34:/NotiPod.py diff --git a/NotiPod.py b/NotiPod.py index f302f6f..4bb501d 100644 --- a/NotiPod.py +++ b/NotiPod.py @@ -134,17 +134,26 @@ class NotiPodAppDelegate(NSObject): self.runGeneratorNext() def runGeneratorNext(self): + if self.gen is None or self.finish is None: + return try: msg = self.gen.next() self.loadingLabel.setStringValue_(msg) self.performSelector_withObject_afterDelay_( self.runGeneratorNext, None, 0) except StopIteration: - self.gen = None - NSApp.endSheet_(self.loadingSheet) - self.loadingSheet.orderOut_(self) - self.finish() - self.finish = None + self.stopGenerator() + + def stopGenerator(self): + self.gen = None + NSApp.endSheet_(self.loadingSheet) + self.loadingSheet.orderOut_(self) + self.finish() + self.finish = None + + @objc.IBAction + def doCancel_(self, sender): + self.stopGenerator() @objc.IBAction def doSync_(self, sender): @@ -165,7 +174,7 @@ class NotiPodAppDelegate(NSObject): dry_run=False, source=self.library.folder, dest=folder, - files=all_tracks + files_to_copy=all_tracks ) , finish