mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 21:42:32 +00:00
NSOutlineView change to use no Autolayout since it fucked up resizing
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
4C25D58516CF0F8800F6806C /* WelcomeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58416CF0F8800F6806C /* WelcomeView.xib */; };
|
||||
4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; };
|
||||
4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2C4C2B16D3BE3700D49295 /* KdbGroup+MPAdditions.m */; };
|
||||
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */; };
|
||||
4C2E381E16D11FF900037A9D /* 04_KlipperTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */; };
|
||||
4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */; };
|
||||
@@ -62,7 +63,6 @@
|
||||
4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; };
|
||||
4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E36F15B84A240093A587 /* InfoPlist.strings */; };
|
||||
4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; };
|
||||
4C77E37715B84A240093A587 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37515B84A240093A587 /* Credits.rtf */; };
|
||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
||||
4C83814215BF4677001AE468 /* MPMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C83814115BF4677001AE468 /* MPMainWindowController.m */; };
|
||||
@@ -78,6 +78,7 @@
|
||||
4CAD747F15B887FD00104512 /* DDXMLNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD746115B887FD00104512 /* DDXMLNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
|
||||
4CAD748C15B889B700104512 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748B15B889B700104512 /* Security.framework */; };
|
||||
4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; };
|
||||
4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; };
|
||||
4CBA981815BA0DB600721965 /* MPDatabaseDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA981715BA0DB600721965 /* MPDatabaseDocument.m */; };
|
||||
4CC6259115BA1C99002F5B11 /* MPOutlineViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6259015BA1C99002F5B11 /* MPOutlineViewDelegate.m */; };
|
||||
4CD78ABC16D155FF00768A1D /* 07_NotepadTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB716D155FF00768A1D /* 07_NotepadTemplate.pdf */; };
|
||||
@@ -92,6 +93,8 @@
|
||||
/* Begin PBXFileReference section */
|
||||
4C25D58416CF0F8800F6806C /* WelcomeView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WelcomeView.xib; sourceTree = "<group>"; };
|
||||
4C25D58616CF0FAA00F6806C /* EntryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EntryView.xib; sourceTree = "<group>"; };
|
||||
4C2C4C2A16D3BE3700D49295 /* KdbGroup+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KdbGroup+MPAdditions.h"; sourceTree = "<group>"; };
|
||||
4C2C4C2B16D3BE3700D49295 /* KdbGroup+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KdbGroup+MPAdditions.m"; sourceTree = "<group>"; };
|
||||
4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 03_ServerTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 04_KlipperTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 05_LanguagesTemplate.pdf; sourceTree = "<group>"; };
|
||||
@@ -196,7 +199,6 @@
|
||||
4C77E37015B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4C77E37215B84A240093A587 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
4C77E37415B84A240093A587 /* MacPass-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacPass-Prefix.pch"; sourceTree = "<group>"; };
|
||||
4C77E37615B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
4C77E37815B84A240093A587 /* MPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = "<group>"; };
|
||||
4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = "<group>"; };
|
||||
4C77E37C15B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
@@ -225,6 +227,7 @@
|
||||
4CAD746315B887FD00104512 /* DDXMLPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDXMLPrivate.h; sourceTree = "<group>"; };
|
||||
4CAD748B15B889B700104512 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
4CAD748D15B88AC100104512 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
|
||||
4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
4CBA981615BA0DB600721965 /* MPDatabaseDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseDocument.h; sourceTree = "<group>"; };
|
||||
4CBA981715BA0DB600721965 /* MPDatabaseDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseDocument.m; sourceTree = "<group>"; };
|
||||
4CC6258F15BA1C99002F5B11 /* MPOutlineViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineViewDelegate.h; sourceTree = "<group>"; };
|
||||
@@ -268,6 +271,15 @@
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C2C4C2516D3BCEA00D49295 /* KeePassLibAdditions */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C2C4C2A16D3BE3700D49295 /* KdbGroup+MPAdditions.h */,
|
||||
4C2C4C2B16D3BE3700D49295 /* KdbGroup+MPAdditions.m */,
|
||||
);
|
||||
name = KeePassLibAdditions;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C2E382016D141F700037A9D /* Helper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -460,6 +472,7 @@
|
||||
4C77E36C15B84A240093A587 /* MacPass */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C2C4C2516D3BCEA00D49295 /* KeePassLibAdditions */,
|
||||
4C2E382016D141F700037A9D /* Helper */,
|
||||
4C586F9C16D07ABD00E7DB57 /* Icons */,
|
||||
4CA0B30F15BCB85D00654E32 /* General */,
|
||||
@@ -476,11 +489,11 @@
|
||||
4C77E36D15B84A240093A587 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CB9339716D3A0DD00A13B5D /* Credits.rtf */,
|
||||
4C77E36E15B84A240093A587 /* MacPass-Info.plist */,
|
||||
4C77E36F15B84A240093A587 /* InfoPlist.strings */,
|
||||
4C77E37215B84A240093A587 /* main.m */,
|
||||
4C77E37415B84A240093A587 /* MacPass-Prefix.pch */,
|
||||
4C77E37515B84A240093A587 /* Credits.rtf */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
@@ -583,6 +596,7 @@
|
||||
buildPhases = (
|
||||
4C77E35E15B84A240093A587 /* Sources */,
|
||||
4C77E35F15B84A240093A587 /* Frameworks */,
|
||||
4CB9339616D3A04100A13B5D /* ShellScript */,
|
||||
4C77E36015B84A240093A587 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
@@ -629,7 +643,6 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */,
|
||||
4C77E37715B84A240093A587 /* Credits.rtf in Resources */,
|
||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */,
|
||||
4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */,
|
||||
4CA0B2F015BCADC800654E32 /* GeneralSettings.xib in Resources */,
|
||||
@@ -649,11 +662,28 @@
|
||||
4CD78ABF16D155FF00768A1D /* 10_ContactTemplate.pdf in Resources */,
|
||||
4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */,
|
||||
4C61EA0516D2FFE200AC519E /* OutlineView.xib in Resources */,
|
||||
4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
4CB9339616D3A04100A13B5D /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "#!/bin/bash\nbuildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$INFOPLIST_FILE\")\nbuildNumber=$((0x$buildNumber))\nbuildNumber=$(($buildNumber + 1))\nbuildNumber=$(printf \"%X\" $buildNumber)\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"$INFOPLIST_FILE\"";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4C77E35E15B84A240093A587 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -715,6 +745,7 @@
|
||||
4C3BD51516D276F800389F1F /* MPToolbarDelegate.m in Sources */,
|
||||
4CAC6F7816D2B54800D79D5E /* MPMainWindowSplitViewDelegate.m in Sources */,
|
||||
4C61EA0316D2FD0800AC519E /* MPOutlineViewController.m in Sources */,
|
||||
4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPAdditions.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -729,14 +760,6 @@
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C77E37515B84A240093A587 /* Credits.rtf */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4C77E37615B84A240093A587 /* en */,
|
||||
);
|
||||
name = Credits.rtf;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C77E37B15B84A240093A587 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
@@ -745,6 +768,14 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CB9339716D3A0DD00A13B5D /* Credits.rtf */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4CB9339816D3A0DD00A13B5D /* en */,
|
||||
);
|
||||
name = Credits.rtf;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<string key="NSFrameSize">{703, 547}</string>
|
||||
<reference key="NSSuperview" ref="262664416"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="737075944"/>
|
||||
<reference key="NSNextKeyView" ref="1037276411"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:13</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
@@ -214,6 +214,7 @@
|
||||
<string key="NSFrame">{{1, 119}, {223, 15}}</string>
|
||||
<reference key="NSSuperview" ref="613995671"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:60</string>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
<int key="NSsFlags">1</int>
|
||||
@@ -240,7 +241,7 @@
|
||||
<string key="NSFrameSize">{703, 564}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="262664416"/>
|
||||
<reference key="NSNextKeyView" ref="737075944"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<int key="NSsFlags">133680</int>
|
||||
<reference key="NSVScroller" ref="1037276411"/>
|
||||
@@ -371,7 +372,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">85</int>
|
||||
<int key="maxID">110</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1070</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<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">2182</string>
|
||||
<string key="NS.object.0">3084</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>NSTextField</string>
|
||||
<string>IBNSLayoutConstraint</string>
|
||||
<string>NSCustomObject</string>
|
||||
<string>NSCustomView</string>
|
||||
<string>NSMenu</string>
|
||||
<string>NSMenuItem</string>
|
||||
<string>NSPopUpButton</string>
|
||||
<string>NSCustomView</string>
|
||||
<string>NSPopUpButtonCell</string>
|
||||
<string>IBNSLayoutConstraint</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
@@ -48,12 +48,11 @@
|
||||
<string key="NSFrame">{{146, 292}, {127, 26}}</string>
|
||||
<reference key="NSSuperview" ref="1005"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSAntiCompressionPriority">{750, 751}</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="161510884">
|
||||
<int key="NSCellFlags">-2076049856</int>
|
||||
<int key="NSCellFlags">-2076180416</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<object class="NSFont" key="NSSupport" id="874940307">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
@@ -62,7 +61,7 @@
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="421904700"/>
|
||||
<int key="NSButtonFlags">109199615</int>
|
||||
<int key="NSButtonFlags">109199360</int>
|
||||
<int key="NSButtonFlags2">65</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
@@ -121,6 +120,7 @@
|
||||
<bool key="NSAltersState">YES</bool>
|
||||
<int key="NSArrowPosition">2</int>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSTextField" id="637214120">
|
||||
<reference key="NSNextResponder" ref="1005"/>
|
||||
@@ -132,7 +132,7 @@
|
||||
<string key="NSReuseIdentifierKey">_NS:1505</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="1050281039">
|
||||
<int key="NSCellFlags">68288064</int>
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">71304192</int>
|
||||
<string key="NSContents">Password Encoding</string>
|
||||
<reference key="NSSupport" ref="874940307"/>
|
||||
@@ -157,6 +157,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{290, 336}</string>
|
||||
@@ -217,101 +218,21 @@
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="421904700"/>
|
||||
<reference ref="637214120"/>
|
||||
<object class="IBNSLayoutConstraint" id="180695068">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="1005"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="989429017">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<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="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="704304955">
|
||||
<object class="IBNSLayoutConstraint" id="835508122">
|
||||
<reference key="firstItem" ref="421904700"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="firstAttribute">11</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="637214120"/>
|
||||
<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>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="106372279">
|
||||
<reference key="firstItem" ref="1005"/>
|
||||
<int key="firstAttribute">6</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="421904700"/>
|
||||
<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>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="850330857">
|
||||
<reference key="firstItem" ref="421904700"/>
|
||||
<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="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="689515169">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<int key="firstAttribute">7</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="421904700"/>
|
||||
<int key="secondAttribute">7</int>
|
||||
<int key="secondAttribute">11</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">5</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="215335887">
|
||||
<reference key="firstItem" ref="1005"/>
|
||||
@@ -324,26 +245,106 @@
|
||||
<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>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="835508122">
|
||||
<object class="IBNSLayoutConstraint" id="850330857">
|
||||
<reference key="firstItem" ref="421904700"/>
|
||||
<int key="firstAttribute">11</int>
|
||||
<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="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>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="106372279">
|
||||
<reference key="firstItem" ref="1005"/>
|
||||
<int key="firstAttribute">6</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="421904700"/>
|
||||
<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">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="704304955">
|
||||
<reference key="firstItem" ref="421904700"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="637214120"/>
|
||||
<int key="secondAttribute">11</int>
|
||||
<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="689515169">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<int key="firstAttribute">7</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="421904700"/>
|
||||
<int key="secondAttribute">7</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">5</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="989429017">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<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="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</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="180695068">
|
||||
<reference key="firstItem" ref="637214120"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="1005"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
@@ -451,10 +452,10 @@
|
||||
<array class="NSMutableArray" key="1.IBNSViewMetadataConstraints">
|
||||
<reference ref="180695068"/>
|
||||
<reference ref="989429017"/>
|
||||
<reference ref="689515169"/>
|
||||
<reference ref="704304955"/>
|
||||
<reference ref="106372279"/>
|
||||
<reference ref="850330857"/>
|
||||
<reference ref="689515169"/>
|
||||
<reference ref="215335887"/>
|
||||
<reference ref="835508122"/>
|
||||
</array>
|
||||
@@ -482,7 +483,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">131</int>
|
||||
<int key="maxID">142</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
||||
18
MacPass/KdbGroup+MPAdditions.h
Normal file
18
MacPass/KdbGroup+MPAdditions.h
Normal file
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// KdbGroup+MPAdditions.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by michael starke on 19.02.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "KdbLib.h"
|
||||
|
||||
@interface KdbGroup (MPAdditions)
|
||||
|
||||
+ (KdbGroup *)group;
|
||||
+ (KdbGroup *)groupWithName:(NSString *)name;
|
||||
|
||||
+ (void)refreshModificationTime;
|
||||
|
||||
@end
|
||||
24
MacPass/KdbGroup+MPAdditions.m
Normal file
24
MacPass/KdbGroup+MPAdditions.m
Normal file
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// KdbGroup+MPAdditions.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by michael starke on 19.02.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "KdbGroup+MPAdditions.h"
|
||||
|
||||
@implementation KdbGroup (MPAdditions)
|
||||
|
||||
+ (KdbGroup *)group {
|
||||
KdbGroup *group = [[KdbGroup alloc] init];
|
||||
[group setName:@"Default"];
|
||||
return [group autorelease];
|
||||
}
|
||||
|
||||
+ (KdbGroup *)groupWithName:(NSString *)name {
|
||||
KdbGroup *group = [KdbGroup group];
|
||||
[group setName:name];
|
||||
return group;
|
||||
}
|
||||
@end
|
||||
@@ -36,17 +36,6 @@
|
||||
[self.settingsController showWindow:_settingsController.window];
|
||||
}
|
||||
|
||||
- (void)newDocument:(id)sender {
|
||||
}
|
||||
|
||||
- (void)performClose:(id)sender {
|
||||
NSLog(@"Close");
|
||||
}
|
||||
|
||||
- (void)openDocument:(id)sender {
|
||||
[self.mainWindowController openDocument];
|
||||
}
|
||||
|
||||
- (void)toolbarItemPressed:(id)sender {
|
||||
NSLog(@"Pressed %@", sender);
|
||||
}
|
||||
|
||||
@@ -20,10 +20,6 @@ APPKIT_EXTERN NSString *const MPDatabaseControllerDidCloseDatabaseNotification;
|
||||
*/
|
||||
APPKIT_EXTERN NSString *const MPDatabaseControllerDatabaseKey;
|
||||
|
||||
typedef enum{
|
||||
MPDatabaseVersion1,
|
||||
MPDatabaseVersion2
|
||||
} MPDatabaseVersion;
|
||||
|
||||
@class MPDatabaseDocument;
|
||||
|
||||
@@ -33,7 +29,7 @@ typedef enum{
|
||||
|
||||
+ (MPDatabaseController *)defaultController;
|
||||
|
||||
- (MPDatabaseDocument *)createDatabase:(MPDatabaseVersion )version password:(NSString *)password keyfile:(NSURL *)key;
|
||||
//- (MPDatabaseDocument *)createDatabase:(MPDatabaseVersion )version password:(NSString *)password keyfile:(NSURL *)key;
|
||||
- (MPDatabaseDocument *)openDatabase:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
|
||||
|
||||
@end
|
||||
|
||||
@@ -11,6 +11,11 @@
|
||||
APPKIT_EXTERN NSString *const MPDidLoadDataBaseNotification;
|
||||
APPKIT_EXTERN NSString *const MPDataBaseDocumentDocumentKey;
|
||||
|
||||
typedef enum {
|
||||
MPDatabaseVersion3,
|
||||
MPDatabaseVersion4
|
||||
} MPDatabaseVersion;
|
||||
|
||||
@class KdbPassword;
|
||||
@class KdbGroup;
|
||||
|
||||
@@ -18,10 +23,13 @@ APPKIT_EXTERN NSString *const MPDataBaseDocumentDocumentKey;
|
||||
|
||||
@property (retain, readonly) KdbGroup *root;
|
||||
@property (retain, readonly) NSURL *file;
|
||||
@property (retain, readonly) KdbPassword *password;
|
||||
@property (nonatomic,retain) NSString *password;
|
||||
@property (nonatomic, retain) NSURL *key;
|
||||
@property (assign, readonly) MPDatabaseVersion version;
|
||||
|
||||
+ (id)documentWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
|
||||
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
|
||||
- (id)initWithNewDatabase:(MPDatabaseVersion)version;
|
||||
/*
|
||||
Saves the current database to the filesystem
|
||||
Tries to use the stored password and file path
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
#import "MPDatabaseDocument.h"
|
||||
#import "KdbLib.h"
|
||||
#import "Kdb4Node.h"
|
||||
#import "Kdb3Node.h"
|
||||
|
||||
NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
|
||||
@@ -15,7 +17,8 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
|
||||
@property (retain) KdbTree *tree;
|
||||
@property (retain) NSURL *file;
|
||||
@property (retain) KdbPassword *password;
|
||||
@property (nonatomic, readonly) KdbPassword *passwordHash;
|
||||
@property (assign) MPDatabaseVersion version;
|
||||
|
||||
@end
|
||||
|
||||
@@ -29,6 +32,27 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
// create empty document
|
||||
return [self initWithFile:nil password:nil keyfile:nil];
|
||||
}
|
||||
|
||||
- (id)initWithNewDatabaseVersion:(MPDatabaseVersion)version {
|
||||
self = [super init];
|
||||
if(self) {
|
||||
switch(version) {
|
||||
case MPDatabaseVersion3:
|
||||
self.tree = [[[Kdb3Tree alloc] init] autorelease];
|
||||
break;
|
||||
case MPDatabaseVersion4:
|
||||
self.tree = [[[Kdb4Tree alloc] init] autorelease];
|
||||
break;
|
||||
default:
|
||||
[self release];
|
||||
return nil;
|
||||
}
|
||||
KdbGroup *newGroup = [self.tree createGroup:self.tree.root];
|
||||
newGroup.name = @"Default";
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
/*
|
||||
Designated initalizeder
|
||||
*/
|
||||
@@ -39,50 +63,29 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
/*
|
||||
Create an empty file
|
||||
*/
|
||||
if(!file) {
|
||||
self.tree = [[[KdbTree alloc] init] autorelease];
|
||||
self.tree.root = [[[KdbGroup alloc] init] autorelease];
|
||||
[self.tree.root setName:NSLocalizedString(@"INITIAL_GROUP", @"")];
|
||||
self.file = file;
|
||||
self.key = key;
|
||||
self.password = password;
|
||||
@try {
|
||||
self.tree = [KdbReaderFactory load:[self.file path] withPassword:self.passwordHash];
|
||||
}
|
||||
/*
|
||||
Try to load a given file
|
||||
*/
|
||||
else {
|
||||
self.file = file;
|
||||
const BOOL hasPassword = (password != nil);
|
||||
const BOOL hasKeyfile = (key != nil);
|
||||
|
||||
// Create the password for the given parameters
|
||||
if( hasPassword && hasKeyfile) {
|
||||
self.password = [[[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding keyfile:[key path]] autorelease];
|
||||
}
|
||||
else if( hasPassword ) {
|
||||
self.password = [[[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding] autorelease];
|
||||
}
|
||||
else if( hasKeyfile ) {
|
||||
self.password = [[[KdbPassword alloc] initWithKeyfile:[key path]] autorelease];
|
||||
}
|
||||
else {
|
||||
NSLog(@"Error: No password or keyfile given!");
|
||||
}
|
||||
|
||||
@try {
|
||||
self.tree = [KdbReaderFactory load:[self.file path] withPassword:self.password];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"%@", [exception description]);
|
||||
}
|
||||
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"%@", [exception description]);
|
||||
[self release];
|
||||
return self;
|
||||
}
|
||||
|
||||
if([self.tree isKindOfClass:[Kdb4Tree class]]) {
|
||||
self.version = MPDatabaseVersion4;
|
||||
}
|
||||
else if( [self.tree isKindOfClass:[Kdb3Tree class]]) {
|
||||
self.version = MPDatabaseVersion3;
|
||||
}
|
||||
}
|
||||
// Test if something went wrong and nil out if so
|
||||
if( self.tree == nil) {
|
||||
[self release];
|
||||
self = nil;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
self.tree = nil;
|
||||
@@ -98,9 +101,9 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
|
||||
- (BOOL)save {
|
||||
NSError *fileError;
|
||||
if( self.password && [self.file checkResourceIsReachableAndReturnError:&fileError] ) {
|
||||
if( [self.file checkResourceIsReachableAndReturnError:&fileError] ) {
|
||||
@try {
|
||||
[KdbWriterFactory persist:self.tree file:[self.file path] withPassword:self.password];
|
||||
[KdbWriterFactory persist:self.tree file:[self.file path] withPassword:self.passwordHash];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"%@", [exception description]);
|
||||
@@ -113,4 +116,24 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
|
||||
- (BOOL)saveAsFile:(NSURL *)file withPassword:(NSString *)password keyfile:(NSURL *)key {
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (KdbPassword *)passwordHash {
|
||||
|
||||
// Create the password for the given parameters
|
||||
if( self.password && self.key) {
|
||||
return [[[KdbPassword alloc] initWithPassword:self.password encoding:NSUTF8StringEncoding keyfile:[self.key path]] autorelease];
|
||||
}
|
||||
|
||||
if( self.password ) {
|
||||
return [[[KdbPassword alloc] initWithPassword:self.password encoding:NSUTF8StringEncoding] autorelease];
|
||||
}
|
||||
|
||||
if( self.key ) {
|
||||
return [[[KdbPassword alloc] initWithKeyfile:[self.key path]] autorelease];
|
||||
}
|
||||
|
||||
NSLog(@"Error: No password or keyfile given!");
|
||||
return nil;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
@interface MPMainWindowController : NSWindowController
|
||||
|
||||
- (void)openDocument;
|
||||
- (void)showEntries;
|
||||
/*
|
||||
Sets the content View controller
|
||||
|
||||
@@ -12,21 +12,24 @@
|
||||
#import "MPEntryViewController.h"
|
||||
#import "MPToolbarDelegate.h"
|
||||
#import "MPOutlineViewController.h"
|
||||
#import "MPMainWindowSplitViewDelegate.h"
|
||||
|
||||
@interface MPMainWindowController ()
|
||||
|
||||
@property (assign) IBOutlet NSToolbar *toolbar;
|
||||
|
||||
@property (assign) IBOutlet NSView *outlineView;
|
||||
@property (assign) IBOutlet NSSplitView *splitView;
|
||||
@property (assign) IBOutlet NSView *contentView;
|
||||
|
||||
@property (retain) IBOutlet NSView *welcomeView;
|
||||
@property (retain) NSToolbar *toolbar;
|
||||
|
||||
@property (retain) MPPasswordInputController *passwordInputController;
|
||||
@property (retain) MPEntryViewController *entryViewController;
|
||||
@property (retain) MPOutlineViewController *outlineViewController;
|
||||
|
||||
@property (retain) MPToolbarDelegate *toolbarDelegate;
|
||||
@property (retain) MPMainWindowSplitViewDelegate *splitViewDelegate;
|
||||
|
||||
@end
|
||||
|
||||
@@ -35,8 +38,9 @@
|
||||
-(id)init {
|
||||
self = [super initWithWindowNibName:@"MainWindow" owner:self];
|
||||
if( self ) {
|
||||
self.toolbarDelegate = [[[MPToolbarDelegate alloc] init] autorelease];
|
||||
self.outlineViewController = [[[MPOutlineViewController alloc] init] autorelease];
|
||||
_toolbarDelegate = [[MPToolbarDelegate alloc] init];
|
||||
_outlineViewController = [[MPOutlineViewController alloc] init];
|
||||
_splitViewDelegate = [[MPMainWindowSplitViewDelegate alloc] init];
|
||||
|
||||
[[NSBundle mainBundle] loadNibNamed:@"WelcomeView" owner:self topLevelObjects:NULL];
|
||||
[self.welcomeView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
|
||||
@@ -57,15 +61,23 @@
|
||||
- (void)windowDidLoad
|
||||
{
|
||||
[super windowDidLoad];
|
||||
const CGFloat minimumWindowWidth = MPMainWindowSplitViewDelegateMinimumContentWidth + MPMainWindowSplitViewDelegateMinimumOutlineWidth + [self.splitView dividerThickness];
|
||||
[self.window setMinSize:NSMakeSize( minimumWindowWidth, 400)];
|
||||
|
||||
_toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"];
|
||||
[self.toolbar setAllowsUserCustomization:YES];
|
||||
[self.toolbar setDelegate:self.toolbarDelegate];
|
||||
[self.window setToolbar:self.toolbar];
|
||||
|
||||
[self.splitView setDelegate:self.splitViewDelegate];
|
||||
|
||||
NSRect frame = [self.outlineView frame];
|
||||
frame.size.height -= 1;
|
||||
frame.origin.y = 10;
|
||||
// frame.size.height -= 1;
|
||||
// frame.origin.y = 10;
|
||||
[self.outlineViewController.view setFrame:frame];
|
||||
[self.outlineViewController.view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
|
||||
[self.splitView replaceSubview:self.outlineView with:self.outlineViewController.view];
|
||||
|
||||
[self.splitView replaceSubview:self.outlineView with:[self.outlineViewController view]];
|
||||
[self.splitView adjustSubviews];
|
||||
[self setContentViewController:nil];
|
||||
}
|
||||
|
||||
@@ -94,18 +106,16 @@
|
||||
else {
|
||||
[self.contentView addSubview:newContentView];
|
||||
}
|
||||
[self.splitView adjustSubviews];
|
||||
/*
|
||||
Set focus AFTER having added the view
|
||||
*/
|
||||
[self.window makeFirstResponder:[viewController reconmendedFirstResponder]];
|
||||
}
|
||||
|
||||
- (void)didOpenDocument:(NSNotification *)notification {
|
||||
[self showEntries];
|
||||
}
|
||||
#pragma mark Actions
|
||||
|
||||
|
||||
- (void)openDocument {
|
||||
- (void)openDocument:(id)sender {
|
||||
|
||||
if(!self.passwordInputController) {
|
||||
self.passwordInputController = [[[MPPasswordInputController alloc] init] autorelease];
|
||||
@@ -125,9 +135,15 @@
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark Notifications
|
||||
|
||||
- (void)didOpenDocument:(NSNotification *)notification {
|
||||
[self showEntries];
|
||||
}
|
||||
|
||||
- (void)showEntries {
|
||||
if(!self.entryViewController) {
|
||||
self.entryViewController = [[[MPEntryViewController alloc] init] autorelease];
|
||||
_entryViewController = [[MPEntryViewController alloc] init];
|
||||
}
|
||||
[self setContentViewController:self.entryViewController];
|
||||
}
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
extern const CGFloat MPMainWindowSplitViewDelegateMinimumOutlineWidth;
|
||||
extern const CGFloat MPMainWindowSplitViewDelegateMaximumOutlineWidth;
|
||||
extern const CGFloat MPMainWindowSplitViewDelegateMinimumContentWidth;
|
||||
|
||||
@interface MPMainWindowSplitViewDelegate : NSObject <NSSplitViewDelegate>
|
||||
|
||||
|
||||
|
||||
@@ -8,19 +8,56 @@
|
||||
|
||||
#import "MPMainWindowSplitViewDelegate.h"
|
||||
|
||||
const CGFloat _minimumSplitterWidth = 10.0;
|
||||
const CGFloat MPMainWindowSplitViewDelegateMinimumOutlineWidth = 150.0;
|
||||
const CGFloat MPMainWindowSplitViewDelegateMaximumOutlineWidth = 400.0;
|
||||
const CGFloat MPMainWindowSplitViewDelegateMinimumContentWidth = 400.0;
|
||||
|
||||
@interface MPMainWindowSplitViewDelegate ()
|
||||
|
||||
- (NSView *)leftView:(NSSplitView *)splitView;
|
||||
- (NSView *)rightView:(NSSplitView *)splitView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPMainWindowSplitViewDelegate
|
||||
|
||||
- (NSView *)leftView:(NSSplitView *)splitView {
|
||||
return [splitView subviews][0];
|
||||
}
|
||||
|
||||
- (NSView *)rightView:(NSSplitView *)splitView {
|
||||
return [splitView subviews][1];
|
||||
}
|
||||
|
||||
- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
|
||||
return _minimumSplitterWidth;
|
||||
return (proposedMinimumPosition < MPMainWindowSplitViewDelegateMinimumOutlineWidth) ? MPMainWindowSplitViewDelegateMinimumOutlineWidth : proposedMinimumPosition;
|
||||
}
|
||||
|
||||
- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMaximumPosition ofSubviewAt:(NSInteger)dividerIndex {
|
||||
NSView *otherView= [splitView subviews][(dividerIndex + 1) % 2];
|
||||
|
||||
CGFloat maximumWidth = [splitView frame].size.width - ( [splitView dividerThickness] + [otherView frame].size.width + _minimumSplitterWidth );
|
||||
return maximumWidth;
|
||||
CGFloat availableWidth = [splitView frame].size.width - [splitView dividerThickness];
|
||||
return (availableWidth - MPMainWindowSplitViewDelegateMinimumOutlineWidth);
|
||||
}
|
||||
|
||||
- (void)splitView:(NSSplitView *)splitView resizeSubviewsWithOldSize:(NSSize)oldSize {
|
||||
NSSize newSize = [splitView frame].size;
|
||||
const CGFloat dividierThickness = [splitView dividerThickness];
|
||||
|
||||
NSView *leftView = [self leftView:splitView];
|
||||
NSView *rightView = [self rightView:splitView];
|
||||
|
||||
CGFloat leftRelativeWidth = [leftView frame].size.width / oldSize.width;
|
||||
CGFloat newLeftWidth = floor(newSize.width * leftRelativeWidth);
|
||||
|
||||
if( newLeftWidth < MPMainWindowSplitViewDelegateMinimumOutlineWidth && newSize.width > MPMainWindowSplitViewDelegateMinimumOutlineWidth ) {
|
||||
newLeftWidth = MPMainWindowSplitViewDelegateMinimumOutlineWidth;
|
||||
}
|
||||
if( newLeftWidth > MPMainWindowSplitViewDelegateMaximumOutlineWidth ) {
|
||||
newLeftWidth = MPMainWindowSplitViewDelegateMaximumOutlineWidth;
|
||||
}
|
||||
NSRect newLeftFrame = NSMakeRect(0, 0, newLeftWidth, newSize.height);
|
||||
NSRect newRightFrame = NSMakeRect(newLeftWidth + dividierThickness, 0, newSize.width - newLeftWidth - dividierThickness, newSize.height);
|
||||
[leftView setFrame:newLeftFrame];
|
||||
[rightView setFrame:newRightFrame];
|
||||
};
|
||||
|
||||
@end
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
- (void)didOpenDocument:(NSNotification *)notification;
|
||||
- (void)setupMenu;
|
||||
- (void)addEntry:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
@@ -69,11 +70,19 @@
|
||||
|
||||
- (void)setupMenu {
|
||||
NSMenu *menu = [[NSMenu allocWithZone:[NSMenu menuZone]] init];
|
||||
[menu addItemWithTitle:@"Add Group" action:NULL keyEquivalent:@""];
|
||||
[menu addItemWithTitle:@"Add Group" action:@selector(addEntry:) keyEquivalent:@""];
|
||||
[menu addItem: [NSMenuItem separatorItem]];
|
||||
[menu addItemWithTitle:@"Delete" action:NULL keyEquivalent:@""];
|
||||
for(NSMenuItem *item in [menu itemArray]) {
|
||||
[item setTarget:self];
|
||||
}
|
||||
|
||||
self.menu = menu;
|
||||
[menu release];
|
||||
}
|
||||
|
||||
- (void)addEntry:(id)sender {
|
||||
NSLog(@"Add Entry");
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -13,6 +13,7 @@ NSString *const MPToolbarItemAddGroup = @"AddGroup";
|
||||
NSString *const MPToolbarItemAddEntry = @"AddEntry";
|
||||
NSString *const MPToolbarItemEdit = @"Edit";
|
||||
NSString *const MPToolbarItemDelete =@"Delete";
|
||||
NSString *const MPToolbarItemAction = @"Action";
|
||||
|
||||
@interface MPToolbarDelegate()
|
||||
|
||||
@@ -29,7 +30,7 @@ NSString *const MPToolbarItemDelete =@"Delete";
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.toolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemEdit, MPToolbarItemAddGroup ];
|
||||
self.toolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemEdit, MPToolbarItemAddGroup, MPToolbarItemAction ];
|
||||
self.toolbarItems = [NSMutableDictionary dictionaryWithCapacity:[self.toolbarItems count]];
|
||||
self.toolbarImages = [self createToolbarImages];
|
||||
}
|
||||
@@ -40,15 +41,54 @@ NSString *const MPToolbarItemDelete =@"Delete";
|
||||
NSToolbarItem *item = self.toolbarItems[ itemIdentifier ];
|
||||
if( !item ) {
|
||||
item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];
|
||||
[item setImage:self.toolbarImages[itemIdentifier]];
|
||||
NSButton *button;
|
||||
if([itemIdentifier isEqualToString:MPToolbarItemAction]) {
|
||||
NSPopUpButton *popupButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 50, 32) pullsDown:YES];
|
||||
[[popupButton cell] setBezelStyle:NSTexturedRoundedBezelStyle];
|
||||
[[popupButton cell] setImageScaling:NSImageScaleProportionallyDown];
|
||||
[popupButton setTitle:@""];
|
||||
/*
|
||||
Built menu
|
||||
*/
|
||||
NSMenu *menu = [NSMenu allocWithZone:[NSMenu menuZone]];
|
||||
NSMenuItem *item = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:@"" action:NULL keyEquivalent:@""];
|
||||
[item setImage:self.toolbarImages[itemIdentifier]];
|
||||
[menu addItem:item];
|
||||
[menu addItemWithTitle:@"Foo" action:NULL keyEquivalent:@""];
|
||||
[menu addItemWithTitle:@"Bar" action:NULL keyEquivalent:@""];
|
||||
[popupButton setMenu:menu];
|
||||
|
||||
/*
|
||||
Cleanup
|
||||
*/
|
||||
[item release];
|
||||
[menu release];
|
||||
button = popupButton;
|
||||
}
|
||||
else {
|
||||
button = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)];
|
||||
[[button cell] setBezelStyle:NSTexturedRoundedBezelStyle];
|
||||
[[button cell] setImageScaling:NSImageScaleProportionallyDown];
|
||||
[button setTitle:@""];
|
||||
[button setButtonType:NSMomentaryPushInButton];
|
||||
NSImage *image = self.toolbarImages[itemIdentifier];
|
||||
[button setImage:image];
|
||||
[button setImagePosition:NSImageOnly];
|
||||
}
|
||||
[button sizeToFit];
|
||||
|
||||
NSString *label = NSLocalizedString(itemIdentifier, @"");
|
||||
[item setLabel:label];
|
||||
|
||||
[item setView:button];
|
||||
|
||||
[item setAction:@selector(toolbarItemPressed:)];
|
||||
|
||||
self.toolbarItems[itemIdentifier] = item;
|
||||
[item release];
|
||||
[button release];
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
return item;
|
||||
@@ -64,12 +104,14 @@ NSString *const MPToolbarItemDelete =@"Delete";
|
||||
}
|
||||
|
||||
- (NSDictionary *)createToolbarImages{
|
||||
NSDictionary *imageDict = @{ MPToolbarItemAddEntry: [MPIconHelper icon:MPIconCamera],
|
||||
NSDictionary *imageDict = @{ MPToolbarItemAddEntry: [MPIconHelper icon:MPIconPassword],
|
||||
MPToolbarItemAddGroup: [MPIconHelper icon:MPIconPassword],
|
||||
MPToolbarItemDelete: [MPIconHelper icon:MPIconServer],
|
||||
MPToolbarItemEdit: [MPIconHelper icon:MPIconNotepad]
|
||||
MPToolbarItemDelete: [NSImage imageNamed:NSImageNameRemoveTemplate],
|
||||
MPToolbarItemEdit: [MPIconHelper icon:MPIconNotepad],
|
||||
MPToolbarItemAction: [NSImage imageNamed:NSImageNameActionTemplate]
|
||||
};
|
||||
return imageDict;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -12,6 +12,12 @@
|
||||
|
||||
- (void)loadView {
|
||||
[super loadView];
|
||||
|
||||
/* Insert ourselfs in the responder chain */
|
||||
NSResponder *nextResponder = [[self view] nextResponder];
|
||||
[[self view] setNextResponder:self];
|
||||
[self setNextResponder:nextResponder];
|
||||
|
||||
[self didLoadView];
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<string>76</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
||||
@@ -11,13 +11,9 @@
|
||||
<string key="NS.object.0">3084</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBNSLayoutConstraint</string>
|
||||
<string>NSCustomObject</string>
|
||||
<string>NSCustomView</string>
|
||||
<string>NSSplitView</string>
|
||||
<string>NSToolbar</string>
|
||||
<string>NSToolbarFlexibleSpaceItem</string>
|
||||
<string>NSToolbarSpaceItem</string>
|
||||
<string>NSView</string>
|
||||
<string>NSWindowTemplate</string>
|
||||
</array>
|
||||
@@ -41,105 +37,26 @@
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">15</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{196, 240}, {611, 449}}</string>
|
||||
<string key="NSWindowRect">{{196, 240}, {727, 630}}</string>
|
||||
<int key="NSWTFlags">544735232</int>
|
||||
<string key="NSWindowTitle">Window</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<object class="NSToolbar" key="NSViewClass" id="279945319">
|
||||
<object class="NSMutableString" key="NSToolbarIdentifier">
|
||||
<characters key="NS.bytes">04E515E6-01C4-49D0-9F18-CF8CB81C135F</characters>
|
||||
</object>
|
||||
<nil key="NSToolbarDelegate"/>
|
||||
<bool key="NSToolbarPrefersToBeShown">YES</bool>
|
||||
<bool key="NSToolbarShowsBaselineSeparator">YES</bool>
|
||||
<bool key="NSToolbarAllowsUserCustomization">YES</bool>
|
||||
<bool key="NSToolbarAutosavesConfiguration">NO</bool>
|
||||
<int key="NSToolbarDisplayMode">1</int>
|
||||
<int key="NSToolbarSizeMode">1</int>
|
||||
<dictionary class="NSMutableDictionary" key="NSToolbarIBIdentifiedItems">
|
||||
<object class="NSToolbarFlexibleSpaceItem" key="NSToolbarFlexibleSpaceItem" id="57284363">
|
||||
<string key="NSToolbarItemIdentifier">NSToolbarFlexibleSpaceItem</string>
|
||||
<string key="NSToolbarItemLabel"/>
|
||||
<string key="NSToolbarItemPaletteLabel">Flexible Space</string>
|
||||
<nil key="NSToolbarItemToolTip"/>
|
||||
<nil key="NSToolbarItemView"/>
|
||||
<nil key="NSToolbarItemImage"/>
|
||||
<nil key="NSToolbarItemTarget"/>
|
||||
<nil key="NSToolbarItemAction"/>
|
||||
<string key="NSToolbarItemMinSize">{1, 5}</string>
|
||||
<string key="NSToolbarItemMaxSize">{20000, 32}</string>
|
||||
<bool key="NSToolbarItemEnabled">YES</bool>
|
||||
<bool key="NSToolbarItemAutovalidates">YES</bool>
|
||||
<int key="NSToolbarItemTag">-1</int>
|
||||
<bool key="NSToolbarIsUserRemovable">YES</bool>
|
||||
<int key="NSToolbarItemVisibilityPriority">0</int>
|
||||
<object class="NSMenuItem" key="NSToolbarItemMenuFormRepresentation">
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<object class="NSCustomResource" key="NSOnImage" id="181532310">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuCheckmark</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="NSMixedImage" id="523583328">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuMixedState</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSToolbarSpaceItem" key="NSToolbarSpaceItem" id="702869406">
|
||||
<string key="NSToolbarItemIdentifier">NSToolbarSpaceItem</string>
|
||||
<string key="NSToolbarItemLabel"/>
|
||||
<string key="NSToolbarItemPaletteLabel">Space</string>
|
||||
<nil key="NSToolbarItemToolTip"/>
|
||||
<nil key="NSToolbarItemView"/>
|
||||
<nil key="NSToolbarItemImage"/>
|
||||
<nil key="NSToolbarItemTarget"/>
|
||||
<nil key="NSToolbarItemAction"/>
|
||||
<string key="NSToolbarItemMinSize">{32, 5}</string>
|
||||
<string key="NSToolbarItemMaxSize">{32, 32}</string>
|
||||
<bool key="NSToolbarItemEnabled">YES</bool>
|
||||
<bool key="NSToolbarItemAutovalidates">YES</bool>
|
||||
<int key="NSToolbarItemTag">-1</int>
|
||||
<bool key="NSToolbarIsUserRemovable">YES</bool>
|
||||
<int key="NSToolbarItemVisibilityPriority">0</int>
|
||||
<object class="NSMenuItem" key="NSToolbarItemMenuFormRepresentation">
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="181532310"/>
|
||||
<reference key="NSMixedImage" ref="523583328"/>
|
||||
</object>
|
||||
</object>
|
||||
</dictionary>
|
||||
<array key="NSToolbarIBAllowedItems">
|
||||
<reference ref="702869406"/>
|
||||
<reference ref="57284363"/>
|
||||
</array>
|
||||
<array class="NSMutableArray" key="NSToolbarIBDefaultItems">
|
||||
<reference ref="57284363"/>
|
||||
</array>
|
||||
<array key="NSToolbarIBSelectableItems" id="0"/>
|
||||
</object>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<string key="NSWindowContentMinSize">{400, 400}</string>
|
||||
<object class="NSView" key="NSWindowView" id="1006">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSSplitView" id="947682332">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<int key="NSvFlags">319</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSCustomView" id="425088172">
|
||||
<reference key="NSNextResponder" ref="947682332"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrameSize">{151, 449}</string>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrameSize">{256, 630}</string>
|
||||
<reference key="NSSuperview" ref="947682332"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="938782220"/>
|
||||
@@ -149,7 +66,8 @@
|
||||
<object class="NSCustomView" id="938782220">
|
||||
<reference key="NSNextResponder" ref="947682332"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{152, 0}, {459, 449}}</string>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrame">{{257, 0}, {470, 630}}</string>
|
||||
<reference key="NSSuperview" ref="947682332"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
@@ -157,7 +75,7 @@
|
||||
<string key="NSClassName">NSView</string>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{611, 449}</string>
|
||||
<string key="NSFrameSize">{727, 630}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="425088172"/>
|
||||
@@ -166,12 +84,13 @@
|
||||
<int key="NSDividerStyle">2</int>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{611, 449}</string>
|
||||
<string key="NSFrameSize">{727, 630}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="947682332"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
<string key="NSMinSize">{400, 422}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
@@ -186,14 +105,6 @@
|
||||
</object>
|
||||
<int key="connectionID">501</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">toolbar</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="279945319"/>
|
||||
</object>
|
||||
<int key="connectionID">597</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">contentView</string>
|
||||
@@ -223,7 +134,7 @@
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
@@ -250,7 +161,6 @@
|
||||
<reference key="object" ref="1005"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="1006"/>
|
||||
<reference ref="279945319"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
@@ -258,93 +168,10 @@
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="1006"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<object class="IBNSLayoutConstraint" id="540625459">
|
||||
<reference key="firstItem" ref="947682332"/>
|
||||
<int key="firstAttribute">4</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1006"/>
|
||||
<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="1006"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="678836472">
|
||||
<reference key="firstItem" ref="947682332"/>
|
||||
<int key="firstAttribute">6</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1006"/>
|
||||
<int key="secondAttribute">6</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="1006"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="393506505">
|
||||
<reference key="firstItem" ref="947682332"/>
|
||||
<int key="firstAttribute">3</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1006"/>
|
||||
<int key="secondAttribute">3</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="1006"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="595643757">
|
||||
<reference key="firstItem" ref="947682332"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1006"/>
|
||||
<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="1006"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<reference ref="947682332"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">591</int>
|
||||
<reference key="object" ref="279945319"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="702869406"/>
|
||||
<reference ref="57284363"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">592</int>
|
||||
<reference key="object" ref="702869406"/>
|
||||
<reference key="parent" ref="279945319"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">595</int>
|
||||
<reference key="object" ref="57284363"/>
|
||||
<reference key="parent" ref="279945319"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">603</int>
|
||||
<reference key="object" ref="947682332"/>
|
||||
@@ -355,35 +182,16 @@
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">619</int>
|
||||
<reference key="object" ref="678836472"/>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">615</int>
|
||||
<reference key="object" ref="393506505"/>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">614</int>
|
||||
<reference key="object" ref="595643757"/>
|
||||
<reference key="parent" ref="1006"/>
|
||||
<int key="objectID">605</int>
|
||||
<reference key="object" ref="938782220"/>
|
||||
<array class="NSMutableArray" key="children"/>
|
||||
<reference key="parent" ref="947682332"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">628</int>
|
||||
<reference key="object" ref="425088172"/>
|
||||
<reference key="parent" ref="947682332"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">605</int>
|
||||
<reference key="object" ref="938782220"/>
|
||||
<reference key="parent" ref="947682332"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">643</int>
|
||||
<reference key="object" ref="540625459"/>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -395,24 +203,10 @@
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
|
||||
<integer value="1" key="1.NSWindowTemplate.visibleAtLaunch"/>
|
||||
<array class="NSMutableArray" key="2.IBNSViewMetadataConstraints">
|
||||
<reference ref="595643757"/>
|
||||
<reference ref="393506505"/>
|
||||
<reference ref="678836472"/>
|
||||
<reference ref="540625459"/>
|
||||
</array>
|
||||
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="591.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="592.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="595.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="603.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="603.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="605.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="614.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="615.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="619.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="628.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="643.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
@@ -429,7 +223,6 @@
|
||||
<string key="contentView">NSView</string>
|
||||
<string key="outlineView">NSView</string>
|
||||
<string key="splitView">NSSplitView</string>
|
||||
<string key="toolbar">NSToolbar</string>
|
||||
<string key="welcomeView">NSView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
@@ -445,10 +238,6 @@
|
||||
<string key="name">splitView</string>
|
||||
<string key="candidateClassName">NSSplitView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="toolbar">
|
||||
<string key="name">toolbar</string>
|
||||
<string key="candidateClassName">NSToolbar</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="welcomeView">
|
||||
<string key="name">welcomeView</string>
|
||||
<string key="candidateClassName">NSView</string>
|
||||
@@ -459,24 +248,11 @@
|
||||
<string key="minorKey">./Classes/MPMainWindowController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSLayoutConstraint</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/NSLayoutConstraint.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>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="NSMenuCheckmark">{11, 11}</string>
|
||||
<string key="NSMenuMixedState">{10, 3}</string>
|
||||
</dictionary>
|
||||
<bool key="IBDocument.UseAutolayout">YES</bool>
|
||||
</data>
|
||||
</archive>
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSRowHeight">17</double>
|
||||
<double key="NSRowHeight">24</double>
|
||||
<int key="NSTvFlags">-767557632</int>
|
||||
<reference key="NSDelegate"/>
|
||||
<reference key="NSDataSource"/>
|
||||
@@ -196,7 +196,6 @@
|
||||
<string key="NSFrame">{{1, 119}, {238, 15}}</string>
|
||||
<reference key="NSSuperview" ref="946871415"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:60</string>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
<int key="NSsFlags">1</int>
|
||||
@@ -760,27 +759,24 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">188</int>
|
||||
<int key="maxID">194</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPOutlineViewController</string>
|
||||
<string key="superclassName">MPViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="itemMenu">NSMenu</string>
|
||||
<string key="outlineView">NSOutlineView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="itemMenu">
|
||||
<string key="name">itemMenu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="outlineView">
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">outlineView</string>
|
||||
<string key="NS.object.0">NSOutlineView</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">outlineView</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">outlineView</string>
|
||||
<string key="candidateClassName">NSOutlineView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPOutlineViewController.h</string>
|
||||
|
||||
@@ -1,29 +1,24 @@
|
||||
{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\paperw9840\paperh8400
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
|
||||
{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
|
||||
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
||||
{\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;}
|
||||
\paperw11900\paperh16840\vieww15320\viewh13520\viewkind0
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
|
||||
\f0\b\fs24 \cf0 Engineering:
|
||||
\f0\b\fs24 \cf0 Project Website:\
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/mstarke/MacPass"}}{\fldrslt
|
||||
\b0 MacPass}}
|
||||
\b0 \
|
||||
Some people\
|
||||
\
|
||||
|
||||
\b Human Interface Design:
|
||||
\b0 \
|
||||
Some other people\
|
||||
\
|
||||
|
||||
\b Testing:
|
||||
\b0 \
|
||||
Hopefully not nobody\
|
||||
\
|
||||
|
||||
\b Documentation:
|
||||
\b0 \
|
||||
Whoever\
|
||||
\
|
||||
|
||||
\b With special thanks to:
|
||||
\b0 \
|
||||
Mom\
|
||||
}
|
||||
\b \
|
||||
Credits:\
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt
|
||||
\b0 \cf2 KissXML}}
|
||||
\b0 \cf3 \
|
||||
by Robbie Hanson\
|
||||
\
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/MiniKeePass/MiniKeePass"}}{\fldrslt \cf2 MiniKeePass}}\
|
||||
by Jason Rush and John Flanagan\
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
\cf2 {\field{\*\fldinst{HYPERLINK "https://github.com/mpowrie/KeePassLib"}}{\fldrslt KeePass Database Library}}\cf3 \
|
||||
by Qiang Yu}
|
||||
@@ -2,18 +2,18 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1070</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<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">2182</string>
|
||||
<string key="NS.object.0">3084</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>NSCustomObject</string>
|
||||
<string>NSMenu</string>
|
||||
<string>NSMenuItem</string>
|
||||
<string>NSCustomObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
||||
Reference in New Issue
Block a user