mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 21:42:32 +00:00
Added a shad to the inspector
Inspector now shows selected items (image,title) still no editing
This commit is contained in:
@@ -106,6 +106,7 @@
|
||||
4CE06D7D16DEF3FE00840E3A /* MPButtonBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE06D7C16DEF3FE00840E3A /* MPButtonBar.m */; };
|
||||
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */; };
|
||||
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8247416E2F2B900573141 /* MPOverlayView.m */; };
|
||||
4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFC53BE16E94729007396BE /* MPShadowBox.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -289,6 +290,8 @@
|
||||
4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayWindowController.m; sourceTree = "<group>"; };
|
||||
4CE8247316E2F2B900573141 /* MPOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOverlayView.h; sourceTree = "<group>"; };
|
||||
4CE8247416E2F2B900573141 /* MPOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayView.m; sourceTree = "<group>"; };
|
||||
4CFC53BD16E94729007396BE /* MPShadowBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPShadowBox.h; sourceTree = "<group>"; };
|
||||
4CFC53BE16E94729007396BE /* MPShadowBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPShadowBox.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -323,6 +326,8 @@
|
||||
4C69A73916D589DF00EC1B1A /* MPGradientView.m */,
|
||||
4CE8247316E2F2B900573141 /* MPOverlayView.h */,
|
||||
4CE8247416E2F2B900573141 /* MPOverlayView.m */,
|
||||
4CFC53BD16E94729007396BE /* MPShadowBox.h */,
|
||||
4CFC53BE16E94729007396BE /* MPShadowBox.m */,
|
||||
);
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
@@ -876,6 +881,7 @@
|
||||
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */,
|
||||
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */,
|
||||
4C77547516E55FE800970E02 /* MPInspectorTabViewController.m in Sources */,
|
||||
4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
<string key="NSFrame">{{146, 91}, {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>
|
||||
@@ -484,7 +483,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">407</int>
|
||||
<int key="maxID">418</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">12</double>
|
||||
<int key="NSfFlags">4883</int>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="234157826"/>
|
||||
@@ -259,7 +259,7 @@
|
||||
<string key="NSFrame">{{86, 315}, {135, 22}}</string>
|
||||
<reference key="NSSuperview" ref="936537698"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="630915578"/>
|
||||
<reference key="NSNextKeyView" ref="284205998"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSecureTextFieldCell" key="NSCell" id="890065063">
|
||||
@@ -445,6 +445,7 @@
|
||||
<string key="NSFrame">{{229, 313}, {31, 25}}</string>
|
||||
<reference key="NSSuperview" ref="936537698"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="630915578"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:22</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="1028385582">
|
||||
@@ -480,30 +481,9 @@
|
||||
<object class="NSView" key="NSView" id="430009688">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSTextField" id="19731062">
|
||||
<reference key="NSNextResponder" ref="430009688"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{122, 233}, {66, 17}}</string>
|
||||
<reference key="NSSuperview" ref="430009688"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="790501380">
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Advanced</string>
|
||||
<reference key="NSSupport" ref="308723166"/>
|
||||
<string key="NSCellIdentifier">_NS:1535</string>
|
||||
<reference key="NSControlView" ref="19731062"/>
|
||||
<reference key="NSBackgroundColor" ref="533509460"/>
|
||||
<reference key="NSTextColor" ref="332178134"/>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrameSize">{280, 482}</string>
|
||||
<reference key="NSNextKeyView" ref="19731062"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:28</string>
|
||||
</object>
|
||||
<string key="NSLabel">Notes</string>
|
||||
@@ -848,41 +828,7 @@
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">56</int>
|
||||
<reference key="object" ref="430009688"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="19731062"/>
|
||||
<object class="IBNSLayoutConstraint" id="403654276">
|
||||
<reference key="firstItem" ref="19731062"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="430009688"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">125</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="430009688"/>
|
||||
<int key="scoringType">3</int>
|
||||
<float key="scoringTypeFloat">9</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="208927672">
|
||||
<reference key="firstItem" ref="19731062"/>
|
||||
<int key="firstAttribute">10</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="430009688"/>
|
||||
<int key="secondAttribute">10</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="430009688"/>
|
||||
<int key="scoringType">5</int>
|
||||
<float key="scoringTypeFloat">22</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
</array>
|
||||
<array class="NSMutableArray" key="children"/>
|
||||
<reference key="parent" ref="895719879"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
@@ -1441,21 +1387,6 @@
|
||||
<reference key="object" ref="1047670962"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">105</int>
|
||||
<reference key="object" ref="7482984"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">109</int>
|
||||
<reference key="object" ref="158181239"/>
|
||||
<reference key="parent" ref="1013751338"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">110</int>
|
||||
<reference key="object" ref="12312109"/>
|
||||
<reference key="parent" ref="1013751338"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">131</int>
|
||||
<reference key="object" ref="234157826"/>
|
||||
@@ -1469,21 +1400,11 @@
|
||||
<reference key="object" ref="572388392"/>
|
||||
<reference key="parent" ref="234157826"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">134</int>
|
||||
<reference key="object" ref="560148047"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">135</int>
|
||||
<reference key="object" ref="346815708"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">147</int>
|
||||
<reference key="object" ref="650676592"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">148</int>
|
||||
<reference key="object" ref="903694235"/>
|
||||
@@ -1514,24 +1435,6 @@
|
||||
<reference key="object" ref="698059506"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">208</int>
|
||||
<reference key="object" ref="19731062"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="790501380"/>
|
||||
</array>
|
||||
<reference key="parent" ref="430009688"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">209</int>
|
||||
<reference key="object" ref="790501380"/>
|
||||
<reference key="parent" ref="19731062"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">211</int>
|
||||
<reference key="object" ref="208927672"/>
|
||||
<reference key="parent" ref="430009688"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">212</int>
|
||||
<reference key="object" ref="308700284"/>
|
||||
@@ -1578,11 +1481,6 @@
|
||||
<reference key="object" ref="1008599540"/>
|
||||
<reference key="parent" ref="936537698"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">237</int>
|
||||
<reference key="object" ref="403654276"/>
|
||||
<reference key="parent" ref="430009688"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">238</int>
|
||||
<reference key="object" ref="913444671"/>
|
||||
@@ -1838,6 +1736,31 @@
|
||||
<reference key="object" ref="285781319"/>
|
||||
<reference key="parent" ref="936537698"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">110</int>
|
||||
<reference key="object" ref="12312109"/>
|
||||
<reference key="parent" ref="1013751338"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">109</int>
|
||||
<reference key="object" ref="158181239"/>
|
||||
<reference key="parent" ref="1013751338"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">134</int>
|
||||
<reference key="object" ref="560148047"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">147</int>
|
||||
<reference key="object" ref="650676592"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">105</int>
|
||||
<reference key="object" ref="7482984"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -1882,10 +1805,6 @@
|
||||
<string key="152.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="208.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="211.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="212.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="212.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="213.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -1896,7 +1815,6 @@
|
||||
<string key="227.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="230.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="231.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="237.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="238.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="238.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -1956,11 +1874,9 @@
|
||||
<string key="53.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="54.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="55.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="56.IBNSViewMetadataConstraints">
|
||||
<reference ref="208927672"/>
|
||||
<reference ref="403654276"/>
|
||||
</array>
|
||||
<string key="56.CustomClassName">MPShadowBox</string>
|
||||
<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="57.CustomClassName">MPShadowBox</string>
|
||||
<array class="NSMutableArray" key="57.IBNSViewMetadataConstraints">
|
||||
<reference ref="846482521"/>
|
||||
<reference ref="501767104"/>
|
||||
@@ -2005,7 +1921,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">335</int>
|
||||
<int key="maxID">360</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -2041,6 +1957,14 @@
|
||||
<string key="minorKey">./Classes/MPInspectorTabViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPShadowBox</string>
|
||||
<string key="superclassName">NSView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPShadowBox.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPViewController</string>
|
||||
<string key="superclassName">NSViewController</string>
|
||||
|
||||
@@ -14,6 +14,8 @@ APPKIT_EXTERN NSString *const MPEntryTablePasswordColumnIdentifier;
|
||||
APPKIT_EXTERN NSString *const MPEntryTableParentColumnIdentifier;
|
||||
APPKIT_EXTERN NSString *const MPEntryTableURLColumnIdentifier;
|
||||
|
||||
APPKIT_EXTERN NSString *const MPDidChangeSelectedEntryNotification;
|
||||
|
||||
/* Tags to determine what to copy */
|
||||
typedef enum {
|
||||
MPCopyUsername,
|
||||
@@ -30,7 +32,7 @@ typedef enum {
|
||||
|
||||
|
||||
@property (assign) KdbGroup *activeGroup;
|
||||
@property (readonly, assign) KdbEntry *selectedEntry;
|
||||
@property (readonly, assign, nonatomic) KdbEntry *selectedEntry;
|
||||
|
||||
@property (readonly, retain) NSArrayController *entryArrayController;
|
||||
@property (nonatomic, retain) NSString *filter;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#import "MPOverlayWindowController.h"
|
||||
#import "KdbGroup+MPAdditions.h"
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
NSString *const MPDidChangeSelectedEntryNotification = @"com.macpass.MPDidChangeSelectedEntryNotification";
|
||||
|
||||
#define STATUS_BAR_ANIMATION_TIME 0.2
|
||||
|
||||
@@ -28,7 +28,6 @@ typedef enum {
|
||||
MPFilterTitles = 8,
|
||||
} MPFilterModeType;
|
||||
|
||||
|
||||
NSString *const MPEntryTableUserNameColumnIdentifier = @"MPUserNameColumnIdentifier";
|
||||
NSString *const MPEntryTableTitleColumnIdentifier = @"MPTitleColumnIdentifier";
|
||||
NSString *const MPEntryTablePasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
|
||||
@@ -62,6 +61,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
|
||||
@property (assign) KdbEntry *selectedEntry;
|
||||
|
||||
|
||||
@property (assign, nonatomic) MPFilterModeType filterMode;
|
||||
@property (retain, nonatomic) NSDictionary *filterButtonToMode;
|
||||
|
||||
@@ -78,12 +78,11 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
- (void)_setupEntryMenu;
|
||||
/* Notification handling */
|
||||
- (void)_didChangeGroupSelectionInOutlineView:(NSNotification *)notification;
|
||||
- (void)_didChangeEntrySelection:(NSNotification *)notification;
|
||||
- (void)_showFilterBarAnimated:(BOOL)animate;
|
||||
- (void)_hideStatusBarAnimated:(BOOL)animate;
|
||||
|
||||
- (void)_quickCopyEntryData:(id)sender;
|
||||
- (KdbEntry *)_selectedEntry;
|
||||
- (KdbEntry *)_clickedOrSelectedEntry;
|
||||
|
||||
@end
|
||||
|
||||
@@ -151,10 +150,8 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
[[urlColumn headerCell] setStringValue:@"URL"];
|
||||
|
||||
[self.entryTable bind:NSContentBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects" options:nil];
|
||||
[self.selectedEntry bind:NSValueBinding toObject:self.entryArrayController withKeyPath:NSSelectedObjectBinding options:nil];
|
||||
[parentColumn setHidden:YES];
|
||||
}
|
||||
|
||||
#pragma mark NSTableViewDelgate
|
||||
|
||||
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
|
||||
@@ -195,6 +192,17 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
return view;
|
||||
}
|
||||
|
||||
- (void)tableViewSelectionDidChange:(NSNotification *)notification {
|
||||
if([self.entryTable selectedRow] < 0) {
|
||||
self.selectedEntry = nil;
|
||||
}
|
||||
else {
|
||||
self.selectedEntry = [self.entryArrayController arrangedObjects][[self.entryTable selectedRow]];
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:MPDidChangeSelectedEntryNotification object:self userInfo:nil];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark Notifications
|
||||
- (void)_didChangeGroupSelectionInOutlineView:(NSNotification *)notification {
|
||||
if([self hasFilter]) {
|
||||
@@ -203,7 +211,8 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
MPOutlineViewDelegate *delegate = [notification object];
|
||||
KdbGroup *group = delegate.selectedGroup;
|
||||
if(group) {
|
||||
[self.entryArrayController bind:NSContentArrayBinding toObject:group withKeyPath:@"entries" options:nil];
|
||||
[self.entryArrayController setContent:nil];
|
||||
[self.entryArrayController addObjects:group.entries];
|
||||
}
|
||||
else {
|
||||
[self.entryArrayController setContent:nil];
|
||||
@@ -371,7 +380,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
|
||||
#pragma makr Action Helper
|
||||
|
||||
- (KdbEntry *)_selectedEntry {
|
||||
- (KdbEntry *)_clickedOrSelectedEntry {
|
||||
NSInteger activeRow = [self.entryTable clickedRow];
|
||||
/* Fallback to selection e.g. for toolbar actions */
|
||||
if(activeRow < 0 ) {
|
||||
@@ -397,7 +406,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
}
|
||||
|
||||
- (void)copyPassword:(id)sender {
|
||||
KdbEntry *selectedEntry = [self _selectedEntry];
|
||||
KdbEntry *selectedEntry = [self _clickedOrSelectedEntry];
|
||||
if(!selectedEntry) {
|
||||
return; // nothing found to work with;
|
||||
}
|
||||
@@ -408,7 +417,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
}
|
||||
|
||||
- (void)copyUsername:(id)sender {
|
||||
KdbEntry *selectedEntry = [self _selectedEntry];
|
||||
KdbEntry *selectedEntry = [self _clickedOrSelectedEntry];
|
||||
if(!selectedEntry) {
|
||||
return; // No entry to work with;
|
||||
}
|
||||
@@ -421,7 +430,7 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
}
|
||||
|
||||
- (void)deleteEntry:(id)sender {
|
||||
KdbEntry *selectedEntry = [self _selectedEntry];
|
||||
KdbEntry *selectedEntry = [self _clickedOrSelectedEntry];
|
||||
if(!selectedEntry) {
|
||||
return; // no entry selected
|
||||
}
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
//
|
||||
|
||||
#import "MPInspectorTabViewController.h"
|
||||
#import "MPEntryViewController.h"
|
||||
#import "MPShadowBox.h"
|
||||
#import "MPIconHelper.h"
|
||||
#import "KdbLib.h"
|
||||
|
||||
@interface MPInspectorTabViewController ()
|
||||
|
||||
@@ -14,7 +18,13 @@
|
||||
@property (assign) IBOutlet NSTextField *itemNameTextfield;
|
||||
@property (assign) IBOutlet NSTabView *tabView;
|
||||
@property (assign) IBOutlet NSSegmentedControl *tabControl;
|
||||
@property (assign) NSUInteger selectedIndex;
|
||||
@property (assign) NSUInteger selectedTabIndex;
|
||||
@property (assign, nonatomic) KdbEntry *selectedEntry;
|
||||
|
||||
- (void)_didChangeSelectedEntry:(NSNotification *)notification;
|
||||
- (void)_updateContent;
|
||||
- (void)_clearContent;
|
||||
- (void)_setInputEnabled:(BOOL)enabled;
|
||||
|
||||
@end
|
||||
|
||||
@@ -27,15 +37,66 @@
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// init
|
||||
_selectedEntry = nil;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)didLoadView {
|
||||
//[self.tabView bind:NSSelectedIndexBinding toObject:self.tabControl withKeyPath:@"selectedIndex" options:nil];
|
||||
[self.tabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:NSSelectedIndexBinding options:nil];
|
||||
[self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:NSSelectedIndexBinding options:nil];
|
||||
|
||||
for( NSTabViewItem *item in [self.tabView tabViewItems]){
|
||||
((MPShadowBox *)[item view]).shadowDisplay = MPShadowTop;
|
||||
}
|
||||
[[self.itemImageView cell] setBackgroundStyle:NSBackgroundStyleRaised];
|
||||
[self.tabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:@"selectedTabIndex" options:nil];
|
||||
[self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:@"selectedTabIndex" options:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(_didChangeSelectedEntry:)
|
||||
name:MPDidChangeSelectedEntryNotification
|
||||
object:nil];
|
||||
[self _clearContent];
|
||||
}
|
||||
|
||||
- (void)_updateContent {
|
||||
if(self.selectedEntry) {
|
||||
[self.itemNameTextfield setStringValue:self.selectedEntry.title];
|
||||
[self.itemImageView setImage:[MPIconHelper icon:(MPIconType)self.selectedEntry.image ]];
|
||||
[self _setInputEnabled:YES];
|
||||
}
|
||||
else {
|
||||
[self _clearContent];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)_clearContent {
|
||||
[self _setInputEnabled:NO];
|
||||
[self.itemNameTextfield setStringValue:NSLocalizedString(@"INSPECTOR_NO_SELECTION", @"No item selected in inspector")];
|
||||
[self.itemImageView setImage:[NSImage imageNamed:NSImageNameActionTemplate]];
|
||||
}
|
||||
|
||||
- (void)_setInputEnabled:(BOOL)enabled {
|
||||
[self.itemImageView setEnabled:enabled];
|
||||
[self.itemNameTextfield setTextColor: enabled ? [NSColor controlTextColor] : [NSColor disabledControlTextColor] ];
|
||||
[self.itemNameTextfield setEnabled:enabled];
|
||||
}
|
||||
|
||||
#pragma mark Notificiations
|
||||
|
||||
- (void)_didChangeSelectedEntry:(NSNotification *)notification {
|
||||
MPEntryViewController *entryViewController = [notification object];
|
||||
if(entryViewController) {
|
||||
self.selectedEntry = entryViewController.selectedEntry;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark Properties
|
||||
- (void)setSelectedEntry:(KdbEntry *)selectedEntry {
|
||||
if(_selectedEntry != selectedEntry) {
|
||||
_selectedEntry = selectedEntry;
|
||||
if(_selectedEntry) {}
|
||||
[self _updateContent];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -97,8 +97,6 @@ const CGFloat MPMainWindowSplitViewDelegateMinimumInspectorWidth = 200.0;
|
||||
@throw exception;
|
||||
}
|
||||
}
|
||||
NSArray *splitterNames = @[ @"Outline", @"Inspector" ];
|
||||
NSLog(@"Should Hide %@: %@", splitterNames[dividerIndex], shouldHide ? @"Yes" : @"No" );
|
||||
return shouldHide;
|
||||
}
|
||||
|
||||
|
||||
21
MacPass/MPShadowBox.h
Normal file
21
MacPass/MPShadowBox.h
Normal file
@@ -0,0 +1,21 @@
|
||||
//
|
||||
// MPShadowBox.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 07.03.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
typedef enum {
|
||||
MPShadowTop = 1 << 0,
|
||||
MPShadowBottom = 1 << 1,
|
||||
MPShadowTopAndBottom = MPShadowTop | MPShadowBottom
|
||||
} MPShadowDisplay;
|
||||
|
||||
@interface MPShadowBox : NSView
|
||||
|
||||
@property (assign, nonatomic) MPShadowDisplay shadowDisplay;
|
||||
|
||||
@end
|
||||
68
MacPass/MPShadowBox.m
Normal file
68
MacPass/MPShadowBox.m
Normal file
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// MPShadowBox.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 07.03.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#define ELIPSIS_OFFSET 0
|
||||
#define ELIPSIS_HEIGHT 20
|
||||
#define SHADOW_OFFSET 10
|
||||
|
||||
#import "MPShadowBox.h"
|
||||
|
||||
@implementation MPShadowBox
|
||||
|
||||
- (id)initWithFrame:(NSRect)frameRect {
|
||||
self = [super initWithFrame:frameRect];
|
||||
if(self) {
|
||||
_shadowDisplay = MPShadowTopAndBottom;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (BOOL)isOpaque {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect {
|
||||
|
||||
dirtyRect = [self bounds];
|
||||
[[NSGraphicsContext currentContext] saveGraphicsState];
|
||||
|
||||
NSColor *topColor = [NSColor colorWithCalibratedWhite:0.9 alpha:1];
|
||||
NSColor *bottomColor = [NSColor colorWithCalibratedWhite:0.85 alpha:1];
|
||||
NSGradient *gradient = [[NSGradient alloc] initWithColors:@[topColor, bottomColor ]];
|
||||
[gradient drawInRect:dirtyRect angle:-90];
|
||||
[gradient release];
|
||||
|
||||
NSShadow *dropShadow = [[NSShadow alloc] init];
|
||||
[dropShadow setShadowColor:[NSColor colorWithCalibratedWhite:0 alpha:0.5]];
|
||||
[dropShadow setShadowBlurRadius:10];
|
||||
[dropShadow set];
|
||||
[[NSColor redColor] set]; // Use red to show visual errors
|
||||
|
||||
if(0 != (self.shadowDisplay & MPShadowTop)) {
|
||||
[dropShadow setShadowOffset:NSMakeSize(0, -SHADOW_OFFSET)];
|
||||
NSRect topElispis = NSMakeRect(0, dirtyRect.size.height + ELIPSIS_OFFSET, dirtyRect.size.width, ELIPSIS_HEIGHT);
|
||||
[[NSBezierPath bezierPathWithOvalInRect:topElispis] fill];
|
||||
}
|
||||
if(0 != (self.shadowDisplay & MPShadowBottom)) {
|
||||
NSRect bottomElipsis = NSMakeRect(0, - ( ELIPSIS_OFFSET + ELIPSIS_HEIGHT ), dirtyRect.size.width, ELIPSIS_HEIGHT);
|
||||
[dropShadow setShadowOffset:NSMakeSize(0, SHADOW_OFFSET)];
|
||||
[[NSBezierPath bezierPathWithOvalInRect:bottomElipsis] fill];
|
||||
}
|
||||
|
||||
[dropShadow release];
|
||||
[[NSGraphicsContext currentContext] restoreGraphicsState];
|
||||
}
|
||||
|
||||
- (void)setShadowDisplay:(MPShadowDisplay)shadowDisplay {
|
||||
if(_shadowDisplay != shadowDisplay) {
|
||||
_shadowDisplay = shadowDisplay;
|
||||
[self needsDisplay];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -21,7 +21,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>42E</string>
|
||||
<string>474</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
||||
Reference in New Issue
Block a user