Commit Graph

129 Commits

Author SHA1 Message Date
Gianluca Recchia
da9afd3f6f
Reduce number of unneeded copies
This patch aims at reducing the number of copies for obejcts that could
be referenced rather than copied, because they're not modified during
the computation.
2018-10-31 15:16:04 +01:00
Gianluca Recchia
a67a574b89
Reduce function call overhead
The arg() function of the QString class has a variable length argument
which allows to reduce the number of chained calls to the same function.
With proper formatting, readability is not affected.
2018-10-31 14:23:06 +01:00
Gianluca Recchia
4876beabed
Improve performance of a few for-loops
Some for-loops needlessly copied the collection they were looping over.
2018-10-31 14:23:06 +01:00
Jonathan White
fa687f246e
Fix issues with group functions (#2410) 2018-10-30 08:42:35 -04:00
Jonathan White
c1e9f45df9 Introduce synchronize merge method
* Create history-based merging that keeps older data in history instead of discarding or deleting it
* Extract merge logic into the Merger class
* Allows special merge behavior
* Improve handling of deletion and changes on groups
* Enable basic change tracking while merging
* Prevent unintended timestamp changes while merging
* Handle differences in timestamp precision
* Introduce comparison operators to allow for more sophisticated comparisons (ignore special properties, ...)
* Introduce Clock class to handle datetime across the app

Merge Strategies:
* Default (use inherited/fallback method)
* Duplicate (duplicate conflicting nodes, apply all deletions)
* KeepLocal (use local values, but apply all deletions)
* KeepRemote (use remote values, but apply all deletions)
* KeepNewer (merge history only)
* Synchronize (merge history, newest value stays on top, apply all deletions)
2018-09-30 09:36:39 -04:00
brad2014
32456e1b24 Fix typo in Group::findGroupByPath found by sonarcloud (#2233)
* Group::findGroupByPath now limited to search from root (matching current usage)
* Factors out Group::findGroupByPathRecursion (on prenormalized strings).
2018-09-18 22:44:39 -04:00
pasdam
ad4423d226
Replaced Uuid with QUuid 2018-07-06 22:23:49 -04:00
Louis-Bertrand Varin
8324d03f0a Formatting the code. 2018-03-31 16:01:30 -04:00
Edward Jones
e66adfbf68 Make more strings translatable
Includes making certain modifiers (like "[locked]") positionable, in
case languages put this before the word
2018-03-13 20:41:12 +00:00
Janek Bevendorff
5410d78bbb Properly save custom header data
Ensure adding custom data upgrades to KDBX4
Implement review feedback
2018-02-21 13:23:14 +01:00
Christian Kieschnick
0b54710734 Introduced missing CustomData on Group and Entry
Introduce missing CustomData-attributes of KDBX4 format to allow
storing of plugin data for groups and entries - adopt Metadata to use
the same storage mechanism
Add simple view for CustomData as part of EditWidgetProperties
Tracking of CustomData-Modification using SIGNAL-SLOT update-mechanism
2018-02-21 13:23:14 +01:00
thez3ro
a9479fd662
refactor autotype sequences and entry-point functions 2018-02-04 23:13:15 +01:00
thez3ro
065a85e05c
fix effective autotype sequence 2018-02-04 23:13:15 +01:00
frostasm
6007e0de71 Refactor DetailsWidget 2018-02-04 15:51:30 +02:00
Louis-Bertrand Varin
94ea323836 Extracting default clone flags. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
2ff56fe86c Only updating custom group icon if set. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
9603c91877 Merge : Synchronising groups. 2017-11-21 14:06:40 -05:00
thez3ro
eb65822665
layout update 2017-10-26 12:19:23 +02:00
thez3ro
0e6fedc056
fix group parent, add details update by keyboard 2017-10-26 12:19:23 +02:00
thez3ro
1a87e30b95
add preview panel for entries and groups 2017-10-26 12:19:23 +02:00
Jonathan White
14e3d9d576
Merge remote-tracking branch 'origin/master' into develop
# Conflicts:
#	src/core/Group.cpp
2017-10-01 11:10:10 -04:00
Jonathan White
4b6dbcaec4 Maintain entry history when merging databases (#970) 2017-09-23 12:27:05 -04:00
Louis-Bertrand Varin
faf36190bd Fixes #940 : segfault when searching after merging 2017-09-15 22:34:22 +02:00
louib
6e1fd0694f CLI : basic entry manipulation commands. (#919)
* CLI : basic entry manipulation commands.

* Code review.
2017-09-06 09:14:41 -04:00
louib
1220b7d501 Feature : Update entries across groups when merging (#807)
* Feature : Update entries across groups when merging

* Styling
2017-09-05 10:28:47 -04:00
louib
b2107b5e27 Adding Locate command. (#829)
* Adding Locate command.

* Adding group searching in locate
2017-08-05 12:20:26 -04:00
louib
3b23e68540 Refactoring : Introducing Command class for CLI commands (#778) 2017-07-17 15:16:53 -04:00
louib
48ea024d7e Adding support for listing a group. (#652)
* Adding support for listing a group.

* added findGroupByPath

* Removing useless asserts.

* Code review.
2017-06-21 17:34:49 -04:00
thez3ro
a53b111182
Update and fix copyright headers 2017-06-14 15:54:43 +02:00
Louis-Bertrand Varin
eeafe77614 Find entry by title. 2017-05-21 13:51:16 -04:00
louib
54ad927044 Moving print group in Group class. (#586) 2017-05-21 13:05:44 -04:00
louib
a2e82dc883 Feature : clip command (#578) 2017-05-19 14:04:11 -04:00
Louis-Bertrand Varin
bce747e7f9 Ignore group expansion. 2017-04-04 10:21:45 -04:00
Janek Bevendorff
8d487d31a4
Replace Q_EMIT, Q_SIGNALS and Q_SLOTS macros with MOC keywords 2017-03-10 16:12:02 +01:00
TheZ3ro
405b82588b Add Autotype Entry-Attributes, Fix Group default sequence (#107) 2016-11-25 12:26:59 -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
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
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
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
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
71d4cb781d Merge branch '2.0' 2016-01-29 17:22:37 +01:00
Felix Geyer
38245aa2a9 Add iconScaledPixmap() convenience functions. 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
7fa0eddc5f Make C++11 mandatory. 2015-09-12 13:55:50 +02:00
Felix Geyer
9882f16614 Remove Tools::currentDateTimeUtc(). 2015-09-12 13:51:49 +02:00
Felix Geyer
33650c4a04 Add non-const version of Group::groupsRecursive(). 2015-01-11 16:20:24 +01:00
Felix Geyer
07e4fbacd4 Remove ModifiedOnExpandedStateChanges config option.
I'm pretty sure noone knew what it actually does.
This is the sort of option users shouldn't be bothered with.
2014-11-30 23:04:17 +01:00
Florian Geyer
204cd8d971 Move exporter to separate class. 2014-05-16 12:07:22 +02:00
Florian Geyer
8bf4826003 Move search into separate class. 2014-05-15 23:50:40 +02:00