Added a shad to the inspector

Inspector now shows selected items (image,title) still no editing
This commit is contained in:
michael starke
2013-03-08 01:08:36 +01:00
parent 93e61210f4
commit fd7a77f625
10 changed files with 228 additions and 140 deletions

View File

@@ -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;
};

View File

@@ -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">

View File

@@ -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>

View File

@@ -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;

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
View 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
View 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

View File

@@ -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>