def quit(self): log(WARNING) cpref = preferences.changed() # Somehow the MBox doesn't close. Figure out later. if False and cpref: b = QMessageBox(flags = Qt.Dialog); b.setText("Unsaved preferences") b.setInformativeText("The preferences %s have changed."% cpref) b.setStandardButtons(QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel); b.setDefaultButton(QMessageBox.Save); ret = b.exec_(); log(DEBUG, "ret= %s"% ret) if ret == QMessageBox.Save: event.handled() self.savePreferences() elif ret == QMessageBox.Cancel: event.ignore() elif ret == QMessageBox.Disacrd: event.handled() else: log(WARNING, "Messagebox returned %s, not sure what to do." % ret) else: self.savePreferences() log(WARNING, "Quitting.") self.mgr.release() qApp.quit()