mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 07:02:39 +00:00
Fixed #61 searching in passwords is now supported
Fixed #80 nested groups can be selected as templates or trash Trash UUID now get's stored correctly Enhanced and fixed some undo errors in moving groups and/or entries Added action names for moving groups/entries via drag and drop
This commit is contained in:
Submodule KeePassKit updated: b333ee0fb4...05b59b464e
@@ -70,7 +70,7 @@
|
|||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
<CommandLineArgument
|
<CommandLineArgument
|
||||||
argument = "-NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES"
|
argument = "-NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES"
|
||||||
isEnabled = "NO">
|
isEnabled = "YES">
|
||||||
</CommandLineArgument>
|
</CommandLineArgument>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -42,10 +42,39 @@
|
|||||||
<reference key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">268</int>
|
<int key="NSvFlags">268</int>
|
||||||
<array class="NSMutableArray" key="NSSubviews">
|
<array class="NSMutableArray" key="NSSubviews">
|
||||||
|
<object class="NSButton" id="786439399">
|
||||||
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
|
<int key="NSvFlags">268</int>
|
||||||
|
<string key="NSFrame">{{234, 6}, {74, 17}}</string>
|
||||||
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
|
<reference key="NSNextKeyView" ref="498286707"/>
|
||||||
|
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||||
|
<bool key="NSEnabled">YES</bool>
|
||||||
|
<object class="NSButtonCell" key="NSCell" id="150863911">
|
||||||
|
<int key="NSCellFlags">-2080374784</int>
|
||||||
|
<int key="NSCellFlags2">134348800</int>
|
||||||
|
<string key="NSContents">Password</string>
|
||||||
|
<object class="NSFont" key="NSSupport" id="29">
|
||||||
|
<string key="NSName">LucidaGrande-Bold</string>
|
||||||
|
<double key="NSSize">12</double>
|
||||||
|
<int key="NSfFlags">16</int>
|
||||||
|
</object>
|
||||||
|
<string key="NSCellIdentifier">_NS:9</string>
|
||||||
|
<reference key="NSControlView" ref="786439399"/>
|
||||||
|
<int key="NSButtonFlags">-1232846848</int>
|
||||||
|
<int key="NSButtonFlags2">173</int>
|
||||||
|
<string key="NSAlternateContents"/>
|
||||||
|
<string key="NSKeyEquivalent"/>
|
||||||
|
<int key="NSPeriodicDelay">400</int>
|
||||||
|
<int key="NSPeriodicInterval">75</int>
|
||||||
|
</object>
|
||||||
|
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||||
|
</object>
|
||||||
<object class="NSSearchField" id="498286707">
|
<object class="NSSearchField" id="498286707">
|
||||||
<reference key="NSNextResponder" ref="1005"/>
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
<int key="NSvFlags">268</int>
|
<int key="NSvFlags">268</int>
|
||||||
<string key="NSFrame">{{242, 6}, {100, 19}}</string>
|
<string key="NSFrame">{{316, 6}, {100, 19}}</string>
|
||||||
<reference key="NSSuperview" ref="1005"/>
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="113591000"/>
|
<reference key="NSNextKeyView" ref="113591000"/>
|
||||||
@@ -121,7 +150,7 @@
|
|||||||
<object class="NSButton" id="113591000">
|
<object class="NSButton" id="113591000">
|
||||||
<reference key="NSNextResponder" ref="1005"/>
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
<int key="NSvFlags">268</int>
|
<int key="NSvFlags">268</int>
|
||||||
<string key="NSFrame">{{350, 6}, {42, 17}}</string>
|
<string key="NSFrame">{{424, 6}, {42, 17}}</string>
|
||||||
<reference key="NSSuperview" ref="1005"/>
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||||
@@ -148,18 +177,14 @@
|
|||||||
<string key="NSFrame">{{188, 6}, {38, 17}}</string>
|
<string key="NSFrame">{{188, 6}, {38, 17}}</string>
|
||||||
<reference key="NSSuperview" ref="1005"/>
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="498286707"/>
|
<reference key="NSNextKeyView" ref="786439399"/>
|
||||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="149174717">
|
<object class="NSButtonCell" key="NSCell" id="149174717">
|
||||||
<int key="NSCellFlags">-2080374784</int>
|
<int key="NSCellFlags">-2080374784</int>
|
||||||
<int key="NSCellFlags2">134348800</int>
|
<int key="NSCellFlags2">134348800</int>
|
||||||
<string key="NSContents">URL</string>
|
<string key="NSContents">URL</string>
|
||||||
<object class="NSFont" key="NSSupport" id="29">
|
<reference key="NSSupport" ref="29"/>
|
||||||
<string key="NSName">LucidaGrande-Bold</string>
|
|
||||||
<double key="NSSize">12</double>
|
|
||||||
<int key="NSfFlags">16</int>
|
|
||||||
</object>
|
|
||||||
<string key="NSCellIdentifier">_NS:9</string>
|
<string key="NSCellIdentifier">_NS:9</string>
|
||||||
<reference key="NSControlView" ref="340435610"/>
|
<reference key="NSControlView" ref="340435610"/>
|
||||||
<int key="NSButtonFlags">-1232846848</int>
|
<int key="NSButtonFlags">-1232846848</int>
|
||||||
@@ -263,7 +288,7 @@
|
|||||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||||
</object>
|
</object>
|
||||||
</array>
|
</array>
|
||||||
<string key="NSFrameSize">{400, 30}</string>
|
<string key="NSFrameSize">{474, 30}</string>
|
||||||
<reference key="NSSuperview"/>
|
<reference key="NSSuperview"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="906526407"/>
|
<reference key="NSNextKeyView" ref="906526407"/>
|
||||||
@@ -360,6 +385,22 @@
|
|||||||
</object>
|
</object>
|
||||||
<int key="connectionID">95</int>
|
<int key="connectionID">95</int>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBOutletConnection" key="connection">
|
||||||
|
<string key="label">filterPasswordButton</string>
|
||||||
|
<reference key="source" ref="1001"/>
|
||||||
|
<reference key="destination" ref="786439399"/>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">101</int>
|
||||||
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBActionConnection" key="connection">
|
||||||
|
<string key="label">_toggleFilterSpace:</string>
|
||||||
|
<reference key="source" ref="1001"/>
|
||||||
|
<reference key="destination" ref="786439399"/>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">102</int>
|
||||||
|
</object>
|
||||||
</array>
|
</array>
|
||||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||||
<array key="orderedObjects">
|
<array key="orderedObjects">
|
||||||
@@ -443,7 +484,7 @@
|
|||||||
<reference key="firstItem" ref="498286707"/>
|
<reference key="firstItem" ref="498286707"/>
|
||||||
<int key="firstAttribute">5</int>
|
<int key="firstAttribute">5</int>
|
||||||
<int key="relation">1</int>
|
<int key="relation">1</int>
|
||||||
<reference key="secondItem" ref="340435610"/>
|
<reference key="secondItem" ref="786439399"/>
|
||||||
<int key="secondAttribute">6</int>
|
<int key="secondAttribute">6</int>
|
||||||
<float key="multiplier">1</float>
|
<float key="multiplier">1</float>
|
||||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||||
@@ -471,6 +512,38 @@
|
|||||||
<float key="scoringTypeFloat">40</float>
|
<float key="scoringTypeFloat">40</float>
|
||||||
<int key="contentType">2</int>
|
<int key="contentType">2</int>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBNSLayoutConstraint" id="878591000">
|
||||||
|
<reference key="firstItem" ref="786439399"/>
|
||||||
|
<int key="firstAttribute">5</int>
|
||||||
|
<int key="relation">0</int>
|
||||||
|
<reference key="secondItem" ref="340435610"/>
|
||||||
|
<int key="secondAttribute">6</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="1005"/>
|
||||||
|
<int key="scoringType">9</int>
|
||||||
|
<float key="scoringTypeFloat">40</float>
|
||||||
|
<int key="contentType">3</int>
|
||||||
|
</object>
|
||||||
|
<object class="IBNSLayoutConstraint" id="664428666">
|
||||||
|
<reference key="firstItem" ref="786439399"/>
|
||||||
|
<int key="firstAttribute">11</int>
|
||||||
|
<int key="relation">0</int>
|
||||||
|
<reference key="secondItem" ref="340435610"/>
|
||||||
|
<int key="secondAttribute">11</int>
|
||||||
|
<float key="multiplier">1</float>
|
||||||
|
<object class="IBLayoutConstant" key="constant">
|
||||||
|
<double key="value">0.0</double>
|
||||||
|
</object>
|
||||||
|
<float key="priority">1000</float>
|
||||||
|
<reference key="containingView" ref="1005"/>
|
||||||
|
<int key="scoringType">6</int>
|
||||||
|
<float key="scoringTypeFloat">24</float>
|
||||||
|
<int key="contentType">2</int>
|
||||||
|
</object>
|
||||||
<object class="IBNSLayoutConstraint" id="959342076">
|
<object class="IBNSLayoutConstraint" id="959342076">
|
||||||
<reference key="firstItem" ref="1005"/>
|
<reference key="firstItem" ref="1005"/>
|
||||||
<int key="firstAttribute">10</int>
|
<int key="firstAttribute">10</int>
|
||||||
@@ -637,6 +710,7 @@
|
|||||||
<reference ref="340435610"/>
|
<reference ref="340435610"/>
|
||||||
<reference ref="113591000"/>
|
<reference ref="113591000"/>
|
||||||
<reference ref="498286707"/>
|
<reference ref="498286707"/>
|
||||||
|
<reference ref="786439399"/>
|
||||||
</array>
|
</array>
|
||||||
<reference key="parent" ref="0"/>
|
<reference key="parent" ref="0"/>
|
||||||
</object>
|
</object>
|
||||||
@@ -777,8 +851,8 @@
|
|||||||
</object>
|
</object>
|
||||||
<float key="priority">1000</float>
|
<float key="priority">1000</float>
|
||||||
<reference key="containingView" ref="498286707"/>
|
<reference key="containingView" ref="498286707"/>
|
||||||
<int key="scoringType">3</int>
|
<int key="scoringType">9</int>
|
||||||
<float key="scoringTypeFloat">9</float>
|
<float key="scoringTypeFloat">40</float>
|
||||||
<int key="contentType">1</int>
|
<int key="contentType">1</int>
|
||||||
</object>
|
</object>
|
||||||
</array>
|
</array>
|
||||||
@@ -794,11 +868,6 @@
|
|||||||
<reference key="object" ref="120785100"/>
|
<reference key="object" ref="120785100"/>
|
||||||
<reference key="parent" ref="1005"/>
|
<reference key="parent" ref="1005"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
|
||||||
<int key="objectID">87</int>
|
|
||||||
<reference key="object" ref="312382951"/>
|
|
||||||
<reference key="parent" ref="1005"/>
|
|
||||||
</object>
|
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">83</int>
|
<int key="objectID">83</int>
|
||||||
<reference key="object" ref="548170831"/>
|
<reference key="object" ref="548170831"/>
|
||||||
@@ -814,13 +883,41 @@
|
|||||||
<reference key="object" ref="817657248"/>
|
<reference key="object" ref="817657248"/>
|
||||||
<reference key="parent" ref="498286707"/>
|
<reference key="parent" ref="498286707"/>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">96</int>
|
||||||
|
<reference key="object" ref="786439399"/>
|
||||||
|
<array class="NSMutableArray" key="children">
|
||||||
|
<reference ref="150863911"/>
|
||||||
|
</array>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">97</int>
|
||||||
|
<reference key="object" ref="150863911"/>
|
||||||
|
<reference key="parent" ref="786439399"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">98</int>
|
||||||
|
<reference key="object" ref="664428666"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">99</int>
|
||||||
|
<reference key="object" ref="878591000"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">100</int>
|
||||||
|
<reference key="object" ref="312382951"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
</array>
|
</array>
|
||||||
</object>
|
</object>
|
||||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<array class="NSMutableArray" key="1.IBNSViewMetadataConstraints">
|
<array key="1.IBNSViewMetadataConstraints">
|
||||||
<reference ref="777287174"/>
|
<reference ref="777287174"/>
|
||||||
<reference ref="201173489"/>
|
<reference ref="201173489"/>
|
||||||
<reference ref="274700398"/>
|
<reference ref="274700398"/>
|
||||||
@@ -831,6 +928,8 @@
|
|||||||
<reference ref="160109106"/>
|
<reference ref="160109106"/>
|
||||||
<reference ref="112675040"/>
|
<reference ref="112675040"/>
|
||||||
<reference ref="959342076"/>
|
<reference ref="959342076"/>
|
||||||
|
<reference ref="664428666"/>
|
||||||
|
<reference ref="878591000"/>
|
||||||
<reference ref="120785100"/>
|
<reference ref="120785100"/>
|
||||||
<reference ref="312382951"/>
|
<reference ref="312382951"/>
|
||||||
<reference ref="207946731"/>
|
<reference ref="207946731"/>
|
||||||
@@ -840,6 +939,7 @@
|
|||||||
<boolean value="NO" key="1.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/>
|
<boolean value="NO" key="1.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
<boolean value="NO" key="1.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
<boolean value="NO" key="1.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="100.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<boolean value="NO" key="2.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
<boolean value="NO" key="2.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
@@ -875,14 +975,18 @@
|
|||||||
<string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="86.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="86.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="87.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
|
||||||
<string key="93.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="93.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<boolean value="NO" key="96.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
|
<string key="96.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="97.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="98.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="99.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||||
<nil key="activeLocalization"/>
|
<nil key="activeLocalization"/>
|
||||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||||
<nil key="sourceID"/>
|
<nil key="sourceID"/>
|
||||||
<int key="maxID">95</int>
|
<int key="maxID">102</int>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||||
@@ -897,6 +1001,17 @@
|
|||||||
<object class="IBPartialClassDescription">
|
<object class="IBPartialClassDescription">
|
||||||
<string key="className">MPEntryViewController</string>
|
<string key="className">MPEntryViewController</string>
|
||||||
<string key="superclassName">MPViewController</string>
|
<string key="superclassName">MPViewController</string>
|
||||||
|
<object class="NSMutableDictionary" key="actions">
|
||||||
|
<string key="NS.key.0">_toggleFilterSpace:</string>
|
||||||
|
<string key="NS.object.0">id</string>
|
||||||
|
</object>
|
||||||
|
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||||
|
<string key="NS.key.0">_toggleFilterSpace:</string>
|
||||||
|
<object class="IBActionInfo" key="NS.object.0">
|
||||||
|
<string key="name">_toggleFilterSpace:</string>
|
||||||
|
<string key="candidateClassName">id</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<dictionary class="NSMutableDictionary" key="outlets">
|
<dictionary class="NSMutableDictionary" key="outlets">
|
||||||
<string key="addEntryButton">NSButton</string>
|
<string key="addEntryButton">NSButton</string>
|
||||||
<string key="bottomBar">HNHGradientView</string>
|
<string key="bottomBar">HNHGradientView</string>
|
||||||
@@ -905,11 +1020,12 @@
|
|||||||
<string key="filterBar">NSView</string>
|
<string key="filterBar">NSView</string>
|
||||||
<string key="filterDoneButton">NSButton</string>
|
<string key="filterDoneButton">NSButton</string>
|
||||||
<string key="filterLabelTextField">NSTextField</string>
|
<string key="filterLabelTextField">NSTextField</string>
|
||||||
|
<string key="filterPasswordButton">NSButton</string>
|
||||||
<string key="filterSearchField">NSSearchField</string>
|
<string key="filterSearchField">NSSearchField</string>
|
||||||
<string key="filterTitleButton">NSButton</string>
|
<string key="filterTitleButton">NSButton</string>
|
||||||
<string key="filterURLButton">NSButton</string>
|
<string key="filterURLButton">NSButton</string>
|
||||||
<string key="filterUsernameButton">NSButton</string>
|
<string key="filterUsernameButton">NSButton</string>
|
||||||
<string key="tableToTop">NSLayoutConstraint</string>
|
<string key="tableToTopConstraint">NSLayoutConstraint</string>
|
||||||
<string key="trashBar">HNHGradientView</string>
|
<string key="trashBar">HNHGradientView</string>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||||
@@ -941,6 +1057,10 @@
|
|||||||
<string key="name">filterLabelTextField</string>
|
<string key="name">filterLabelTextField</string>
|
||||||
<string key="candidateClassName">NSTextField</string>
|
<string key="candidateClassName">NSTextField</string>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBToOneOutletInfo" key="filterPasswordButton">
|
||||||
|
<string key="name">filterPasswordButton</string>
|
||||||
|
<string key="candidateClassName">NSButton</string>
|
||||||
|
</object>
|
||||||
<object class="IBToOneOutletInfo" key="filterSearchField">
|
<object class="IBToOneOutletInfo" key="filterSearchField">
|
||||||
<string key="name">filterSearchField</string>
|
<string key="name">filterSearchField</string>
|
||||||
<string key="candidateClassName">NSSearchField</string>
|
<string key="candidateClassName">NSSearchField</string>
|
||||||
@@ -957,8 +1077,8 @@
|
|||||||
<string key="name">filterUsernameButton</string>
|
<string key="name">filterUsernameButton</string>
|
||||||
<string key="candidateClassName">NSButton</string>
|
<string key="candidateClassName">NSButton</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBToOneOutletInfo" key="tableToTop">
|
<object class="IBToOneOutletInfo" key="tableToTopConstraint">
|
||||||
<string key="name">tableToTop</string>
|
<string key="name">tableToTopConstraint</string>
|
||||||
<string key="candidateClassName">NSLayoutConstraint</string>
|
<string key="candidateClassName">NSLayoutConstraint</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBToOneOutletInfo" key="trashBar">
|
<object class="IBToOneOutletInfo" key="trashBar">
|
||||||
|
|||||||
@@ -100,8 +100,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)close:(id)sender {
|
- (IBAction)close:(id)sender {
|
||||||
[NSApp endSheet:[self window]];
|
[self dismissSheet:0];
|
||||||
[[self window] orderOut:nil];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateView {
|
- (void)updateView {
|
||||||
@@ -237,11 +236,13 @@
|
|||||||
- (NSMenu *)_buildTreeMenu:(KPKTree *)tree preselect:(NSUUID *)uuid {
|
- (NSMenu *)_buildTreeMenu:(KPKTree *)tree preselect:(NSUUID *)uuid {
|
||||||
NSMenu *menu = [[NSMenu alloc] init];
|
NSMenu *menu = [[NSMenu alloc] init];
|
||||||
[menu setAutoenablesItems:NO];
|
[menu setAutoenablesItems:NO];
|
||||||
/*
|
|
||||||
Trash and Templates can be nested, so wee need to adhere to this :(
|
|
||||||
*/
|
|
||||||
|
|
||||||
for(KPKGroup *group in tree.root.groups) {
|
for(KPKGroup *group in tree.root.groups) {
|
||||||
|
[self _insertMenuItemsForGroup:group atLevel:0 inMenu:menu preselect:uuid];
|
||||||
|
}
|
||||||
|
return menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_insertMenuItemsForGroup:(KPKGroup *)group atLevel:(NSUInteger)level inMenu:(NSMenu *)menu preselect:(NSUUID *)uuid{
|
||||||
NSMenuItem *groupItem = [[NSMenuItem alloc] init];
|
NSMenuItem *groupItem = [[NSMenuItem alloc] init];
|
||||||
[groupItem setImage:group.iconImage];
|
[groupItem setImage:group.iconImage];
|
||||||
[groupItem setTitle:group.name];
|
[groupItem setTitle:group.name];
|
||||||
@@ -250,9 +251,11 @@
|
|||||||
if(uuid && [group.uuid isEqual:uuid]) {
|
if(uuid && [group.uuid isEqual:uuid]) {
|
||||||
[groupItem setState:NSOnState];
|
[groupItem setState:NSOnState];
|
||||||
}
|
}
|
||||||
|
[groupItem setIndentationLevel:level];
|
||||||
[menu addItem:groupItem];
|
[menu addItem:groupItem];
|
||||||
|
for(KPKGroup *childGroup in group.groups) {
|
||||||
|
[self _insertMenuItemsForGroup:childGroup atLevel:level + 1 inMenu:menu preselect:uuid];
|
||||||
}
|
}
|
||||||
return menu;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -405,12 +405,12 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
|
|||||||
|
|
||||||
- (void)deleteEntry:(KPKEntry *)entry {
|
- (void)deleteEntry:(KPKEntry *)entry {
|
||||||
if(self.useTrash) {
|
if(self.useTrash) {
|
||||||
if(!self.trash) {
|
|
||||||
[self _createTrashGroup];
|
|
||||||
}
|
|
||||||
if([self isItemTrashed:entry]) {
|
if([self isItemTrashed:entry]) {
|
||||||
return; // Entry is already trashed
|
return; // Entry is already trashed
|
||||||
}
|
}
|
||||||
|
if(!self.trash) {
|
||||||
|
[self _createTrashGroup];
|
||||||
|
}
|
||||||
[entry moveToGroup:self.trash atIndex:[self.trash.entries count]];
|
[entry moveToGroup:self.trash atIndex:[self.trash.entries count]];
|
||||||
[[self undoManager] setActionName:NSLocalizedString(@"TRASH_ENTRY", "Move Entry to Trash")];
|
[[self undoManager] setActionName:NSLocalizedString(@"TRASH_ENTRY", "Move Entry to Trash")];
|
||||||
}
|
}
|
||||||
@@ -496,17 +496,14 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
|
|||||||
- (KPKGroup *)_createTrashGroup {
|
- (KPKGroup *)_createTrashGroup {
|
||||||
/* Maybe push the stuff to the Tree? */
|
/* Maybe push the stuff to the Tree? */
|
||||||
KPKGroup *trash = [self.tree createGroup:self.tree.root];
|
KPKGroup *trash = [self.tree createGroup:self.tree.root];
|
||||||
|
BOOL wasEnabled = [self.undoManager isUndoRegistrationEnabled];
|
||||||
|
[self.undoManager disableUndoRegistration];
|
||||||
trash.name = NSLocalizedString(@"TRASH", @"Name for the trash group");
|
trash.name = NSLocalizedString(@"TRASH", @"Name for the trash group");
|
||||||
trash.icon = MPIconTrash;
|
trash.icon = MPIconTrash;
|
||||||
BOOL registrationEnable = [[self undoManager] isUndoRegistrationEnabled];
|
|
||||||
if(registrationEnable) {
|
|
||||||
[[self undoManager] disableUndoRegistration];
|
|
||||||
}
|
|
||||||
[self.tree.root addGroup:trash];
|
[self.tree.root addGroup:trash];
|
||||||
if(registrationEnable) {
|
if(wasEnabled) {
|
||||||
[[self undoManager] enableUndoRegistration];
|
[self.undoManager enableUndoRegistration];
|
||||||
}
|
}
|
||||||
|
|
||||||
self.tree.metaData.recycleBinUuid = trash.uuid;
|
self.tree.metaData.recycleBinUuid = trash.uuid;
|
||||||
return trash;
|
return trash;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ typedef NS_OPTIONS(NSUInteger, MPFilterModeType) {
|
|||||||
MPFilterUrls = (1<<0),
|
MPFilterUrls = (1<<0),
|
||||||
MPFilterUsernames = (1<<1),
|
MPFilterUsernames = (1<<1),
|
||||||
MPFilterTitles = (1<<2),
|
MPFilterTitles = (1<<2),
|
||||||
|
MPFilterPasswords = (1<<3),
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef NS_ENUM(NSUInteger,MPOVerlayInfoType) {
|
typedef NS_ENUM(NSUInteger,MPOVerlayInfoType) {
|
||||||
@@ -64,10 +65,6 @@ NSString *const _MPTableImageCellView = @"ImageCell";
|
|||||||
NSString *const _MPTableStringCellView = @"StringCell";
|
NSString *const _MPTableStringCellView = @"StringCell";
|
||||||
NSString *const _MPTAbleSecurCellView = @"PasswordCell";
|
NSString *const _MPTAbleSecurCellView = @"PasswordCell";
|
||||||
|
|
||||||
NSString *const _toggleFilterURLButton = @"SearchURL";
|
|
||||||
NSString *const _toggleFilterTitleButton = @"SearchTitle";
|
|
||||||
NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|
||||||
|
|
||||||
@interface MPEntryViewController () {
|
@interface MPEntryViewController () {
|
||||||
MPEntryContextMenuDelegate *_menuDelegate;
|
MPEntryContextMenuDelegate *_menuDelegate;
|
||||||
}
|
}
|
||||||
@@ -84,6 +81,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
@property (weak) IBOutlet NSButton *filterTitleButton;
|
@property (weak) IBOutlet NSButton *filterTitleButton;
|
||||||
@property (weak) IBOutlet NSButton *filterUsernameButton;
|
@property (weak) IBOutlet NSButton *filterUsernameButton;
|
||||||
@property (weak) IBOutlet NSButton *filterURLButton;
|
@property (weak) IBOutlet NSButton *filterURLButton;
|
||||||
|
@property (weak) IBOutlet NSButton *filterPasswordButton;
|
||||||
@property (weak) IBOutlet NSTextField *filterLabelTextField;
|
@property (weak) IBOutlet NSTextField *filterLabelTextField;
|
||||||
@property (weak) IBOutlet NSSearchField *filterSearchField;
|
@property (weak) IBOutlet NSSearchField *filterSearchField;
|
||||||
@property (weak) IBOutlet HNHGradientView *bottomBar;
|
@property (weak) IBOutlet HNHGradientView *bottomBar;
|
||||||
@@ -96,7 +94,6 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
@property (nonatomic, strong) MPEntryTableDataSource *dataSource;
|
@property (nonatomic, strong) MPEntryTableDataSource *dataSource;
|
||||||
|
|
||||||
@property (assign, nonatomic) MPFilterModeType filterMode;
|
@property (assign, nonatomic) MPFilterModeType filterMode;
|
||||||
@property (strong, nonatomic) NSDictionary *filterButtonToMode;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -111,10 +108,6 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||||
if(self) {
|
if(self) {
|
||||||
_filterMode = MPFilterTitles;
|
_filterMode = MPFilterTitles;
|
||||||
_filterButtonToMode = @{ _toggleFilterUsernameButton : @(MPFilterUsernames),
|
|
||||||
_toggleFilterTitleButton : @(MPFilterTitles),
|
|
||||||
_toggleFilterURLButton : @(MPFilterUrls)
|
|
||||||
};
|
|
||||||
_entryArrayController = [[NSArrayController alloc] init];
|
_entryArrayController = [[NSArrayController alloc] init];
|
||||||
_dataSource = [[MPEntryTableDataSource alloc] init];
|
_dataSource = [[MPEntryTableDataSource alloc] init];
|
||||||
_dataSource.viewController = self;
|
_dataSource.viewController = self;
|
||||||
@@ -235,7 +228,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert(entry.parent);
|
assert(entry.parent);
|
||||||
[[view textField] bind:NSValueBinding toObject:entry.parent withKeyPath:entry.parent.name options:nil];
|
[[view textField] bind:NSValueBinding toObject:entry.parent withKeyPath:@"parent.name" options:nil];
|
||||||
[[view imageView] setImage:entry.iconImage];
|
[[view imageView] setImage:entry.iconImage];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -353,7 +346,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateFilter {
|
- (void)updateFilter {
|
||||||
//[self _showFilterBarAnimated];
|
[self _showFilterBarAnimated];
|
||||||
if(![self hasFilter]) {
|
if(![self hasFilter]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -362,7 +355,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
dispatch_async(backgroundQueue, ^{
|
dispatch_async(backgroundQueue, ^{
|
||||||
MPDocument *document = [[self windowController] document];
|
MPDocument *document = [[self windowController] document];
|
||||||
if([self hasFilter]) {
|
if([self hasFilter]) {
|
||||||
NSMutableArray *prediactes = [NSMutableArray arrayWithCapacity:3];
|
NSMutableArray *prediactes = [NSMutableArray arrayWithCapacity:4];
|
||||||
if([self _shouldFilterTitles]) {
|
if([self _shouldFilterTitles]) {
|
||||||
[prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", self.filter]];
|
[prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", self.filter]];
|
||||||
}
|
}
|
||||||
@@ -372,6 +365,9 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
if([self _shouldFilterURLs]) {
|
if([self _shouldFilterURLs]) {
|
||||||
[prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.url CONTAINS[cd] %@", self.filter]];
|
[prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.url CONTAINS[cd] %@", self.filter]];
|
||||||
}
|
}
|
||||||
|
if([self _shouldFilterPasswords]) {
|
||||||
|
[prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.password CONTAINS[cd] %@", self.filter]];
|
||||||
|
}
|
||||||
NSPredicate *fullFilter = [NSCompoundPredicate orPredicateWithSubpredicates:prediactes];
|
NSPredicate *fullFilter = [NSCompoundPredicate orPredicateWithSubpredicates:prediactes];
|
||||||
self.filteredEntries = [[document.root childEntries] filteredArrayUsingPredicate:fullFilter];
|
self.filteredEntries = [[document.root childEntries] filteredArrayUsingPredicate:fullFilter];
|
||||||
}
|
}
|
||||||
@@ -397,9 +393,10 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
- (void)setupFilterBar {
|
- (void)setupFilterBar {
|
||||||
if(!self.filterBar) {
|
if(!self.filterBar) {
|
||||||
[[NSBundle mainBundle] loadNibNamed:@"FilterBar" owner:self topLevelObjects:nil];
|
[[NSBundle mainBundle] loadNibNamed:@"FilterBar" owner:self topLevelObjects:nil];
|
||||||
[self.filterURLButton setIdentifier:_toggleFilterURLButton];
|
[self.filterURLButton setTag:MPFilterUrls];
|
||||||
[self.filterUsernameButton setIdentifier:_toggleFilterUsernameButton];
|
[self.filterUsernameButton setTag:MPFilterUsernames];
|
||||||
[self.filterTitleButton setIdentifier:_toggleFilterTitleButton];
|
[self.filterTitleButton setTag:MPFilterTitles];
|
||||||
|
[self.filterPasswordButton setTag:MPFilterPasswords];
|
||||||
[[self.filterLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
|
[[self.filterLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
|
||||||
[self.filterDoneButton setAction:@selector(clearFilter:)];
|
[self.filterDoneButton setAction:@selector(clearFilter:)];
|
||||||
[self.filterDoneButton setTarget:nil];
|
[self.filterDoneButton setTarget:nil];
|
||||||
@@ -426,6 +423,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
[self.filterTitleButton setState:[self _shouldFilterTitles] ? NSOnState : NSOffState];
|
[self.filterTitleButton setState:[self _shouldFilterTitles] ? NSOnState : NSOffState];
|
||||||
[self.filterURLButton setState:[self _shouldFilterURLs] ? NSOnState : NSOffState ];
|
[self.filterURLButton setState:[self _shouldFilterURLs] ? NSOnState : NSOffState ];
|
||||||
[self.filterUsernameButton setState:[self _shouldFilterUsernames] ? NSOnState : NSOffState];
|
[self.filterUsernameButton setState:[self _shouldFilterUsernames] ? NSOnState : NSOffState];
|
||||||
|
[self.filterPasswordButton setState:[self _shouldFilterPasswords] ? NSOnState : NSOffState];
|
||||||
|
|
||||||
if([self _showsFilterBar]) {
|
if([self _showsFilterBar]) {
|
||||||
return; // nothing to to
|
return; // nothing to to
|
||||||
@@ -670,10 +668,12 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)_toggleFilterSpace:(id)sender {
|
- (IBAction)_toggleFilterSpace:(id)sender {
|
||||||
|
if(![sender isKindOfClass:[NSButton class]]) {
|
||||||
|
return; // Wrong sender
|
||||||
|
}
|
||||||
NSButton *button = sender;
|
NSButton *button = sender;
|
||||||
NSNumber *value = self.filterButtonToMode[[button identifier]];
|
MPFilterModeType toggledMode = [button tag];
|
||||||
MPFilterModeType toggledMode = (MPFilterModeType)[value intValue];
|
|
||||||
switch ([button state]) {
|
switch ([button state]) {
|
||||||
case NSOnState:
|
case NSOnState:
|
||||||
self.filterMode |= toggledMode;
|
self.filterMode |= toggledMode;
|
||||||
@@ -735,4 +735,8 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
|||||||
return (MPFilterNone != (self.filterMode & MPFilterUsernames));
|
return (MPFilterNone != (self.filterMode & MPFilterUsernames));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL)_shouldFilterPasswords {
|
||||||
|
return (MPFilterNone != (self.filterMode & MPFilterPasswords));
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -117,10 +117,12 @@
|
|||||||
NSString *draggedType = [types lastObject];
|
NSString *draggedType = [types lastObject];
|
||||||
if([draggedType isEqualToString:KPKGroupUTI]) {
|
if([draggedType isEqualToString:KPKGroupUTI]) {
|
||||||
[self.draggedGroup moveToGroup:targetGroup atIndex:index];
|
[self.draggedGroup moveToGroup:targetGroup atIndex:index];
|
||||||
|
[self.draggedGroup.undoManager setActionName:NSLocalizedString(@"MOVE_GROUP", "")];
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
else if([draggedType isEqualToString:KPKUUIDUTI]) {
|
else if([draggedType isEqualToString:KPKUUIDUTI]) {
|
||||||
[self.draggedEntry moveToGroup:targetGroup atIndex:index];
|
[self.draggedEntry moveToGroup:targetGroup atIndex:index];
|
||||||
|
[self.draggedEntry.undoManager setActionName:NSLocalizedString(@"MOVE_ENTRY", "")];
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
return NO;
|
return NO;
|
||||||
|
|||||||
Reference in New Issue
Block a user