Commit Graph

300 Commits

Author SHA1 Message Date
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
Felix Geyer
74ac6c27d7 Support moving entries with drag and drop. 2012-04-26 16:35:13 +02:00
Felix Geyer
79b6ff99e4 Mark library include dirs as SYSTEM.
Compilers will suppress warnings from files in those directories.
2012-04-26 12:18:38 +02:00
Felix Geyer
7865f5eee9 Fix some pedantic compiler warnings. 2012-04-26 11:59:53 +02:00
Felix Geyer
e4bc302d3d Coding style fixes. 2012-04-25 20:22:55 +02:00
Florian Geyer
c29c423ec8 Add enum to describe current mode of database widget. 2012-04-25 19:46:19 +02:00
Felix Geyer
0ad4b3d8fe Minor improvements in CompositeKey and TestKeys. 2012-04-25 18:35:30 +02:00
Florian Geyer
71b15c589c Implement default username. 2012-04-25 00:30:23 +02:00
Florian Geyer
7a3a783eeb Make dialogy widget work with arbitrary buttons in button boxes. 2012-04-25 00:30:23 +02:00
Florian Geyer
5ce9b5da78 Reset focus when opening database settings, edit entry and edit group widget. 2012-04-25 00:30:23 +02:00
Florian Geyer
f7bdeefbe3 Edit widgets inherit from DialogyWidget.
Closes #17
2012-04-25 00:30:23 +02:00
Florian Geyer
279793365a Add dialogy widget which implements default button behaviour. 2012-04-25 00:30:23 +02:00
Felix Geyer
d3fbb291bd Support moving groups with drag and drop. 2012-04-25 00:22:55 +02:00
Felix Geyer
9e0a6ad2d8 Add an assignment operator to Uuid and support serialization with QDataStream. 2012-04-25 00:15:40 +02:00
Felix Geyer
d5cd0dcd14 Add a method to get databases by uuid.
Each database gets a random uuid on construction which is not saved by
KeePass2XmlWriter and only valid until the database object is deleted.
2012-04-25 00:12:23 +02:00
Felix Geyer
0d20955920 Fix bug where index is wrong when a group is moved to the end from the same parent.
This triggered the bug:
group->setParent(group->parentGroup());

Then index was group->parentGroup()->children().size() instead of size()-1.
2012-04-25 00:10:06 +02:00
Felix Geyer
974d4f5807 Allow passing a filename and password on the command line.
Passing passwords on the command line is not exactly best practice but will
greatly improve development productivity.
2012-04-24 11:47:16 +02:00
Felix Geyer
3aac16f03e Make DatabaseWidget ignore the size hint of non-active widgets. 2012-04-24 11:22:55 +02:00
Felix Geyer
e026f3d1eb Create a history item when changing entries.
Closes #15
2012-04-23 21:20:05 +02:00
Felix Geyer
3df2ad35cb Constification and some style fixes. 2012-04-23 21:09:01 +02:00
Florian Geyer
b3ddfca2bd Focus the password line edit on switch to change master key widget. 2012-04-23 17:14:22 +02:00
Felix Geyer
f28f868671 Coding style fixes. 2012-04-23 17:02:09 +02:00
Felix Geyer
bddc29101c Introduce Group::aboutToMove() and moved() signals.
Emit them instead of remove/add when groups are moved within
a database.
2012-04-23 16:57:08 +02:00
Felix Geyer
67bf8e7b2a Write history only for entries that are not history items. 2012-04-22 22:33:14 +02:00
Felix Geyer
7063f5296a Fix memory leak in SymmetricCipherStream. 2012-04-22 22:26:05 +02:00
Felix Geyer
f9abf2171b Focus the password line edit by default. 2012-04-22 20:57:42 +02:00
Florian Geyer
222abe09d9 Make save order for deleted objects consistent. 2012-04-22 19:59:50 +02:00
Felix Geyer
baed7d76cf Use QHash for temporary entry/group containers.
Closes #11
2012-04-22 12:30:38 +02:00
Felix Geyer
ef26065a99 Update LocationChanged time when entries and groups are moved.
Closes #3
2012-04-22 12:10:21 +02:00
Felix Geyer
cc426d2453 Add missing check for group database. 2012-04-22 00:58:35 +02:00
Felix Geyer
0bcce7ce7f Remove some unnecessary initializations. 2012-04-22 00:38:21 +02:00
Felix Geyer
411617cc8b Add convenience function Database::addDeletedObject(const Uuid&).
Drop Group::addDeletedObject() and make Entry call the Database function
instead.
2012-04-22 00:29:39 +02:00
Florian Geyer
5dc21a191b Clean up group deletion. 2012-04-22 00:11:17 +02:00
Florian Geyer
9726046e24 Display current tab name in window title. 2012-04-22 00:11:17 +02:00
Florian Geyer
e7d0dfbd26 Ask before closing database when in edit mode.
Fixes #12
2012-04-22 00:11:17 +02:00
Florian Geyer
8467e7756d Add ability to delete groups via gui. 2012-04-22 00:11:17 +02:00
Felix Geyer
19bacd6737 Use QPointer for Entry::m_lastTopVisibleEntry.
Closes #14
2012-04-22 00:10:04 +02:00
Felix Geyer
a3e7c93b59 Store group references in Metadata as QPointer.
QPointer sets itself to 0 when the referenced object has been deleted.

Refs #14
2012-04-22 00:07:27 +02:00
Felix Geyer
19a5aad90a Declare the TypeInfo for some classes/structs.
Qt's container classes benefit from this information.
2012-04-21 18:39:09 +02:00
Florian Geyer
db52267400 Clear keys in assignment operator of composite key.
Fixes corruption of key if master key and then transform rounds is changed.
2012-04-21 18:28:06 +02:00
Florian Geyer
4e2407b3ba Fix groupChanged signal not emitted in all cases. 2012-04-21 18:26:18 +02:00
Florian Geyer
b1db565bee Hide the tar bar when only one database is opened.
Closes #10
2012-04-21 18:24:30 +02:00
Florian Geyer
e06937287c Make toggle password button in ChangeMasterKey widget work. 2012-04-21 17:28:44 +02:00
Florian Geyer
26c4dedd01 Add more options to database settings widget. 2012-04-21 17:28:44 +02:00
Florian Geyer
258af265c7 Save reference to deleted entries in deletedObject list. 2012-04-21 17:28:44 +02:00
Florian Geyer
1fc5f7a69f Add database settings widget and ability to change transform rounds count. 2012-04-21 17:28:44 +02:00
Felix Geyer
8acd6f74d8 Support KeePass format 3.00 (used by KeePass2 >= 2.15).
Closes #6

Attachments are now stored in a pool under Metadata instead of in entries.
The protected flag of attachments isn't supported anymore.
New metadata attributes: color, historyMaxItems and historyMaxSize.
Dropped metadata attribute: autoEnableVisualHiding.
2012-04-21 16:45:46 +02:00
Florian Geyer
e8ac70120b Delete entries for good if already in recycle bin 2012-04-19 01:02:23 +02:00
Florian Geyer
f8e2c95162 Add hasChild function to check for a child in a QObject tree. 2012-04-19 01:02:23 +02:00
Felix Geyer
246bc0115e More coding style fixes. 2012-04-19 00:25:57 +02:00
Felix Geyer
3d1fc6cd6d Set the group of the entry in Database::recycleEntry().
Drop Metadata::addEntryToRecycleBin() and add a non-const
Metadata::recycleBin() getter instead.
2012-04-18 23:27:14 +02:00
Florian Geyer
8735a4846c Move deleted entries to recycle bin if enabled. 2012-04-18 23:09:00 +02:00
Florian Geyer
5661f29f7d Add ability to delete entries via gui. 2012-04-18 23:06:21 +02:00
Felix Geyer
37291d278e Fix some more lines that are too long. 2012-04-18 23:05:31 +02:00
Felix Geyer
2e011d5362 Improve code style. 2012-04-18 22:08:22 +02:00
Felix Geyer
cfe5b48bfd Handle Group::setIcon() manually instead of calling set().
That way we don't emit modified() in between setting the attributes.
2012-04-18 17:14:51 +02:00
Felix Geyer
ca5dd373ed Only disconnect m_db when it exists.
Previously we disconnected everyone when m_db == 0.
2012-04-18 17:07:40 +02:00
Florian Geyer
84d9d2ec47 Update timeinfo of group only when properties of the group itself change. 2012-04-18 17:03:58 +02:00
Florian Geyer
34204f3281 Disconnect entry from database, when removed. 2012-04-18 17:03:58 +02:00
Florian Geyer
89f138a868 Remove unnecessary currentIndexChanged signal in database widget. 2012-04-18 17:03:58 +02:00
Florian Geyer
3b603f685a Display expiry time in local time, but save in utc. 2012-04-18 17:03:58 +02:00
Florian Geyer
48f8b1a116 Do not partly update an entry when different passwords are supplied. 2012-04-18 17:03:58 +02:00
Florian Geyer
d85e5d7560 Update connection of modified signals of entries when a parent group changes database. 2012-04-18 17:03:58 +02:00
Florian Geyer
d73cbafb8e Add slot to update the timeinfo of a group and connect it on modified signal.
Connect modified signal of entries directly to database, so timeinfo of group is not updated.
2012-04-18 17:03:58 +02:00
Florian Geyer
9dc362c97e Add tabstop order for EditEntryWidgetMain. 2012-04-18 17:03:58 +02:00
Florian Geyer
7c70eccaf7 Add password repeat check for entry passwords. 2012-04-18 17:03:58 +02:00
Florian Geyer
fc8f1231c6 Fix expiry time and bool not being updated. 2012-04-18 17:03:58 +02:00
Florian Geyer
e1632e8087 Disable timeinfo update for history entries on database parsing. 2012-04-18 17:03:57 +02:00
Florian Geyer
46bbabbe3c Use UTC time spec. 2012-04-18 17:03:57 +02:00
Florian Geyer
ad865774d1 Add slot to update the timeinfo of an entry and connect it on modified signal. 2012-04-18 17:03:57 +02:00
Florian Geyer
900420630d Fix checking if database has a key. 2012-04-18 17:03:57 +02:00
Florian Geyer
26436d764a Remove duplicate connect on currentChanged signal of the tab widget. 2012-04-18 17:03:57 +02:00
Florian Geyer
fec19b475e Disable/enable menu actions depending on what currently can be done. 2012-04-18 17:03:57 +02:00
Florian Geyer
eb4f82a7ed Add hasKey property to database and also make it accessible via the DatabaseWidget. 2012-04-18 17:03:57 +02:00
Felix Geyer
afb521c6bf Silence some unused variable warnings when building in release mode. 2012-04-18 16:07:58 +02:00
Felix Geyer
a5ac1f2e80 Call m_group->database() instead of keeping a reference to Database in Entries.
Previously we didn't update m_db when the database of the group changed.
2012-04-18 13:57:57 +02:00
Felix Geyer
3baaf6be97 Add TestGui::testEditEntry().
This tests that the database isn't marked as modified when we don't change
anything but still press the Ok button.
2012-04-14 20:31:35 +02:00
Felix Geyer
38585663e1 Don't modify the protected status of default attributes.
They are handled by Metadata::protect*.
2012-04-14 19:41:56 +02:00
Felix Geyer
3d7479c67b Change EntryAttributes::copyFrom() to copyCustomKeysFrom().
That way we don't overwrite the default entries in EditEntryWidget::saveEntry().
2012-04-14 19:38:45 +02:00
Felix Geyer
51854a7a45 Only emit signals from clear() when the internal data is non-empty.
Also make sure that m_attributes always contains the default attributes.
2012-04-14 18:47:40 +02:00
Felix Geyer
8f79e914f4 Create m_entryAttachments in EditEntryWidget. Fixes a crash. 2012-04-14 18:45:32 +02:00
Felix Geyer
849f83e030 Add a new tab to the entry widget that shows attributes and attachments. 2012-04-14 15:43:41 +02:00
Felix Geyer
2b16648370 Add EntryAttachmentsModel and EntryAttributesModel. 2012-04-14 15:41:57 +02:00
Felix Geyer
d4a94a8996 Move attributes and attachments handking from Entry into own classes. 2012-04-14 15:38:20 +02:00
Felix Geyer
0ca32ea110 Fix syntax error. 2012-04-11 23:40:53 +02:00
Felix Geyer
4334824e85 Emit modified() after all icon attributes have been set in Entry::setIcon(). 2012-04-11 22:05:24 +02:00
Florian Geyer
674909f635 Add modified signals for entries. 2012-04-11 21:50:20 +02:00
Florian Geyer
73e1104442 Fix database name showing a star at the end when asking to save changes. 2012-04-11 21:50:20 +02:00
Florian Geyer
8b62365f8e Add modified signals for groups. 2012-04-11 21:50:20 +02:00
Florian Geyer
3c0efd6809 Fix missing write of group notes. 2012-04-11 21:50:20 +02:00
Florian Geyer
c80be1dd84 Add modified signals for metadata. 2012-04-11 21:50:20 +02:00