PathBar extended

Filtering enhanced
This commit is contained in:
michael starke
2013-02-26 05:18:25 +01:00
parent 841647a3ed
commit edaf4aa30d
17 changed files with 696 additions and 192 deletions

View File

@@ -19,6 +19,7 @@
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
4C3BD51516D276F800389F1F /* MPToolbarDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BD51416D276F800389F1F /* MPToolbarDelegate.m */; };
4C3FFD9E16DAF60600DF9186 /* FilterBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C3FFD9D16DAF60600DF9186 /* FilterBar.xib */; };
4C4E1DC716DC6536007B9B47 /* PathBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C4E1DC616DC6536007B9B47 /* PathBar.xib */; };
4C586F9E16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586F9D16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf */; };
4C586FA016D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586F9F16D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf */; };
4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586FA116D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf */; };
@@ -117,6 +118,7 @@
4C3BD51316D276F800389F1F /* MPToolbarDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPToolbarDelegate.h; sourceTree = "<group>"; };
4C3BD51416D276F800389F1F /* MPToolbarDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPToolbarDelegate.m; sourceTree = "<group>"; };
4C3FFD9D16DAF60600DF9186 /* FilterBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FilterBar.xib; sourceTree = "<group>"; };
4C4E1DC616DC6536007B9B47 /* PathBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PathBar.xib; sourceTree = "<group>"; };
4C586F9D16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 00_PasswordTemplate.pdf; sourceTree = "<group>"; };
4C586F9F16D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 01_PackageNetworkTemplate.pdf; sourceTree = "<group>"; };
4C586FA116D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 02_MessageBoxWarningTemplate.pdf; sourceTree = "<group>"; };
@@ -291,6 +293,7 @@
4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */,
4C25D58416CF0F8800F6806C /* WelcomeView.xib */,
4C3FFD9D16DAF60600DF9186 /* FilterBar.xib */,
4C4E1DC616DC6536007B9B47 /* PathBar.xib */,
4C69A73816D589DF00EC1B1A /* MPGradientView.h */,
4C69A73916D589DF00EC1B1A /* MPGradientView.m */,
4C16854216D704980027ECBC /* MPPathBar.h */,
@@ -700,6 +703,7 @@
4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */,
4CF5D49716D5B6E900CB78BD /* EntryEditView.xib in Resources */,
4C3FFD9E16DAF60600DF9186 /* FilterBar.xib in Resources */,
4C4E1DC716DC6536007B9B47 /* PathBar.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@@ -351,7 +351,6 @@
<string key="NSFrameSize">{624, 363}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSClassName">NSView</string>
</object>
@@ -405,6 +404,29 @@
</object>
<int key="connectionID">671</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableToBottom</string>
<reference key="source" ref="1001"/>
<object class="IBNSLayoutConstraint" key="destination" id="986749424">
<reference key="firstItem" ref="613995671"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="997686550"/>
<int key="secondAttribute">4</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="997686550"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
</object>
<int key="connectionID">672</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">textField</string>
@@ -656,22 +678,7 @@
<reference key="object" ref="997686550"/>
<array class="NSMutableArray" key="children">
<reference ref="858505477"/>
<object class="IBNSLayoutConstraint" id="986749424">
<reference key="firstItem" ref="613995671"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="997686550"/>
<int key="secondAttribute">4</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="997686550"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<reference ref="986749424"/>
<object class="IBNSLayoutConstraint" id="945226060">
<reference key="firstItem" ref="613995671"/>
<int key="firstAttribute">6</int>
@@ -1514,7 +1521,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">671</int>
<int key="maxID">672</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1535,10 +1542,12 @@
<dictionary class="NSMutableDictionary" key="outlets">
<string key="entryTable">NSTableView</string>
<string key="filterBar">NSView</string>
<string key="searchLabelTextField">NSTextField</string>
<string key="searchTitleButton">NSButton</string>
<string key="searchURLButton">NSButton</string>
<string key="searchUsernameButton">NSButton</string>
<string key="filterDoneButton">NSButton</string>
<string key="filterLabelTextField">NSTextField</string>
<string key="filterTitleButton">NSButton</string>
<string key="filterURLButton">NSButton</string>
<string key="filterUsernameButton">NSButton</string>
<string key="tableToBottom">NSLayoutConstraint</string>
<string key="tableToTop">NSLayoutConstraint</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
@@ -1550,22 +1559,30 @@
<string key="name">filterBar</string>
<string key="candidateClassName">NSView</string>
</object>
<object class="IBToOneOutletInfo" key="searchLabelTextField">
<string key="name">searchLabelTextField</string>
<object class="IBToOneOutletInfo" key="filterDoneButton">
<string key="name">filterDoneButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="filterLabelTextField">
<string key="name">filterLabelTextField</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo" key="searchTitleButton">
<string key="name">searchTitleButton</string>
<object class="IBToOneOutletInfo" key="filterTitleButton">
<string key="name">filterTitleButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="searchURLButton">
<string key="name">searchURLButton</string>
<object class="IBToOneOutletInfo" key="filterURLButton">
<string key="name">filterURLButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="searchUsernameButton">
<string key="name">searchUsernameButton</string>
<object class="IBToOneOutletInfo" key="filterUsernameButton">
<string key="name">filterUsernameButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="tableToBottom">
<string key="name">tableToBottom</string>
<string key="candidateClassName">NSLayoutConstraint</string>
</object>
<object class="IBToOneOutletInfo" key="tableToTop">
<string key="name">tableToTop</string>
<string key="candidateClassName">NSLayoutConstraint</string>

View File

@@ -40,12 +40,41 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="113591000">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{496, 5}, {42, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="791616402">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">134348800</int>
<string key="NSContents">Done</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<string key="NSCellIdentifier">_NS:9</string>
<reference key="NSControlView" ref="113591000"/>
<int key="NSButtonFlags">-2038153216</int>
<int key="NSButtonFlags2">164</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="NSButton" id="340435610">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{188, 6}, {38, 17}}</string>
<string key="NSFrame">{{188, 5}, {38, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="113591000"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="149174717">
@@ -71,7 +100,7 @@
<object class="NSButton" id="902262560">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{104, 6}, {76, 17}}</string>
<string key="NSFrame">{{104, 5}, {76, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="340435610"/>
@@ -96,7 +125,7 @@
<object class="NSTextField" id="906526407">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{5, 7}, {44, 14}}</string>
<string key="NSFrame">{{5, 6}, {44, 14}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="7073340"/>
@@ -137,7 +166,7 @@
<object class="NSButton" id="7073340">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{54, 5}, {42, 17}}</string>
<string key="NSFrame">{{54, 4}, {42, 19}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="902262560"/>
@@ -160,7 +189,7 @@
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</array>
<string key="NSFrameSize">{483, 28}</string>
<string key="NSFrameSize">{546, 28}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="906526407"/>
@@ -169,30 +198,6 @@
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchTitleButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="7073340"/>
</object>
<int key="connectionID">45</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchUsernameButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="902262560"/>
</object>
<int key="connectionID">46</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchURLButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="340435610"/>
</object>
<int key="connectionID">47</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterBar</string>
@@ -225,6 +230,54 @@
</object>
<int key="connectionID">51</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterTitleButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="7073340"/>
</object>
<int key="connectionID">57</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterUsernameButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="902262560"/>
</object>
<int key="connectionID">58</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterURLButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="340435610"/>
</object>
<int key="connectionID">59</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterLabelTextField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="906526407"/>
</object>
<int key="connectionID">60</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">clearFilter:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="113591000"/>
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">filterDoneButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="113591000"/>
</object>
<int key="connectionID">76</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@@ -256,6 +309,70 @@
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<array class="NSMutableArray" key="children">
<object class="IBNSLayoutConstraint" id="312382951">
<reference key="firstItem" ref="113591000"/>
<int key="firstAttribute">5</int>
<int key="relation">1</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="533969344">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="113591000"/>
<int key="secondAttribute">10</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">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="207946731">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">6</int>
<int key="relation">0</int>
<reference key="secondItem" ref="113591000"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" 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="959342076">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="340435610"/>
<int key="secondAttribute">10</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">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="112675040">
<reference key="firstItem" ref="340435610"/>
<int key="firstAttribute">5</int>
@@ -268,15 +385,15 @@
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="571622266">
<reference key="firstItem" ref="340435610"/>
<object class="IBNSLayoutConstraint" id="160109106">
<reference key="firstItem" ref="902262560"/>
<int key="firstAttribute">11</int>
<int key="relation">0</int>
<reference key="secondItem" ref="902262560"/>
<reference key="secondItem" ref="340435610"/>
<int key="secondAttribute">11</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
@@ -288,20 +405,20 @@
<float key="scoringTypeFloat">24</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="588405863">
<reference key="firstItem" ref="902262560"/>
<int key="firstAttribute">4</int>
<object class="IBNSLayoutConstraint" id="900015786">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="906526407"/>
<int key="secondAttribute">4</int>
<reference key="secondItem" ref="902262560"/>
<int key="secondAttribute">10</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="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="1039511012">
@@ -316,10 +433,26 @@
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="441665485">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="7073340"/>
<int key="secondAttribute">10</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">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="181006535">
<reference key="firstItem" ref="7073340"/>
<int key="firstAttribute">5</int>
@@ -332,24 +465,24 @@
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="674050366">
<object class="IBNSLayoutConstraint" id="274700398">
<reference key="firstItem" ref="906526407"/>
<int key="firstAttribute">10</int>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1005"/>
<int key="secondAttribute">10</int>
<reference key="secondItem" ref="902262560"/>
<int key="secondAttribute">4</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">5</int>
<float key="scoringTypeFloat">22</float>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="201173489">
@@ -380,14 +513,15 @@
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">3</int>
<float key="scoringTypeFloat">9</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<reference ref="7073340"/>
<reference ref="906526407"/>
<reference ref="902262560"/>
<reference ref="340435610"/>
<reference ref="113591000"/>
</array>
<reference key="parent" ref="0"/>
</object>
@@ -450,11 +584,6 @@
<reference key="object" ref="1039511012"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">39</int>
<reference key="object" ref="588405863"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">40</int>
<reference key="object" ref="340435610"/>
@@ -468,19 +597,62 @@
<reference key="object" ref="149174717"/>
<reference key="parent" ref="340435610"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">42</int>
<reference key="object" ref="571622266"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">43</int>
<reference key="object" ref="112675040"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">44</int>
<reference key="object" ref="674050366"/>
<int key="objectID">54</int>
<reference key="object" ref="959342076"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">55</int>
<reference key="object" ref="441665485"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">56</int>
<reference key="object" ref="900015786"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">61</int>
<reference key="object" ref="113591000"/>
<array class="NSMutableArray" key="children">
<reference ref="791616402"/>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">62</int>
<reference key="object" ref="791616402"/>
<reference key="parent" ref="113591000"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">63</int>
<reference key="object" ref="207946731"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">66</int>
<reference key="object" ref="274700398"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">69</int>
<reference key="object" ref="533969344"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">72</int>
<reference key="object" ref="312382951"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">73</int>
<reference key="object" ref="160109106"/>
<reference key="parent" ref="1005"/>
</object>
</array>
@@ -492,12 +664,17 @@
<array class="NSMutableArray" key="1.IBNSViewMetadataConstraints">
<reference ref="777287174"/>
<reference ref="201173489"/>
<reference ref="674050366"/>
<reference ref="274700398"/>
<reference ref="181006535"/>
<reference ref="441665485"/>
<reference ref="1039511012"/>
<reference ref="588405863"/>
<reference ref="571622266"/>
<reference ref="900015786"/>
<reference ref="160109106"/>
<reference ref="112675040"/>
<reference ref="959342076"/>
<reference ref="207946731"/>
<reference ref="533969344"/>
<reference ref="312382951"/>
</array>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="2.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
@@ -510,22 +687,30 @@
<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="40.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="54.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="55.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="6.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="61.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="61.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="63.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="66.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="69.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">51</int>
<int key="maxID">76</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -546,10 +731,12 @@
<dictionary class="NSMutableDictionary" key="outlets">
<string key="entryTable">NSTableView</string>
<string key="filterBar">NSView</string>
<string key="searchLabelTextField">NSTextField</string>
<string key="searchTitleButton">NSButton</string>
<string key="searchURLButton">NSButton</string>
<string key="searchUsernameButton">NSButton</string>
<string key="filterDoneButton">NSButton</string>
<string key="filterLabelTextField">NSTextField</string>
<string key="filterTitleButton">NSButton</string>
<string key="filterURLButton">NSButton</string>
<string key="filterUsernameButton">NSButton</string>
<string key="tableToBottom">NSLayoutConstraint</string>
<string key="tableToTop">NSLayoutConstraint</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
@@ -561,22 +748,30 @@
<string key="name">filterBar</string>
<string key="candidateClassName">NSView</string>
</object>
<object class="IBToOneOutletInfo" key="searchLabelTextField">
<string key="name">searchLabelTextField</string>
<object class="IBToOneOutletInfo" key="filterDoneButton">
<string key="name">filterDoneButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="filterLabelTextField">
<string key="name">filterLabelTextField</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo" key="searchTitleButton">
<string key="name">searchTitleButton</string>
<object class="IBToOneOutletInfo" key="filterTitleButton">
<string key="name">filterTitleButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="searchURLButton">
<string key="name">searchURLButton</string>
<object class="IBToOneOutletInfo" key="filterURLButton">
<string key="name">filterURLButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="searchUsernameButton">
<string key="name">searchUsernameButton</string>
<object class="IBToOneOutletInfo" key="filterUsernameButton">
<string key="name">filterUsernameButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="tableToBottom">
<string key="name">tableToBottom</string>
<string key="candidateClassName">NSLayoutConstraint</string>
</object>
<object class="IBToOneOutletInfo" key="tableToTop">
<string key="name">tableToTop</string>
<string key="candidateClassName">NSLayoutConstraint</string>

View File

@@ -42,12 +42,23 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSCustomView" id="446204460">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{0, 56}, {291, 24}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSClassName">MPPathBar</string>
</object>
<object class="NSPopUpButton" id="421904700">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{146, 174}, {127, 26}}</string>
<string key="NSFrame">{{146, 91}, {127, 26}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="446204460"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSAntiCompressionPriority">{750, 751}</string>
<bool key="NSEnabled">YES</bool>
@@ -125,7 +136,7 @@
<object class="NSTextField" id="637214120">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 180}, {127, 17}}</string>
<string key="NSFrame">{{17, 97}, {127, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="421904700"/>
@@ -160,7 +171,7 @@
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</array>
<string key="NSFrameSize">{290, 218}</string>
<string key="NSFrameSize">{290, 135}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="637214120"/>
@@ -185,6 +196,14 @@
</object>
<int key="connectionID">83</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">pathBar</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="446204460"/>
</object>
<int key="connectionID">372</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@@ -298,6 +317,54 @@
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="679237613">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">9</int>
<int key="relation">0</int>
<reference key="secondItem" ref="446204460"/>
<int key="secondAttribute">9</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">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="804532430">
<reference key="firstItem" ref="446204460"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1005"/>
<int key="secondAttribute">5</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">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="537103058">
<reference key="firstItem" ref="446204460"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1005"/>
<int key="secondAttribute">10</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">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="689515169">
<reference key="firstItem" ref="637214120"/>
<int key="firstAttribute">7</int>
@@ -346,6 +413,7 @@
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<reference ref="446204460"/>
</array>
<reference key="parent" ref="0"/>
</object>
@@ -443,6 +511,49 @@
<reference key="object" ref="835508122"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">357</int>
<reference key="object" ref="446204460"/>
<array class="NSMutableArray" key="children">
<object class="IBNSLayoutConstraint" id="892605823">
<reference key="firstItem" ref="446204460"/>
<int key="firstAttribute">8</int>
<int key="relation">0</int>
<nil key="secondItem"/>
<int key="secondAttribute">0</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">24</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="446204460"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">1</int>
</object>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">366</int>
<reference key="object" ref="537103058"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">368</int>
<reference key="object" ref="804532430"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">370</int>
<reference key="object" ref="892605823"/>
<reference key="parent" ref="446204460"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">371</int>
<reference key="object" ref="679237613"/>
<reference key="parent" ref="1005"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -453,6 +564,9 @@
<reference ref="180695068"/>
<reference ref="989429017"/>
<reference ref="689515169"/>
<reference ref="537103058"/>
<reference ref="804532430"/>
<reference ref="679237613"/>
<reference ref="704304955"/>
<reference ref="106372279"/>
<reference ref="850330857"/>
@@ -471,6 +585,15 @@
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="357.IBNSViewMetadataConstraints">
<reference ref="892605823"/>
</array>
<boolean value="NO" key="357.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="357.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="366.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="66.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -483,7 +606,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">338</int>
<int key="maxID">379</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -509,6 +632,22 @@
<string key="minorKey">./Classes/MPGeneralSettingsController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MPGradientView</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MPGradientView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MPPathBar</string>
<string key="superclassName">MPGradientView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MPPathBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MPViewController</string>
<string key="superclassName">NSViewController</string>

View File

@@ -31,6 +31,7 @@
- (void)dealloc {
self.settingsController = nil;
self.mainWindowController = nil;
[super dealloc];
}
#pragma mark Menu Actions

View File

@@ -8,8 +8,8 @@
#import <Foundation/Foundation.h>
APPKIT_EXTERN NSString *const MPDidLoadDataBaseNotification;
APPKIT_EXTERN NSString *const MPDataBaseDocumentDocumentKey;
APPKIT_EXTERN NSString *const MPDidLoadDatabaseNotification;
APPKIT_EXTERN NSString *const MPDatabaseDocumentDocumentKey;
typedef enum {
MPDatabaseVersion3,
@@ -28,6 +28,7 @@ typedef enum {
@property (assign, readonly) MPDatabaseVersion version;
+ (id)documentWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
+ (id)documentWithNewDatabase:(MPDatabaseVersion)version;
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
- (id)initWithNewDatabase:(MPDatabaseVersion)version;
/*

View File

@@ -11,7 +11,7 @@
#import "Kdb4Node.h"
#import "Kdb3Node.h"
NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
NSString *const MPDidLoadDatabaseNotification = @"DidLoadDataBaseNotification";
@interface MPDatabaseDocument ()
@@ -28,12 +28,19 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
return [[[MPDatabaseDocument alloc] initWithFile:file password:password keyfile:key] autorelease];
}
+ (id)documentWithNewDatabase:(MPDatabaseVersion)version {
return [[[MPDatabaseDocument alloc] initWithNewDatabase:version] autorelease];
}
- (id)init {
// create empty document
return [self initWithFile:nil password:nil keyfile:nil];
}
- (id)initWithNewDatabaseVersion:(MPDatabaseVersion)version {
/*
Initalizer for creating
*/
- (id)initWithNewDatabase:(MPDatabaseVersion)version {
self = [super init];
if(self) {
switch(version) {
@@ -54,7 +61,7 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
}
/*
Designated initalizeder
Designated initalizer for loading
*/
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key
{

View File

@@ -34,23 +34,26 @@ NSString *const _MPTableImageCellView = @"ImageCell";
NSString *const _MPTableStringCellView = @"StringCell";
NSString *const _MPTAbleSecurCellView = @"PasswordCell";
NSString *const _toggleSearchURLButton = @"SearchURL";
NSString *const _toggleSearchTitleButton = @"SearchTitle";
NSString *const _toggleSearchUsernameButton = @"SearchUsername";
NSString *const _toggleFilterURLButton = @"SearchURL";
NSString *const _toggleFilterTitleButton = @"SearchTitle";
NSString *const _toggleFilterUsernameButton = @"SearchUsername";
@interface MPEntryViewController ()
@property (retain) NSArrayController *entryArrayController;
@property (retain) NSArray *filteredEntries;
@property (retain) IBOutlet NSView *filterBar;
@property (retain) IBOutlet NSView *pathBar;
@property (assign) IBOutlet NSTableView *entryTable;
@property (assign) IBOutlet NSTextField *searchLabelTextField;
@property (assign) BOOL isStatusBarVisible;
@property (retain) IBOutlet NSLayoutConstraint *tableToTop;
@property (assign) IBOutlet NSLayoutConstraint *tableToTop;
@property (assign) IBOutlet NSLayoutConstraint *tableToBottom;
@property (assign) IBOutlet NSButton *filterDoneButton;
@property (assign) IBOutlet NSButton *searchTitleButton;
@property (assign) IBOutlet NSButton *searchUsernameButton;
@property (assign) IBOutlet NSButton *searchURLButton;
@property (assign) IBOutlet NSButton *filterTitleButton;
@property (assign) IBOutlet NSButton *filterUsernameButton;
@property (assign) IBOutlet NSButton *filterURLButton;
@property (assign) IBOutlet NSTextField *filterLabelTextField;
@property (assign, nonatomic) MPFilterModeType filterMode;
@property (retain, nonatomic) NSDictionary *filterButtonToMode;
@@ -64,6 +67,7 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
- (BOOL)hasFilter;
- (void)updateFilter;
- (void)setupFilterBar;
- (void)setupPathBar;
- (void)didChangeGroupSelectionInOutlineView:(NSNotification *)notification;
- (void)showFilterBarAnimated:(BOOL)animate;
- (void)hideStatusBarAnimated:(BOOL)animate;
@@ -82,9 +86,9 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
if(self) {
_isStatusBarVisible = YES;
_filterMode = MPFilterTitles;
_filterButtonToMode = [@{ _toggleSearchUsernameButton : @(MPFilterUsernames),
_toggleSearchTitleButton : @(MPFilterTitles),
_toggleSearchURLButton : @(MPFilterUrls)
_filterButtonToMode = [@{ _toggleFilterUsernameButton : @(MPFilterUsernames),
_toggleFilterTitleButton : @(MPFilterTitles),
_toggleFilterURLButton : @(MPFilterUrls)
} retain];
_entryArrayController = [[NSArrayController alloc] init];
[[NSNotificationCenter defaultCenter] addObserver:self
@@ -107,7 +111,6 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
- (void)didLoadView {
[self.view setWantsLayer:YES];
[self hideStatusBarAnimated:NO];
[[self.searchLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
[self.entryTable setDelegate:self];
@@ -247,9 +250,20 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
if(!self.filterBar) {
[[NSBundle mainBundle] loadNibNamed:@"FilterBar" owner:self topLevelObjects:nil];
[self.filterBar setAutoresizingMask:NSViewWidthSizable|NSViewMinYMargin];
[self.searchURLButton setIdentifier:_toggleSearchURLButton];
[self.searchUsernameButton setIdentifier:_toggleSearchUsernameButton];
[self.searchTitleButton setIdentifier:_toggleSearchTitleButton];
[self.filterURLButton setIdentifier:_toggleFilterURLButton];
[self.filterUsernameButton setIdentifier:_toggleFilterUsernameButton];
[self.filterTitleButton setIdentifier:_toggleFilterTitleButton];
[[self.filterLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
[self.filterDoneButton setAction:@selector(clearFilter:)];
[self.filterDoneButton setTarget:nil];
}
}
- (void)setupPathBar {
if(!self.pathBar) {
[[NSBundle mainBundle] loadNibNamed:@"PathBar" owner:self topLevelObjects:nil];
[self.pathBar setAutoresizingMask:NSViewWidthSizable|NSViewMaxYMargin];
}
}
@@ -265,9 +279,9 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
/*
Make sure the buttons are set correctyl every time
*/
[self.searchTitleButton setState:[self shouldFilterTitles] ? NSOnState : NSOffState];
[self.searchURLButton setState:[self shouldFilterURLs] ? NSOnState : NSOffState ];
[self.searchUsernameButton setState:[self shouldFilterUsernames] ? NSOnState : NSOffState];
[self.filterTitleButton setState:[self shouldFilterTitles] ? NSOnState : NSOffState];
[self.filterURLButton setState:[self shouldFilterURLs] ? NSOnState : NSOffState ];
[self.filterUsernameButton setState:[self shouldFilterUsernames] ? NSOnState : NSOffState];
if(self.isStatusBarVisible) {
return; // nothign to to
@@ -296,6 +310,7 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
- (void)hideStatusBarAnimated:(BOOL)animate {
animate = NO;
if(!self.isStatusBarVisible) {
@@ -304,7 +319,7 @@ NSString *const _toggleSearchUsernameButton = @"SearchUsername";
self.isStatusBarVisible = NO;
self.tableToTop.constant = -1;
[self.filterBar removeFromSuperview];
[self.filterBar removeFromSuperviewWithoutNeedingDisplay];
if(animate) {
[NSAnimationContext runAnimationGroup:^(NSAnimationContext* context) {

View File

@@ -52,7 +52,6 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab";
[_encodingPopup setMenu:encodingMenu];
[encodingMenu release];
}
@end

View File

@@ -180,14 +180,28 @@
- (void)updateFilter:(id)sender {
NSSearchField *searchField = sender;
self.entryViewController.filter = [searchField stringValue];
[((NSOutlineView *)self.outlineViewController.view) deselectAll:self];
}
- (void)clearFilter:(id)sender {
NSSearchField *searchField = sender;
if(![sender isKindOfClass:[NSSearchField class]]) {
searchField = [self locateToolbarSearchField];
}
[searchField setStringValue:@""];
[self.entryViewController clearFilter];
}
- (NSSearchField *)locateToolbarSearchField {
for(NSToolbarItem *toolbarItem in [[self.window toolbar] items]) {
NSView *view = [toolbarItem view];
if([view isKindOfClass:[NSSearchField class]]) {
return (NSSearchField *)view;
}
}
return nil;
}
#pragma mark Notifications
- (void)didOpenDocument:(NSNotification *)notification {

View File

@@ -11,5 +11,6 @@
@interface MPOutlineViewController : MPViewController
@property (retain, readonly) NSMenu *menu;
- (void)deselectAll;
@end

View File

@@ -62,6 +62,7 @@
[self.outlineView setDataSource:self.datasource];
[self.outlineView setDelegate:self.outlineDelegate];
[self.outlineView setMenu:self.menu];
[self.outlineView setAllowsEmptySelection:YES];
}
- (void)didOpenDocument:(NSNotification *)notification {
@@ -72,6 +73,10 @@
}
}
- (void)deselectAll {
[self.outlineView deselectAll:self];
}
- (void)setupMenu {
NSMenu *menu = [[NSMenu allocWithZone:[NSMenu menuZone]] init];
[menu addItemWithTitle:@"Add Group" action:@selector(addEntry:) keyEquivalent:@""];

View File

@@ -81,7 +81,7 @@
itemView = self.itemViews[index];
}
if(!itemView) {
itemView = [[MPPathBarItemView alloc] initWithFrame:NSMakeRect(0, 0, 50, 24)];
itemView = [[[MPPathBarItemView alloc] initWithFrame:NSMakeRect(0, 0, 50, 24)] autorelease];
}
itemView.text = [NSString stringWithFormat:@"Button %ld", (unsigned long)index ];
itemView.image = [NSImage imageNamed:NSImageNameActionTemplate];

View File

@@ -8,6 +8,8 @@
#import "MPPathBarItemView.h"
#define IMAGE_TO_TEXT_MARGIN 5.0
@interface MPPathBarItemView ()
@property (retain) NSImageView *imageView;
@@ -28,7 +30,7 @@
[[_imageView cell] setDrawsBackground:NO];
[_imageView setImage:[NSImage imageNamed:NSImageNameActionTemplate ]];
_textField = [[NSTextField alloc] initWithFrame:NSMakeRect([_imageView frame].size.width + 5, 0, 20, 24)];
_textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 20, 24)];
[_textField setBordered:NO];
[_textField setFont:[NSFont systemFontOfSize:13]];
[_textField setDrawsBackground:NO];
@@ -36,29 +38,13 @@
[_textField setSelectable:NO];
[[_textField cell] setBackgroundStyle:NSBackgroundStyleRaised];
[_textField setStringValue:@"Boo"];
[_textField sizeToFit];
[self addSubview:_textField];
[self addSubview:_imageView];
// NSDictionary *viewDictionary = NSDictionaryOfVariableBindings(_imageView, _textField);
// [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[_imageView(24)]-|"
// options:0
// metrics:nil
// views:viewDictionary]];
// [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[_imageView(24)]-|"
// options:0
// metrics:nil
// views:viewDictionary]];
// [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[_imageView]-|"
// options:0
// metrics:nil
// views:viewDictionary]];
//
// [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[_textField]-|"
// options:0
// metrics:nil
// views:viewDictionary]];
[self sizeToFit];
[self needsLayout];
}
@@ -84,17 +70,36 @@
}
- (void)sizeToFit {
const BOOL isAutoResize = [self autoresizesSubviews];/* Disable autoresizing */
[self setAutoresizesSubviews:NO];
NSRect superFrame = [self frame];
/*
Let our subviews calculate their sizes
*/
[self.textField sizeToFit];
[self.imageView sizeToFit];
//[self.imageView sizeToFit];
NSRect textFrame = [self.textField frame];
NSRect imageFrame = [self.imageView frame];
// nudge the textframe
textFrame.origin.x = imageFrame.size.width;
[self.textField setFrame:textFrame];
/*
Determine our size
*/
CGFloat height = MAX(textFrame.size.height, imageFrame.size.height);
CGFloat width = textFrame.size.width + IMAGE_TO_TEXT_MARGIN + imageFrame.size.width;
NSRect frame = NSMakeRect(0, 0,textFrame.size.width + imageFrame.size.width, textFrame.size.height);
[self setFrame:frame];
[self setFrame:NSMakeRect(superFrame.origin.x, superFrame.origin.y, width, height)];
imageFrame.origin.x = 0;
imageFrame.origin.y = 0;
imageFrame.size.height = height;
textFrame.origin.x = imageFrame.size.width + IMAGE_TO_TEXT_MARGIN;
textFrame.origin.y = 0;
textFrame.size.height = height;
[self.textField setFrame:textFrame];
[self.imageView setFrame:imageFrame];
/* Reset the autoresizing */
[self setAutoresizesSubviews:isAutoResize];
}
@end

View File

@@ -9,6 +9,7 @@
#import "MPToolbarDelegate.h"
#import "MPIconHelper.h"
#import "MPMainWindowController.h"
#import "MPPathBar.h"
NSString *const MPToolbarItemAddGroup = @"AddGroup";
NSString *const MPToolbarItemAddEntry = @"AddEntry";
@@ -19,7 +20,6 @@ NSString *const MPToolbarItemSearch = @"Search";
@interface MPToolbarDelegate()
@property (retain) NSMutableDictionary *toolbarItems;
@property (retain) NSArray *toolbarIdentifiers;
@property (retain) NSDictionary *toolbarImages;
@@ -33,7 +33,6 @@ NSString *const MPToolbarItemSearch = @"Search";
self = [super init];
if (self) {
self.toolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemEdit, MPToolbarItemAddGroup, MPToolbarItemAction, NSToolbarFlexibleSpaceItemIdentifier, MPToolbarItemSearch ];
self.toolbarItems = [NSMutableDictionary dictionaryWithCapacity:[self.toolbarItems count]];
self.toolbarImages = [self createToolbarImages];
}
return self;
@@ -41,29 +40,22 @@ NSString *const MPToolbarItemSearch = @"Search";
- (void)dealloc
{
self.toolbarItems = nil;
self.toolbarIdentifiers = nil;
self.toolbarImages = nil;
[super dealloc];
}
- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag {
NSToolbarItem *item = self.toolbarItems[ itemIdentifier ];
if( !item ) {
item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];
- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag {
NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];
[item setAction:@selector(toolbarItemPressed:)];
self.toolbarItems[itemIdentifier] = item;
NSString *label = NSLocalizedString(itemIdentifier, @"");
[item setLabel:label];
[item release];
if([itemIdentifier isEqualToString:MPToolbarItemSearch]) {
NSSearchField *searchfield = [[NSSearchField alloc] initWithFrame:NSMakeRect(0, 0, 70, 32)];
[item setView:searchfield];
[searchfield setAction:@selector(updateFilter:)];
[[searchfield cell] setSendsSearchStringImmediately:NO];
[[searchfield cell] addObserver:self forKeyPath:@"controlSize" options:0 context:NULL];
[[[searchfield cell] cancelButtonCell] setTarget:nil];
[[[searchfield cell] cancelButtonCell] setAction:@selector(clearFilter:)];
[searchfield release];
@@ -71,7 +63,6 @@ NSString *const MPToolbarItemSearch = @"Search";
}
else if([itemIdentifier isEqualToString:MPToolbarItemAction]) {
NSPopUpButton *popupButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 50, 32) pullsDown:YES];
[[popupButton cell] addObserver:self forKeyPath:@"controlSize" options:0 context:NULL];
[[popupButton cell] setBezelStyle:NSTexturedRoundedBezelStyle];
[[popupButton cell] setImageScaling:NSImageScaleProportionallyDown];
[popupButton setTitle:@""];
@@ -117,10 +108,7 @@ NSString *const MPToolbarItemSearch = @"Search";
[item setView:button];
[button release];
}
return item;
}
return item;
return [item autorelease];
}
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar {
@@ -142,9 +130,5 @@ NSString *const MPToolbarItemSearch = @"Search";
return imageDict;
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
NSLog(@"Path:%@: Objecte:%@", keyPath, object);
}
@end

View File

@@ -21,7 +21,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2BF</string>
<string>304</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>

117
MacPass/PathBar.xib Normal file
View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1080</int>
<string key="IBDocument.SystemVersion">12C60</string>
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
<string key="IBDocument.AppKitVersion">1187.34</string>
<string key="IBDocument.HIToolboxVersion">625.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">3084</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSCustomObject</string>
<string>NSCustomView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">NSObject</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomView" id="1005">
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<string key="NSFrameSize">{480, 24}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSClassName">MPPathBar</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords"/>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<reference key="parent" ref="0"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.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="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">1</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">MPGradientView</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MPGradientView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MPPathBar</string>
<string key="superclassName">MPGradientView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MPPathBar.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<bool key="IBDocument.UseAutolayout">YES</bool>
</data>
</archive>