mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 02:22:28 +00:00
Missing files from last commit
This commit is contained in:
@@ -58,6 +58,7 @@
|
|||||||
4C669BA016760ED100DD0774 /* Salsa20RandomStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7716760ED100DD0774 /* Salsa20RandomStream.m */; };
|
4C669BA016760ED100DD0774 /* Salsa20RandomStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7716760ED100DD0774 /* Salsa20RandomStream.m */; };
|
||||||
4C669BA116760ED100DD0774 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7916760ED100DD0774 /* Utils.m */; };
|
4C669BA116760ED100DD0774 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7916760ED100DD0774 /* Utils.m */; };
|
||||||
4C669BA216760ED100DD0774 /* UUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7B16760ED100DD0774 /* UUID.m */; };
|
4C669BA216760ED100DD0774 /* UUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7B16760ED100DD0774 /* UUID.m */; };
|
||||||
|
4C69A73A16D589DF00EC1B1A /* MPGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C69A73916D589DF00EC1B1A /* MPGradientView.m */; };
|
||||||
4C6B0E8C16C9B99B00A9ED23 /* PasswordInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */; };
|
4C6B0E8C16C9B99B00A9ED23 /* PasswordInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */; };
|
||||||
4C75CE3C16CB128700F61A4D /* MPDatabaseController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C75CE3B16CB128700F61A4D /* MPDatabaseController.m */; };
|
4C75CE3C16CB128700F61A4D /* MPDatabaseController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C75CE3B16CB128700F61A4D /* MPDatabaseController.m */; };
|
||||||
4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; };
|
4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; };
|
||||||
@@ -66,6 +67,7 @@
|
|||||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
||||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
||||||
4C83814215BF4677001AE468 /* MPMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C83814115BF4677001AE468 /* MPMainWindowController.m */; };
|
4C83814215BF4677001AE468 /* MPMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C83814115BF4677001AE468 /* MPMainWindowController.m */; };
|
||||||
|
4C8FECC816D57E3200BF26CF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C8FECC716D57E3200BF26CF /* QuartzCore.framework */; };
|
||||||
4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; };
|
4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; };
|
||||||
4CA0B2F015BCADC800654E32 /* GeneralSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */; };
|
4CA0B2F015BCADC800654E32 /* GeneralSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */; };
|
||||||
4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */; };
|
4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */; };
|
||||||
@@ -89,6 +91,8 @@
|
|||||||
4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */; };
|
4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */; };
|
||||||
4CD884B715BD47080042BBF8 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD884B615BD47080042BBF8 /* MainWindow.xib */; };
|
4CD884B715BD47080042BBF8 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD884B615BD47080042BBF8 /* MainWindow.xib */; };
|
||||||
4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */; };
|
4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */; };
|
||||||
|
4CF5D49616D5B6E900CB78BD /* MPEntryEditController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5D49416D5B6E900CB78BD /* MPEntryEditController.m */; };
|
||||||
|
4CF5D49716D5B6E900CB78BD /* EntryEditView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CF5D49516D5B6E900CB78BD /* EntryEditView.xib */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@@ -188,6 +192,8 @@
|
|||||||
4C669B7916760ED100DD0774 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utils.m; sourceTree = "<group>"; };
|
4C669B7916760ED100DD0774 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utils.m; sourceTree = "<group>"; };
|
||||||
4C669B7A16760ED100DD0774 /* UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UUID.h; sourceTree = "<group>"; };
|
4C669B7A16760ED100DD0774 /* UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UUID.h; sourceTree = "<group>"; };
|
||||||
4C669B7B16760ED100DD0774 /* UUID.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UUID.m; sourceTree = "<group>"; };
|
4C669B7B16760ED100DD0774 /* UUID.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UUID.m; sourceTree = "<group>"; };
|
||||||
|
4C69A73816D589DF00EC1B1A /* MPGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGradientView.h; sourceTree = "<group>"; };
|
||||||
|
4C69A73916D589DF00EC1B1A /* MPGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPGradientView.m; sourceTree = "<group>"; };
|
||||||
4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordInputView.xib; sourceTree = "<group>"; };
|
4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordInputView.xib; sourceTree = "<group>"; };
|
||||||
4C75CE3A16CB128700F61A4D /* MPDatabaseController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseController.h; sourceTree = "<group>"; };
|
4C75CE3A16CB128700F61A4D /* MPDatabaseController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseController.h; sourceTree = "<group>"; };
|
||||||
4C75CE3B16CB128700F61A4D /* MPDatabaseController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseController.m; sourceTree = "<group>"; };
|
4C75CE3B16CB128700F61A4D /* MPDatabaseController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseController.m; sourceTree = "<group>"; };
|
||||||
@@ -205,6 +211,7 @@
|
|||||||
4C77E37C15B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
4C77E37C15B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||||
4C83814015BF4677001AE468 /* MPMainWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMainWindowController.h; sourceTree = "<group>"; };
|
4C83814015BF4677001AE468 /* MPMainWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMainWindowController.h; sourceTree = "<group>"; };
|
||||||
4C83814115BF4677001AE468 /* MPMainWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMainWindowController.m; sourceTree = "<group>"; };
|
4C83814115BF4677001AE468 /* MPMainWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMainWindowController.m; sourceTree = "<group>"; };
|
||||||
|
4C8FECC716D57E3200BF26CF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||||
4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsWindow.xib; sourceTree = "<group>"; };
|
4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SettingsWindow.xib; sourceTree = "<group>"; };
|
||||||
4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GeneralSettings.xib; sourceTree = "<group>"; };
|
4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GeneralSettings.xib; sourceTree = "<group>"; };
|
||||||
4CA0B2F715BCAF6700654E32 /* MPGeneralSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGeneralSettingsController.h; sourceTree = "<group>"; };
|
4CA0B2F715BCAF6700654E32 /* MPGeneralSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGeneralSettingsController.h; sourceTree = "<group>"; };
|
||||||
@@ -243,6 +250,9 @@
|
|||||||
4CD884B615BD47080042BBF8 /* MainWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
4CD884B615BD47080042BBF8 /* MainWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
||||||
4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = "<group>"; };
|
4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = "<group>"; };
|
||||||
4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryViewController.m; sourceTree = "<group>"; };
|
4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CF5D49316D5B6E900CB78BD /* MPEntryEditController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryEditController.h; sourceTree = "<group>"; };
|
||||||
|
4CF5D49416D5B6E900CB78BD /* MPEntryEditController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryEditController.m; sourceTree = "<group>"; };
|
||||||
|
4CF5D49516D5B6E900CB78BD /* EntryEditView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EntryEditView.xib; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -250,6 +260,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
4C8FECC816D57E3200BF26CF /* QuartzCore.framework in Frameworks */,
|
||||||
4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */,
|
4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */,
|
||||||
4CAD748C15B889B700104512 /* Security.framework in Frameworks */,
|
4CAD748C15B889B700104512 /* Security.framework in Frameworks */,
|
||||||
4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */,
|
4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */,
|
||||||
@@ -262,6 +273,7 @@
|
|||||||
4C06398C15B980480004DE27 /* Views */ = {
|
4C06398C15B980480004DE27 /* Views */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4CF5D49516D5B6E900CB78BD /* EntryEditView.xib */,
|
||||||
4C77E37B15B84A240093A587 /* MainMenu.xib */,
|
4C77E37B15B84A240093A587 /* MainMenu.xib */,
|
||||||
4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */,
|
4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */,
|
||||||
4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */,
|
4CA0B2EF15BCADC800654E32 /* GeneralSettings.xib */,
|
||||||
@@ -270,6 +282,8 @@
|
|||||||
4C25D58416CF0F8800F6806C /* WelcomeView.xib */,
|
4C25D58416CF0F8800F6806C /* WelcomeView.xib */,
|
||||||
4C25D58616CF0FAA00F6806C /* EntryView.xib */,
|
4C25D58616CF0FAA00F6806C /* EntryView.xib */,
|
||||||
4C61EA0416D2FFE200AC519E /* OutlineView.xib */,
|
4C61EA0416D2FFE200AC519E /* OutlineView.xib */,
|
||||||
|
4C69A73816D589DF00EC1B1A /* MPGradientView.h */,
|
||||||
|
4C69A73916D589DF00EC1B1A /* MPGradientView.m */,
|
||||||
);
|
);
|
||||||
name = Views;
|
name = Views;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -457,6 +471,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4CAD748D15B88AC100104512 /* libz.dylib */,
|
4CAD748D15B88AC100104512 /* libz.dylib */,
|
||||||
|
4C8FECC716D57E3200BF26CF /* QuartzCore.framework */,
|
||||||
4CAD748B15B889B700104512 /* Security.framework */,
|
4CAD748B15B889B700104512 /* Security.framework */,
|
||||||
4C77E36615B84A240093A587 /* Cocoa.framework */,
|
4C77E36615B84A240093A587 /* Cocoa.framework */,
|
||||||
4C77E36815B84A240093A587 /* Other Frameworks */,
|
4C77E36815B84A240093A587 /* Other Frameworks */,
|
||||||
@@ -522,6 +537,8 @@
|
|||||||
4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */,
|
4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */,
|
||||||
4C61EA0116D2FD0800AC519E /* MPOutlineViewController.h */,
|
4C61EA0116D2FD0800AC519E /* MPOutlineViewController.h */,
|
||||||
4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */,
|
4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */,
|
||||||
|
4CF5D49316D5B6E900CB78BD /* MPEntryEditController.h */,
|
||||||
|
4CF5D49416D5B6E900CB78BD /* MPEntryEditController.m */,
|
||||||
);
|
);
|
||||||
name = Controller;
|
name = Controller;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -668,6 +685,7 @@
|
|||||||
4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */,
|
4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */,
|
||||||
4C61EA0516D2FFE200AC519E /* OutlineView.xib in Resources */,
|
4C61EA0516D2FFE200AC519E /* OutlineView.xib in Resources */,
|
||||||
4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */,
|
4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */,
|
||||||
|
4CF5D49716D5B6E900CB78BD /* EntryEditView.xib in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -752,6 +770,8 @@
|
|||||||
4C61EA0316D2FD0800AC519E /* MPOutlineViewController.m in Sources */,
|
4C61EA0316D2FD0800AC519E /* MPOutlineViewController.m in Sources */,
|
||||||
4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPAdditions.m in Sources */,
|
4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPAdditions.m in Sources */,
|
||||||
4CC1AEBE16D4467C006D2AAB /* KdbTree+MPAdditions.m in Sources */,
|
4CC1AEBE16D4467C006D2AAB /* KdbTree+MPAdditions.m in Sources */,
|
||||||
|
4C69A73A16D589DF00EC1B1A /* MPGradientView.m in Sources */,
|
||||||
|
4CF5D49616D5B6E900CB78BD /* MPEntryEditController.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -42,12 +42,23 @@
|
|||||||
<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="NSCustomView" id="1025687547">
|
||||||
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
|
<int key="NSvFlags">268</int>
|
||||||
|
<string key="NSFrame">{{20, 20}, {250, 137}}</string>
|
||||||
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
|
<reference key="NSNextKeyView"/>
|
||||||
|
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||||
|
<string key="NSClassName">MPGradientView</string>
|
||||||
|
</object>
|
||||||
<object class="NSPopUpButton" id="421904700">
|
<object class="NSPopUpButton" id="421904700">
|
||||||
<reference key="NSNextResponder" ref="1005"/>
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
<int key="NSvFlags">268</int>
|
<int key="NSvFlags">268</int>
|
||||||
<string key="NSFrame">{{146, 292}, {127, 26}}</string>
|
<string key="NSFrame">{{146, 174}, {127, 26}}</string>
|
||||||
<reference key="NSSuperview" ref="1005"/>
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
|
<reference key="NSNextKeyView" ref="1025687547"/>
|
||||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||||
<string key="NSAntiCompressionPriority">{750, 751}</string>
|
<string key="NSAntiCompressionPriority">{750, 751}</string>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
@@ -125,7 +136,7 @@
|
|||||||
<object class="NSTextField" id="637214120">
|
<object class="NSTextField" id="637214120">
|
||||||
<reference key="NSNextResponder" ref="1005"/>
|
<reference key="NSNextResponder" ref="1005"/>
|
||||||
<int key="NSvFlags">268</int>
|
<int key="NSvFlags">268</int>
|
||||||
<string key="NSFrame">{{17, 298}, {127, 17}}</string>
|
<string key="NSFrame">{{17, 180}, {127, 17}}</string>
|
||||||
<reference key="NSSuperview" ref="1005"/>
|
<reference key="NSSuperview" ref="1005"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="421904700"/>
|
<reference key="NSNextKeyView" ref="421904700"/>
|
||||||
@@ -160,7 +171,7 @@
|
|||||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||||
</object>
|
</object>
|
||||||
</array>
|
</array>
|
||||||
<string key="NSFrameSize">{290, 336}</string>
|
<string key="NSFrameSize">{290, 218}</string>
|
||||||
<reference key="NSSuperview"/>
|
<reference key="NSSuperview"/>
|
||||||
<reference key="NSWindow"/>
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="637214120"/>
|
<reference key="NSNextKeyView" ref="637214120"/>
|
||||||
@@ -298,6 +309,70 @@
|
|||||||
<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="750377732">
|
||||||
|
<reference key="firstItem" ref="1005"/>
|
||||||
|
<int key="firstAttribute">4</int>
|
||||||
|
<int key="relation">0</int>
|
||||||
|
<reference key="secondItem" ref="1025687547"/>
|
||||||
|
<int key="secondAttribute">4</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="763066747">
|
||||||
|
<reference key="firstItem" ref="1005"/>
|
||||||
|
<int key="firstAttribute">6</int>
|
||||||
|
<int key="relation">0</int>
|
||||||
|
<reference key="secondItem" ref="1025687547"/>
|
||||||
|
<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>
|
||||||
|
</object>
|
||||||
|
<object class="IBNSLayoutConstraint" id="465685960">
|
||||||
|
<reference key="firstItem" ref="1025687547"/>
|
||||||
|
<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">8</int>
|
||||||
|
<float key="scoringTypeFloat">29</float>
|
||||||
|
<int key="contentType">3</int>
|
||||||
|
</object>
|
||||||
|
<object class="IBNSLayoutConstraint" id="428150913">
|
||||||
|
<reference key="firstItem" ref="1025687547"/>
|
||||||
|
<int key="firstAttribute">3</int>
|
||||||
|
<int key="relation">0</int>
|
||||||
|
<reference key="secondItem" ref="421904700"/>
|
||||||
|
<int key="secondAttribute">4</int>
|
||||||
|
<float key="multiplier">1</float>
|
||||||
|
<object class="IBLayoutConstant" key="constant">
|
||||||
|
<double key="value">20</double>
|
||||||
|
</object>
|
||||||
|
<float key="priority">1000</float>
|
||||||
|
<reference key="containingView" ref="1005"/>
|
||||||
|
<int key="scoringType">6</int>
|
||||||
|
<float key="scoringTypeFloat">24</float>
|
||||||
|
<int key="contentType">3</int>
|
||||||
|
</object>
|
||||||
<object class="IBNSLayoutConstraint" id="689515169">
|
<object class="IBNSLayoutConstraint" id="689515169">
|
||||||
<reference key="firstItem" ref="637214120"/>
|
<reference key="firstItem" ref="637214120"/>
|
||||||
<int key="firstAttribute">7</int>
|
<int key="firstAttribute">7</int>
|
||||||
@@ -346,6 +421,7 @@
|
|||||||
<float key="scoringTypeFloat">40</float>
|
<float key="scoringTypeFloat">40</float>
|
||||||
<int key="contentType">3</int>
|
<int key="contentType">3</int>
|
||||||
</object>
|
</object>
|
||||||
|
<reference ref="1025687547"/>
|
||||||
</array>
|
</array>
|
||||||
<reference key="parent" ref="0"/>
|
<reference key="parent" ref="0"/>
|
||||||
</object>
|
</object>
|
||||||
@@ -443,6 +519,31 @@
|
|||||||
<reference key="object" ref="835508122"/>
|
<reference key="object" ref="835508122"/>
|
||||||
<reference key="parent" ref="1005"/>
|
<reference key="parent" ref="1005"/>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">143</int>
|
||||||
|
<reference key="object" ref="1025687547"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">148</int>
|
||||||
|
<reference key="object" ref="428150913"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">151</int>
|
||||||
|
<reference key="object" ref="465685960"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">152</int>
|
||||||
|
<reference key="object" ref="763066747"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">154</int>
|
||||||
|
<reference key="object" ref="750377732"/>
|
||||||
|
<reference key="parent" ref="1005"/>
|
||||||
|
</object>
|
||||||
</array>
|
</array>
|
||||||
</object>
|
</object>
|
||||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||||
@@ -453,6 +554,10 @@
|
|||||||
<reference ref="180695068"/>
|
<reference ref="180695068"/>
|
||||||
<reference ref="989429017"/>
|
<reference ref="989429017"/>
|
||||||
<reference ref="689515169"/>
|
<reference ref="689515169"/>
|
||||||
|
<reference ref="428150913"/>
|
||||||
|
<reference ref="465685960"/>
|
||||||
|
<reference ref="763066747"/>
|
||||||
|
<reference ref="750377732"/>
|
||||||
<reference ref="704304955"/>
|
<reference ref="704304955"/>
|
||||||
<reference ref="106372279"/>
|
<reference ref="106372279"/>
|
||||||
<reference ref="850330857"/>
|
<reference ref="850330857"/>
|
||||||
@@ -466,7 +571,13 @@
|
|||||||
<string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<boolean value="NO" key="14.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
<boolean value="NO" key="14.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<boolean value="NO" key="143.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||||
|
<string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="148.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="151.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="152.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="154.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
@@ -483,7 +594,7 @@
|
|||||||
<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">142</int>
|
<int key="maxID">154</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">
|
||||||
@@ -506,6 +617,14 @@
|
|||||||
<string key="minorKey">./Classes/MPGeneralSettingsController.h</string>
|
<string key="minorKey">./Classes/MPGeneralSettingsController.h</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBPartialClassDescription">
|
||||||
|
<string key="className">MPGradientView</string>
|
||||||
|
<string key="superclassName">NSView</string>
|
||||||
|
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||||
|
<string key="majorKey">IBProjectSource</string>
|
||||||
|
<string key="minorKey">./Classes/MPGradientView.h</string>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="IBPartialClassDescription">
|
<object class="IBPartialClassDescription">
|
||||||
<string key="className">NSLayoutConstraint</string>
|
<string key="className">NSLayoutConstraint</string>
|
||||||
<string key="superclassName">NSObject</string>
|
<string key="superclassName">NSObject</string>
|
||||||
|
|||||||
@@ -8,12 +8,17 @@
|
|||||||
|
|
||||||
#import "MPViewController.h"
|
#import "MPViewController.h"
|
||||||
|
|
||||||
|
APPKIT_EXTERN NSString *const MPEntryTableUserNameColumnIdentifier;
|
||||||
|
APPKIT_EXTERN NSString *const MPEntryTableTitleColumnIdentifier;
|
||||||
|
APPKIT_EXTERN NSString *const MPEntryTablePasswordColumnIdentifier;
|
||||||
|
APPKIT_EXTERN NSString *const MPEntryTableParentColumnIdentifier;
|
||||||
|
|
||||||
|
|
||||||
@class KdbGroup;
|
@class KdbGroup;
|
||||||
@class MPOutlineViewDelegate;
|
@class MPOutlineViewDelegate;
|
||||||
|
|
||||||
@interface MPEntryViewController : MPViewController
|
@interface MPEntryViewController : MPViewController <NSTableViewDelegate>
|
||||||
|
|
||||||
@property (nonatomic, assign) id<NSOutlineViewDelegate> outlineViewDelegate;
|
|
||||||
@property (assign) KdbGroup *activeGroup;
|
@property (assign) KdbGroup *activeGroup;
|
||||||
@property (readonly, retain) NSArrayController *entryArrayController;
|
@property (readonly, retain) NSArrayController *entryArrayController;
|
||||||
@property (nonatomic, retain) NSString *filter;
|
@property (nonatomic, retain) NSString *filter;
|
||||||
|
|||||||
@@ -10,17 +10,24 @@
|
|||||||
#import "MPOutlineViewDelegate.h"
|
#import "MPOutlineViewDelegate.h"
|
||||||
#import "MPDatabaseController.h"
|
#import "MPDatabaseController.h"
|
||||||
#import "MPDatabaseDocument.h"
|
#import "MPDatabaseDocument.h"
|
||||||
|
#import "MPIconHelper.h"
|
||||||
#import "KdbGroup+MPAdditions.h"
|
#import "KdbGroup+MPAdditions.h"
|
||||||
|
|
||||||
NSString *const _MPUserNameColumnIdentifier = @"MPUserNameColumnIdentifier";
|
NSString *const MPEntryTableUserNameColumnIdentifier = @"MPUserNameColumnIdentifier";
|
||||||
NSString *const _MPTitleColumnIdentifier = @"MPTitleColumnIdentifier";
|
NSString *const MPEntryTableTitleColumnIdentifier = @"MPTitleColumnIdentifier";
|
||||||
NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
NSString *const MPEntryTablePasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
||||||
|
NSString *const MPEntryTableParentColumnIdentifier = @"MPParentColumnIdentifier";
|
||||||
|
|
||||||
|
NSString *const _MPTableImageCellView = @"ImageCell";
|
||||||
|
NSString *const _MPTableStringCellView = @"StringCell";
|
||||||
|
NSString *const _MPTAbleSecurCellView = @"PasswordCell";
|
||||||
|
|
||||||
@interface MPEntryViewController ()
|
@interface MPEntryViewController ()
|
||||||
|
|
||||||
@property (retain) NSArrayController *entryArrayController;
|
@property (retain) NSArrayController *entryArrayController;
|
||||||
@property (retain) NSArray *filteredEntries;
|
@property (retain) NSArray *filteredEntries;
|
||||||
@property (assign) IBOutlet NSTableView *entryTable;
|
@property (assign) IBOutlet NSTableView *entryTable;
|
||||||
|
@property (assign) IBOutlet NSView *statusBar;
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)hasActiveFilter;
|
- (BOOL)hasActiveFilter;
|
||||||
@@ -31,6 +38,7 @@ NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
|||||||
|
|
||||||
@implementation MPEntryViewController
|
@implementation MPEntryViewController
|
||||||
|
|
||||||
|
|
||||||
- (id)init {
|
- (id)init {
|
||||||
return [[MPEntryViewController alloc] initWithNibName:@"EntryView" bundle:nil];
|
return [[MPEntryViewController alloc] initWithNibName:@"EntryView" bundle:nil];
|
||||||
}
|
}
|
||||||
@@ -48,23 +56,68 @@ NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)didLoadView {
|
- (void)didLoadView {
|
||||||
NSTableColumn *nameColumn = [self.entryTable tableColumns][0];
|
|
||||||
NSTableColumn *userNameColumn = [self.entryTable tableColumns][1];
|
|
||||||
NSTableColumn *passwordColumn = [self.entryTable tableColumns][2];
|
|
||||||
|
|
||||||
[nameColumn setIdentifier:_MPTitleColumnIdentifier];
|
[self.entryTable setDelegate:self];
|
||||||
[userNameColumn setIdentifier:_MPUserNameColumnIdentifier];
|
|
||||||
[passwordColumn setIdentifier:_MPPasswordColumnIdentifier];
|
NSTableColumn *parentColumn = [self.entryTable tableColumns][0];
|
||||||
|
NSTableColumn *titleColumn = [self.entryTable tableColumns][1];
|
||||||
|
NSTableColumn *userNameColumn = [self.entryTable tableColumns][2];
|
||||||
|
NSTableColumn *passwordColumn = [self.entryTable tableColumns][3];
|
||||||
|
|
||||||
[[nameColumn headerCell] setStringValue:@"Title"];
|
[parentColumn setIdentifier:MPEntryTableParentColumnIdentifier];
|
||||||
|
[titleColumn setIdentifier:MPEntryTableTitleColumnIdentifier];
|
||||||
|
[userNameColumn setIdentifier:MPEntryTableUserNameColumnIdentifier];
|
||||||
|
[passwordColumn setIdentifier:MPEntryTablePasswordColumnIdentifier];
|
||||||
|
|
||||||
|
[[parentColumn headerCell] setStringValue:@"Group"];
|
||||||
|
[[titleColumn headerCell] setStringValue:@"Title"];
|
||||||
[[userNameColumn headerCell] setStringValue:@"Username"];
|
[[userNameColumn headerCell] setStringValue:@"Username"];
|
||||||
[[passwordColumn headerCell] setStringValue:@"Password"];
|
[[passwordColumn headerCell] setStringValue:@"Password"];
|
||||||
|
|
||||||
[nameColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.title" options:nil];
|
[self.entryTable bind:NSContentBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects" options:nil];
|
||||||
[userNameColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.username" options:nil];
|
|
||||||
[passwordColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.password" options:nil];
|
[parentColumn setHidden:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark NSTableViewDelgate
|
||||||
|
|
||||||
|
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
|
||||||
|
KdbEntry *entry = [self.entryArrayController arrangedObjects][row];
|
||||||
|
|
||||||
|
const BOOL isTitleColumn = [[tableColumn identifier] isEqualToString:MPEntryTableTitleColumnIdentifier];
|
||||||
|
const BOOL isGroupColumn = [[tableColumn identifier] isEqualToString:MPEntryTableParentColumnIdentifier];
|
||||||
|
const BOOL isPasswordColum = [[tableColumn identifier] isEqualToString:MPEntryTablePasswordColumnIdentifier];
|
||||||
|
const BOOL isUsernameColumn = [[tableColumn identifier] isEqualToString:MPEntryTableUserNameColumnIdentifier];
|
||||||
|
|
||||||
|
NSTableCellView *view = nil;
|
||||||
|
if(isTitleColumn || isGroupColumn) {
|
||||||
|
view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self];
|
||||||
|
[[view imageView] setImage:[MPIconHelper randomIcon]];
|
||||||
|
if( isTitleColumn ) {
|
||||||
|
[[view textField] setStringValue:entry.title];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[[view textField] setStringValue:entry.parent.name];
|
||||||
|
}
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( isPasswordColum ) {
|
||||||
|
view = [tableView makeViewWithIdentifier:_MPTAbleSecurCellView owner:self];
|
||||||
|
[[view textField] setStringValue:entry.password];
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( isUsernameColumn ) {
|
||||||
|
view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self];
|
||||||
|
[[view textField] setStringValue:entry.username];
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark Notifications
|
||||||
- (void)didChangeGroupSelectionInOutlineView:(NSNotification *)notification {
|
- (void)didChangeGroupSelectionInOutlineView:(NSNotification *)notification {
|
||||||
/*
|
/*
|
||||||
If we have an active search, do not mess with the content
|
If we have an active search, do not mess with the content
|
||||||
@@ -72,6 +125,9 @@ NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
|||||||
if([self hasActiveFilter]) {
|
if([self hasActiveFilter]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
[[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:YES];
|
||||||
|
}
|
||||||
MPOutlineViewDelegate *delegate = [notification object];
|
MPOutlineViewDelegate *delegate = [notification object];
|
||||||
KdbGroup *group = delegate.selectedGroup;
|
KdbGroup *group = delegate.selectedGroup;
|
||||||
if(group) {
|
if(group) {
|
||||||
@@ -82,6 +138,8 @@ NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark Filtering
|
||||||
|
|
||||||
- (BOOL)hasActiveFilter {
|
- (BOOL)hasActiveFilter {
|
||||||
return ([self.filter length] > 0);
|
return ([self.filter length] > 0);
|
||||||
}
|
}
|
||||||
@@ -97,14 +155,24 @@ NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
|||||||
- (void)updateFilter {
|
- (void)updateFilter {
|
||||||
MPDatabaseDocument *openDatabase = [MPDatabaseController defaultController].database;
|
MPDatabaseDocument *openDatabase = [MPDatabaseController defaultController].database;
|
||||||
if(openDatabase) {
|
if(openDatabase) {
|
||||||
if([self.filter isEqualToString:@"*"]) {
|
|
||||||
self.filteredEntries = [openDatabase.root childEntries];
|
/*
|
||||||
}
|
Search in the background
|
||||||
else {
|
*/
|
||||||
NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", self.filter];
|
dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
|
||||||
self.filteredEntries = [[openDatabase.root childEntries] filteredArrayUsingPredicate:filterPredicate];
|
dispatch_async(backgroundQueue, ^{
|
||||||
}
|
if([self.filter length] == 0) {
|
||||||
[self.entryArrayController setContent:self.filteredEntries];
|
self.filteredEntries = [openDatabase.root childEntries];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", self.filter];
|
||||||
|
self.filteredEntries = [[openDatabase.root childEntries] filteredArrayUsingPredicate:filterPredicate];
|
||||||
|
}
|
||||||
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
[self.entryArrayController setContent:self.filteredEntries];
|
||||||
|
[[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:NO];
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
[self.entryArrayController setContent:nil];
|
[self.entryArrayController setContent:nil];
|
||||||
|
|||||||
@@ -10,4 +10,6 @@
|
|||||||
|
|
||||||
@interface MPGradientView : NSView
|
@interface MPGradientView : NSView
|
||||||
|
|
||||||
|
- (id)initWithFrame:(NSRect)frame activeGradient:(NSGradient *)activeGradient inactiveGradient:(NSGradient *)inactiveGradient;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -8,21 +8,70 @@
|
|||||||
|
|
||||||
#import "MPGradientView.h"
|
#import "MPGradientView.h"
|
||||||
|
|
||||||
|
@interface MPGradientView ()
|
||||||
|
|
||||||
|
@property (assign, nonatomic) BOOL isRenderedActive;
|
||||||
|
@property (retain) NSGradient *activeGradient;
|
||||||
|
@property (retain) NSGradient *inactiveGradient;
|
||||||
|
|
||||||
|
- (void)refreshActiveState;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
@implementation MPGradientView
|
@implementation MPGradientView
|
||||||
|
|
||||||
- (id)initWithFrame:(NSRect)frame
|
|
||||||
{
|
- (id)initWithFrame:(NSRect)frameRect {
|
||||||
self = [super initWithFrame:frame];
|
NSColor *activeTop = [NSColor colorWithCalibratedWhite:0.85 alpha:1];
|
||||||
if (self) {
|
NSColor *activeBottom = [NSColor colorWithCalibratedWhite:0.7 alpha:1];
|
||||||
// Initialization code here.
|
NSColor *inactiveTop = [NSColor colorWithCalibratedWhite:0.9 alpha:1];
|
||||||
}
|
NSColor *inactiveBottom = [NSColor colorWithCalibratedWhite:0.85 alpha:1];
|
||||||
|
NSGradient *activeGradient = [[[NSGradient alloc] initWithColors:@[ activeBottom, activeTop ]] autorelease];
|
||||||
return self;
|
NSGradient *inactiveGradient = [[[NSGradient alloc] initWithColors:@[ inactiveBottom, inactiveTop ]] autorelease];
|
||||||
|
return [self initWithFrame:frameRect activeGradient:activeGradient inactiveGradient:inactiveGradient];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)drawRect:(NSRect)dirtyRect
|
- (id)initWithFrame:(NSRect)frame activeGradient:(NSGradient *)activeGradient inactiveGradient:(NSGradient *)inactiveGradient {
|
||||||
{
|
self = [super initWithFrame:frame];
|
||||||
// Drawing code here.
|
if(self) {
|
||||||
|
_activeGradient = [activeGradient retain];
|
||||||
|
_inactiveGradient = [inactiveGradient retain];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)drawRect:(NSRect)dirtyRect {
|
||||||
|
NSGradient *gradient = self.isRenderedActive ? self.activeGradient : self.inactiveGradient;
|
||||||
|
[gradient drawInRect:dirtyRect angle:90];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_registerWindow:(NSWindow *)newWindow {
|
||||||
|
if([self window]) {
|
||||||
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidBecomeKeyNotification object:[self window]];
|
||||||
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidResignKeyNotification object:[self window]];
|
||||||
|
}
|
||||||
|
if(newWindow) {
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshActiveState) name:NSWindowDidBecomeKeyNotification object:newWindow];
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshActiveState) name:NSWindowDidResignKeyNotification object:newWindow];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillMoveToWindow:(NSWindow *)newWindow {
|
||||||
|
[self _registerWindow:newWindow];
|
||||||
|
[super viewWillMoveToWindow:newWindow];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)refreshActiveState {
|
||||||
|
self.isRenderedActive = [[self window] isKeyWindow];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setIsRenderedActive:(BOOL)isRenderedActive {
|
||||||
|
if(_isRenderedActive != isRenderedActive) {
|
||||||
|
_isRenderedActive = isRenderedActive;
|
||||||
|
[self setNeedsDisplay:YES];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -24,10 +24,20 @@ typedef enum {
|
|||||||
|
|
||||||
@interface MPIconHelper : NSObject
|
@interface MPIconHelper : NSObject
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param type Icon identifier typ MPIconTyp
|
||||||
|
@returns Icon for given identifier
|
||||||
|
*/
|
||||||
+ (NSImage *)icon:(MPIconType)type;
|
+ (NSImage *)icon:(MPIconType)type;
|
||||||
/*
|
/*
|
||||||
Available Icons, Use the MPDatabaseIconType to access a individual icon;
|
Available Icons, Use the MPDatabaseIconType to access a individual icon;
|
||||||
|
@returns all availble Icons
|
||||||
*/
|
*/
|
||||||
+ (NSDictionary *)availableIcons;
|
+ (NSDictionary *)availableIcons;
|
||||||
|
|
||||||
|
/*
|
||||||
|
@returns a random Icon image
|
||||||
|
*/
|
||||||
|
+ (NSImage *)randomIcon;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
@implementation MPIconHelper
|
@implementation MPIconHelper
|
||||||
|
|
||||||
# pragma mark Icon accessors
|
|
||||||
+ (NSImage *)icon:(MPIconType)type {
|
+ (NSImage *)icon:(MPIconType)type {
|
||||||
NSDictionary *icons = [MPIconHelper availableIcons];
|
NSDictionary *icons = [MPIconHelper availableIcons];
|
||||||
NSString *imageName = icons[@(type)];
|
NSString *imageName = icons[@(type)];
|
||||||
@@ -33,4 +32,15 @@
|
|||||||
return imageNames;
|
return imageNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (NSImage *)randomIcon {
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
srandom([[NSDate date] timeIntervalSince1970]);
|
||||||
|
});
|
||||||
|
|
||||||
|
NSArray *types = [[MPIconHelper availableIcons] allKeys];
|
||||||
|
NSUInteger randomIndex = random() % [types count];
|
||||||
|
return [MPIconHelper icon:(MPIconType)randomIndex];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>F7</string>
|
<string>15D</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
|||||||
Reference in New Issue
Block a user