diff options
| author | Martin Talarczyk <talarczyk.martin@fh-swf.de> | 2015-09-30 17:55:07 +0200 |
|---|---|---|
| committer | Martin Talarczyk <talarczyk.martin@fh-swf.de> | 2015-09-30 17:55:07 +0200 |
| commit | 7c5f2a30d16f5cf0f4ebcb906f72c4cf2c15bfd1 (patch) | |
| tree | 0acb363d1f130ae056624bb8e069e76623313dcb | |
| parent | 22c8b3cf70f7930a7a4342f95b8b85d6b04c44c3 (diff) | |
| download | src-7c5f2a30d16f5cf0f4ebcb906f72c4cf2c15bfd1.tar.gz src-7c5f2a30d16f5cf0f4ebcb906f72c4cf2c15bfd1.zip | |
Zeige Statusmeldungen und überarbeite Decryptverhalten
| -rw-r--r-- | mainwindow.cpp | 118 | ||||
| -rw-r--r-- | mainwindow.h | 6 |
2 files changed, 78 insertions, 46 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index 2fbd295..e5e769d 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,5 +1,6 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +#include <QProgressBar> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -13,43 +14,42 @@ MainWindow::~MainWindow() delete ui; } -// Button - void MainWindow::on_pushButtonDecrypt_clicked() { - QString in = ui->lineEditFilePath->text(); - QString out; - if (hybridcrypt.isUserKeyInitialised()) { - if (in.isEmpty()) - { - QMessageBox::information(this, tr("Kein Datei ausgewählt"), - tr("Sie haben keine Datei eingegen die Entschlüsselt werden soll.")); - ui->lineEditFilePath->setFocus(); - } - else + QString inFilename = QFileDialog::getOpenFileName(this, + tr("Verschlüsselte Datei laden"), QDir::homePath(), tr("Alle Dateien")); + + if (!inFilename.isEmpty()) { - out = QFileDialog::getSaveFileName(this, - tr("Speicherort für Entschlüsseltedatei"), QDir::homePath(), - tr("Alle Dateien")); - if (out.isEmpty()) - { - QMessageBox::warning(this, tr("Keine Seicherort ausgefählt"), - tr("Sie haben keine Speicherort für die Entschlüsselte Datei eingegeben.")); - } - else + QString outFilename = QFileDialog::getSaveFileName(this, + tr("Entschlüsselte Datei speichern"), QDir::homePath(), tr("Alle Dateien")); + + if (!outFilename.isEmpty()) { try { - hybridcrypt.decrypt(in, out); + statusBar()->showMessage(tr("Entschlüsselung hat begonnen."), messageTimeout); + hybridcrypt.decrypt(inFilename, outFilename); + statusBar()->showMessage(tr("Entschlüsselung war erfolgreich."), messageTimeout); } catch (CryptException e) { QMessageBox::critical(this, tr("Fehler beim Entschlüsseln"), e.what()); } } + else + { + QMessageBox::warning(this, tr("Keine Seicherort ausgefählt"), + tr("Sie haben keine Speicherort für die Entschlüsselte Datei eingegeben.")); + } + } + else + { + QMessageBox::information(this, tr("Kein Datei ausgewählt"), + tr("Sie haben keine Datei eingegen die Entschlüsselt werden soll.")); } } else @@ -67,53 +67,62 @@ void MainWindow::on_pushButtonDecrypt_clicked() } } - void MainWindow::on_pushButtonEncrypt_clicked() { - PublicKeyImportDialog publicKeyImport; + if (hybridcrypt.isUserKeyInitialised() || + QMessageBox::Yes == QMessageBox::question(this, + tr("Kein Schlüssel Importirt"), + tr("Sie haben keinen Eigenen Schlüssel Angegen.\nWollen Sie trotzdem fortfahren?"))) + { - QString inFilename = ui->lineEditFilePath->text(); + PublicKeyImportDialog publicKeyImport; - // outFile Diaglog findet in PublicKeyImportDialog stat. + QString inFilename = ui->lineEditFilePath->text(); - if (!inFilename.isEmpty()) - { - if (publicKeyImport.exec()) + // outFile Diaglog findet in PublicKeyImportDialog stat. + + if (!inFilename.isEmpty()) { - try + if (publicKeyImport.exec()) { - hybridcrypt.encrypt(inFilename, publicKeyImport.getOutFileName(), - publicKeyImport.getFielListPublicKey()); - } - catch (CryptException e) - { - QMessageBox::critical(this, tr("Fehler beim Verschlüsselen"), e.what()); + try + { + statusBar()->showMessage(tr("Verschlüsselung hat begonnen."), messageTimeout); + hybridcrypt.encrypt(inFilename, publicKeyImport.getOutFileName(), + publicKeyImport.getFielListPublicKey()); + statusBar()->showMessage(tr("Verschlüsselung war erfolgreich."), + messageTimeout); + } + catch (CryptException e) + { + 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 Statgefunden")); + ui->lineEditFilePath->setFocus(); + } } - else - { - QMessageBox::information(this, tr("Keine Datei ausgewählt"), - tr("Sie haben Keine Datei ausgewählt. Entschlüsselung hat nicht Statgefunden")); - ui->lineEditFilePath->setFocus(); - } - } void MainWindow::on_pushButtonOpenFile_clicked() { QString fielname = QFileDialog::getOpenFileName(this, tr("Datei Öffnen"), QDir::homePath(), - tr("Alle Datein")); + tr("Alle Dateien")); if (!fielname.isEmpty()) { ui->lineEditFilePath->setText(fielname); } -} -//Menü Führung + + +} void MainWindow::on_actionImport_triggered() { @@ -203,6 +212,23 @@ void MainWindow::on_actionExportMyPublicKey_triggered() } } +void MainWindow::on_lineEditFilePath_textChanged(const QString &text) +{ + if (text.right(4) == ".txt" || text.right(4) == ".log") + { + QFile file(text); + + if (file.open(QFile::ReadOnly | QFile::Text)) + { + ui->textEditPreview->setText(QString(file.readAll())); + } + } + else + { + ui->textEditPreview->clear(); + } +} + void MainWindow::on_actionCreateKeypair_triggered() { qDebug() << "on_actionCreateKeypair_triggered"; diff --git a/mainwindow.h b/mainwindow.h index b11881f..ec0d882 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -6,6 +6,8 @@ #include <QDebug> #include <QDir> #include <QMessageBox> +#include <QStatusBar> +#include <QLabel> #include "crypt/hybridcrypt.h" #include "passworddialog.h" @@ -40,8 +42,12 @@ private slots: void on_actionExportMyPublicKey_triggered(); + void on_lineEditFilePath_textChanged(const QString &text); + private: + static const int messageTimeout = 20000; + HybridCrypt hybridcrypt; Ui::MainWindow *ui; |
