mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-25 23:39:45 -05:00
Add a QMessageBox wrapper class to help gui tests.
QMessageBox displays modal dialogs which blocks the gui tests. To work around this we add a MessageBox wrapper class where the tests can set the answer for the next dialog. The answer is then returned without actually showing the dialog.
This commit is contained in:
parent
551637f0c2
commit
d5b70b1bef
@ -87,6 +87,7 @@ set(keepassx_SOURCES
|
|||||||
gui/KeePass1OpenWidget.cpp
|
gui/KeePass1OpenWidget.cpp
|
||||||
gui/LineEdit.cpp
|
gui/LineEdit.cpp
|
||||||
gui/MainWindow.cpp
|
gui/MainWindow.cpp
|
||||||
|
gui/MessageBox.cpp
|
||||||
gui/PasswordGeneratorWidget.cpp
|
gui/PasswordGeneratorWidget.cpp
|
||||||
gui/SettingsWidget.cpp
|
gui/SettingsWidget.cpp
|
||||||
gui/SortFilterHideProxyModel.cpp
|
gui/SortFilterHideProxyModel.cpp
|
||||||
|
@ -18,11 +18,10 @@
|
|||||||
#include "ChangeMasterKeyWidget.h"
|
#include "ChangeMasterKeyWidget.h"
|
||||||
#include "ui_ChangeMasterKeyWidget.h"
|
#include "ui_ChangeMasterKeyWidget.h"
|
||||||
|
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "keys/FileKey.h"
|
#include "keys/FileKey.h"
|
||||||
#include "keys/PasswordKey.h"
|
#include "keys/PasswordKey.h"
|
||||||
#include "gui/FileDialog.h"
|
#include "gui/FileDialog.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
|
|
||||||
ChangeMasterKeyWidget::ChangeMasterKeyWidget(QWidget* parent)
|
ChangeMasterKeyWidget::ChangeMasterKeyWidget(QWidget* parent)
|
||||||
: DialogyWidget(parent)
|
: DialogyWidget(parent)
|
||||||
@ -56,7 +55,7 @@ void ChangeMasterKeyWidget::createKeyFile()
|
|||||||
QString errorMsg;
|
QString errorMsg;
|
||||||
bool created = FileKey::create(fileName, &errorMsg);
|
bool created = FileKey::create(fileName, &errorMsg);
|
||||||
if (!created) {
|
if (!created) {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Unable to create Key File : ") + errorMsg);
|
MessageBox::warning(this, tr("Error"), tr("Unable to create Key File : ") + errorMsg);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_ui->keyFileCombo->setEditText(fileName);
|
m_ui->keyFileCombo->setEditText(fileName);
|
||||||
@ -105,7 +104,7 @@ void ChangeMasterKeyWidget::generateKey()
|
|||||||
if (m_ui->passwordGroup->isChecked()) {
|
if (m_ui->passwordGroup->isChecked()) {
|
||||||
if (m_ui->enterPasswordEdit->text() == m_ui->repeatPasswordEdit->text()) {
|
if (m_ui->enterPasswordEdit->text() == m_ui->repeatPasswordEdit->text()) {
|
||||||
if (m_ui->enterPasswordEdit->text().isEmpty()) {
|
if (m_ui->enterPasswordEdit->text().isEmpty()) {
|
||||||
if (QMessageBox::question(this, tr("Question"),
|
if (MessageBox::question(this, tr("Question"),
|
||||||
tr("Do you really want to use an empty string as password?"),
|
tr("Do you really want to use an empty string as password?"),
|
||||||
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) {
|
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) {
|
||||||
return;
|
return;
|
||||||
@ -114,7 +113,7 @@ void ChangeMasterKeyWidget::generateKey()
|
|||||||
m_key.addKey(PasswordKey(m_ui->enterPasswordEdit->text()));
|
m_key.addKey(PasswordKey(m_ui->enterPasswordEdit->text()));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Different passwords supplied."));
|
MessageBox::warning(this, tr("Error"), tr("Different passwords supplied."));
|
||||||
m_ui->enterPasswordEdit->setText("");
|
m_ui->enterPasswordEdit->setText("");
|
||||||
m_ui->repeatPasswordEdit->setText("");
|
m_ui->repeatPasswordEdit->setText("");
|
||||||
return;
|
return;
|
||||||
|
@ -18,11 +18,10 @@
|
|||||||
#include "DatabaseOpenWidget.h"
|
#include "DatabaseOpenWidget.h"
|
||||||
#include "ui_DatabaseOpenWidget.h"
|
#include "ui_DatabaseOpenWidget.h"
|
||||||
|
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "core/Config.h"
|
#include "core/Config.h"
|
||||||
#include "core/Database.h"
|
#include "core/Database.h"
|
||||||
#include "gui/FileDialog.h"
|
#include "gui/FileDialog.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
#include "format/KeePass2Reader.h"
|
#include "format/KeePass2Reader.h"
|
||||||
#include "keys/FileKey.h"
|
#include "keys/FileKey.h"
|
||||||
#include "keys/PasswordKey.h"
|
#include "keys/PasswordKey.h"
|
||||||
@ -115,7 +114,7 @@ void DatabaseOpenWidget::openDatabase()
|
|||||||
Q_EMIT editFinished(true);
|
Q_EMIT editFinished(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Unable to open the database.\n%1")
|
MessageBox::warning(this, tr("Error"), tr("Unable to open the database.\n%1")
|
||||||
.arg(reader.errorString()));
|
.arg(reader.errorString()));
|
||||||
m_ui->editPassword->clear();
|
m_ui->editPassword->clear();
|
||||||
}
|
}
|
||||||
@ -136,7 +135,7 @@ CompositeKey DatabaseOpenWidget::databaseKey()
|
|||||||
QString keyFilename = m_ui->comboKeyFile->currentText();
|
QString keyFilename = m_ui->comboKeyFile->currentText();
|
||||||
QString errorMsg;
|
QString errorMsg;
|
||||||
if (!key.load(keyFilename, &errorMsg)) {
|
if (!key.load(keyFilename, &errorMsg)) {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Can't open key file:\n%1").arg(errorMsg));
|
MessageBox::warning(this, tr("Error"), tr("Can't open key file:\n%1").arg(errorMsg));
|
||||||
return CompositeKey();
|
return CompositeKey();
|
||||||
}
|
}
|
||||||
masterKey.addKey(key);
|
masterKey.addKey(key);
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include "DatabaseTabWidget.h"
|
#include "DatabaseTabWidget.h"
|
||||||
|
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
|
|
||||||
#include "autotype/AutoType.h"
|
#include "autotype/AutoType.h"
|
||||||
@ -30,6 +29,7 @@
|
|||||||
#include "gui/DatabaseWidget.h"
|
#include "gui/DatabaseWidget.h"
|
||||||
#include "gui/DragTabBar.h"
|
#include "gui/DragTabBar.h"
|
||||||
#include "gui/FileDialog.h"
|
#include "gui/FileDialog.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
#include "gui/entry/EntryView.h"
|
#include "gui/entry/EntryView.h"
|
||||||
#include "gui/group/GroupView.h"
|
#include "gui/group/GroupView.h"
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ void DatabaseTabWidget::openDatabase(const QString& fileName, const QString& pw,
|
|||||||
QFileInfo fileInfo(fileName);
|
QFileInfo fileInfo(fileName);
|
||||||
QString canonicalFilePath = fileInfo.canonicalFilePath();
|
QString canonicalFilePath = fileInfo.canonicalFilePath();
|
||||||
if (canonicalFilePath.isEmpty()) {
|
if (canonicalFilePath.isEmpty()) {
|
||||||
QMessageBox::warning(this, tr("Warning"), tr("File not found!"));
|
MessageBox::warning(this, tr("Warning"), tr("File not found!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ bool DatabaseTabWidget::closeDatabase(Database* db)
|
|||||||
}
|
}
|
||||||
if (dbStruct.dbWidget->currentMode() == DatabaseWidget::EditMode && db->hasKey()) {
|
if (dbStruct.dbWidget->currentMode() == DatabaseWidget::EditMode && db->hasKey()) {
|
||||||
QMessageBox::StandardButton result =
|
QMessageBox::StandardButton result =
|
||||||
QMessageBox::question(
|
MessageBox::question(
|
||||||
this, tr("Close?"),
|
this, tr("Close?"),
|
||||||
tr("\"%1\" is in edit mode.\nClose anyway?").arg(dbName),
|
tr("\"%1\" is in edit mode.\nClose anyway?").arg(dbName),
|
||||||
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
|
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
|
||||||
@ -205,7 +205,7 @@ bool DatabaseTabWidget::closeDatabase(Database* db)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::StandardButton result =
|
QMessageBox::StandardButton result =
|
||||||
QMessageBox::question(
|
MessageBox::question(
|
||||||
this, tr("Save changes?"),
|
this, tr("Save changes?"),
|
||||||
tr("\"%1\" was modified.\nSave changes?").arg(dbName),
|
tr("\"%1\" was modified.\nSave changes?").arg(dbName),
|
||||||
QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Yes);
|
QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Yes);
|
||||||
@ -270,7 +270,7 @@ void DatabaseTabWidget::saveDatabase(Database* db)
|
|||||||
updateTabName(db);
|
updateTabName(db);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::critical(this, tr("Error"), tr("Writing the database failed.") + "\n\n"
|
MessageBox::critical(this, tr("Error"), tr("Writing the database failed.") + "\n\n"
|
||||||
+ saveFile.errorString());
|
+ saveFile.errorString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -309,7 +309,7 @@ void DatabaseTabWidget::saveDatabaseAs(Database* db)
|
|||||||
updateLastDatabases(dbStruct.filePath);
|
updateLastDatabases(dbStruct.filePath);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::critical(this, tr("Error"), tr("Writing the database failed.") + "\n\n"
|
MessageBox::critical(this, tr("Error"), tr("Writing the database failed.") + "\n\n"
|
||||||
+ saveFile.errorString());
|
+ saveFile.errorString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QSplitter>
|
#include <QSplitter>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
@ -36,6 +35,7 @@
|
|||||||
#include "gui/DatabaseOpenWidget.h"
|
#include "gui/DatabaseOpenWidget.h"
|
||||||
#include "gui/DatabaseSettingsWidget.h"
|
#include "gui/DatabaseSettingsWidget.h"
|
||||||
#include "gui/KeePass1OpenWidget.h"
|
#include "gui/KeePass1OpenWidget.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
#include "gui/UnlockDatabaseWidget.h"
|
#include "gui/UnlockDatabaseWidget.h"
|
||||||
#include "gui/entry/EditEntryWidget.h"
|
#include "gui/entry/EditEntryWidget.h"
|
||||||
#include "gui/entry/EntryView.h"
|
#include "gui/entry/EntryView.h"
|
||||||
@ -248,14 +248,14 @@ void DatabaseWidget::deleteEntries()
|
|||||||
QMessageBox::StandardButton result;
|
QMessageBox::StandardButton result;
|
||||||
|
|
||||||
if (selected.size() == 1) {
|
if (selected.size() == 1) {
|
||||||
result = QMessageBox::question(
|
result = MessageBox::question(
|
||||||
this, tr("Delete entry?"),
|
this, tr("Delete entry?"),
|
||||||
tr("Do you really want to delete the entry \"%1\" for good?")
|
tr("Do you really want to delete the entry \"%1\" for good?")
|
||||||
.arg(selectedEntries.first()->title()),
|
.arg(selectedEntries.first()->title()),
|
||||||
QMessageBox::Yes | QMessageBox::No);
|
QMessageBox::Yes | QMessageBox::No);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result = QMessageBox::question(
|
result = MessageBox::question(
|
||||||
this, tr("Delete entries?"),
|
this, tr("Delete entries?"),
|
||||||
tr("Do you really want to delete %1 entries for good?")
|
tr("Do you really want to delete %1 entries for good?")
|
||||||
.arg(selected.size()),
|
.arg(selected.size()),
|
||||||
@ -270,7 +270,7 @@ void DatabaseWidget::deleteEntries()
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (selected.size() > 1) {
|
if (selected.size() > 1) {
|
||||||
QMessageBox::StandardButton result = QMessageBox::question(
|
QMessageBox::StandardButton result = MessageBox::question(
|
||||||
this, tr("Move entries to recycle bin?"),
|
this, tr("Move entries to recycle bin?"),
|
||||||
tr("Do you really want to move %1 entries to the recycle bin?")
|
tr("Do you really want to move %1 entries to the recycle bin?")
|
||||||
.arg(selected.size()),
|
.arg(selected.size()),
|
||||||
@ -371,7 +371,7 @@ void DatabaseWidget::deleteGroup()
|
|||||||
|
|
||||||
bool inRecylceBin = Tools::hasChild(m_db->metadata()->recycleBin(), currentGroup);
|
bool inRecylceBin = Tools::hasChild(m_db->metadata()->recycleBin(), currentGroup);
|
||||||
if (inRecylceBin || !m_db->metadata()->recycleBinEnabled()) {
|
if (inRecylceBin || !m_db->metadata()->recycleBinEnabled()) {
|
||||||
QMessageBox::StandardButton result = QMessageBox::question(
|
QMessageBox::StandardButton result = MessageBox::question(
|
||||||
this, tr("Delete group?"),
|
this, tr("Delete group?"),
|
||||||
tr("Do you really want to delete the group \"%1\" for good?")
|
tr("Do you really want to delete the group \"%1\" for good?")
|
||||||
.arg(currentGroup->name()),
|
.arg(currentGroup->name()),
|
||||||
|
@ -19,12 +19,12 @@
|
|||||||
#include "ui_EditWidgetIcons.h"
|
#include "ui_EditWidgetIcons.h"
|
||||||
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "core/Group.h"
|
#include "core/Group.h"
|
||||||
#include "core/Metadata.h"
|
#include "core/Metadata.h"
|
||||||
#include "core/Tools.h"
|
#include "core/Tools.h"
|
||||||
#include "gui/IconModels.h"
|
#include "gui/IconModels.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
|
|
||||||
IconStruct::IconStruct()
|
IconStruct::IconStruct()
|
||||||
: uuid(Uuid())
|
: uuid(Uuid())
|
||||||
@ -192,7 +192,7 @@ void EditWidgetIcons::removeCustomIcon()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::information(this, tr("Can't delete icon!"),
|
MessageBox::information(this, tr("Can't delete icon!"),
|
||||||
tr("Can't delete icon. Still used by %1 items.")
|
tr("Can't delete icon. Still used by %1 items.")
|
||||||
.arg(iconUsedCount));
|
.arg(iconUsedCount));
|
||||||
}
|
}
|
||||||
|
@ -19,12 +19,12 @@
|
|||||||
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "ui_DatabaseOpenWidget.h"
|
#include "ui_DatabaseOpenWidget.h"
|
||||||
#include "core/Database.h"
|
#include "core/Database.h"
|
||||||
#include "core/Metadata.h"
|
#include "core/Metadata.h"
|
||||||
#include "format/KeePass1Reader.h"
|
#include "format/KeePass1Reader.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
|
|
||||||
KeePass1OpenWidget::KeePass1OpenWidget(QWidget* parent)
|
KeePass1OpenWidget::KeePass1OpenWidget(QWidget* parent)
|
||||||
: DatabaseOpenWidget(parent)
|
: DatabaseOpenWidget(parent)
|
||||||
@ -64,7 +64,7 @@ void KeePass1OpenWidget::openDatabase()
|
|||||||
Q_EMIT editFinished(true);
|
Q_EMIT editFinished(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Unable to open the database.\n%1")
|
MessageBox::warning(this, tr("Error"), tr("Unable to open the database.\n%1")
|
||||||
.arg(reader.errorString()));
|
.arg(reader.errorString()));
|
||||||
m_ui->editPassword->clear();
|
m_ui->editPassword->clear();
|
||||||
}
|
}
|
||||||
|
86
src/gui/MessageBox.cpp
Normal file
86
src/gui/MessageBox.cpp
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2013 Felix Geyer <debfx@fobos.de>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 or (at your option)
|
||||||
|
* version 3 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "MessageBox.h"
|
||||||
|
|
||||||
|
QMessageBox::StandardButton MessageBox::m_nextAnswer(QMessageBox::NoButton);
|
||||||
|
|
||||||
|
QMessageBox::StandardButton MessageBox::critical(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons,
|
||||||
|
QMessageBox::StandardButton defaultButton)
|
||||||
|
{
|
||||||
|
if (m_nextAnswer == QMessageBox::NoButton) {
|
||||||
|
return QMessageBox::critical(parent, title, text, buttons, defaultButton);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::StandardButton returnButton = m_nextAnswer;
|
||||||
|
m_nextAnswer = QMessageBox::NoButton;
|
||||||
|
return returnButton;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QMessageBox::StandardButton MessageBox::information(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons,
|
||||||
|
QMessageBox::StandardButton defaultButton)
|
||||||
|
{
|
||||||
|
if (m_nextAnswer == QMessageBox::NoButton) {
|
||||||
|
return QMessageBox::information(parent, title, text, buttons, defaultButton);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::StandardButton returnButton = m_nextAnswer;
|
||||||
|
m_nextAnswer = QMessageBox::NoButton;
|
||||||
|
return returnButton;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QMessageBox::StandardButton MessageBox::question(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons,
|
||||||
|
QMessageBox::StandardButton defaultButton)
|
||||||
|
{
|
||||||
|
if (m_nextAnswer == QMessageBox::NoButton) {
|
||||||
|
return QMessageBox::question(parent, title, text, buttons, defaultButton);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::StandardButton returnButton = m_nextAnswer;
|
||||||
|
m_nextAnswer = QMessageBox::NoButton;
|
||||||
|
return returnButton;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QMessageBox::StandardButton MessageBox::warning(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons,
|
||||||
|
QMessageBox::StandardButton defaultButton)
|
||||||
|
{
|
||||||
|
if (m_nextAnswer == QMessageBox::NoButton) {
|
||||||
|
return QMessageBox::warning(parent, title, text, buttons, defaultButton);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::StandardButton returnButton = m_nextAnswer;
|
||||||
|
m_nextAnswer = QMessageBox::NoButton;
|
||||||
|
return returnButton;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MessageBox::setNextAnswer(QMessageBox::StandardButton button)
|
||||||
|
{
|
||||||
|
m_nextAnswer = button;
|
||||||
|
}
|
||||||
|
|
51
src/gui/MessageBox.h
Normal file
51
src/gui/MessageBox.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2013 Felix Geyer <debfx@fobos.de>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 or (at your option)
|
||||||
|
* version 3 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef KEEPASSX_MESSAGEBOX_H
|
||||||
|
#define KEEPASSX_MESSAGEBOX_H
|
||||||
|
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
#include "core/Global.h"
|
||||||
|
|
||||||
|
class MessageBox
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static QMessageBox::StandardButton critical(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons = QMessageBox::Ok,
|
||||||
|
QMessageBox::StandardButton defaultButton = QMessageBox::NoButton);
|
||||||
|
static QMessageBox::StandardButton information(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons = QMessageBox::Ok,
|
||||||
|
QMessageBox::StandardButton defaultButton = QMessageBox::NoButton);
|
||||||
|
static QMessageBox::StandardButton question(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons = QMessageBox::Ok,
|
||||||
|
QMessageBox::StandardButton defaultButton = QMessageBox::NoButton);
|
||||||
|
static QMessageBox::StandardButton warning(QWidget* parent,
|
||||||
|
const QString& title, const QString& text,
|
||||||
|
QMessageBox::StandardButtons buttons = QMessageBox::Ok,
|
||||||
|
QMessageBox::StandardButton defaultButton = QMessageBox::NoButton);
|
||||||
|
|
||||||
|
static void setNextAnswer(QMessageBox::StandardButton button);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static QMessageBox::StandardButton m_nextAnswer;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // KEEPASSX_MESSAGEBOX_H
|
@ -17,10 +17,9 @@
|
|||||||
|
|
||||||
#include "UnlockDatabaseWidget.h"
|
#include "UnlockDatabaseWidget.h"
|
||||||
|
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "ui_DatabaseOpenWidget.h"
|
#include "ui_DatabaseOpenWidget.h"
|
||||||
#include "core/Database.h"
|
#include "core/Database.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
|
|
||||||
UnlockDatabaseWidget::UnlockDatabaseWidget(QWidget* parent)
|
UnlockDatabaseWidget::UnlockDatabaseWidget(QWidget* parent)
|
||||||
: DatabaseOpenWidget(parent)
|
: DatabaseOpenWidget(parent)
|
||||||
@ -50,7 +49,7 @@ void UnlockDatabaseWidget::openDatabase()
|
|||||||
Q_EMIT editFinished(true);
|
Q_EMIT editFinished(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Wrong key."));
|
MessageBox::warning(this, tr("Error"), tr("Wrong key."));
|
||||||
m_ui->editPassword->clear();
|
m_ui->editPassword->clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QStackedLayout>
|
#include <QStackedLayout>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
|
|
||||||
#include "core/Database.h"
|
#include "core/Database.h"
|
||||||
@ -35,6 +34,7 @@
|
|||||||
#include "gui/EditWidgetIcons.h"
|
#include "gui/EditWidgetIcons.h"
|
||||||
#include "gui/EditWidgetProperties.h"
|
#include "gui/EditWidgetProperties.h"
|
||||||
#include "gui/FileDialog.h"
|
#include "gui/FileDialog.h"
|
||||||
|
#include "gui/MessageBox.h"
|
||||||
#include "gui/entry/AutoTypeAssociationsModel.h"
|
#include "gui/entry/AutoTypeAssociationsModel.h"
|
||||||
#include "gui/entry/EntryAttachmentsModel.h"
|
#include "gui/entry/EntryAttachmentsModel.h"
|
||||||
#include "gui/entry/EntryAttributesModel.h"
|
#include "gui/entry/EntryAttributesModel.h"
|
||||||
@ -381,7 +381,7 @@ void EditEntryWidget::saveEntry()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!passwordsEqual()) {
|
if (!passwordsEqual()) {
|
||||||
QMessageBox::warning(this, tr("Error"), tr("Different passwords supplied."));
|
MessageBox::warning(this, tr("Error"), tr("Different passwords supplied."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -614,14 +614,14 @@ void EditEntryWidget::insertAttachment()
|
|||||||
|
|
||||||
QFile file(filename);
|
QFile file(filename);
|
||||||
if (!file.open(QIODevice::ReadOnly)) {
|
if (!file.open(QIODevice::ReadOnly)) {
|
||||||
QMessageBox::warning(this, tr("Error"),
|
MessageBox::warning(this, tr("Error"),
|
||||||
tr("Unable to open file:\n").append(file.errorString()));
|
tr("Unable to open file:\n").append(file.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray data;
|
QByteArray data;
|
||||||
if (!Tools::readAllFromDevice(&file, data)) {
|
if (!Tools::readAllFromDevice(&file, data)) {
|
||||||
QMessageBox::warning(this, tr("Error"),
|
MessageBox::warning(this, tr("Error"),
|
||||||
tr("Unable to open file:\n").append(file.errorString()));
|
tr("Unable to open file:\n").append(file.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -646,12 +646,12 @@ void EditEntryWidget::saveCurrentAttachment()
|
|||||||
|
|
||||||
QFile file(savePath);
|
QFile file(savePath);
|
||||||
if (!file.open(QIODevice::WriteOnly)) {
|
if (!file.open(QIODevice::WriteOnly)) {
|
||||||
QMessageBox::warning(this, tr("Error"),
|
MessageBox::warning(this, tr("Error"),
|
||||||
tr("Unable to save the attachment:\n").append(file.errorString()));
|
tr("Unable to save the attachment:\n").append(file.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (file.write(attachmentData) != attachmentData.size()) {
|
if (file.write(attachmentData) != attachmentData.size()) {
|
||||||
QMessageBox::warning(this, tr("Error"),
|
MessageBox::warning(this, tr("Error"),
|
||||||
tr("Unable to save the attachment:\n").append(file.errorString()));
|
tr("Unable to save the attachment:\n").append(file.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user