Fixed issue with notes field not being properly bound to Group notes

This commit is contained in:
michael starke
2013-08-01 19:40:30 +02:00
parent 115537c95b
commit 560d9ce941
11 changed files with 354 additions and 116 deletions

View File

@@ -266,6 +266,7 @@
4CF7805D176E71170032EE71 /* MPServerDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF7805C176E71170032EE71 /* MPServerDaemon.m */; };
4CF7805F176E75110032EE71 /* ServerSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CF7805E176E75110032EE71 /* ServerSettings.xib */; };
4CF78064176E75AD0032EE71 /* MPServerSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPServerSettingsController.m */; };
4CFB5E9F17AAD20200D9B10C /* Kdb4Group+Undo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB5E9E17AAD20200D9B10C /* Kdb4Group+Undo.m */; };
4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFC53BE16E94729007396BE /* MPShadowBox.m */; };
4CFC873B179DEDF3000DFC03 /* KPKMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFC873A179DEDF3000DFC03 /* KPKMetaData.m */; };
4CFC873E179DF200000DFC03 /* KPKTimeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFC873D179DF200000DFC03 /* KPKTimeInfo.m */; };
@@ -766,6 +767,8 @@
4CF7805E176E75110032EE71 /* ServerSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ServerSettings.xib; sourceTree = "<group>"; };
4CF78062176E75AD0032EE71 /* MPServerSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPServerSettingsController.h; sourceTree = "<group>"; };
4CF78063176E75AD0032EE71 /* MPServerSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPServerSettingsController.m; sourceTree = "<group>"; };
4CFB5E9D17AAD20200D9B10C /* Kdb4Group+Undo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Kdb4Group+Undo.h"; sourceTree = "<group>"; };
4CFB5E9E17AAD20200D9B10C /* Kdb4Group+Undo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Kdb4Group+Undo.m"; sourceTree = "<group>"; };
4CFC53BD16E94729007396BE /* MPShadowBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPShadowBox.h; sourceTree = "<group>"; };
4CFC53BE16E94729007396BE /* MPShadowBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPShadowBox.m; sourceTree = "<group>"; };
4CFC8739179DEDF3000DFC03 /* KPKMetaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKMetaData.h; sourceTree = "<group>"; };
@@ -1080,6 +1083,8 @@
4C4510081798C53700219998 /* StringField+Validation.m */,
4C45100A1798C65C00219998 /* Kdb4Entry+MPAdditions.h */,
4C45100B1798C65C00219998 /* Kdb4Entry+MPAdditions.m */,
4CFB5E9D17AAD20200D9B10C /* Kdb4Group+Undo.h */,
4CFB5E9E17AAD20200D9B10C /* Kdb4Group+Undo.m */,
);
name = "KeePassLib Categories";
sourceTree = "<group>";
@@ -2078,6 +2083,7 @@
4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */,
4C6BEA3117A88E6C00CF69A8 /* MPStripLineBreaksTransformer.m in Sources */,
4C79E80317A9187400AC6CD2 /* KPKXmlHeaderWriter.m in Sources */,
4CFB5E9F17AAD20200D9B10C /* Kdb4Group+Undo.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@@ -102,7 +102,6 @@
<string key="NSFrameSize">{293, 503}</string>
<reference key="NSSuperview" ref="171621726"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="15582376"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<array class="NSMutableArray" key="NSTabViewItems">
<object class="NSTabViewItem" id="695903737">
@@ -114,7 +113,6 @@
<string key="NSFrameSize">{293, 503}</string>
<reference key="NSSuperview" ref="239090452"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:11</string>
</object>
<string key="NSLabel">General</string>
@@ -589,7 +587,6 @@
<string key="NSFrame">{{20, 20}, {212, 77}}</string>
<reference key="NSSuperview" ref="413602841"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTokenFieldCell" key="NSCell" id="222663528">
@@ -724,7 +721,7 @@
<string key="NSFrameSize">{210, 258}</string>
<reference key="NSSuperview" ref="964754936"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="932823276"/>
<reference key="NSNextKeyView" ref="601656903"/>
<string key="NSReuseIdentifierKey">_NS:13</string>
<object class="NSTextContainer" key="NSTextContainer" id="877434204">
<object class="NSLayoutManager" key="NSLayoutManager">
@@ -844,7 +841,7 @@
<string key="NSFrame">{{20, 151}, {212, 260}}</string>
<reference key="NSSuperview" ref="413602841"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="601656903"/>
<reference key="NSNextKeyView" ref="964754936"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="NSsFlags">133138</int>
<reference key="NSVScroller" ref="932823276"/>

View File

@@ -48,10 +48,72 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextField" id="830150627">
<reference key="NSNextResponder" ref="154788810"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 93}, {53, 14}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="854687919"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="287002921">
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Autotype</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<string key="NSCellIdentifier">_NS:1535</string>
<reference key="NSControlView" ref="830150627"/>
<object class="NSColor" key="NSBackgroundColor" id="636830558">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="29105801">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="297603092">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">disabledControlTextColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
</object>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="339666302">
<reference key="NSNextResponder" ref="154788810"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 144}, {40, 14}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="959847502"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="478891612">
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Search</string>
<reference key="NSSupport" ref="26"/>
<string key="NSCellIdentifier">_NS:1535</string>
<reference key="NSControlView" ref="339666302"/>
<reference key="NSBackgroundColor" ref="636830558"/>
<reference key="NSTextColor" ref="297603092"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSPopUpButton" id="854687919">
<reference key="NSNextResponder" ref="154788810"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 99}, {222, 26}}</string>
<string key="NSFrame">{{18, 61}, {222, 26}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
@@ -132,10 +194,10 @@
<object class="NSPopUpButton" id="959847502">
<reference key="NSNextResponder" ref="154788810"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 130}, {222, 26}}</string>
<string key="NSFrame">{{18, 112}, {222, 26}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="854687919"/>
<reference key="NSNextKeyView" ref="830150627"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSAntiCompressionPriority">{249, 750}</string>
<bool key="NSEnabled">YES</bool>
@@ -206,7 +268,7 @@
<string key="NSFrame">{{174, 163}, {63, 19}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="959847502"/>
<reference key="NSNextKeyView" ref="339666302"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="476802773">
@@ -274,31 +336,11 @@
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Notes</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<reference key="NSSupport" ref="26"/>
<string key="NSCellIdentifier">_NS:1535</string>
<reference key="NSControlView" ref="54933662"/>
<object class="NSColor" key="NSBackgroundColor" id="636830558">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="29105801">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="297603092">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">disabledControlTextColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
</object>
</object>
<reference key="NSBackgroundColor" ref="636830558"/>
<reference key="NSTextColor" ref="297603092"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
@@ -335,7 +377,7 @@
<string key="NSFrameSize">{215, 257}</string>
<reference key="NSSuperview" ref="600246267"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="747041324"/>
<reference key="NSNextKeyView" ref="707535614"/>
<string key="NSReuseIdentifierKey">_NS:13</string>
<object class="NSTextContainer" key="NSTextContainer" id="192398905">
<object class="NSLayoutManager" key="NSLayoutManager">
@@ -461,7 +503,7 @@
<string key="NSFrame">{{20, 190}, {217, 259}}</string>
<reference key="NSSuperview" ref="154788810"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="707535614"/>
<reference key="NSNextKeyView" ref="600246267"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSAntiCompressionPriority">{750, 750}</string>
<int key="NSsFlags">133138</int>
@@ -548,7 +590,7 @@
<string key="NSFrameSize">{255, 421}</string>
<reference key="NSSuperview" ref="83897318"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="227728764"/>
<reference key="NSNextKeyView" ref="296338600"/>
<string key="NSReuseIdentifierKey">_NS:13</string>
</object>
</array>
@@ -592,7 +634,7 @@
<string key="NSFrameSize">{255, 421}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="296338600"/>
<reference key="NSNextKeyView" ref="83897318"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="NSsFlags">133152</int>
<reference key="NSVScroller" ref="296338600"/>
@@ -694,7 +736,23 @@
<int key="objectID">3</int>
<reference key="object" ref="154788810"/>
<array class="NSMutableArray" key="children">
<object class="IBNSLayoutConstraint" id="490506464">
<object class="IBNSLayoutConstraint" id="515617155">
<reference key="firstItem" ref="854687919"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="830150627"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="300875719">
<reference key="firstItem" ref="154788810"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
@@ -702,7 +760,7 @@
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">102</double>
<double key="value">64</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
@@ -742,15 +800,15 @@
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="990668188">
<reference key="firstItem" ref="854687919"/>
<object class="IBNSLayoutConstraint" id="362810929">
<reference key="firstItem" ref="830150627"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="959847502"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">10</double>
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
@@ -758,20 +816,68 @@
<float key="scoringTypeFloat">24</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="1013410922">
<reference key="firstItem" ref="154788810"/>
<int key="firstAttribute">4</int>
<object class="IBNSLayoutConstraint" id="905171047">
<reference key="firstItem" ref="830150627"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="380136170"/>
<int key="secondAttribute">4</int>
<reference key="secondItem" ref="154788810"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">164</double>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">3</int>
<float key="scoringTypeFloat">9</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="627286970">
<reference key="firstItem" ref="959847502"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="339666302"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="313318158">
<reference key="firstItem" ref="959847502"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="154788810"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="265988150">
<reference key="firstItem" ref="154788810"/>
<int key="firstAttribute">6</int>
<int key="relation">0</int>
<reference key="secondItem" ref="959847502"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="256934746">
@@ -822,8 +928,8 @@
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="313318158">
<reference key="firstItem" ref="959847502"/>
<object class="IBNSLayoutConstraint" id="962785996">
<reference key="firstItem" ref="339666302"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="154788810"/>
@@ -838,20 +944,20 @@
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="265988150">
<reference key="firstItem" ref="154788810"/>
<int key="firstAttribute">6</int>
<object class="IBNSLayoutConstraint" id="537167099">
<reference key="firstItem" ref="339666302"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="959847502"/>
<int key="secondAttribute">6</int>
<reference key="secondItem" ref="921420190"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="154788810"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="343175047">
@@ -1036,7 +1142,9 @@
<reference ref="54933662"/>
<reference ref="921420190"/>
<reference ref="380136170"/>
<reference ref="339666302"/>
<reference ref="959847502"/>
<reference ref="830150627"/>
<reference ref="854687919"/>
</array>
<reference key="parent" ref="0"/>
@@ -1222,11 +1330,6 @@
<reference key="object" ref="256934746"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">226</int>
<reference key="object" ref="1013410922"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">229</int>
<reference key="object" ref="959847502"/>
@@ -1314,11 +1417,6 @@
<reference key="object" ref="241819344"/>
<reference key="parent" ref="332666725"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">248</int>
<reference key="object" ref="990668188"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">250</int>
<reference key="object" ref="533534082"/>
@@ -1335,8 +1433,64 @@
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">263</int>
<reference key="object" ref="490506464"/>
<int key="objectID">264</int>
<reference key="object" ref="339666302"/>
<array class="NSMutableArray" key="children">
<reference ref="478891612"/>
</array>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">265</int>
<reference key="object" ref="478891612"/>
<reference key="parent" ref="339666302"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">272</int>
<reference key="object" ref="537167099"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">273</int>
<reference key="object" ref="962785996"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">274</int>
<reference key="object" ref="627286970"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">276</int>
<reference key="object" ref="830150627"/>
<array class="NSMutableArray" key="children">
<reference ref="287002921"/>
</array>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">277</int>
<reference key="object" ref="287002921"/>
<reference key="parent" ref="830150627"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">278</int>
<reference key="object" ref="905171047"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">279</int>
<reference key="object" ref="362810929"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">281</int>
<reference key="object" ref="300875719"/>
<reference key="parent" ref="154788810"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">282</int>
<reference key="object" ref="515617155"/>
<reference key="parent" ref="154788810"/>
</object>
</array>
@@ -1357,7 +1511,6 @@
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="226.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="229.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="229.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="23.CustomClassName">HNHRoundedTextField</string>
@@ -1378,17 +1531,28 @@
<string key="244.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="245.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="246.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="248.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="250.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="255.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="256.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="263.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="264.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="264.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="265.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="272.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="273.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="274.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="276.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="276.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="277.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="278.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="279.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="281.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="282.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="3.IBNSViewMetadataConstraints">
<array class="NSMutableArray" key="3.IBNSViewMetadataConstraints">
<reference ref="184272069"/>
<reference ref="336435964"/>
<reference ref="1048159367"/>
@@ -1400,16 +1564,20 @@
<reference ref="619339901"/>
<reference ref="805029192"/>
<reference ref="343175047"/>
<reference ref="265988150"/>
<reference ref="313318158"/>
<reference ref="537167099"/>
<reference ref="962785996"/>
<reference ref="110596562"/>
<reference ref="766534894"/>
<reference ref="256934746"/>
<reference ref="1013410922"/>
<reference ref="990668188"/>
<reference ref="265988150"/>
<reference ref="313318158"/>
<reference ref="627286970"/>
<reference ref="905171047"/>
<reference ref="362810929"/>
<reference ref="533534082"/>
<reference ref="308744395"/>
<reference ref="490506464"/>
<reference ref="300875719"/>
<reference ref="515617155"/>
</array>
<boolean value="NO" key="3.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/>
<boolean value="NO" key="3.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
@@ -1443,7 +1611,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">263</int>
<int key="maxID">282</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">

16
MacPass/Kdb4Group+Undo.h Normal file
View File

@@ -0,0 +1,16 @@
//
// Kdb4Group+Undo.h
// MacPass
//
// Created by Michael Starke on 01.08.13.
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
//
#import "Kdb4Node.h"
@interface Kdb4Group (Undo)
- (NSString *)notesUndoable;
- (void)setNotesUndoable:(NSString *)newNotes;
@end

24
MacPass/Kdb4Group+Undo.m Normal file
View File

@@ -0,0 +1,24 @@
//
// Kdb4Group+Undo.m
// MacPass
//
// Created by Michael Starke on 01.08.13.
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
//
#import "Kdb4Group+Undo.h"
#import "KdbGroup+Undo.h"
@implementation Kdb4Group (Undo)
- (NSString *)notesUndoable {
return self.notes;
}
- (void)setNotesUndoable:(NSString *)newNotes {
[[self undoManager] registerUndoWithTarget:self selector:@selector(setNotesUndoable:) object:self.notes];
[[self undoManager] setActionName:NSLocalizedString(@"SET_NOTES", "")];
self.notes = newNotes;
}
@end

View File

@@ -46,10 +46,7 @@ if(![[self undoManager] isUndoing]) {\
- (void)setTitleUndoable:(NSString *)title {
[[self undoManager] registerUndoWithTarget:self selector:@selector(setTitleUndoable:) object:self.title];
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"SET_TITLE", "Set Title")];
}
MPSetActionName(@"SET_TITLE", "");
[self setLastModificationTime:[NSDate date]];
[self setTitle:title];
@@ -57,11 +54,8 @@ if(![[self undoManager] isUndoing]) {\
- (void)setUsernameUndoable:(NSString *)username {
[[self undoManager] registerUndoWithTarget:self selector:@selector(setUsernameUndoable:) object:self.username];
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"SET_USERNAME", "Undo set username")];
}
MPSetActionName(@"SET_USERNAME", "");
[self setLastModificationTime:[NSDate date]];
[self setUsername:username];
}
@@ -70,10 +64,6 @@ if(![[self undoManager] isUndoing]) {\
[[self undoManager] registerUndoWithTarget:self selector:@selector(setPasswordUndoable:) object:self.password];
MPSetActionName(@"SET_PASSWORT", "Undo set password");
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"SET_PASSWORD", "Set Password")];
}
[self setLastModificationTime:[NSDate date]];
[self setPassword:password];
}
@@ -82,10 +72,6 @@ if(![[self undoManager] isUndoing]) {\
[[self undoManager] registerUndoWithTarget:self selector:@selector(setUrlUndoable:) object:self.url];
MPSetActionName(@"SET_URL", "Undo set URL");
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"SET_TITLE", "Set Title")];
}
[self setLastModificationTime:[NSDate date]];
[self setUrl:url];
}
@@ -94,10 +80,6 @@ if(![[self undoManager] isUndoing]) {\
[[self undoManager] registerUndoWithTarget:self selector:@selector(setNotesUndoable:) object:self.notes];
MPSetActionName(@"SET_NOTES", "Set Notes");
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"SET_TITLE", "Set Title")];
}
[self setLastModificationTime:[NSDate date]];
[self setNotes:notes];
}
@@ -112,9 +94,7 @@ if(![[self undoManager] isUndoing]) {\
}
[[[self undoManager] prepareWithInvocationTarget:self.parent] addEntryUndoable:self atIndex:oldIndex];
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:NSLocalizedString(@"DELETE_ENTRY", "Set Title")];
}
MPSetActionName(@"DELETE_ENTRY", "");
//[[NSNotificationCenter defaultCenter] postNotificationName:@"" object:self userInfo:nil];
[self.parent removeObjectFromEntriesAtIndex:oldIndex];
@@ -138,9 +118,7 @@ if(![[self undoManager] isUndoing]) {\
}
[[[self undoManager] prepareWithInvocationTarget:self] _moveToGroup:self.parent atIndex:oldIndex actionName:name];
if(![[self undoManager] isUndoing]) {
[[self undoManager] setActionName:name];
}
MPSetActionName(name, "");
[self.parent removeObjectFromEntriesAtIndex:oldIndex];
// Old indices might be wrong, correct them if necessary

View File

@@ -12,6 +12,7 @@
#import "Kdb.h"
#import "Kdb4Node.h"
#import "Kdb4Group+Undo.h"
#import "HNHScrollView.h"
#import "HNHRoundedTextField.h"
@@ -75,7 +76,7 @@
- (void)_updateBindings {
if(self.group) {
[self.titleTextField bind:NSValueBinding toObject:self.group withKeyPath:@"nameUndoable" options:nil];
if([self.group respondsToSelector:@selector(notes:)]) {
if([self.group isKindOfClass:[Kdb4Group class]]) {
[self.notesTextView bind:NSValueBinding toObject:self.group withKeyPath:@"notesUndoable" options:nil];
}
else {

View File

@@ -28,10 +28,6 @@
}
- (void)testEntryCoding {
/*
1. Deep Copy
2. Copy without History
*/
KPKEntry *entry = [[KPKEntry alloc] init];
entry.title = @"Title";

View File

@@ -7,7 +7,59 @@
//
#import "KPKTestNSCopying.h"
#import "KPKEntry.h"
#import "KPKAttribute.h"
#import "KPKBinary.h"
@implementation KPKTestNSCopying
- (void)testAttributeCopying {
KPKAttribute *attribute = [[KPKAttribute alloc] initWithKey:@"Key" value:@"Value" isProtected:NO];
KPKAttribute *copy = [attribute copy];
attribute.key = @"NewKey";
attribute.value = @"NewValue";
attribute.isProtected = YES;
STAssertNotNil(copy, @"Copy shoule exist");
STAssertTrue([copy.key isEqualToString:@"Key"], @"Copy key should be key");
STAssertTrue([copy.value isEqualToString:@"Value"], @"Copy value should be value");
STAssertFalse(copy.isProtected, @"Copy should not be protected");
}
- (void)testEntryCopying {
KPKEntry *entry = [[KPKEntry alloc] init];
entry.title = @"Title";
entry.url = @"URL";
entry.username = @"Username";
entry.password = @"Password";
uint8 bytes[] = { 0xFF, 0x00, 0xFF, 0x00, 0xFF };
NSData *data = [[NSData alloc] initWithBytes:bytes length:5];
KPKBinary *binary = [[KPKBinary alloc] init];
binary.data = data;
binary.name = @"Binary";
[entry addBinary:binary];
[entry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@"Custom" value:@"Value" isProtected:NO]];
KPKEntry *copyEntry = [entry copy];
entry.title = @"NewTitle";
[entry removeBinary:binary];
[[entry.customAttributes lastObject] setKey:@"NewCustomKey"];
STAssertNotNil(copyEntry, @"Copied Entry cannot be nil");
STAssertTrue([copyEntry.title isEqualToString:@"Title"], @"Titles should match");
STAssertTrue([copyEntry.url isEqualToString:@"URL"], @"URLS should match");
STAssertTrue([copyEntry.binaries count] == 1, @"Binareis should be copied");
KPKBinary *copiedBinary = [copyEntry.binaries lastObject];
STAssertTrue([copiedBinary.data isEqualToData:binary.data], @"Binary data should match");
STAssertTrue([copiedBinary.name isEqualToString:binary.name], @"Binary names should macht");
}
@end