Commit Graph

790 Commits

Author SHA1 Message Date
Florian Geyer
0755702fe3 Show last used databases in file menu.
Refs #36
2012-07-23 21:16:55 +02:00
Felix Geyer
a16f7e7cca Use WildcardMatcher for simple Auto-Type window patterns. 2012-07-23 18:11:10 +02:00
Felix Geyer
92efb3d20b Move autoTypeSequence() and windowMatches() to the AutoType class. 2012-07-23 18:06:04 +02:00
Felix Geyer
4f0600421c Fall back to WM_NAME if _NET_WM_NAME does not exist. 2012-07-23 17:51:21 +02:00
Felix Geyer
ad0d120ae6 Coding style fixes. 2012-07-23 15:11:05 +02:00
Felix Geyer
ecea101962 Return Q_NULLPTR instead of 0 when the return type is a pointer. 2012-07-23 14:58:57 +02:00
Felix Geyer
fcc936ceff Disable searching and auto-type for the Backup group imported from KeePass1. 2012-07-23 13:21:17 +02:00
Felix Geyer
7820bf2510 For global auto-type use the default sequence of the entry before the group. 2012-07-23 12:56:00 +02:00
Felix Geyer
4a357e791e Set Auto-Type sequence edit to read only when in history mode.
Not the other way aroud.
2012-07-23 12:42:05 +02:00
Felix Geyer
cf15d1741f Optimize WildcardMatcher a bit. 2012-07-23 12:33:37 +02:00
Felix Geyer
9ad4cc8783 Subclass QSortFilterProxyModel to hide the group column in EntryView.
QTreeView::hideColumn() does not work well with keyboard search.
2012-07-22 22:02:06 +02:00
Florian Geyer
7bd080760e Make wildcard matcher case insensitive. 2012-07-22 14:58:15 +02:00
Florian Geyer
4f78c32461 Add custom wildcard matcher. 2012-07-22 14:43:45 +02:00
Felix Geyer
9a2aba56fc Set name of the root group when importing KeePass 1 databases. 2012-07-21 22:21:49 +02:00
Felix Geyer
20e4643560 Implement global auto-type dialog.
It allows to select an entry when there are multiple entries
that match the window title.
2012-07-21 22:21:49 +02:00
Felix Geyer
34ad5d61f6 Allow EntryModel to be used with entries from different databases. 2012-07-21 22:21:49 +02:00
Felix Geyer
39b9260719 Rename methods in EntryModel and EntryView from "search" to "entry list mode". 2012-07-21 22:21:49 +02:00
Felix Geyer
33b4cd8636 Don't add new entries to EntryModel when in search mode.
Only allow moving entries from one group to the other.
2012-07-21 22:21:49 +02:00
Florian Geyer
f6e1af30b3 Move recycle bin creation method to Group class. 2012-07-21 11:58:00 +02:00
Felix Geyer
a50d2709e7 Replace EntryAttachments and EntryAttributes operator=() with copyDataFrom().
QObjects are not supposed to have assignment operators.
2012-07-20 12:15:19 +02:00
Felix Geyer
c7107de2a7 Improve window select combo box.
Create the WindowSelectComboBox subclass that refreshes the window
list whenever the popup is opened.
2012-07-20 12:15:14 +02:00
Felix Geyer
b5c3873cfd Update auto-type association editing.
Correctly set enabled status of all elements.
Fix crash when clicking on the view and the entry has no auto-type associations.
2012-07-20 10:28:18 +02:00
Felix Geyer
ef579cbe3c Refactor Entry::truncateHistory().
This allows us to drop Entry::getSize() and EntryAttachments::attachmentsSize()
which have weird semantics.
2012-07-20 00:45:34 +02:00
Felix Geyer
0c1fecfb2b const_cast "this" instead of the member variable. 2012-07-19 23:32:31 +02:00
Felix Geyer
b6d9c2e486 Import Auto-Type associations in KeePass1Reader. 2012-07-19 23:21:12 +02:00
Felix Geyer
8cf6289d9c Close search when the escape button is pressed. 2012-07-19 19:42:26 +02:00
Felix Geyer
8619682da3 Replace some more Q_WS_* with Q_OS_*. 2012-07-19 19:42:26 +02:00
Felix Geyer
308d3ad84b Use constructor initialization lists where possible. 2012-07-19 19:42:14 +02:00
Felix Geyer
4152e93bb7 Add a cache for FilePath::icon(). 2012-07-18 21:22:36 +02:00
Felix Geyer
f01076856b Don't add double "/" to paths. 2012-07-18 21:22:36 +02:00
Felix Geyer
3100c202e8 Install the auto-type plugin. 2012-07-18 21:22:36 +02:00
Felix Geyer
2a45f57386 Support proper plugin finding.
So we don't have to hardcode the location anymore.
2012-07-18 21:22:36 +02:00
Felix Geyer
7fef3bd701 Rename DataPath to FilePath. 2012-07-18 21:22:26 +02:00
Felix Geyer
490414716d Generate new random transform seed when changing transform rounds. 2012-07-17 10:57:08 +02:00
Felix Geyer
7e9343c697 Fix CompositKey self assignment. 2012-07-17 10:57:08 +02:00
Felix Geyer
f767a098d6 Add GUI test for changing the database transform rounds.
Refs #34
2012-07-17 10:56:56 +02:00
Felix Geyer
66422437d3 Regenerate key in Database::setTransformRounds().
Merge Database::updateKey() into Database::setTransformRounds() and
regenerate the key if the database already has a key.

Closes #34
2012-07-17 10:33:54 +02:00
Felix Geyer
965dba63d7 Use Q_OS_MAC instead of the nonexistent Q_OS_MACOS.
Thanks to Richard Johnson for spotting this.

Closes #33
2012-07-16 17:49:12 +02:00
Felix Geyer
676be9da16 Coding style fixes. 2012-07-16 17:47:21 +02:00
Felix Geyer
237d954b65 Add auto-type settings to EditEntryWidget. 2012-07-16 17:40:28 +02:00
Felix Geyer
af166a66b3 Add AutoTypeAssociationsModel class. 2012-07-16 17:39:20 +02:00
Felix Geyer
7db6850528 Add AutoTypeAssociations::removeEmpty(). 2012-07-16 17:37:18 +02:00
Felix Geyer
7abaf0e215 Fix bug in Entry::autoTypeSequence() with default window sequences.
When using the default sequence autoTypeSequence() returned an empty string.
2012-07-16 17:34:19 +02:00
Felix Geyer
0b8f07f58e Don't re-register the global shortcut when the keyboard mapping changes.
This breaks after the first global auto-type.
2012-07-16 17:33:23 +02:00
Felix Geyer
85d532953f Emit globalShortcutTriggered() directly.
There is no need for a queued connection call.
2012-07-16 17:29:42 +02:00
Felix Geyer
f98d834edb Move Auto-Type associations handling from Entry into an own class. 2012-07-16 09:54:04 +02:00
Felix Geyer
f4a4930f42 Entry::autoTypeSequence() returns null string when no window matches.
Return QString() when a windowTitle is passed but doesn't match any
auto-type association.
2012-07-15 11:30:30 +02:00
Felix Geyer
6d5b31f527 Normalize signal/slot signatures. 2012-07-14 19:34:38 +02:00
Felix Geyer
288fa732ca Add global shortcut widget to SettingsWidget and register shortcut on startup. 2012-07-14 19:09:28 +02:00
Felix Geyer
d3af39a7ae Reset and unregister global shortcut when it's not locked anymore. 2012-07-14 19:07:13 +02:00
Felix Geyer
fa51f7e10e Make AutoType::performGlobalAutoType() a slot. 2012-07-14 19:06:05 +02:00
Felix Geyer
651c00239a Add an auto-type entry action. 2012-07-12 22:35:51 +02:00
Felix Geyer
bc207714da Add initial auto-type implementation.
The platform dependent bits are separated in plugins.
A plugin for X11 using Xlib is already done.
2012-07-12 22:33:20 +02:00
Felix Geyer
073f3f9dfc Add ListDeleter class.
A class that deletes all elements of a QList when it goes out of scope.
2012-07-12 22:28:44 +02:00
Felix Geyer
549c3ce598 Fix memory leak in QSaveFile. 2012-07-12 21:30:37 +02:00
Felix Geyer
9de4cbbbd6 Use Q_OS_* defines instead of Q_WS_*. 2012-07-12 13:58:40 +02:00
Felix Geyer
13eb1f6330 Add Tools::sleep() and Tools::wait(). 2012-07-12 13:51:50 +02:00
Felix Geyer
4b6cae0fcd Fix some compiler warnings.
Implements parts of
https://gitorious.org/keepassx/keepassx/merge_requests/18
2012-07-08 11:27:11 +02:00
Felix Geyer
fb4367f9ef Remove some unneeded includes. 2012-07-08 10:27:31 +02:00
Felix Geyer
ce633b54be Prevent opening a database multiple times in the same instance.
Refs #18
2012-07-08 10:26:42 +02:00
Felix Geyer
2e38b01d80 Add Save and SaveAs gui tests. 2012-07-06 19:21:19 +02:00
Felix Geyer
b579eb954e Use QSaveFile to save databases. 2012-07-06 18:50:52 +02:00
Felix Geyer
2f98d95b66 Import QSaveFile from libkdeqt5staging.
It's planned to become part of Qt 5.1.
2012-07-06 14:36:04 +02:00
Felix Geyer
d826ae5daf Add assert to make sure the temp file could be opened successfully. 2012-07-03 12:39:03 +02:00
Felix Geyer
6ca3b8aa81 Make google cpplint happy. 2012-07-02 20:00:06 +02:00
Felix Geyer
909e01bde5 Make DatabaseOpenWidget a bit prettier. 2012-07-02 18:47:12 +02:00
Felix Geyer
d0fd9af5e6 Hide history row when viewing history items. 2012-07-02 00:16:24 +02:00
Felix Geyer
61984a5748 Keep widget frame when displaying history items. 2012-07-02 00:08:31 +02:00
Felix Geyer
1b9c2bb16b Improve array size assert. 2012-07-01 22:21:49 +02:00
Felix Geyer
782223a643 Coding style fixes. 2012-07-01 21:58:45 +02:00
Felix Geyer
c844c6b712 Convert icon filename QVector to a plain char* array. 2012-07-01 21:35:07 +02:00
Felix Geyer
85031658d1 Add Q_STATIC_ASSERT macro, backported from Qt 5. 2012-07-01 21:27:11 +02:00
Felix Geyer
6ce53b142d clang: Use __has_feature() to detect C++11 features. 2012-07-01 20:24:43 +02:00
Felix Geyer
ee3bc89a54 Coding style fixes. 2012-06-30 00:22:07 +02:00
Felix Geyer
ca13ad8d25 Delete open databases when DatabaseTabWidget is destructed. 2012-06-29 23:40:51 +02:00
Florian Geyer
9ae6d2cd05 Update last databases on open and save as. 2012-06-29 23:30:13 +02:00
Felix Geyer
d2fc4e8abd Mark DatabaseOpenWidget ctor es explicit. 2012-06-29 23:17:36 +02:00
Felix Geyer
baa5a74ba0 Convert iconCount() and expiredIconIndex() to constants. 2012-06-29 15:22:43 +02:00
Felix Geyer
e144f7c85a Mark overriden methods as Q_DECL_OVERRIDE. 2012-06-29 14:37:29 +02:00
Felix Geyer
4e6cf15a09 Fix compiler warning about __GXX_EXPERIMENTAL_CXX0X__ being undefined. 2012-06-29 14:34:17 +02:00
Felix Geyer
2287250a07 Define COMPILER_EXPLICIT_OVERRIDES when using gcc >= 4.7. 2012-06-29 14:18:12 +02:00
Felix Geyer
68155e8f89 Make use of Q_NULLPTR. 2012-06-29 14:15:16 +02:00
Felix Geyer
af142fc433 Optionally enable C++ 11. 2012-06-29 14:14:58 +02:00
Felix Geyer
92af92ccbe Convert DatabaseOpenDialog into a widget on DatabaseWidget. 2012-06-29 10:36:35 +02:00
Florian Geyer
900beae046 Add menu action to toggle toolbar visibility.
Closes #31
2012-06-25 00:30:26 +02:00
Florian Geyer
204822b66f Improve auto save handling. 2012-06-24 19:30:30 +02:00
Felix Geyer
b0ad864fe0 Always convert explicitly from QByteArray to QString. 2012-06-24 18:23:27 +02:00
Felix Geyer
d0016bf6c4 Fix reading non-ASCII passwords that are protected.
Closes #28
2012-06-24 18:22:18 +02:00
Felix Geyer
f690522725 Coding style fixes. 2012-06-24 11:32:54 +02:00
Felix Geyer
38d2b124d8 Fix datetime serialization appending two 'Z' at the end with Qt >= 4.8. 2012-06-24 11:25:06 +02:00
Felix Geyer
513ba6d19d Write empty strings as short empty XML elements.
For example instead of
<DatabaseName></DatabaseName>
we now write
<DatabaseName/>

Closes #29
2012-06-23 20:15:14 +02:00
Florian Geyer
e578ca9a82 Avoid multiple editFinished signals from group view. 2012-06-14 23:43:06 +02:00
Florian Geyer
a720903083 Use temporary settings file for gui test. 2012-06-14 23:07:49 +02:00
Florian Geyer
056447fad9 Add editFinished signal which can be used to auto save the database. 2012-06-14 21:18:04 +02:00
Florian Geyer
27794021d9 Simplify enableAutoSaveOnExit function. 2012-06-12 10:11:13 +02:00
Florian Geyer
2c88810459 Coding style fixes. 2012-06-12 10:00:02 +02:00
Thom Troy
bd5dd130e5 Add auto save on exit 2012-06-12 10:00:02 +02:00
Thom Troy
e439e057a0 Fix extra check that wasn't needed 2012-06-12 10:00:01 +02:00
Thom Troy
17f4e23215 Added automatically saving DB after change 2012-06-12 10:00:01 +02:00
Florian Geyer
871cdc5bb8 Coding style fixes. 2012-06-11 18:52:16 +02:00
Thom Troy
a5f7d0277f Implement browse key file in ChangeMasterKeyWidget 2012-06-11 18:20:46 +02:00
Thom Troy
5217199d0a Implement create key file in ChangeMasterKeyWidget 2012-06-11 18:20:46 +02:00
Florian Geyer
01706483fb Fix history view showing wrong item. 2012-06-10 18:11:00 +02:00
Florian Geyer
21e257e64d Re-add truncation of history entries. 2012-06-06 19:59:10 +02:00
Franklin Strube
21302782e1 allow any filetype to be opened as a database 2012-06-06 10:46:42 +02:00
Felix Geyer
8e8efc67e6 Use "*" as filter for all files instead of "*.*". 2012-06-06 10:21:17 +02:00
Felix Geyer
d3fcf2e0c4 Move singleton instance code to static member functions. 2012-05-31 14:51:44 +02:00
Florian Geyer
8d6b200dd7 Improve performance of EntryHistoryModel. 2012-05-30 18:07:50 +02:00
Florian Geyer
9f1ab080ee Make history view sortable. 2012-05-30 16:51:36 +02:00
Florian Geyer
2448976643 Switch back to WelcomeWidget when settings widget is closed and there are no open databases. 2012-05-30 15:20:09 +02:00
Florian Geyer
cf5f56af6f Rename setting so it refers only to group expanded state changes. 2012-05-30 11:27:09 +02:00
Florian Geyer
5003499700 Add settings option if visual changes mark databases as modified. 2012-05-29 22:10:03 +02:00
Florian Geyer
8aefb1ed82 Indicate read-only state in window title. 2012-05-28 19:01:38 +02:00
Felix Geyer
5201001f3a Switch back to WelcomeWidget when the last database has been closed. 2012-05-28 18:53:39 +02:00
Felix Geyer
f145cb69de Switch to DatabaseTabWidget when the current tab changed and the welcome widget is shown. 2012-05-28 18:49:16 +02:00
Felix Geyer
a8ab3a5ca1 Coding style fixes. 2012-05-28 12:12:33 +02:00
Florian Geyer
a22308b13b Add missing general settings widget. 2012-05-28 10:46:25 +02:00
Florian Geyer
f18db06471 Store remember last opened files setting. 2012-05-28 00:09:54 +02:00
Florian Geyer
6f48983efe Remember last opened files. 2012-05-27 23:41:33 +02:00
Florian Geyer
20c95737cb Fix clipboard timeout. 2012-05-27 20:58:44 +02:00
Florian Geyer
6cd65ae9a7 Add edit finished signal to settings widget. 2012-05-27 20:29:15 +02:00
Florian Geyer
f53768fc84 Add welcome widget. 2012-05-27 20:15:06 +02:00
Felix Geyer
d707fb4760 Store clear clipboard settings. 2012-05-27 20:10:41 +02:00
Felix Geyer
7194a3d7a8 Store defaults in Config. 2012-05-27 20:05:57 +02:00
Felix Geyer
4a2ca8c7c8 Add another icon. 2012-05-27 19:54:18 +02:00
Felix Geyer
3f4f9abb36 Support RTL layout in LineEdit. 2012-05-27 19:43:34 +02:00
Florian Geyer
adbce87ccd Improve update of enabled state of group actions. 2012-05-27 17:06:04 +02:00
Florian Geyer
6fb6e1dc82 Add more icons to actions in context menu. 2012-05-27 16:59:25 +02:00
Florian Geyer
56509eab5f Fix enabled state of group actions. 2012-05-27 16:53:27 +02:00
Felix Geyer
3e72cd11a3 Change SearchWidget to use a grid layout and remove double margins. 2012-05-27 16:17:10 +02:00
Felix Geyer
089bcba89f Add more icons. 2012-05-27 15:39:44 +02:00
Florian Geyer
92e4055f85 Add icons to actions in context menu. 2012-05-27 15:20:53 +02:00
Florian Geyer
b5797503a8 Hide search sensitivity checkbox. 2012-05-27 15:07:32 +02:00
Florian Geyer
182258761f Add some asserts. 2012-05-27 15:07:32 +02:00
Florian Geyer
57aef7f1ec Option to search in current/root group.
Closes #24
2012-05-27 15:07:32 +02:00
Florian Geyer
3fdcbfe002 Cleanup of search widget. 2012-05-27 15:07:32 +02:00
Florian Geyer
a92ddc6d0b Add case sensitivity option to search. 2012-05-27 15:07:28 +02:00
Felix Geyer
10321adc0b Fix icons/application/22x22/action folder name. 2012-05-27 12:49:09 +02:00
Felix Geyer
264c69d046 Add some action icons. 2012-05-27 12:46:22 +02:00
Felix Geyer
de95b6c347 Add DataPath::icon() parameter to only use local icons. 2012-05-27 12:43:58 +02:00
Felix Geyer
fb499154bd Remove some double margins. 2012-05-27 11:24:56 +02:00
Felix Geyer
82d697b657 Add convenience method EditWidget::setHeadline(). 2012-05-27 11:12:12 +02:00
Felix Geyer
21a2e9583b Add (not yet functional) SettingsWidget. 2012-05-27 11:09:52 +02:00
Felix Geyer
9fc62a1d81 Move code to set headline label font to EditWidget. 2012-05-27 10:35:49 +02:00
Florian Geyer
4751f40c2b Add a function to database widget to access enabled state of actions. 2012-05-26 19:40:02 +02:00
Felix Geyer
267e88001b Show context menus with popup() instead of exec().
exec() blocks the event loop.
2012-05-26 17:01:48 +02:00
Felix Geyer
50391e144d Coding style fixes. 2012-05-26 16:47:58 +02:00
Felix Geyer
c6253fc025 Make copy constructor and assignment operator of singleton classes private. 2012-05-26 16:45:59 +02:00
Felix Geyer
f43ad8d062 Support copying username and password to the clipboard. 2012-05-26 16:37:57 +02:00
Felix Geyer
bbd039e487 Return gracefully from actions if they shouldn't have been enabled. 2012-05-25 13:43:22 +02:00
Felix Geyer
3834531488 Simplify MainWindow::setMenuActionState(). 2012-05-25 13:43:22 +02:00
Felix Geyer
28bfd39bca Allow selecting multiple rows in entry view. 2012-05-25 13:43:14 +02:00
Felix Geyer
5c0a83eae5 Add context menus for group and entry view. 2012-05-25 13:42:59 +02:00
Felix Geyer
e323fd169e Use QDesktopServices::storageLocation() on Mac OS too. 2012-05-25 13:42:59 +02:00
Felix Geyer
842eb22e1e Mark some UI strings as untranslatable. 2012-05-25 13:42:55 +02:00
Felix Geyer
a1a71a88bb Fix cmake file formatting. 2012-05-21 23:37:29 +02:00
Felix Geyer
76eb935024 Small fixes in Application. 2012-05-21 22:11:26 +02:00
Florian Geyer
b5249d196d Rename KeePassApp to Application and move it to gui directory. 2012-05-21 22:04:40 +02:00
Florian Geyer
d445bf1ecd Use a signal to connect to a slot in main window.
Coding style fixes.

http://gitorious.org/keepassx/keepassx/merge_requests/10
2012-05-21 22:04:40 +02:00
Tobias Tangemann
679398be00 Handle OSX Finder events 2012-05-21 22:04:40 +02:00
Felix Geyer
fa79da37b6 Support creating Mac OS X bundles that embed all dependencies. 2012-05-21 21:50:40 +02:00
Felix Geyer
ca7c59d313 Fix data path on Mac OS. 2012-05-21 17:55:09 +02:00
Felix Geyer
bde397503e Coding style fixes. 2012-05-21 11:57:29 +02:00
Felix Geyer
5297722ede Include header cleanup. 2012-05-20 23:08:23 +02:00
Felix Geyer
d8d288fca2 Add Q_OBJECT macro to KeePass1OpenDialog and generate the moc file. 2012-05-20 22:23:36 +02:00
Felix Geyer
04edcf39f7 Remove unneeded include. 2012-05-20 22:22:25 +02:00
Florian Geyer
9faf550fa1 Use line edit widget for search edit. 2012-05-20 21:09:34 +02:00
Florian Geyer
e5e7e5e406 Add line edit widget with integrated clear button. 2012-05-20 21:09:26 +02:00
Florian Geyer
3be90b02d6 Add option to restore from a history item.
Closes #23
2012-05-20 13:07:45 +02:00
Florian Geyer
8904869350 Add button to remove all history entries.
Refs #23
2012-05-20 13:07:45 +02:00
Florian Geyer
4797926be6 History items can now be removed.
Refs #23
2012-05-20 13:07:45 +02:00
Florian Geyer
e4a5cd214f Improve search.
Find as you type.
Add shortcut.
Hide search widgets when not used.

Refs #24
2012-05-20 12:57:50 +02:00
Felix Geyer
4a1423da88 Don't set values that are already the default. 2012-05-19 15:08:48 +02:00
Felix Geyer
f8bea82ce8 Emit error on invalid HistoryMaxItems and HistoryMaxSize values. 2012-05-19 15:05:07 +02:00
Felix Geyer
f1ad94b472 DatabaseSettingsWidget improvements.
Merge checkboxes with labels.
Set max. history size in MiB instead of bytes.
2012-05-19 15:04:05 +02:00
Felix Geyer
fef931392f Simplify DatabaseSettingsWidget by passing a Database pointer to it. 2012-05-19 14:52:00 +02:00
Florian Geyer
7425771c78 Add search enabled option to group edit. 2012-05-18 16:19:28 +02:00
Florian Geyer
f032f001f3 Remove frames from edit boxes when showing a history entry. 2012-05-18 15:45:19 +02:00
Florian Geyer
12a8662ae9 Add advanced tab in group edit. 2012-05-18 14:44:15 +02:00
Florian Geyer
4ec9df76cd Add toHex function to Uuid. 2012-05-18 14:41:34 +02:00
Florian Geyer
d218924b4f Add expiry option to group edit. 2012-05-18 10:52:05 +02:00
Florian Geyer
810a6e4b39 Display history items.
Refs #23
2012-05-17 23:29:37 +02:00
Florian Geyer
d0557677c7 Set initial state of clone entry action to disabled. 2012-05-16 13:56:25 +02:00
Florian Geyer
b61c47d42f Sort entry view by group/title when switching to search/view respectively. 2012-05-16 10:57:03 +02:00
Florian Geyer
eb82df5994 Add entry clone functionality. 2012-05-16 10:30:25 +02:00
Felix Geyer
7ebee78c75 Create src/gui/{entry,group}/ and move corresponding files to these dirs. 2012-05-16 10:22:04 +02:00
Florian Geyer
ea6f2477ef Add button to clear search field. 2012-05-16 10:18:27 +02:00
Felix Geyer
00ae8aabf1 Switch database tab when hovering over it in drag and drop.
Closes #26
2012-05-16 10:05:58 +02:00
Felix Geyer
ee1a7b6e62 Enable calendar popup in the expiry time widget. 2012-05-16 10:05:58 +02:00
Felix Geyer
5ef3cdb428 Add some more asserts to make sure we only store UTC QDateTimes. 2012-05-16 10:05:58 +02:00
Florian Geyer
fb5a5041d5 Fix crash when editing an entry in search results. 2012-05-16 01:33:32 +02:00
Felix Geyer
a5eb93255b Enable alternating row colors in EntryView. 2012-05-15 20:04:20 +02:00
Felix Geyer
ce268260b1 Display expired entries and groups struck out. 2012-05-15 20:02:08 +02:00
Florian Geyer
e5062cb745 Coding style fixes. 2012-05-15 18:51:45 +02:00
Florian Geyer
da713b0993 Use default icon if no icon is selected in entry/group edit. 2012-05-15 18:46:59 +02:00
Florian Geyer
621ec80bbe Use static constants for default icon numbers. 2012-05-15 18:46:59 +02:00
Florian Geyer
62073fa74d Don't fail upon deletion of a custom icon if history items contain the icon, but set a default icon. 2012-05-15 18:46:59 +02:00
Florian Geyer
1415829eaf Use EditWidgetIcons for entry icon selection as well.
Closes #22
2012-05-15 18:46:59 +02:00
Florian Geyer
6a1d6e8dd3 Add icon selection for groups.
Refs #22
2012-05-15 18:46:59 +02:00
Florian Geyer
1cb64f0c9f Make icons edit ui a widget. 2012-05-15 18:46:59 +02:00
Florian Geyer
6f4e855b02 Rename EditEntryWidgetIcons to EditWidgetIcons. 2012-05-15 18:46:59 +02:00
Florian Geyer
7e1f7a8729 Coding style improvements. 2012-05-15 18:46:59 +02:00
Felix Geyer
56ac80f475 Assign some keyboard shortcuts. 2012-05-15 18:16:04 +02:00
Felix Geyer
b90807c4d3 Coding style fixes. 2012-05-15 17:48:48 +02:00
Florian Geyer
0c7e1f1a6b Entry edit widget inherits from base edit widget. 2012-05-15 11:58:09 +02:00
Florian Geyer
eb3a0be809 Group edit widget inherits from base edit widget. 2012-05-15 11:58:09 +02:00
Florian Geyer
f596cc4eec Add base edit widget. 2012-05-15 11:58:03 +02:00
Felix Geyer
7986fd3e31 Use stylesheets to color the password edit background. 2012-05-14 20:24:00 +02:00
Felix Geyer
a407e0082b Coding style improvements. 2012-05-14 19:10:42 +02:00
Felix Geyer
924130e0fe Use Q_FOREACH instead of QListIterator. 2012-05-14 17:56:43 +02:00
Felix Geyer
cd41727583 Get rid of Database pointer in Metadata. 2012-05-14 17:04:05 +02:00
Felix Geyer
10e24e7343 Connect to selectionModel()->currentChanged() instead of reimplementing currentChanged(). 2012-05-14 16:50:28 +02:00
Felix Geyer
120be979e9 Add missing break in switch statements. 2012-05-14 16:45:32 +02:00
Felix Geyer
53fb28624e Fix memory leak in Entry::truncateHistory(). 2012-05-14 16:29:22 +02:00
Felix Geyer
b88a0d8de3 Coding style improvements. 2012-05-14 16:27:59 +02:00
Florian Geyer
89361b3bea Readability fix in custom icon model. 2012-05-13 21:27:56 +02:00
Florian Geyer
a197cdcce5 Improve selection when adding/removing a custom icon. 2012-05-13 21:19:45 +02:00
Florian Geyer
a57e8f9864 Preserve order of custom icons.
Closes #25
2012-05-13 20:50:41 +02:00
Florian Geyer
459cf051bf Truncate history of all items when history limits are changed. 2012-05-13 19:43:01 +02:00
Florian Geyer
8cd5b1f582 Use current index changed slot instead of selection changed signal in group view to update the entry view. 2012-05-13 19:21:23 +02:00
Florian Geyer
0e19b47755 Disable some menu actions while searching. 2012-05-13 19:21:23 +02:00
Florian Geyer
6b6c109903 Add search.
Refs #24
2012-05-13 19:21:10 +02:00
Florian Geyer
f836629dda Don't reset entry model if the same group is set. 2012-05-13 19:03:41 +02:00
Florian Geyer
746a535c7d Create recycle bin with search state and auto type disabled. 2012-05-13 19:03:41 +02:00
Florian Geyer
078fe3ccf1 Pass database instead of metadata to edit entry widget. 2012-05-13 19:02:07 +02:00
Felix Geyer
af726d465d Fix typo. 2012-05-13 13:33:55 +02:00
Felix Geyer
23792eb069 Remove some asserts in KeePass1Reader. 2012-05-13 13:32:28 +02:00
Felix Geyer
0387da48a4 Add transform round benchmark button to DatabaseWidget. 2012-05-12 15:39:55 +02:00
Felix Geyer
efb40a6567 Fix transform round benchmark. 2012-05-12 15:39:33 +02:00
Felix Geyer
05c41c083e Implement GUI to import KeePass 1 databases.
Closes #2
2012-05-12 10:13:00 +02:00
Florian Geyer
4807ec3368 Include groups in custom icon delete check.
Refs #22
2012-05-12 02:14:06 +02:00
Florian Geyer
e4b6289c0b Prevent deletion of custom icon if it is still used by other entries.
Refs #22
2012-05-12 00:30:29 +02:00
Florian Geyer
15fa09167b Toggle enabled status of add/remove custom icon buttons based on radio button selection. 2012-05-12 00:28:05 +02:00
Florian Geyer
1c24b2c5c4 Add gui option for history max items and size to database settings widget. 2012-05-11 20:14:52 +02:00
Florian Geyer
1a74feb253 Improve history limits.
Closes #16
2012-05-11 20:14:43 +02:00
jacek81
8c87a87da6 Added history limits enforcement 2012-05-11 20:04:51 +02:00
Felix Geyer
860a2131b3 Emit dataChanged() when the entry icon has changed. 2012-05-11 14:14:12 +02:00
Felix Geyer
0b592c69b0 Emit defaultKeyModified() only when the data has actually changed. 2012-05-11 14:13:22 +02:00
Felix Geyer
587a647c11 New TODO comment style.
Qt Creator 2.5 is able to parse those.
2012-05-11 12:39:06 +02:00
Felix Geyer
8faac078fd Make EntryView sortable. 2012-05-11 12:01:01 +02:00
Florian Geyer
44489bf6f8 Fix creation of history item when a new entry is added.
Add corresponding gui test.
2012-05-11 09:16:45 +02:00
Florian Geyer
887e4067ec Improve selection handling in edit icon widget. 2012-05-11 08:40:02 +02:00
Felix Geyer
65bdc207b7 Make sure we don't create DeletedObjects when importing databases. 2012-05-10 22:54:26 +02:00
Felix Geyer
366d8a0f0e Set master key after reading the database. 2012-05-10 22:46:36 +02:00
Felix Geyer
9d8e276950 Set uuids for entries. 2012-05-10 21:35:26 +02:00
Felix Geyer
cf4e574c50 Support Twofish encrypted KeePass 1 databases.
Refs #2
2012-05-10 21:06:33 +02:00
Felix Geyer
c02b5abc6e Fix composite keys in KeePass1Reader. 2012-05-10 19:33:49 +02:00
Felix Geyer
7fd8154ea8 Add support for parsing KeePass 1 keyfiles.
Refs #2
2012-05-10 19:33:16 +02:00
Felix Geyer
cc6f524168 Add Tools::readFromDevice() and make FileKey use it. 2012-05-10 19:00:36 +02:00
Felix Geyer
6eebd95de1 Move FileKey::isHex() to Tools. 2012-05-10 18:34:51 +02:00
Felix Geyer
ce0007acd2 Improve file dialog filter for adding custom icons. 2012-05-10 18:09:42 +02:00
Felix Geyer
8204f2007a Icon model fixes. 2012-05-10 13:59:36 +02:00
Florian Geyer
0d2ce4c038 Add icon selection for entries.
Refs #22.
2012-05-10 12:05:29 +02:00
Felix Geyer
65f2790170 Parse KeePass 1 database meta streams.
Refs #2
2012-05-10 11:44:25 +02:00
Felix Geyer
79b15e2ac6 Implement support for parsing groups and entries from KeePass 1 databases.
Still missing:
- Key files.
- Twofish encryption.

Refs #2
2012-05-09 23:16:32 +02:00
Felix Geyer
6234065898 Make sure TimeInfo only contains UTC values. 2012-05-09 23:16:32 +02:00
Andreas Piesk
7568582b05 compile with QT < 4.7 (RHEL6 an clones) 2012-05-09 22:15:28 +02:00
Florian Geyer
93a868a571 Don't show message box when creation of database is canceled. 2012-05-09 20:56:22 +02:00
Florian Geyer
f20d892573 Fix use of wrong slot when connecting the close request signal of the database widget. 2012-05-09 20:11:37 +02:00
Florian Geyer
07aa46c2d6 Activate corresponding tab when closing a database. 2012-05-09 20:11:27 +02:00
Florian Geyer
09248fdb14 Select newly created entries. 2012-05-09 20:03:13 +02:00
Felix Geyer
8122ab2b2c Use quint64 everywhere for the transform rounds number. 2012-05-08 22:31:09 +02:00
Felix Geyer
ebce183925 Start implementing support for reading KeePass 1 databases.
For now only decrypting the database works.

Still missing:
- Actually parsing the database.
- Key files.

Refs #1
2012-05-08 22:06:12 +02:00
Felix Geyer
38e421d9c1 Fix padding handling in SymmetricCipherStream.
The implementation had two issues:
- It didn't add a block full of padding when the input size was a multiple
  of the block size.
- It didn't strip the padding when reading data.
2012-05-08 21:46:01 +02:00
Felix Geyer
7790f2e7ba Add CompositeKey::transformKeyBenchmark().
This method tests how many key transformation rounds can be calculated
within a specific time.
2012-05-07 14:41:31 +02:00
Felix Geyer
d5fc1bf0b4 Improve performance of the key transformation. 2012-05-07 14:31:18 +02:00
Felix Geyer
7649c781dc Improve error handling in HashedBlockStream. 2012-05-06 20:19:20 +02:00
Felix Geyer
35cb4343e6 Set proper text for the toggle toolbar action. 2012-05-06 20:17:26 +02:00
Felix Geyer
f753728e97 Only use one additional thread in CompositeKey::transform(). 2012-05-03 12:21:42 +02:00
Felix Geyer
18c7fae463 Add icons used by KMessageWidget. 2012-05-03 00:15:31 +02:00
Felix Geyer
539ea5bd44 Add generic DataPath::icon() method. 2012-05-02 23:48:17 +02:00
Felix Geyer
e81ac20442 Fix GPL version number in the about dialog. 2012-05-02 22:43:24 +02:00
Felix Geyer
674320fe2a Set proper window title for DatabaseOpenDialog. 2012-05-02 22:43:00 +02:00
Felix Geyer
739f4d97a6 Coding style fixes. 2012-05-02 17:04:03 +02:00
Felix Geyer
f89a2a4045 Move recycle bin checkbox to the left side. 2012-05-02 16:34:06 +02:00
Florian Geyer
b217475dff Set default name for root group when creating new database. 2012-05-02 16:26:32 +02:00
Felix Geyer
98a2950941 Add KeePassX icon to about dialog. 2012-05-02 16:21:59 +02:00
Felix Geyer
31ab2677f8 Remove status bar in main window. 2012-05-02 15:37:37 +02:00
Felix Geyer
d60e27b4cf Add about dialog. 2012-05-02 15:37:21 +02:00
Felix Geyer
eb430d78a0 Sync expanded state to the view for new groups. 2012-05-02 15:36:27 +02:00
Felix Geyer
1ea14e1090 Turn attachmentsView into a QListView with wrapping turned on. 2012-05-02 11:15:50 +02:00
Felix Geyer
3552a79f13 Implement saving, adding and removing attachments. 2012-05-02 11:11:28 +02:00
Felix Geyer
f89ffa10e6 Add Tools::readAllFromDevice().
Make KeePass2XmlReader::readCompressedBinary() use the new function.
2012-05-02 11:06:24 +02:00
Felix Geyer
f8f52419c8 Turn EntryAttachmentsModel into a QAbstractListModel. 2012-05-02 10:30:30 +02:00
Florian Geyer
93982aa0c9 Clear attributes edit if there are no attributes. 2012-04-30 18:25:09 +02:00
Florian Geyer
4968292a05 Fix missing connect of collapsed signal. 2012-04-28 22:51:22 +02:00
Florian Geyer
272da8c99c Fix check if file can be opened read only. 2012-04-28 21:43:23 +02:00
Florian Geyer
64170a16ab Fix command line argument parsing. 2012-04-28 21:43:23 +02:00
Florian Geyer
ab32452920 Show entry title/group name in delete dialog. 2012-04-28 21:43:23 +02:00
Florian Geyer
554029ac31 Select newly created groups and expand parent. 2012-04-28 21:43:23 +02:00
Florian Geyer
84a9e397d2 Fix missing connect of expanded signal. 2012-04-28 21:43:23 +02:00
Felix Geyer
599d60270d Coding style fixes. 2012-04-28 21:42:23 +02:00
Felix Geyer
3649c7753c Fix the vertial size policy of the edit entry widget. 2012-04-28 21:30:11 +02:00
Felix Geyer
1d39368f8d Support editing attribute values in a separate text edit. 2012-04-28 19:11:15 +02:00
Felix Geyer
3ab81ea776 Fix bug that EntryAttributesModel isn't updated on reset. 2012-04-28 16:50:51 +02:00
Felix Geyer
7f67019f63 Turn EntryAttributesModel into a QAbstractListModel. 2012-04-28 16:50:17 +02:00
Felix Geyer
6140a688d7 Make EntryAttributesModel editable. 2012-04-27 12:35:13 +02:00
Felix Geyer
7c094d4723 Add EntryAttributes::rename(). 2012-04-27 12:34:15 +02:00
Felix Geyer
de4b90cdf1 Copy custom icons when moved to another database.
Closes #9
2012-04-27 11:22:02 +02:00
Felix Geyer
c36481edae Support setting a new parent group with an empty db. 2012-04-27 10:50:32 +02:00