KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Go to file
Daniel Wilches 78ef6f0d04 Grey out Apply button when there are no changes
Resolves #1313

What this commit does:
* Whenever the Apply button is pressed, and if the save was successful, then the Apply button is disabled.
* Each subwidget used by EditEntryWidget has now a signal called `widgetUpdated` that is emitted when the widgets' internal content changes. The EditEntryWidget subscribes to that signal to know when to enable the Apply button (by calling `entryUpdated()`).
* There are some views that are not isolated in their own widgets (`m_advancedUi`, for example) so in those cases I invoked `entryUpdated()` directly whenever I detected an update:
  * some updates occur directly in a Qt widget like when editing the text of a QLineItem, so in that case I connected the widget's signals directly to the `entryUpdated()` slot.
  * some updates occur in EditEntryWidget, so in those cases the invocation to `entryUpdated()` is made as soon as the change is detected (for example when the user has confirmed an action in a dialog).

A known problem: there are some situations when the Apply button will get enabled even if there are no changes, this is because the app changes the value of a field by itself so it's considered an update (for example, clicking on the "Reveal" button changes the text shown in a text field).
The solution to this can be a bit complicated: disabling temporarily the `entryUpdated()` whenever the app is going to do an action with such side-effects.
So I preferred to let the Apply button get enabled in those cases.
2018-03-29 18:35:08 -07:00
.github Remove emoji in commit messages from style guide 2017-10-21 13:27:25 +02:00
.tx Moved transifex to new url 2016-11-11 16:30:57 -05:00
ci/trusty Update library paths in AppImage recipe and Dockerfiles 2018-02-26 22:53:53 -05:00
cmake Properly rename argon2 symbols on Win32 builds 2018-02-28 16:32:54 +01:00
docs Create docs directory and QUICKSTART.md instructions; editorial pass … (#1227) 2017-11-26 22:36:46 +01:00
share Update translations 2018-03-06 22:54:54 +01:00
src Grey out Apply button when there are no changes 2018-03-29 18:35:08 -07:00
tests Merge branch 'release/2.3.2' into develop 2018-03-18 01:14:42 +01:00
utils Improve building of macOS target 2017-10-21 10:12:28 -06:00
.clang-format Updating .clang-format (#915) 2017-08-31 09:24:36 -04:00
.gitattributes Add github-linguist language hints. 2017-02-15 16:36:02 -05:00
.gitignore Allow KeePassXC version overrides from file in addition to Git tags 2018-02-23 00:59:45 +01:00
AppImage-Recipe.sh Bundle image format and input context plugins with AppImage 2018-02-26 22:53:53 -05:00
CHANGELOG Bump version to 2.3.1 and update CHANGELOG 2018-03-06 22:54:01 +01:00
CMakeLists.txt Enable high entropy ASLR for Windows builds 2018-03-17 12:13:47 -04:00
COPYING Update zxcvbn library 2018-02-21 06:18:33 -05:00
Dockerfile Bundle image format and input context plugins with AppImage 2018-02-26 22:53:53 -05:00
INSTALL.md Docs (#1749) 2018-03-18 01:10:00 +01:00
LICENSE.BOOST-1.0 Display git revision in about dialog. 2015-07-18 13:14:13 +02:00
LICENSE.BSD Add crypto classes and tests. Link to libgcrypt. 2010-09-11 19:49:30 +02:00
LICENSE.CC0 Fix database icons license issues. 2013-03-23 21:50:23 +01:00
LICENSE.GPL-2 Add "LICENSE" prefix to license filenames. 2010-08-15 12:33:42 +02:00
LICENSE.GPL-3 Add "LICENSE" prefix to license filenames. 2010-08-15 12:33:42 +02:00
LICENSE.LGPL-2.1 Fix typo in filename. 2013-03-24 14:16:34 +01:00
LICENSE.LGPL-3 Add LGPL-3 license text for the Oxygen icons. 2013-03-24 11:54:20 +01:00
LICENSE.MIT Fix macOS building and code signing, resolves #1344 2018-01-13 23:49:24 +01:00
LICENSE.NOKIA-LGPL-EXCEPTION Add support for gzip compressed databases. 2010-09-23 22:27:59 +02:00
README.md Fix extension URL 2018-03-11 10:59:20 -04:00
release-tool Update release-tool to use generic /usr/local/opt/qt path on macOS 2018-02-27 20:11:03 +01:00
snapcraft.yaml Bump version to 2.3.1 and update CHANGELOG 2018-03-06 22:54:01 +01:00

KeePassXC

TeamCity Build Status Coverage Status

About KeePassXC

KeePassXC is a cross-platform community fork of KeePassX. Our goal is to extend and improve it with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager.

Installation

The KeePassXC QuickStart gets you started using KeePassXC on your Windows, Mac, or Linux computer using pre-compiled binaries from the downloads page.

Additionally, individual Linux distributions may ship their own versions, so please check out your distribution's package list to see if KeePassXC is available.

Additional features compared to KeePassX

For a full list of features and changes, read the CHANGELOG document.

Building KeePassXC

Detailed instructions are available in the Build and Install page or on the Wiki page.

Contributing

We are always looking for suggestions how to improve our application. If you find any bugs or have an idea for a new feature, please let us know by opening a report in our issue tracker on GitHub or join us on IRC on freenode channels #keepassxc or #keepassxc-dev.

You can of course also directly contribute your own code. We are happy to accept your pull requests.

Please read the CONTRIBUTING document for further information.

Note about KeePassHTTP

The KeePassHTTP protocol is not a highly secure protocol. It has a certain flaw which could allow an attacker to decrypt your passwords should they manage to impersonate the web browser extension from a remote address.

(See here and here).

To minimize the risk, KeePassXC strictly limits communication between itself and the browser plugin to your local computer (localhost). This makes your passwords quite safe, but as with all open source software, use it at your own risk!