diff options
| -rw-r--r-- | mainwindow.cpp | 80 | ||||
| -rw-r--r-- | mainwindow.h | 2 |
2 files changed, 37 insertions, 45 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index 5adb301..8a8d4e5 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -36,41 +36,43 @@ void MainWindow::on_pushButtonDecrypt_clicked() } catch (CryptException e) { + statusBar()->clearMessage(); QMessageBox::critical(this, tr("Fehler beim Entschlüsseln"), e.what()); } } } else { - QMessageBox::information(this, tr("Kein Schlüssel Importiert"), - tr("Bitte Importieren Sie ihr Schlüsselpaar.")); - // Versuche ein Schlüssel zu Importieren. - on_actionImport_triggered(); - - // Wenn das erfolgreich war, versuche erneut zu entschlüsseln. - if (hybridcrypt.isUserKeyInitialised()) + if (QMessageBox::Yes == QMessageBox::question(this, + tr("Kein Schlüssel Importiert"), + tr("Wollen Sie ihr Schlüsselpaar importieren."))) { - on_pushButtonDecrypt_clicked(); + // Versuche ein Schlüssel zu Importieren. + on_actionImport_triggered(); + + // Wenn das erfolgreich war, versuche erneut zu entschlüsseln. + if (hybridcrypt.isUserKeyInitialised()) + { + on_pushButtonDecrypt_clicked(); + } } } } void MainWindow::on_pushButtonEncrypt_clicked() { - if (hybridcrypt.isUserKeyInitialised() || - QMessageBox::Yes == QMessageBox::question(this, - tr("Kein Schlüssel Importiert"), - tr("Sie haben keinen eigenen Schlüssel angelegt.\nWollen Sie trotzdem fortfahren?"))) - { - - PublicKeyImportDialog publicKeyImport; + QString inFilename = ui->lineEditFilePath->text(); - QString inFilename = ui->lineEditFilePath->text(); + if (!inFilename.isEmpty()) + { + if (hybridcrypt.isUserKeyInitialised() || + QMessageBox::Yes == QMessageBox::question(this, + tr("Kein Schlüssel importiert"), + tr("Sie haben keinen eigenen Schlüssel angelegt.\nWollen Sie trotzdem fortfahren?"))) + { - // outFile Diaglog findet in PublicKeyImportDialog statt. + PublicKeyImportDialog publicKeyImport; - if (!inFilename.isEmpty()) - { if (publicKeyImport.exec()) { try @@ -83,17 +85,19 @@ void MainWindow::on_pushButtonEncrypt_clicked() } catch (CryptException e) { + statusBar()->clearMessage(); QMessageBox::critical(this, tr("Fehler beim Verschlüsselen"), e.what()); } } } - else - { - QMessageBox::information(this, tr("Keine Datei ausgewählt"), - tr("Sie haben keine Datei ausgewählt.\nEntschlüsselung hat nicht statt gefunden.")); - ui->lineEditFilePath->setFocus(); - } } + else + { + QMessageBox::information(this, tr("Keine Datei ausgewählt"), + tr("Sie haben keine Datei ausgewählt.\nWählen Sie eine Datei vor dem Entschlüsseln.")); + ui->lineEditFilePath->setFocus(); + } + } void MainWindow::on_pushButtonOpenFile_clicked() @@ -123,18 +127,14 @@ void MainWindow::on_actionImport_triggered() try { hybridcrypt.importUserKeypair(filename, pwd.getPassword()); + statusBar()->showMessage("Import war erfolgreich.", messageTimeout); } catch (CryptException e) { + statusBar()->clearMessage(); QMessageBox::critical(this, tr("Fehler beim Importieren"), e.what()); } } - else - { - QMessageBox::information(this, tr("Keine Datei ausgewählt"), - tr("Sie haben keine Datei ausgewählt, der Import hat nicht statt gefunden.")); - } - } void MainWindow::on_actionExportMyKeypair_triggered() @@ -144,15 +144,17 @@ void MainWindow::on_actionExportMyKeypair_triggered() QString expoKeyFileName = QFileDialog::getSaveFileName(this, tr("Export Datei für den Schlüssel"), QDir::homePath(), tr("Schlüssel Dateien (*.pem)")); - PasswordDialog pwd; if (!expoKeyFileName.isEmpty()) { + PasswordDialog pwd; + pwd.exec(); try { hybridcrypt.exportUserKeypair(expoKeyFileName, pwd.getPassword()); + statusBar()->showMessage("Export war erflogreich.", messageTimeout); } catch (CryptException e) { @@ -160,11 +162,6 @@ void MainWindow::on_actionExportMyKeypair_triggered() } } - else - { - QMessageBox::warning(this, tr("Keine Schlüsseldatei ausgewählt"), - tr("Sie haben keinen Zielort für die Datei ausgewählt. Exportieren wurden nicht durchgeführt.")); - } } } @@ -182,17 +179,13 @@ void MainWindow::on_actionExportMyPublicKey_triggered() try { hybridcrypt.exportPublicUserKey(expoKeyFileName); + statusBar()->showMessage("Export war erfolgreich.", messageTimeout); } catch (CryptException e) { QMessageBox::critical(this, tr("Fehler beim Exportieren"), e.what()); } } - else - { - QMessageBox::warning(this, tr("Keine Schlüsseldatei ausgewählt"), - tr("Sie haben keine Zielort für die Datei ausgewählt. Exportieren wurden nicht durchgeführt.")); - } } } @@ -221,8 +214,7 @@ void MainWindow::on_actionCreateKeypair_triggered() { hybridcrypt.createKeypair(); - QMessageBox::information(this, tr("Erzeugen war erfolgreich"), - tr("Erzeugen des Schlüssels war erfolgreich.")); + statusBar()->showMessage("Erzeugen war erfolgreich.", messageTimeout); } catch (CryptException e) { diff --git a/mainwindow.h b/mainwindow.h index f7ddaae..990f128 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -87,7 +87,7 @@ private: /** * @brief Zeit in Sekunden die, die Nachrichten in der Statusbar angezeigt werden. */ - static const int messageTimeout = 20000; + static const int messageTimeout = 5000; /** * @brief Schnittstelle für Schlüssel haltung und Ver- und Entschlüsselung. */ |
