]> code.delx.au - notipod/blobdiff - NotiPod.py
Added cancel button and put playlists in their own folder
[notipod] / NotiPod.py
index f302f6f9ed167a3b01843a482990e51cb778dbcc..5292faf7b4ba0e9aae41cf4f2b7f54c0a58bb6df 100644 (file)
@@ -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):