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
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
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
Florian Geyer
222abe09d9
Make save order for deleted objects consistent.
2012-04-22 19:59:50 +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
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
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
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
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
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
fc8f1231c6
Fix expiry time and bool not being updated.
2012-04-18 17:03:58 +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
eb4f82a7ed
Add hasKey property to database and also make it accessible via the DatabaseWidget.
2012-04-18 17:03:57 +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
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
d4a94a8996
Move attributes and attachments handking from Entry into own classes.
2012-04-14 15:38:20 +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
8b62365f8e
Add modified signals for groups.
2012-04-11 21:50:20 +02:00
Florian Geyer
c80be1dd84
Add modified signals for metadata.
2012-04-11 21:50:20 +02:00
Florian Geyer
1d23ed46e5
Add modified signal for database.
2012-04-11 20:01:36 +02:00
Felix Geyer
08c8afc8f0
Add a Tools class with a humanReadableFileSize() method.
2012-04-09 23:53:46 +02:00
Felix Geyer
9aaec3499d
Add signals for attribute and attachment changes.
2012-04-09 23:52:06 +02:00
Felix Geyer
57a953476a
Use QMap to store attributes and attachments.
...
QMap keeps the keys in a consistent order (sorted).
2012-04-09 22:20:11 +02:00
Felix Geyer
d527e63f1f
Change the Entry attributes/attachment API to provide a stable key order.
2012-04-06 19:33:29 +02:00
Felix Geyer
a8a6439ba0
Fix typo.
2012-01-07 17:18:48 +01:00
Felix Geyer
f39dfa1c88
Honor protect parameter when overwriting an attribute/attachment.
2012-01-07 16:23:20 +01:00
Felix Geyer
e397080d79
Rename addAttribute() to setAttribute() and addAttachment() to setAttachment().
2012-01-07 16:22:11 +01:00
Felix Geyer
fea148803c
Rename getPath() -> path().
2012-01-06 15:49:52 +01:00
Felix Geyer
bda22394f5
Add a dataPath() generater function instead of using static DataPath methods.
2012-01-05 22:36:06 +01:00
Felix Geyer
5db102d668
Compress svg icon.
2012-01-05 22:33:05 +01:00
Felix Geyer
55c94e6166
Set application window icon.
2012-01-05 22:27:08 +01:00
Felix Geyer
00aafa69f5
Store database icons as QImage instead of QIcon.
...
This has the advantage that they can be used without a running X server.
Add methods to retrieve QPixmaps that are converted from the stored QImages
and cached by QPixmapCache.
2012-01-01 21:52:54 +01:00
Felix Geyer
bce46c5ece
Enforce that group/entry uuid is set when writing a database.
2011-12-27 15:47:06 +01:00
Felix Geyer
4ebcd53801
Ignore compiler warnings in qendian.h.
2011-12-26 19:34:34 +01:00
Felix Geyer
35066bca8b
Implement global config class.
2011-12-25 19:17:40 +01:00
Felix Geyer
61dc295fa0
Syntax fixes.
2011-12-24 17:26:04 +01:00
Felix Geyer
1e4587c7a3
Add a class which provides the path to data files.
2011-12-23 11:59:09 +01:00
Felix Geyer
af820f4931
Add missing include guards.
2011-12-23 10:28:18 +01:00
Felix Geyer
baace14918
Initalize autoEnableVisualHiding.
2011-11-20 10:16:13 +01:00
Felix Geyer
0e41ed72dd
Emit signal when changing the database name.
2011-11-13 14:54:11 +01:00
Felix Geyer
8a964f35d1
Add brackets.
2011-11-12 10:42:34 +01:00
Felix Geyer
027362be76
Notify entry/group parent on deletion.
...
Also make the root group pseudo static, i.e. it shouldn't be changed
after the database has been fully constructed.
2011-07-09 21:54:01 +02:00
Felix Geyer
d4f02a78a7
Coding style fixes.
2011-07-08 14:51:14 +02:00
Felix Geyer
4dbdc4d847
Make some Group methods private.
2011-07-08 13:57:02 +02:00
Felix Geyer
a1bfb1f319
Initalize more member variables.
2011-07-07 12:52:30 +02:00
Felix Geyer
afb285a476
Use a special enum for inherit/enable/disable variables.
2011-07-07 12:45:14 +02:00
Felix Geyer
be934b2fce
Always add the default attributes to Entry and don't allow to delete them.
2011-07-07 12:42:08 +02:00
Felix Geyer
1d6e106aee
Initalize protect switch variables.
2011-07-06 23:44:29 +02:00
Felix Geyer
6d4561bc57
Initalize pointer in Group. *sigh*
2011-07-06 23:43:02 +02:00
Felix Geyer
5cb906c235
Properly initialize various attributes.
2011-06-29 16:47:05 +02:00
Felix Geyer
6afda908bc
Move key transform() call into Database.
2011-06-29 16:39:39 +02:00
Felix Geyer
2adf3770b0
Fix typo.
...
aka project might be still alive commit
2011-06-25 23:10:42 +02:00
Felix Geyer
cfb55828b6
Add initial support for encrypted database fields.
2011-01-13 22:31:17 +01:00
Felix Geyer
8fc2b9328e
Improve EditEntryWidget.
2010-10-06 22:54:07 +02:00
Felix Geyer
e3da80fcc6
Add KeePass2Writer.
...
Support attributes MasterKeyChanged, MasterKeyChangeRec, MasterKeyChangeForce and Tags.
Close streams in the dtor.
2010-09-25 12:41:00 +02:00
Felix Geyer
8b5dcc7bee
Use the Uuid::LENGTH constant instead of literals.
2010-09-23 00:19:02 +02:00
Felix Geyer
9f0c3e5411
Implement Uuid::random().
2010-09-22 00:16:01 +02:00
Felix Geyer
89e778d324
Display warning when an invalid icon index is requested.
2010-09-21 22:39:42 +02:00
Felix Geyer
567dd92d4c
Add built-in icons.
2010-09-19 21:22:24 +02:00
Felix Geyer
5da7d3fca6
Implement writing in SymmetricCipherStream and add a unit test.
2010-09-18 17:19:42 +02:00
Felix Geyer
9f282928e8
Implement reading encrypted kdbx files.
2010-09-13 23:24:36 +02:00
Felix Geyer
26de957a98
Indentation and variable naming fixes.
2010-09-13 23:16:28 +02:00
Felix Geyer
f5dd24fdbe
Use upper case names for constants.
2010-09-05 11:46:36 +02:00
Felix Geyer
ee4c2c3dd4
Move core/Parser to format/KeePass2XmlReader and core/Writer to format/KeePass2XmlWriter.
2010-08-31 14:39:35 +02:00
Felix Geyer
3bf0564436
Handle CustomData element.
...
This should make support for reading and writing
KeePass 2 XML files complete (closes #1 ).
2010-08-26 00:31:07 +02:00
Felix Geyer
8df8f69e10
Actually calling writeDeletedObjects() would be a good idea.
2010-08-25 23:45:16 +02:00
Felix Geyer
cd26e9d474
Add a bunch of new Parser testcases.
2010-08-25 21:14:41 +02:00
Felix Geyer
542ecd41d1
Fix UUID not being set for history entries.
2010-08-25 21:13:50 +02:00
Felix Geyer
e7a9d57800
Set icon id even if it's 0 as icon numbering starts at 0.
2010-08-25 19:26:01 +02:00
Felix Geyer
82cb315977
Implement some const methods properly.
2010-08-25 14:00:46 +02:00
Felix Geyer
3193adc215
Support Entry History and DeletedObjects.
2010-08-25 13:52:59 +02:00
Felix Geyer
ef52e98ee6
Coding style++
2010-08-24 23:12:01 +02:00
Felix Geyer
e96c3bb011
Un-constify Entry* and Group* in various related signals and models/views.
2010-08-23 21:30:20 +02:00
Felix Geyer
707cf1bbe8
Some Writer fixes and add methods to actually make it write.
2010-08-22 16:01:09 +02:00
Felix Geyer
82afd43f12
Support EnableAutoType and EnableSearching group properties.
2010-08-19 14:03:54 +02:00
Felix Geyer
2b939617bb
Implement XML Writer (maybe even works!)
2010-08-18 22:57:26 +02:00
Felix Geyer
8d623f37ca
Add EntryModel.
2010-08-18 16:22:48 +02:00
Felix Geyer
84bc5ef463
Add convenience methods to access common attributes.
2010-08-18 15:08:17 +02:00
Felix Geyer
623b325fa1
Implement support for group tree changes in GroupModel.
2010-08-18 10:27:40 +02:00
Felix Geyer
e28ed4891b
Add signal for changes in Group.
2010-08-15 15:03:47 +02:00
Felix Geyer
072a8ccf1b
Add GroupModel and corresponding unit test.
2010-08-15 12:31:48 +02:00
Felix Geyer
a3211872e0
Use static method instead of a constructor for random Uuids.
2010-08-14 12:44:55 +02:00
Felix Geyer
d8b21c8b04
Mark constructors as explicit.
2010-08-14 12:28:52 +02:00
Felix Geyer
01694c3271
Implement Entry::image().
2010-08-14 12:24:35 +02:00
Felix Geyer
bd1ea05017
Fix parser and add unit tests.
2010-08-13 18:08:06 +02:00
Felix Geyer
b64dbce2da
Build fixes.
2010-08-12 21:43:57 +02:00
Felix Geyer
dae532d659
More work on the parser and Entry/Group data structures.
2010-08-12 21:38:59 +02:00
Felix Geyer
3e3c23e4ad
Initial import.
2010-08-07 15:10:44 +02:00