Add warning prior to export of database

* Ensures user is aware that the exported data is unencrypted and vulnerable
This commit is contained in:
Jonathan White 2019-06-30 15:04:43 -04:00
parent aac76ad407
commit d12f15da92
2 changed files with 21 additions and 0 deletions

View File

@ -390,6 +390,10 @@ void DatabaseTabWidget::exportToCsv()
return;
}
if (!warnOnExport()) {
return;
}
QString fileName = fileDialog()->getSaveFileName(
this, tr("Export database to CSV file"), QString(), tr("CSV file").append(" (*.csv)"), nullptr, nullptr, "csv");
if (fileName.isEmpty()) {
@ -411,6 +415,10 @@ void DatabaseTabWidget::exportToHtml()
return;
}
if (!warnOnExport()) {
return;
}
QString fileName = fileDialog()->getSaveFileName(this,
tr("Export database to HTML file"),
QString(),
@ -429,6 +437,18 @@ void DatabaseTabWidget::exportToHtml()
}
}
bool DatabaseTabWidget::warnOnExport()
{
auto ans =
MessageBox::question(this,
tr("Export Confirmation"),
tr("You are about to export your database to an unencrypted file. This will leave your "
"passwords and sensitive information vulnerable! Are you sure you want to continue?"),
MessageBox::Yes | MessageBox::No,
MessageBox::No);
return ans == MessageBox::Yes;
}
void DatabaseTabWidget::changeMasterKey()
{
currentDatabaseWidget()->switchToMasterKeyChange();

View File

@ -99,6 +99,7 @@ private slots:
private:
QSharedPointer<Database> execNewDatabaseWizard();
void updateLastDatabases(const QString& filename);
bool warnOnExport();
QPointer<DatabaseWidgetStateSync> m_dbWidgetStateSync;
QPointer<DatabaseWidget> m_dbWidgetPendingLock;