Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add [optional?] confirmation before "destructive" things like group deletion #2125

Closed
alexanderadam opened this issue Jul 16, 2018 · 3 comments · Fixed by #2376
Closed

Add [optional?] confirmation before "destructive" things like group deletion #2125

alexanderadam opened this issue Jul 16, 2018 · 3 comments · Fixed by #2376

Comments

@alexanderadam
Copy link

I just deleted a whole group be accident because I "misclicked" somehow, wasn't even sure and just found out by looking into the Recycle bin.
It would be nice to have at least an optional confirmation dialogue to prevent those cases. There is a confirmation dialogue before the final deletion in the Recycle bin so maybe it would be possible to activate it for regular entries as well.

Expected Behavior

Before clicking a confirmation dialogue should appear.

Current Behavior

A deleted group just disappears. No other verbose information about this.

Steps to Reproduce (for bugs)

  1. Open context menu of an entry
  2. Click on Delete Group

Context

I described it already.

Debug Info

KeePassXC - Version 2.3.3
Revision: 0a155d8

Libraries:

  • Qt 5.9.1
  • libgcrypt 1.7.8

Operating system: Ubuntu 17.10
CPU architecture: x86_64
Kernel: linux 4.13.0-46-generic

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • Legacy Browser Integration (KeePassHTTP)
  • SSH Agent
  • YubiKey
@droidmonkey
Copy link
Member

Good idea

kneitinger added a commit to kneitinger/keepassxc that referenced this issue Oct 9, 2018
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 keepassxreboot#2125
droidmonkey pushed a commit that referenced this issue Dec 20, 2018
* 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.
@Happyman0815
Copy link

Would be a good idea. At the moment, all you have to do is press delete button on your keyboard and your key/entry is gone. This is not good. At least make such a feature optional. My current workaround is not to automatically save the DB after changes.

@droidmonkey
Copy link
Member

droidmonkey commented Jul 16, 2023

It goes to your recycle bin in the database by default.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants