def __init__(self, app, parent=None): QtGui.QWidget.__init__(self, parent) self.app = app QtGui.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) # Starting with encryption self.encryptionObject = None self.configUiHandler = configUiHandler(self.ui) if self.configUiHandler.encryptionObject is not None: self.encryptionObject = self.configUiHandler.encryptionObject # instance message-handler, thread, tryToxic itself.. self.toxMessagesHandler = toxMessageHandler(self.encryptionObject, self.configUiHandler.logMessages) self.toxThread = toxThread() if self.encryptionObject is not None: self.tryToxic = ToxTry(self.encryptionObject.key, self.toxThread) else: self.tryToxic = ToxTry("", self.toxThread) self.toxThread.tryToxic = self.tryToxic self.toxThread.start() self.setWindowTitle("tryToxic :: " + self.tryToxic.name) # start toxUiHandler self.toxUiHandler = toxUiHandler(self.ui, self.tryToxic, self.toxMessagesHandler, self.toxThread) self.toxUiHandler.appNotify.connect(self.onAppNotify) self.configUiHandler.passPhraseChanged.connect(self.onPassPhraseChanged) self.configUiHandler.saveMessagesChanged.connect(self.onSaveMessagesChanged)
class mainController(QtGui.QMainWindow): """ The big big main-class. It's the gui and handler for gui, which is in active connection with tryToxic in toxThread. @TODO needs to get more lite - methods could go to another class too, to get better overview of code. """ def __init__(self, app, parent=None): QtGui.QWidget.__init__(self, parent) self.app = app QtGui.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) # Starting with encryption self.encryptionObject = None self.configUiHandler = configUiHandler(self.ui) if self.configUiHandler.encryptionObject is not None: self.encryptionObject = self.configUiHandler.encryptionObject # instance message-handler, thread, tryToxic itself.. self.toxMessagesHandler = toxMessageHandler(self.encryptionObject, self.configUiHandler.logMessages) self.toxThread = toxThread() if self.encryptionObject is not None: self.tryToxic = ToxTry(self.encryptionObject.key, self.toxThread) else: self.tryToxic = ToxTry("", self.toxThread) self.toxThread.tryToxic = self.tryToxic self.toxThread.start() self.setWindowTitle("tryToxic :: " + self.tryToxic.name) # start toxUiHandler self.toxUiHandler = toxUiHandler(self.ui, self.tryToxic, self.toxMessagesHandler, self.toxThread) self.toxUiHandler.appNotify.connect(self.onAppNotify) self.configUiHandler.passPhraseChanged.connect(self.onPassPhraseChanged) self.configUiHandler.saveMessagesChanged.connect(self.onSaveMessagesChanged) def onAppNotify(self): logger.info("recive notify!") self.app.alert(self, 4000) def onSaveMessagesChanged(self, yesNo): yesNo = yesNo.lower() if yesNo != "true": self.toxMessagesHandler.saveMessages = False self.tryToxic.toxMessagesHandler.saveMessages = False else: self.toxMessagesHandler.saveMessages = True self.tryToxic.toxMessagesHandler.saveMessages = True def onPassPhraseChanged(self, encryptionObject): """ When configUiHandler came to the point, he has to change passPhrase, he informs the mainclass (for compatibility) but also tryToxic over it's new passPhrase. """ self.encryptionObject = encryptionObject if encryptionObject is not None: self.tryToxic.passPhrase = encryptionObject.key else: self.tryToxic.passPhrase = "" scm.migrateEncryptionData(encryptionObject, self.toxMessagesHandler) self.tryToxic.saveLocalData() def closeEvent(self, event): """ Programm should get closed? We're informed here """ reply = QtGui.QMessageBox.question(self, tr('Really leave tryToxic?'), tr("Are you sure to quit?"), QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: self.toxThread.quit() event.accept() else: event.ignore()