summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-10-02 16:58:07 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-10-02 16:58:07 +0200
commit1b56cc2885d735399b6b0ff20be345c6c9ced866 (patch)
treedd66cc3967f2d29fcc702876eeb2444e479e13b4
parent780fbd892b8997541bd423833844bfbce0a2cc22 (diff)
downloadsrc-1b56cc2885d735399b6b0ff20be345c6c9ced866.tar.gz
src-1b56cc2885d735399b6b0ff20be345c6c9ced866.zip
Verbessere Nutzerinteraktion bei Erfolg/Fehler
-rw-r--r--mainwindow.cpp80
-rw-r--r--mainwindow.h2
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.
*/