diff options
author | Kyle Kneitinger <kyle@kneit.in> | 2018-12-20 07:14:11 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2018-12-20 07:14:11 +0300 |
commit | 4d4c839afae2beb9da24ee5a5c6a3756a0d6b2c8 (patch) | |
tree | 2a51e60150691f2765b299cc2d2a798a8322396c /src/core/Bootstrap.cpp | |
parent | 8ac9d0a131257b82728488592e1111c4546e051a (diff) |
Customize buttons on MessageBox and confirm before recycling (#2376)
* Add confirmation prompt before moving groups to the recycling bin
Spawn a yes/no QMessage box when "Delete Group" is selected on a group
that is not already in the recycle bin (note: the prompt for deletion
from the recycle bin was already implemented). This follows the same
pattern and language as entry deletion.
Fixes #2125
* Make prompts for destructive operations use action words on buttons
Replace yes/no, yes/cancel (and other such buttons on prompts that cause
data to be destroyed) use language that indicates the action that it is
going to take. This makes destructive/unsafe and/or irreversible operations
more clear to the user.
Address feedback on PR #2376
* Refactor MessageBox class to allow for custom buttons
Replaces arguments and return values of type QMessageBox::StandardButton(s)
with MessageBox::Button(s), which reimplements the entire set of
QMessageBox::StandardButton and allows for custom KeePassXC buttons,
such as "Skip". Modifies all calls to MessageBox functions to use
MessageBox::Button(s).
Addresses feedback on #2376
* Remove MessageBox::addButton in favor of map lookup
Replaced the switch statement mechanism in MessageBox::addButton with
a map lookup to address CodeFactor Complex Method issue. This has a
side-effect of a small performance/cleanliness increase, as an
extra QPushButton is no longer created/destroyed (to obtain it's label
text) everytime a MessageBox button based on QMessageBox::StandardButton
is created; now the text is obtained once, at application start up.
Diffstat (limited to 'src/core/Bootstrap.cpp')
-rw-r--r-- | src/core/Bootstrap.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/Bootstrap.cpp b/src/core/Bootstrap.cpp index a62cc5a9b..2d8213b27 100644 --- a/src/core/Bootstrap.cpp +++ b/src/core/Bootstrap.cpp @@ -18,10 +18,12 @@ #include "Bootstrap.h" #include "core/Config.h" #include "core/Translator.h" +#include "gui/MessageBox.h" #ifdef Q_OS_WIN #include <aclapi.h> // for createWindowsDACL() #include <windows.h> // for Sleep(), SetDllDirectoryA(), SetSearchPathMode(), ... +#undef MessageBox #endif namespace Bootstrap @@ -56,6 +58,7 @@ namespace Bootstrap setupSearchPaths(); applyEarlyQNetworkAccessManagerWorkaround(); Translator::installTranslators(); + MessageBox::initializeButtonDefs(); #ifdef Q_OS_MACOS // Don't show menu icons on OSX |