Fixed #29 Application now stores the last open database by itself. If window restoration in OS X is disabled, the app also reopens the last db.

This commit is contained in:
michael starke
2013-07-21 14:14:05 +02:00
parent 1fd89bfab6
commit a6afe0bcf4
10 changed files with 449 additions and 164 deletions

View File

@@ -18,9 +18,10 @@
4C1842B2179B28C400E2F5BC /* KPKBinaryTreeReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B1179B28C400E2F5BC /* KPKBinaryTreeReader.m */; }; 4C1842B2179B28C400E2F5BC /* KPKBinaryTreeReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B1179B28C400E2F5BC /* KPKBinaryTreeReader.m */; };
4C1842B5179B28D400E2F5BC /* KPKBinaryTreeWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B4179B28D400E2F5BC /* KPKBinaryTreeWriter.m */; }; 4C1842B5179B28D400E2F5BC /* KPKBinaryTreeWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B4179B28D400E2F5BC /* KPKBinaryTreeWriter.m */; };
4C1842B8179B348600E2F5BC /* KPKTreeLoadingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B7179B348600E2F5BC /* KPKTreeLoadingTest.m */; }; 4C1842B8179B348600E2F5BC /* KPKTreeLoadingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842B7179B348600E2F5BC /* KPKTreeLoadingTest.m */; };
4C1842BC179B434C00E2F5BC /* KPKChipherInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842BB179B434C00E2F5BC /* KPKChipherInformation.m */; }; 4C1842BC179B434C00E2F5BC /* KPKXmlCipherInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842BB179B434C00E2F5BC /* KPKXmlCipherInformation.m */; };
4C1842C0179B5BFD00E2F5BC /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842BF179B5BFD00E2F5BC /* NSData+CommonCrypto.m */; }; 4C1842C0179B5BFD00E2F5BC /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842BF179B5BFD00E2F5BC /* NSData+CommonCrypto.m */; };
4C1842C3179B69E700E2F5BC /* NSData+HashedData.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842C2179B69E700E2F5BC /* NSData+HashedData.m */; }; 4C1842C3179B69E700E2F5BC /* NSData+HashedData.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842C2179B69E700E2F5BC /* NSData+HashedData.m */; };
4C1842C6179BF52100E2F5BC /* KPKBinaryCipherInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1842C5179BF52000E2F5BC /* KPKBinaryCipherInformation.m */; };
4C18F9AB178E122500890BCE /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4C18F9AA178E122500890BCE /* Test_Password_1234.kdb */; }; 4C18F9AB178E122500890BCE /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4C18F9AA178E122500890BCE /* Test_Password_1234.kdb */; };
4C19E500178E26EF002F2CD0 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4C19E4FF178E26EF002F2CD0 /* Test_Password_1234.kdbx */; }; 4C19E500178E26EF002F2CD0 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4C19E4FF178E26EF002F2CD0 /* Test_Password_1234.kdbx */; };
4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */; }; 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */; };
@@ -271,12 +272,15 @@
4C1842B6179B348600E2F5BC /* KPKTreeLoadingTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTreeLoadingTest.h; sourceTree = "<group>"; }; 4C1842B6179B348600E2F5BC /* KPKTreeLoadingTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTreeLoadingTest.h; sourceTree = "<group>"; };
4C1842B7179B348600E2F5BC /* KPKTreeLoadingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTreeLoadingTest.m; sourceTree = "<group>"; }; 4C1842B7179B348600E2F5BC /* KPKTreeLoadingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTreeLoadingTest.m; sourceTree = "<group>"; };
4C1842B9179B3A1700E2F5BC /* KPKHeaderFields.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKHeaderFields.h; sourceTree = "<group>"; }; 4C1842B9179B3A1700E2F5BC /* KPKHeaderFields.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKHeaderFields.h; sourceTree = "<group>"; };
4C1842BA179B434C00E2F5BC /* KPKChipherInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKChipherInformation.h; sourceTree = "<group>"; }; 4C1842BA179B434C00E2F5BC /* KPKXmlCipherInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKXmlCipherInformation.h; sourceTree = "<group>"; };
4C1842BB179B434C00E2F5BC /* KPKChipherInformation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKChipherInformation.m; sourceTree = "<group>"; }; 4C1842BB179B434C00E2F5BC /* KPKXmlCipherInformation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlCipherInformation.m; sourceTree = "<group>"; };
4C1842BE179B5BFD00E2F5BC /* NSData+CommonCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+CommonCrypto.h"; sourceTree = "<group>"; }; 4C1842BE179B5BFD00E2F5BC /* NSData+CommonCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+CommonCrypto.h"; sourceTree = "<group>"; };
4C1842BF179B5BFD00E2F5BC /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+CommonCrypto.m"; sourceTree = "<group>"; }; 4C1842BF179B5BFD00E2F5BC /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+CommonCrypto.m"; sourceTree = "<group>"; };
4C1842C1179B69E600E2F5BC /* NSData+HashedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+HashedData.h"; sourceTree = "<group>"; }; 4C1842C1179B69E600E2F5BC /* NSData+HashedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+HashedData.h"; sourceTree = "<group>"; };
4C1842C2179B69E700E2F5BC /* NSData+HashedData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+HashedData.m"; sourceTree = "<group>"; }; 4C1842C2179B69E700E2F5BC /* NSData+HashedData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+HashedData.m"; sourceTree = "<group>"; };
4C1842C4179BF51F00E2F5BC /* KPKBinaryCipherInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKBinaryCipherInformation.h; sourceTree = "<group>"; };
4C1842C5179BF52000E2F5BC /* KPKBinaryCipherInformation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKBinaryCipherInformation.m; sourceTree = "<group>"; };
4C1842C7179BF6A100E2F5BC /* KPKKdbHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKKdbHeader.h; sourceTree = "<group>"; };
4C18F9AA178E122500890BCE /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = Test_Password_1234.kdb; path = Databases/Test_Password_1234.kdb; sourceTree = "<group>"; }; 4C18F9AA178E122500890BCE /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = Test_Password_1234.kdb; path = Databases/Test_Password_1234.kdb; sourceTree = "<group>"; };
4C19E4FF178E26EF002F2CD0 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; name = Test_Password_1234.kdbx; path = Databases/Test_Password_1234.kdbx; sourceTree = "<group>"; }; 4C19E4FF178E26EF002F2CD0 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; name = Test_Password_1234.kdbx; path = Databases/Test_Password_1234.kdbx; sourceTree = "<group>"; };
4C19E501178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabasePasswordAndKeyfile.h; sourceTree = "<group>"; }; 4C19E501178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabasePasswordAndKeyfile.h; sourceTree = "<group>"; };
@@ -1481,6 +1485,7 @@
4C305F35179A0BD70082334F /* KPKIcon.m */, 4C305F35179A0BD70082334F /* KPKIcon.m */,
4C1842A9179B027700E2F5BC /* KPKDeletedNode.h */, 4C1842A9179B027700E2F5BC /* KPKDeletedNode.h */,
4C1842AA179B027800E2F5BC /* KPKDeletedNode.m */, 4C1842AA179B027800E2F5BC /* KPKDeletedNode.m */,
4C1842C7179BF6A100E2F5BC /* KPKKdbHeader.h */,
); );
path = Core; path = Core;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -1501,8 +1506,10 @@
4C1842B3179B28D400E2F5BC /* KPKBinaryTreeWriter.h */, 4C1842B3179B28D400E2F5BC /* KPKBinaryTreeWriter.h */,
4C1842B4179B28D400E2F5BC /* KPKBinaryTreeWriter.m */, 4C1842B4179B28D400E2F5BC /* KPKBinaryTreeWriter.m */,
4C1842B9179B3A1700E2F5BC /* KPKHeaderFields.h */, 4C1842B9179B3A1700E2F5BC /* KPKHeaderFields.h */,
4C1842BA179B434C00E2F5BC /* KPKChipherInformation.h */, 4C1842BA179B434C00E2F5BC /* KPKXmlCipherInformation.h */,
4C1842BB179B434C00E2F5BC /* KPKChipherInformation.m */, 4C1842BB179B434C00E2F5BC /* KPKXmlCipherInformation.m */,
4C1842C4179BF51F00E2F5BC /* KPKBinaryCipherInformation.h */,
4C1842C5179BF52000E2F5BC /* KPKBinaryCipherInformation.m */,
); );
path = IO; path = IO;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -1915,9 +1922,10 @@
4C1842AF179B211C00E2F5BC /* KPKXmlTreeReader.m in Sources */, 4C1842AF179B211C00E2F5BC /* KPKXmlTreeReader.m in Sources */,
4C1842B2179B28C400E2F5BC /* KPKBinaryTreeReader.m in Sources */, 4C1842B2179B28C400E2F5BC /* KPKBinaryTreeReader.m in Sources */,
4C1842B5179B28D400E2F5BC /* KPKBinaryTreeWriter.m in Sources */, 4C1842B5179B28D400E2F5BC /* KPKBinaryTreeWriter.m in Sources */,
4C1842BC179B434C00E2F5BC /* KPKChipherInformation.m in Sources */, 4C1842BC179B434C00E2F5BC /* KPKXmlCipherInformation.m in Sources */,
4C1842C0179B5BFD00E2F5BC /* NSData+CommonCrypto.m in Sources */, 4C1842C0179B5BFD00E2F5BC /* NSData+CommonCrypto.m in Sources */,
4C1842C3179B69E700E2F5BC /* NSData+HashedData.m in Sources */, 4C1842C3179B69E700E2F5BC /* NSData+HashedData.m in Sources */,
4C1842C6179BF52100E2F5BC /* KPKBinaryCipherInformation.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@@ -45,11 +45,19 @@
<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="145041823"> <object class="NSBox" id="509463058">
<reference key="NSNextResponder" ref="1005"/> <reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">12</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSView" id="423196453">
<reference key="NSNextResponder" ref="509463058"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="145041823">
<reference key="NSNextResponder" ref="423196453"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 177}, {241, 18}}</string> <string key="NSFrame">{{16, 12}, {241, 18}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="423196453"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="60918609"/> <reference key="NSNextKeyView" ref="60918609"/>
<string key="NSReuseIdentifierKey">_NS:9</string> <string key="NSReuseIdentifierKey">_NS:9</string>
@@ -82,6 +90,77 @@
</object> </object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool> <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object> </object>
<object class="NSButton" id="223646588">
<reference key="NSNextResponder" ref="423196453"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{16, 32}, {228, 18}}</string>
<reference key="NSSuperview" ref="423196453"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="145041823"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSHuggingPriority">{250, 252}</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="524116018">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">268435456</int>
<string key="NSContents">Create new Database if activated</string>
<reference key="NSSupport" ref="874940307"/>
<string key="NSCellIdentifier">_NS:9</string>
<reference key="NSControlView" ref="223646588"/>
<int key="NSButtonFlags">1211912448</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="125685135"/>
<reference key="NSAlternateImage" ref="765261007"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</array>
<string key="NSFrame">{{1, 1}, {364, 58}}</string>
<reference key="NSSuperview" ref="509463058"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="223646588"/>
<string key="NSReuseIdentifierKey">_NS:11</string>
</object>
</array>
<string key="NSFrame">{{17, 157}, {366, 74}}</string>
<reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="423196453"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Startup</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor" id="948426370">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="423196453"/>
<int key="NSBorderType">1</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">2</int>
<bool key="NSTransparent">NO</bool>
</object>
<object class="NSBox" id="60918609"> <object class="NSBox" id="60918609">
<reference key="NSNextResponder" ref="1005"/> <reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">12</int> <int key="NSvFlags">12</int>
@@ -93,7 +172,7 @@
<object class="NSTextField" id="958810247"> <object class="NSTextField" id="958810247">
<reference key="NSNextResponder" ref="731672371"/> <reference key="NSNextResponder" ref="731672371"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{15, 96}, {124, 17}}</string> <string key="NSFrame">{{15, 93}, {124, 17}}</string>
<reference key="NSSuperview" ref="731672371"/> <reference key="NSSuperview" ref="731672371"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="222890410"/> <reference key="NSNextKeyView" ref="222890410"/>
@@ -130,7 +209,7 @@
<object class="NSPopUpButton" id="222890410"> <object class="NSPopUpButton" id="222890410">
<reference key="NSNextResponder" ref="731672371"/> <reference key="NSNextResponder" ref="731672371"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{179, 92}, {170, 23}}</string> <string key="NSFrame">{{179, 90}, {170, 22}}</string>
<reference key="NSSuperview" ref="731672371"/> <reference key="NSSuperview" ref="731672371"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="326334884"/> <reference key="NSNextKeyView" ref="326334884"/>
@@ -220,7 +299,7 @@
<object class="NSButton" id="326334884"> <object class="NSButton" id="326334884">
<reference key="NSNextResponder" ref="731672371"/> <reference key="NSNextResponder" ref="731672371"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{31, 72}, {172, 18}}</string> <string key="NSFrame">{{31, 69}, {172, 18}}</string>
<reference key="NSSuperview" ref="731672371"/> <reference key="NSSuperview" ref="731672371"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="982397212"/> <reference key="NSNextKeyView" ref="982397212"/>
@@ -335,6 +414,7 @@
<string key="NSFrame">{{31, 12}, {122, 18}}</string> <string key="NSFrame">{{31, 12}, {122, 18}}</string>
<reference key="NSSuperview" ref="731672371"/> <reference key="NSSuperview" ref="731672371"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<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="252113219"> <object class="NSButtonCell" key="NSCell" id="252113219">
@@ -377,14 +457,14 @@
<bool key="NSAllowsLogicalLayoutDirection">NO</bool> <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object> </object>
</array> </array>
<string key="NSFrame">{{1, 1}, {364, 124}}</string> <string key="NSFrame">{{1, 1}, {364, 121}}</string>
<reference key="NSSuperview" ref="60918609"/> <reference key="NSSuperview" ref="60918609"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="958810247"/> <reference key="NSNextKeyView" ref="958810247"/>
<string key="NSReuseIdentifierKey">_NS:11</string> <string key="NSReuseIdentifierKey">_NS:11</string>
</object> </object>
</array> </array>
<string key="NSFrame">{{17, 16}, {366, 140}}</string> <string key="NSFrame">{{17, 16}, {366, 137}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="731672371"/> <reference key="NSNextKeyView" ref="731672371"/>
@@ -396,20 +476,8 @@
<int key="NSCellFlags">67108864</int> <int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">0</int> <int key="NSCellFlags2">0</int>
<string key="NSContents">Security</string> <string key="NSContents">Security</string>
<object class="NSFont" key="NSSupport"> <reference key="NSSupport" ref="26"/>
<string key="NSName">LucidaGrande</string> <reference key="NSBackgroundColor" ref="948426370"/>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor"> <object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int> <int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes> <bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
@@ -422,10 +490,10 @@
<bool key="NSTransparent">NO</bool> <bool key="NSTransparent">NO</bool>
</object> </object>
</array> </array>
<string key="NSFrameSize">{400, 230}</string> <string key="NSFrameSize">{400, 251}</string>
<reference key="NSSuperview"/> <reference key="NSSuperview"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="145041823"/> <reference key="NSNextKeyView" ref="509463058"/>
<string key="NSClassName">NSView</string> <string key="NSClassName">NSView</string>
</object> </object>
</array> </array>
@@ -479,6 +547,14 @@
</object> </object>
<int key="connectionID">878</int> <int key="connectionID">878</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">createUntitledOnActivation</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="223646588"/>
</object>
<int key="connectionID">920</int>
</object>
</array> </array>
<object class="IBMutableOrderedSet" key="objectRecords"> <object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects"> <array key="orderedObjects">
@@ -510,22 +586,6 @@
<int key="objectID">1</int> <int key="objectID">1</int>
<reference key="object" ref="1005"/> <reference key="object" ref="1005"/>
<array class="NSMutableArray" key="children"> <array class="NSMutableArray" key="children">
<object class="IBNSLayoutConstraint" id="505875569">
<reference key="firstItem" ref="60918609"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1005"/>
<int key="secondAttribute">3</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">74</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">3</int>
<float key="scoringTypeFloat">9</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="213536579"> <object class="IBNSLayoutConstraint" id="213536579">
<reference key="firstItem" ref="1005"/> <reference key="firstItem" ref="1005"/>
<int key="firstAttribute">4</int> <int key="firstAttribute">4</int>
@@ -542,6 +602,22 @@
<float key="scoringTypeFloat">29</float> <float key="scoringTypeFloat">29</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="426295361">
<reference key="firstItem" ref="60918609"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="509463058"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="484547610"> <object class="IBNSLayoutConstraint" id="484547610">
<reference key="firstItem" ref="1005"/> <reference key="firstItem" ref="1005"/>
<int key="firstAttribute">6</int> <int key="firstAttribute">6</int>
@@ -574,24 +650,40 @@
<float key="scoringTypeFloat">40</float> <float key="scoringTypeFloat">40</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="119736576"> <object class="IBNSLayoutConstraint" id="557389775">
<reference key="firstItem" ref="145041823"/> <reference key="firstItem" ref="509463058"/>
<int key="firstAttribute">3</int> <int key="firstAttribute">3</int>
<int key="relation">0</int> <int key="relation">0</int>
<reference key="secondItem" ref="1005"/> <reference key="secondItem" ref="1005"/>
<int key="secondAttribute">3</int> <int key="secondAttribute">3</int>
<float key="multiplier">1</float> <float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant"> <object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">37</double> <double key="value">20</double>
</object> </object>
<float key="priority">1000</float> <float key="priority">1000</float>
<reference key="containingView" ref="1005"/> <reference key="containingView" ref="1005"/>
<int key="scoringType">3</int> <int key="scoringType">9</int>
<float key="scoringTypeFloat">9</float> <float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="578526535">
<reference key="firstItem" ref="1005"/>
<int key="firstAttribute">6</int>
<int key="relation">0</int>
<reference key="secondItem" ref="509463058"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="1005"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="1065146703"> <object class="IBNSLayoutConstraint" id="1065146703">
<reference key="firstItem" ref="145041823"/> <reference key="firstItem" ref="509463058"/>
<int key="firstAttribute">5</int> <int key="firstAttribute">5</int>
<int key="relation">0</int> <int key="relation">0</int>
<reference key="secondItem" ref="1005"/> <reference key="secondItem" ref="1005"/>
@@ -606,7 +698,7 @@
<float key="scoringTypeFloat">29</float> <float key="scoringTypeFloat">29</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="250630005"> <object class="IBNSLayoutConstraint" id="457141989">
<reference key="firstItem" ref="1005"/> <reference key="firstItem" ref="1005"/>
<int key="firstAttribute">8</int> <int key="firstAttribute">8</int>
<int key="relation">0</int> <int key="relation">0</int>
@@ -614,7 +706,7 @@
<int key="secondAttribute">0</int> <int key="secondAttribute">0</int>
<float key="multiplier">1</float> <float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant"> <object class="IBLayoutConstant" key="constant">
<double key="value">230</double> <double key="value">251</double>
</object> </object>
<float key="priority">1000</float> <float key="priority">1000</float>
<reference key="containingView" ref="1005"/> <reference key="containingView" ref="1005"/>
@@ -638,8 +730,8 @@
<float key="scoringTypeFloat">40</float> <float key="scoringTypeFloat">40</float>
<int key="contentType">1</int> <int key="contentType">1</int>
</object> </object>
<reference ref="509463058"/>
<reference ref="60918609"/> <reference ref="60918609"/>
<reference ref="145041823"/>
</array> </array>
<reference key="parent" ref="0"/> <reference key="parent" ref="0"/>
</object> </object>
@@ -679,6 +771,22 @@
<float key="scoringTypeFloat">9</float> <float key="scoringTypeFloat">9</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="26135717">
<reference key="firstItem" ref="222890410"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="958810247"/>
<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="60918609"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="459585909"> <object class="IBNSLayoutConstraint" id="459585909">
<reference key="firstItem" ref="222890410"/> <reference key="firstItem" ref="222890410"/>
<int key="firstAttribute">5</int> <int key="firstAttribute">5</int>
@@ -855,22 +963,6 @@
<float key="scoringTypeFloat">9</float> <float key="scoringTypeFloat">9</float>
<int key="contentType">3</int> <int key="contentType">3</int>
</object> </object>
<object class="IBNSLayoutConstraint" id="1014678196">
<reference key="firstItem" ref="958810247"/>
<int key="firstAttribute">10</int>
<int key="relation">0</int>
<reference key="secondItem" ref="222890410"/>
<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="60918609"/>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">2</int>
</object>
<object class="IBNSLayoutConstraint" id="891799107"> <object class="IBNSLayoutConstraint" id="891799107">
<reference key="firstItem" ref="958810247"/> <reference key="firstItem" ref="958810247"/>
<int key="firstAttribute">5</int> <int key="firstAttribute">5</int>
@@ -1027,24 +1119,6 @@
<reference key="object" ref="891799107"/> <reference key="object" ref="891799107"/>
<reference key="parent" ref="60918609"/> <reference key="parent" ref="60918609"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">530</int>
<reference key="object" ref="145041823"/>
<array class="NSMutableArray" key="children">
<reference ref="168279901"/>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">531</int>
<reference key="object" ref="168279901"/>
<reference key="parent" ref="145041823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">532</int>
<reference key="object" ref="1065146703"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">584</int> <int key="objectID">584</int>
<reference key="object" ref="272904029"/> <reference key="object" ref="272904029"/>
@@ -1105,11 +1179,6 @@
<reference key="object" ref="871797750"/> <reference key="object" ref="871797750"/>
<reference key="parent" ref="326334884"/> <reference key="parent" ref="326334884"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">784</int>
<reference key="object" ref="1014678196"/>
<reference key="parent" ref="60918609"/>
</object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">789</int> <int key="objectID">789</int>
<reference key="object" ref="311160635"/> <reference key="object" ref="311160635"/>
@@ -1125,11 +1194,6 @@
<reference key="object" ref="484547610"/> <reference key="object" ref="484547610"/>
<reference key="parent" ref="1005"/> <reference key="parent" ref="1005"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">798</int>
<reference key="object" ref="1063893674"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">801</int> <int key="objectID">801</int>
<reference key="object" ref="806133159"/> <reference key="object" ref="806133159"/>
@@ -1163,26 +1227,6 @@
<reference key="object" ref="772519144"/> <reference key="object" ref="772519144"/>
<reference key="parent" ref="60918609"/> <reference key="parent" ref="60918609"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">840</int>
<reference key="object" ref="213536579"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">845</int>
<reference key="object" ref="119736576"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">846</int>
<reference key="object" ref="505875569"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">847</int>
<reference key="object" ref="250630005"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">861</int> <int key="objectID">861</int>
<reference key="object" ref="1037442692"/> <reference key="object" ref="1037442692"/>
@@ -1233,6 +1277,186 @@
<reference key="object" ref="777025190"/> <reference key="object" ref="777025190"/>
<reference key="parent" ref="222890410"/> <reference key="parent" ref="222890410"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">888</int>
<reference key="object" ref="509463058"/>
<array class="NSMutableArray" key="children">
<object class="IBNSLayoutConstraint" id="174157633">
<reference key="firstItem" ref="509463058"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="145041823"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">11</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="509463058"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="190903341">
<reference key="firstItem" ref="145041823"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="223646588"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">6</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="509463058"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="67788141">
<reference key="firstItem" ref="145041823"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="509463058"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">16</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="509463058"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="779716407">
<reference key="firstItem" ref="223646588"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="509463058"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">16</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="509463058"/>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
</object>
<object class="IBNSLayoutConstraint" id="316057462">
<reference key="firstItem" ref="223646588"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="509463058"/>
<int key="secondAttribute">3</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">25</double>
</object>
<float key="priority">1000</float>
<reference key="containingView" ref="509463058"/>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
</object>
<reference ref="223646588"/>
<reference ref="145041823"/>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">891</int>
<reference key="object" ref="1065146703"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">893</int>
<reference key="object" ref="578526535"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">530</int>
<reference key="object" ref="145041823"/>
<array class="NSMutableArray" key="children">
<reference ref="168279901"/>
</array>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">531</int>
<reference key="object" ref="168279901"/>
<reference key="parent" ref="145041823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">894</int>
<reference key="object" ref="67788141"/>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">879</int>
<reference key="object" ref="223646588"/>
<array class="NSMutableArray" key="children">
<reference ref="524116018"/>
</array>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">880</int>
<reference key="object" ref="524116018"/>
<reference key="parent" ref="223646588"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">896</int>
<reference key="object" ref="316057462"/>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">897</int>
<reference key="object" ref="779716407"/>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">903</int>
<reference key="object" ref="557389775"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">901</int>
<reference key="object" ref="174157633"/>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">898</int>
<reference key="object" ref="190903341"/>
<reference key="parent" ref="509463058"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">906</int>
<reference key="object" ref="426295361"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">916</int>
<reference key="object" ref="26135717"/>
<reference key="parent" ref="60918609"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">917</int>
<reference key="object" ref="213536579"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">918</int>
<reference key="object" ref="1063893674"/>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">919</int>
<reference key="object" ref="457141989"/>
<reference key="parent" ref="1005"/>
</object>
</array> </array>
</object> </object>
<dictionary class="NSMutableDictionary" key="flattenedProperties"> <dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -1241,13 +1465,14 @@
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="1.IBNSViewMetadataConstraints"> <array key="1.IBNSViewMetadataConstraints">
<reference ref="1063893674"/> <reference ref="1063893674"/>
<reference ref="250630005"/> <reference ref="457141989"/>
<reference ref="1065146703"/> <reference ref="1065146703"/>
<reference ref="119736576"/> <reference ref="578526535"/>
<reference ref="557389775"/>
<reference ref="989429017"/> <reference ref="989429017"/>
<reference ref="484547610"/> <reference ref="484547610"/>
<reference ref="426295361"/>
<reference ref="213536579"/> <reference ref="213536579"/>
<reference ref="505875569"/>
</array> </array>
<boolean value="NO" key="1.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="1.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/>
<boolean value="NO" key="1.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="1.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
@@ -1275,9 +1500,8 @@
<boolean value="NO" key="447.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="447.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="447.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="447.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="448.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="448.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="465.IBNSViewMetadataConstraints"> <array class="NSMutableArray" key="465.IBNSViewMetadataConstraints">
<reference ref="891799107"/> <reference ref="891799107"/>
<reference ref="1014678196"/>
<reference ref="432174165"/> <reference ref="432174165"/>
<reference ref="933426524"/> <reference ref="933426524"/>
<reference ref="236685633"/> <reference ref="236685633"/>
@@ -1289,6 +1513,7 @@
<reference ref="311160635"/> <reference ref="311160635"/>
<reference ref="437525640"/> <reference ref="437525640"/>
<reference ref="459585909"/> <reference ref="459585909"/>
<reference ref="26135717"/>
<reference ref="920770187"/> <reference ref="920770187"/>
<reference ref="771059501"/> <reference ref="771059501"/>
</array> </array>
@@ -1300,7 +1525,6 @@
<boolean value="NO" key="530.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="530.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="530.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="530.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="531.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="531.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="532.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="584.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="584.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="584.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="584.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="585.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="585.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1312,21 +1536,15 @@
<string key="630.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="630.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="631.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="631.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="773.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="773.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="784.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="788.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="788.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="789.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="789.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="792.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="792.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="798.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="801.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="801.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="803.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="803.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="804.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="804.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="805.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> <boolean value="NO" key="805.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="805.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="805.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="806.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="806.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="840.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="845.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="846.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="847.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="861.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="861.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="862.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="862.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="867.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="867.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1337,12 +1555,37 @@
<string key="875.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="875.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="876.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="876.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="877.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="877.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="879.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="879.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="880.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="888.IBNSViewMetadataConstraints">
<reference ref="316057462"/>
<reference ref="779716407"/>
<reference ref="67788141"/>
<reference ref="190903341"/>
<reference ref="174157633"/>
</array>
<boolean value="NO" key="888.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="888.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="891.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="893.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="894.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="896.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="897.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="898.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="901.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="903.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="906.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="916.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="917.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="918.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="919.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">878</int> <int key="maxID">920</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">
@@ -1352,6 +1595,7 @@
<dictionary class="NSMutableDictionary" key="outlets"> <dictionary class="NSMutableDictionary" key="outlets">
<string key="clearPasteboardOnQuitCheckButton">NSButton</string> <string key="clearPasteboardOnQuitCheckButton">NSButton</string>
<string key="clearPasteboardTimeoutPopup">NSPopUpButton</string> <string key="clearPasteboardTimeoutPopup">NSPopUpButton</string>
<string key="createUntitledOnActivation">NSButton</string>
<string key="idleTimeOutPopup">NSPopUpButton</string> <string key="idleTimeOutPopup">NSPopUpButton</string>
<string key="lockOnSleepCheckButton">NSButton</string> <string key="lockOnSleepCheckButton">NSButton</string>
<string key="reopenLastDatabase">NSButton</string> <string key="reopenLastDatabase">NSButton</string>
@@ -1365,6 +1609,10 @@
<string key="name">clearPasteboardTimeoutPopup</string> <string key="name">clearPasteboardTimeoutPopup</string>
<string key="candidateClassName">NSPopUpButton</string> <string key="candidateClassName">NSPopUpButton</string>
</object> </object>
<object class="IBToOneOutletInfo" key="createUntitledOnActivation">
<string key="name">createUntitledOnActivation</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="idleTimeOutPopup"> <object class="IBToOneOutletInfo" key="idleTimeOutPopup">
<string key="name">idleTimeOutPopup</string> <string key="name">idleTimeOutPopup</string>
<string key="candidateClassName">NSPopUpButton</string> <string key="candidateClassName">NSPopUpButton</string>

View File

@@ -112,11 +112,21 @@
NSDocumentController *documentController = [NSDocumentController sharedDocumentController]; NSDocumentController *documentController = [NSDocumentController sharedDocumentController];
NSArray *documents = [documentController documents]; NSArray *documents = [documentController documents];
NSArray *recentDocuments = [documentController recentDocumentURLs]; NSArray *recentDocuments = [documentController recentDocumentURLs];
if([documents count] == 0 && [recentDocuments count] > 0) { if([documents count] > 0 ) {
NSURL *url = recentDocuments[0]; return; // There's already a document restored
[documentController openDocumentWithContentsOfURL:url display:YES completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError *error) { }
// do nothing NSURL *documentUrl;
}]; if([recentDocuments count] > 0) {
documentUrl = recentDocuments[0];
}
else {
NSString *lastPath = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyLastDatabasePath];
documentUrl = [NSURL URLWithString:lastPath];
}
if([documentUrl isFileURL]) {
[documentController openDocumentWithContentsOfURL:documentUrl display:YES
completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError *error) {}];
} }
} }

View File

@@ -13,6 +13,7 @@
#import "MPRootAdapter.h" #import "MPRootAdapter.h"
#import "MPIconHelper.h" #import "MPIconHelper.h"
#import "MPActionHelper.h" #import "MPActionHelper.h"
#import "MPSettingsHelper.h"
#import "KdbLib.h" #import "KdbLib.h"
#import "Kdb3Node.h" #import "Kdb3Node.h"
@@ -165,6 +166,13 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
- (void)close { - (void)close {
[self _cleanupLock]; [self _cleanupLock];
/*
We store the last url. Restored windows are automatically handeld.
If closeAllDocuments is set, all docs get this messgae
*/
if([[self fileURL] isFileURL]) {
[[NSUserDefaults standardUserDefaults] setObject:[self.fileURL absoluteString] forKey:kMPSettingsKeyLastDatabasePath];
}
[super close]; [super close];
} }

View File

@@ -17,5 +17,6 @@
@property (weak) IBOutlet NSPopUpButton *idleTimeOutPopup; @property (weak) IBOutlet NSPopUpButton *idleTimeOutPopup;
@property (weak) IBOutlet NSButton *lockOnSleepCheckButton; @property (weak) IBOutlet NSButton *lockOnSleepCheckButton;
@property (weak) IBOutlet NSButton *reopenLastDatabase; @property (weak) IBOutlet NSButton *reopenLastDatabase;
@property (weak) IBOutlet NSButton *createUntitledOnActivation;
@end @end

View File

@@ -33,6 +33,7 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab";
- (void)didLoadView { - (void)didLoadView {
NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController];
NSString *reopenLastFilePath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyReopenLastDatabaseOnLaunch]; NSString *reopenLastFilePath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyReopenLastDatabaseOnLaunch];
NSString *createUntitledOnActivatePaht = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyOpenEmptyDatabaseOnLaunch];
NSString *clearPasteboardKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyClearPasteboardOnQuit]; NSString *clearPasteboardKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyClearPasteboardOnQuit];
NSString *clearPasteboardTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyPasteboardClearTimeout]; NSString *clearPasteboardTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyPasteboardClearTimeout];
NSString *idleTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyIdleLockTimeOut]; NSString *idleTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyIdleLockTimeOut];
@@ -42,5 +43,6 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab";
[self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:lockOnSleepKeyPath options:nil]; [self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:lockOnSleepKeyPath options:nil];
[self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:idleTimeOutKeyPath options:nil]; [self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:idleTimeOutKeyPath options:nil];
[self.reopenLastDatabase bind:NSValueBinding toObject:defaultsController withKeyPath:reopenLastFilePath options:nil]; [self.reopenLastDatabase bind:NSValueBinding toObject:defaultsController withKeyPath:reopenLastFilePath options:nil];
[self.createUntitledOnActivation bind:NSValueBinding toObject:defaultsController withKeyPath:createUntitledOnActivatePaht options:nil];
} }
@end @end

View File

@@ -36,6 +36,13 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHidePassword;
APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideNotes; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideNotes;
APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL;
/* Document/Key Location store */
APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath;
/*
APPKIT_EXTERN NSString *const kMPSettingsKeyLastKeyURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberLastKey;
*/
typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { typedef NS_ENUM(NSUInteger, MPPasswordEncoding) {
MPPasswordEncodingUTF8, MPPasswordEncodingUTF8,
MPPasswordEncodingASCII, MPPasswordEncodingASCII,

View File

@@ -25,6 +25,7 @@ NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword";
NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes";
NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL";
NSString *const kMPSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
@implementation MPSettingsHelper @implementation MPSettingsHelper