Commit Graph

1264 Commits

Author SHA1 Message Date
Jonathan White
9660510cc7 Cleaned up SearchWidget code 2016-12-23 23:14:50 -05:00
Akinori MUSHA
d0a3c08840 Improve UI of the search edit (resurrecting 5c7c7f54)
- The copy action (Control+C) when no text is selected copies the
  password of the current entry.  This should be reasonable when
  Control+B copies the username.

- Down at EOL moves the focus to the entry view.  Enter and Tab should
  do that, but it would be handy for user to be able to get to the third
  entry by hitting Down three times.
2016-12-22 17:16:59 +09:00
greenbasilisk
9547ac0afd Fix build issue for openSuse (#126)
* Corrects missing symbols when linking
2016-12-11 21:50:17 -05:00
Jonathan White
fa891edb7c
Added extensions section in about dialog; fixed url as well 2016-12-07 22:40:09 -05:00
thez3ro
65992ba6ae
Option to select extension compile-time. Fix #50 #123 2016-12-04 19:57:24 +01:00
Jonathan White
791a749c2f Search scopes to currently selected group (and children) (#118)
* Added test cases for case sensitive and group search
2016-11-28 19:02:21 -05:00
Janek Bevendorff
9261d8ae9d Force focus on password field, resolves #116 (#117)
Also remove redudant code for minimizing to tray
2016-11-26 09:37:25 -05:00
TheZ3ro
405b82588b Add Autotype Entry-Attributes, Fix Group default sequence (#107) 2016-11-25 12:26:59 -05:00
Jonathan White
3d249365c2
Merge remote-tracking branch 'origin/feature/autoreload-db' into develop 2016-11-25 12:04:44 -05:00
Jonathan White
7fb33653ad
Implemented major autoreload functionality
* Ignore autoreload on save / save-as
* Consolidated db save code
* Corrected bug (crash) in merge entry code due to not cloning the entry
* Enhanced known modified status of database
* Implemented test cases for autoreload
2016-11-25 12:03:36 -05:00
TheZ3ro
b2f3cc6903 Add some password-related feature (#92)
* Add Standalone Password Generator. Closes #18 
* Add an entropy meter for passwords. Closes #84
* Don't require password repeat when it is visible. Fixes #27
2016-11-23 21:59:24 -05:00
Janek Bevendorff
19a960856c Fix minimize at startup and decouple various tray and minimization options (#109)
* Hide window on startup when configured to start minimized, fixes #105
* Decouple different systray and minimization options, fixes #64
* Commit missing changes in main.cpp to minimize at startup

* Remove obsolete code
2016-11-23 18:15:51 -05:00
Jonathan White
29f93597f2
Updated English translation file and fixed typos in HTTP language 2016-11-14 21:54:56 -05:00
Jonathan White
20c3ca7d37
Merge remote-tracking branch 'origin/develop' into feature/autoreload-db
# Conflicts:
#	src/gui/DatabaseWidget.cpp
#	src/gui/DatabaseWidget.h
2016-11-11 16:47:01 -05:00
TheZ3ro
6927158daa Add unlock dialog on Autotype and show default Autotype sequence (#89)
* Add unlockdialog on autotype. Fix #10
* Show default autotype sequence for existing entries
* NOTE: New entries/groups do not show the default autotype sequence
2016-11-11 16:26:07 -05:00
Jonathan White
37aedc8b03 Cleaned up code and added spots for todo work. Fully Working! 2016-11-09 07:38:14 -05:00
TheZ3ro
753b9c9e67 Add Autotype on Windows and MacOS (#63)
* Add Autotype on Windows, including Windows 10
* Add MacOS autotype, fix macdeployqt build
* Make QT_BINARY_DIR overwritable at compile time
2016-11-08 16:13:57 -05:00
Jonathan White
06b1baa454 Automatic reload the database when the file is externally modified 2016-11-07 23:03:01 -05:00
Jonathan White
e25cd9ba48 Add Merge database utility function (#47)
Thank you to @TheZ3ro and @monomon for there major contributions to this PR!
2016-11-07 22:37:42 -05:00
Jonathan White
753d1d50d0 Add delay feature to autotype (#77)
* Implement {DELAY=X} in autotype
2016-11-04 18:05:47 -04:00
Jonathan White
ccec84aef2 Rename application to KeePassXC and change icon (#70) 2016-11-03 00:05:30 -04:00
Jonathan White
13983d0e51 Make search always visible (PR #67)
* Moved search bar to toolbar and consolidated search options into dropdown list
* Updated GUI tests to be atomic and rewrote search tests
* Searches are saved between databases
* Search is cleared when all databases are closed
* Implemented global search shortcut (CTRL+F) and a notification bar when in search mode
2016-11-02 21:01:02 -04:00
Jonathan White
13c3743ff5 Merge branch 'develop' into lock-on-minimize 2016-10-28 10:24:21 -04:00
Josef Vitu
8f3ffdcc2a
Fix advanced HTTP settings (close #34) 2016-10-28 15:25:57 +02:00
Josef Vitu
6c3c0087dd
🔒 Implement automatic locking when minimizing 2016-10-28 13:22:17 +02:00
Jonathan White
bbd8447afa Merge branch 'develop' into feature/fix-win-build 2016-10-24 19:04:16 -04:00
Jack Thomasson
7000e80465 add command line option --pw-stdin to accept password from stdin 2016-10-24 12:22:02 -06:00
thez3ro
24a17c05ab
🏁 Fix winsock and autotype error when compiling on Windows 2016-10-24 19:45:35 +02:00
Jonathan White
62cfbf73e1 Merge pull request #46 from keepassxreboot/feature/trayicon-#37
Show locked tray icon when database is locked
2016-10-19 22:45:56 -04:00
Manolis Agkopian
119af3d760 Fetch favicon from the root of the website and use Google as a fallback (#36)
* Replace favicon fetching using Google with fetching from the root of the website
* Follow up to 3 http redirects for the favicon
* Add download favicon from Google as fallback
* Move code responsible for fetching the favicon from Google on its own function to reduce repetitiveness.
2016-10-11 18:04:44 -04:00
thez3ro
3bbf11e26f Unlocked tray icon #37 2016-10-10 00:02:28 -04:00
Jonathan White
c4b3f08618 Download favorite icon of entry url and add to the custom icon registry (#30)
* Favicon download button.
* Simplified icon grabbing code
2016-10-05 23:10:06 -04:00
Felix Geyer
fff9e7ac46 Convert Q_FOREACH loops to C++11 for loops.
Q_FOREACH will de deprecated soon.
2016-10-02 21:45:55 -04:00
Felix Geyer
ad834f0f58 Merge branch '2.0' 2016-10-02 21:45:55 -04:00
Felix Geyer
8a50ee8b22 Close database without asking when unmodified.
Don't ask for confirmation when closing/locking a database and
- it's in edit entry mode
- there haven't been any modifications

Refs #511
2016-10-02 21:45:54 -04:00
Felix Geyer
cf8186312a Refactor parts of EditEntryWidget::saveEntry() into updateEntryData(). 2016-10-02 21:45:54 -04:00
Felix Geyer
8f87b5cfd4 Split EditWidgetIcons::save() into state() and reset(). 2016-10-02 21:45:54 -04:00
Felix Geyer
61ce733c6f Make Entry::endUpdate() return whether the entry has been modified. 2016-10-02 21:45:54 -04:00
Felix Geyer
c78822f6e6 Merge branch '2.0' 2016-10-02 21:45:54 -04:00
Felix Geyer
a10a30f390 Fix name of Qt translation file.
In Qt5 it's qtbase_<lang> instead of qt_<lang>
2016-10-02 21:44:33 -04:00
Felix Geyer
7c7014d951 Drop obsolete GCRYPT_HAS_SALSA20 ifdef. 2016-10-02 21:44:33 -04:00
Jonathan White
dee331d52d Fixed Travis CI build process 2016-10-02 21:30:17 -04:00
Jonathan
2146392a2f Merge pull request #8 from daniellandau/save-with-ctrl-return
Save entry with ctrl+return keyboard shortcut
2016-10-02 10:10:33 -04:00
Jonathan White
e011a6eb25 Fixed typo from merge 2016-10-02 10:02:54 -04:00
Felix Geyer
c2a80ce570 Remember auto-type window size.
Resize columns once when the entry list is set.

Based on https://github.com/keepassx/keepassx/pull/158

Closes #478
2016-09-29 22:08:37 -04:00
Felix Geyer
3415073051 Display an error message when opening the database fails.
Closes #462
2016-09-29 22:08:29 -04:00
Felix Geyer
ba68e0a4a1 Show proper error message when key is wrong for .kdb files. 2016-09-29 22:08:20 -04:00
Felix Geyer
8a7e98820a Fix typo.
# Conflicts:
#	src/format/KeePass2Reader.cpp
2016-09-29 22:08:10 -04:00
Felix Geyer
9b8912c483 Print libXtst instead of libXtest in the feature summary.
The protocol is called XTEST but the library libxtst.

Closes #440

# Conflicts:
#	src/autotype/CMakeLists.txt
2016-09-29 21:58:56 -04:00
Felix Geyer
878995366a Ask the user before moving an entry to the recycle bin.
Closes #447
2016-09-02 12:00:12 +02:00
Felix Geyer
1635a5211f Pass entryFlags to clone() when recursing into sub-groups.
Based on https://github.com/keepassx/keepassx/pull/178 by Mois Moshev <mois@monomon.me>

Closes #525
2016-09-02 11:47:22 +02:00
Felix Geyer
595b1011dd Refresh fileInfo after creating the file.
Fixes canonicalFilePath() returning an empty string.
2016-09-02 11:35:39 +02:00
Felix Geyer
9bb291235d Fix monospace font on Windows.
Closes #424
2016-09-02 11:35:39 +02:00
Felix Geyer
7d4ef0b8d0 Generate new password whenever the generator widget is opened.
Closes #414
2016-09-02 11:35:39 +02:00
Florian Geyer
8d16522d39 Repair UUID of inconsistent history items.
Closes #130
2016-08-03 23:48:40 +02:00
Felix Geyer
cd1192b409 Allow deleting the recycle bin.
Closes #46
2016-08-03 23:45:04 +02:00
Felix Geyer
bf2fd63131 Fix crash when deleting parent group of recycle bin.
In these cases delete the group instead of trying to move it to the recycle bin.

Closes #520
2016-08-03 23:27:02 +02:00
Daniel Landau
029da87346 Save and exit entry editing with Ctrl+Return
When the cursor is on most fields, you can use Return to end editing and
save, but on the Notes field Return just changes the line. This commit
adds a shortcut to the whole widget to save with Ctrl+Return, so that
saving and exiting is quick even when editing notes.
2016-08-02 16:10:54 +03:00
Felix Geyer
9532bedd7d Update min. length for password generator.
Update the minimum length for the password generator depending on the chosen
options.

Closes #420
2016-07-31 22:07:47 +02:00
Felix Geyer
e9c8363b70 Save to canonical file path so we don't overwrite symlinks.
When saving a database we previously replaced symlinks with a regular file.

Closes #442
2016-07-31 18:29:43 +02:00
Felix Geyer
fb57ed2bcd Add proper error handling when QSaveFile::open() fails.
Based on pull request by Valeriy <jazzvoid@gmail.com>

Closes #450
2016-07-31 17:07:31 +02:00
Felix Geyer
57ec558396 Detect image format solely on content.
Otherwise reading fails if the file extension is wrong.

Closes #512
2016-07-31 15:36:29 +02:00
Felix Geyer
6e2de1cd79 Display proper error message when reading an icon fails.
Refs #512
2016-07-31 14:44:45 +02:00
Felix Geyer
8ace3ab7f2 Don't consider windows with WithdrawnState as top level windows.
Fixes many bogus windows in auto-type window list when using gnome-shell.
2016-07-31 14:44:45 +02:00
Jonathan White
99bb5d33f2 Incorporated fix for IPV6 remote server 2016-07-07 19:32:31 -04:00
Felix Geyer
d4ed4f9325 Remember auto-type window size.
Resize columns once when the entry list is set.

Based on https://github.com/keepassx/keepassx/pull/158

Closes #478
2016-05-25 16:55:06 +02:00
Jonathan White
bb2e1ee8da Revert "Fix IPv6 support and warn when binding fails"
Yikes this fix doesn't compile.
2016-05-24 02:21:17 -04:00
Jonathan White
51bfbc964e Fix IPv6 support and warn when binding fails
Thanks to @eugenesan
2016-05-24 02:12:33 -04:00
Felix Geyer
48eca3e11f Display an error message when opening the database fails.
Closes #462
2016-05-20 16:49:32 +02:00
Felix Geyer
57c1a0f4b6 Show proper error message when key is wrong for .kdb files. 2016-04-09 16:09:53 +02:00
Felix Geyer
bde4d63fdb Fix typo. 2016-04-09 16:02:49 +02:00
Jonathan White
cbb1269b39 Merge from eugenesan/keepassx to implement 1.8.4.1 improvements 2016-04-03 10:49:00 -04:00
Jonathan White
175167b311 Temporary fix for new keepasshttp version
Updates internal version number to prevent warnings on browser plugins. Does not implement host change protocol added in this version.
2016-03-26 09:09:35 -04:00
Jonathan
0562ed720b Merge pull request #1 from liangwang/master
update header file for Qt5
2016-03-14 21:12:48 -04:00
Liang Wang
cbe8a9649c update header file for Qt5 2016-03-14 11:34:21 -04:00
Jonathan White
7f7753a004 Fixed various Qt5 changes in the http code 2016-02-28 10:52:02 -05:00
Jonathan White
aba4fa94be Merge remote-tracking branch 'keepassx/master'
# Conflicts:
#	README.md
#	share/translations/keepassx_de.ts
#	src/CMakeLists.txt
#	src/gui/MainWindow.h
2016-02-27 19:11:09 -05:00
Felix Geyer
4eea7c8297 Remove KEEPASSX_EXPORT attribute from Tools::binaryFind().
It's an inline function. Declaring it as KEEPASSX_EXPORT breaks
building on Windows.

Closes #373
2016-02-13 11:54:54 +01:00
Felix Geyer
9bd3ab717e Print libXtst instead of libXtest in the feature summary.
The protocol is called XTEST but the library libxtst.

Closes #440
2016-02-13 11:13:15 +01:00
Felix Geyer
d6d92ce90a Merge branch '2.0' 2016-02-08 18:13:29 +01:00
Felix Geyer
208b803fbe Fix KeePass2Repair to retain multi-byte UTF-8 chars.
Since char is (often) unsigned the ch < 0x20 check matched all
multi-byte encoded UTF-8 chars.
2016-02-02 00:41:16 +01:00
Felix Geyer
8a92cec03f Keep valid surrogate pairs in stripInvalidXml10Chars(). 2016-02-02 00:38:58 +01:00
Felix Geyer
aff935b3c7 Properly handle a missing key filename. 2016-01-31 17:08:50 +01:00
Felix Geyer
107c0673c7 Make sure we don't write negative icon ids into the database. 2016-01-31 17:06:51 +01:00
Felix Geyer
c14d04b3e8 Fix crash when icon id is larger than INT_MAX.
In these cases icon id was interpreted as a negative number.
The QList access with a negative index resulted in a crash.
2016-01-31 16:44:34 +01:00
Felix Geyer
7a017041bf Allow opening databases that have no password and keyfile.
Closes #391
2016-01-31 16:17:24 +01:00
Felix Geyer
bfae81ec70 Use C++11 keyword directly in new methods. 2016-01-29 17:25:32 +01:00
Felix Geyer
71d4cb781d Merge branch '2.0' 2016-01-29 17:22:37 +01:00
Felix Geyer
eb56bd8973 Add repair functionality to strip invalid XML chars.
Refs #392
2016-01-28 23:07:04 +01:00
Felix Geyer
93585aded7 Always display scaled custom icons.
Closes #322
2016-01-26 22:44:38 +01:00
Felix Geyer
38245aa2a9 Add iconScaledPixmap() convenience functions. 2016-01-24 20:12:33 +01:00
Felix Geyer
1f33e6f044 Add Metadata::customIconScaledPixmap(). 2016-01-24 20:12:33 +01:00
Felix Geyer
4752adf9d3 Move pixmap caching to Metadata. 2016-01-24 20:12:21 +01:00
Felix Geyer
2d741afe3e Strip invalid XML chars when writing databases.
These characters are unprintable or just plain invalid.
QXmlStreamReader throws and error when reading XML documents with such chars.

Closes #392
2016-01-24 17:20:16 +01:00
Florian Geyer
5e6b17aba4 Disable password generator button when showing entry in history mode.
Closes #422
2016-01-22 22:55:28 +01:00
Florian Geyer
c51098e2cf Flush temporary file before opening attachment.
Closes #390
2015-12-16 21:38:20 +01:00
Felix Geyer
ecfbf72a57 Merge branch '2.0' 2015-12-15 21:05:00 +01:00
Felix Geyer
a3b936fcd0 Coding style fixes. 2015-12-06 20:27:09 +01:00
Felix Geyer
efc4cd5969 Merge remote-tracking branch 'github/pr/74' 2015-12-06 19:21:38 +01:00
Felix Geyer
17ab438c5a Make sure Windows doesn't load DLLs from the current working directory. 2015-12-06 14:32:06 +01:00
Felix Geyer
77b4bfb14e Cleanup string argument numbers. 2015-12-06 14:31:23 +01:00
Felix Geyer
7839280cb3 Check if the tray icon is visible before minimizing to it. 2015-11-01 23:32:37 +01:00
Felix Geyer
9e1ea264e2 Use availableGeometry() to calculate the dialog position.
availableGeometry() excludes ares where windows can't be placed (e.g. panels).
2015-11-01 23:26:40 +01:00
Felix Geyer
b02ec98ec6 Show AutoTypeSelectDialog on the active desktop.
This wasn't always the case on X11 with virtual desktops.

Closes #359
2015-11-01 23:23:01 +01:00
Felix Geyer
2fa531745f Check XML key file for valid base64 before using it.
QByteArray::fromBase64() doesn't validate the input.

Closes #366
2015-11-01 18:32:15 +01:00
Felix Geyer
dff3fc0572 Coding style fixes. 2015-10-15 18:02:31 +02:00
Felix Geyer
5de0ec94e0 Stop using deprecated methods from QtAlgorithms. 2015-10-13 22:52:07 +02:00
Felix Geyer
6e45cf0dab Use C++11 keywords directly. 2015-10-11 10:47:30 +02:00
Felix Geyer
dc7b6623a9 Merge branch '2.0' 2015-10-11 10:44:30 +02:00
Felix Geyer
820941fd40 Auto-Type: Only require a substring match for regex.
This matches the behavior of KeePass.

Refs #357
2015-10-10 17:36:08 +02:00
Felix Geyer
e98c30f633 Disable systray on OS X.
It's not useful on that platform.

Refs #326
2015-10-10 17:10:29 +02:00
Felix Geyer
316a7e6fb7 Expose version of used libraries in the About dialog. 2015-10-10 17:10:29 +02:00
Felix Geyer
58ed99d562 OS X: Restore main window when clicking on the docker icon.
Apparently this worked previously. Maybe a regression in Qt?

Refs #326
2015-10-10 17:10:27 +02:00
Felix Geyer
840642394f Cope with focusWidget/activeWindow returning windows that are minimized. 2015-10-10 12:07:28 +02:00
Frank Nießen
9484af5329 Minimize-On-Startup: call configuredMinimizeWindow() function of MainWindow to hide it after database is unlocked 2015-10-08 20:30:03 +02:00
Frank Nießen
3cf1a16398 Minimize-On-Startup: add function to minimize mainwindow if all four tray settings are true 2015-10-08 19:25:42 +02:00
Frank Nießen
0f0af12353 Minimize-On-Startup: get and set new setting from/to config object 2015-10-08 19:09:58 +02:00
Frank Nießen
28a1eb86da Minimize-On-Startup: new checkbox in ui 2015-10-08 19:09:41 +02:00
Frank Nießen
86f12d9e83 cleaner handling of TrayIconEnabled 2015-10-08 16:27:29 +02:00
Frank Nießen
539f86fd0b respect setting of parent checkboxes for minimizeToTray 2015-10-08 15:13:22 +02:00
Frank Nießen
c93b12ff05 better handling and display for systray checkbox buttons 2015-10-06 21:12:59 +02:00
Florian Geyer
ebeedba072 Reset visibility state of password field on unlocking.
Closes #354
2015-09-28 22:30:29 +02:00
Felix Geyer
568dfde074 Fix minimum size of AboutDialog.
Also make the dialog non-resizeable.

Closes #352
2015-09-28 22:08:33 +02:00
Felix Geyer
b8c1829857 Improve tray icon behavior on OS X.
Previously the main window had issues on restore:
- was sometimes hidden again.
- window was unresponsive, all actions disabled.
2015-09-27 23:16:18 +02:00
Felix Geyer
4f2d56a55f Fix another small memory leak. 2015-09-26 12:41:53 +02:00
Felix Geyer
6b49f8f26b Free input device list.
Fixes a memory leak.
2015-09-26 12:41:53 +02:00
Felix Geyer
fc8cb7cd14 Check if XListInputDevices returns an error.
Refs #351
2015-09-26 12:41:52 +02:00
Felix Geyer
727094abc6 Unload auto-type plugins if they run in an unsupported environment.
Refs #351
2015-09-26 12:41:47 +02:00
Felix Geyer
3b2a39fd38 Merge branch '2.0' 2015-09-26 11:44:27 +02:00
Felix Geyer
bcb54bc38a Avoid dereferencing QLists. 2015-09-25 21:34:56 +02:00
Felix Geyer
14aac09318 Avoid implicit casts from bool to int. 2015-09-25 21:34:56 +02:00
Felix Geyer
9d42db9849 Mark more methods as override. 2015-09-25 21:34:56 +02:00
Felix Geyer
2edf414aa4 Fix compiler warning on OS X and Windows. 2015-09-24 18:45:23 +02:00
Felix Geyer
54f44f5267 Show a better message when trying to open an old database format.
Refs #338
2015-09-23 23:16:49 +02:00
Felix Geyer
6ab54bc95a Check if libXi is installed and explicitly link against it. 2015-09-23 22:26:49 +02:00
Felix Geyer
d559db4fb1 Merge branch '2.0' 2015-09-21 23:23:51 +02:00
Felix Geyer
673dff2268 Auto-Type: Raise target window after showing the select dialog.
kwin >= 5.4 (since commit cfa1d61) prefers to focus the main window
instead of following the focus chain.

We ask the window manager nicely to focus the window we want to
type into. kwin seems to follow that (in the default configuration).
2015-09-21 23:12:10 +02:00
Felix Geyer
bb38be40f6 Enable Ctrl+M shortcut to minimize window on all platforms.
Closes #329
2015-09-13 22:33:07 +02:00
Felix Geyer
f236c32063 Clear clipboard when locking databases.
Closes #342
2015-09-13 12:38:19 +02:00
Felix Geyer
3dd98deecc Use QStandardPaths::DataLocation instead of AppDataLocation.
AppDataLocation is only available in Qt >= 5.4.
2015-09-12 18:41:48 +02:00
Paultergeist
abacec5787 Fixed compile error on Mac 2015-09-12 14:00:53 +02:00
Benjamin Robin
d84af2def0 Fix the open recent database menu.
With at least Qt 5.5 the action text is automatically modified from
/home/ben/db.kdbx to /&home/ben/db.kdbx

So add the path of the database to the action using setData

Signed-off-by: Benjamin Robin <dev@benjarobin.fr>
2015-09-12 14:00:03 +02:00
Felix Geyer
7fa0eddc5f Make C++11 mandatory. 2015-09-12 13:55:50 +02:00
Felix Geyer
0e85c98d02 Remove backported definitions from Global.h. 2015-09-12 13:51:49 +02:00
Felix Geyer
ba1ca4ec08 Rename x11 auto-type plugin to xcb.
This matches what QGuiApplication::platformName() returns.
2015-09-12 13:51:49 +02:00
Felix Geyer
20b13a4a2e Ger rid of last Qt 4 version check. 2015-09-12 13:51:49 +02:00
Felix Geyer
460b23b1eb Use QElapsedTimer everywhere. 2015-09-12 13:51:49 +02:00
Felix Geyer
9882f16614 Remove Tools::currentDateTimeUtc(). 2015-09-12 13:51:49 +02:00
Felix Geyer
60daa2b41b Require libgcrypt >= 1.6.0.
Remove our own Salsa20 implementation as libgcrypt ships one
with that version.
2015-09-12 13:51:49 +02:00
Felix Geyer
ec8c0bb3e7 Setup new build dependencies. 2015-09-12 13:51:49 +02:00