From 7c5f2a30d16f5cf0f4ebcb906f72c4cf2c15bfd1 Mon Sep 17 00:00:00 2001 From: Martin Talarczyk Date: Wed, 30 Sep 2015 17:55:07 +0200 Subject: Zeige Statusmeldungen und überarbeite Decryptverhalten MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mainwindow.cpp | 118 +++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 72 insertions(+), 46 deletions(-) (limited to 'mainwindow.cpp') 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 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"; -- cgit v1.2.3-70-g09d2