Beispiel #1
0
 def clearMessages(self):
     if self.peerName and self.askForConfirmation(strings["confirmDeleteConversationText"]):
         numberOfMessages = len(sharedData.messages)
         deletedMessages = 0
         for i in range(numberOfMessages):
             if sharedData.messages[i - deletedMessages].messagePeer == self.peerName:
                 sharedData.messages.pop(i - deletedMessages)
                 deletedMessages += 1
         storeMessages(self.session.username, sharedData.messages)
         self.refreshDisplay.emit()
Beispiel #2
0
 def refreshThread():
     try:
         sharedData.messages += self.session.getMessages()
     except SecureMessagingException as error:
         self.showMessageBox.emit(strings["errorText"] + responseTranslations[str(error)])
         return
     sharedData.messages = sorted(sharedData.messages, key=messageSort)
     sharedData.markAsRead(self.ui.peer.text())
     storeMessages(self.session.username, sharedData.messages)
     self.refreshDisplay.emit()
 def unauthorize(self):
     if self.askForConfirmation(strings["confirmUnauthorizeClientText"]):
         try:
             self.session.unauthorize()
         except SecureMessagingException as error:
             self.showMessageBox.emit(strings["errorText"] + responseTranslations[str(error)])
             return
         storeMessages(self.session.username, None)
         storeToken(self.session.username, None)
         storeKey(self.session.username, None, None)
         self.logout()
Beispiel #4
0
    def linkClicked(self, url):
        url = url.toString()
        if url == "UP":
            return
        if url.startswith("FILE"):
            messageId = url[len("FILE") :]
            messageId = int(messageId)
            message = sharedData.messages[messageId]
            fileName = QtGui.QFileDialog.getSaveFileName(directory=message.fileName)
            if fileName:
                self.progressStart()

                def fileDownloaderThread():
                    try:
                        fileContents = self.session.downloadFile(message)
                        self.fileDownloadCompleted.emit(fileContents, fileName)
                    except (SecureMessagingException, IOError) as error:
                        self.showMessageBox.emit(strings["errorText"] + responseTranslations[str(error)])
                        return

                Thread(target=fileDownloaderThread).start()
        elif url.startswith("DEL_"):
            messageId = int(url[len("DEL_") :])
            if self.askForConfirmation(strings["confirmDeleteMessageText"]):
                sharedData.messages.pop(messageId)
                storeMessages(self.session.username, sharedData.messages)
                self.refreshDisplay.emit()
        elif url.startswith("SGN_"):
            messageId = int(url[len("SGN_") :])
            message = sharedData.messages[messageId]
            response = QInputDialog.getText(
                self, strings["signatureSecretInputTitle"], strings["signatureSecretInputLabel"]
            )
            if response[1]:
                if message.verifySignature(response[0].encode("utf-8")):
                    self.showMessageBox.emit(strings["signatureOkMessageText"])
                else:
                    self.showMessageBox.emit(strings["signatureBadMessageText"])
Beispiel #5
0
 def renameThread():
     newUsername = self.ui.newUsername.text()
     if newUsername == "":
         self.showMessageBox.emit(strings["missingFieldsErrorText"])
         return
     try:
         oldUsername = self.session.username
         self.session.renameUser(newUsername)
         for message in sharedData.messages:
             if message.sender == oldUsername:
                 message.sender = newUsername
             elif message.receiver == oldUsername:
                 message.receiver = newUsername
         storeMessages(self.session.username, sharedData.messages)
         storeToken(self.session.username, self.session.token)
         storeKey(self.session.username, self.session.public, self.session.private)
         storeMessages(oldUsername, None)
         storeToken(oldUsername, None)
         storeKey(oldUsername, None, None)
         self.renameCompleted.emit()
     except SecureMessagingException as error:
         self.showMessageBox.emit(strings["errorText"] + responseTranslations[str(error)])
         return
 def markAllAsRead(self):
     sharedData.markAsRead()
     storeMessages(self.session.username, sharedData.messages)
     self.refreshList.emit()
 def clearMessages(self):
     if self.askForConfirmation(strings["confirmDeleteAllMessagesText"]):
         sharedData.messages = []
         storeMessages(self.session.username, None)
         self.refreshList.emit()