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):