summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mainwindow.cpp118
-rw-r--r--mainwindow.h6
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;