Пример #1
0
  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)
Пример #2
0
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()