Skip to content

Commit

Permalink
Merged from github upstream and worked through second step of comment…
Browse files Browse the repository at this point in the history
…s. Did some renaming.
  • Loading branch information
epatel committed Jan 14, 2011
1 parent f8721d8 commit ce63e5b
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 20 deletions.
17 changes: 16 additions & 1 deletion resources/MainMenu.xib
Expand Up @@ -1564,6 +1564,14 @@
</object>
<int key="connectionID">614</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">coverBackgroundMenuItem_</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="490865261"/>
</object>
<int key="connectionID">615</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
Expand Down Expand Up @@ -2836,7 +2844,7 @@
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">614</int>
<int key="maxID">615</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
Expand Down Expand Up @@ -2950,11 +2958,13 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>coverBackgroundMenuItem_</string>
<string>sparkleUpdater_</string>
<string>syntaxModeMenu_</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSMenuItem</string>
<string>SUUpdater</string>
<string>NSMenu</string>
</object>
Expand All @@ -2963,11 +2973,16 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>coverBackgroundMenuItem_</string>
<string>sparkleUpdater_</string>
<string>syntaxModeMenu_</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">coverBackgroundMenuItem_</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">sparkleUpdater_</string>
<string key="candidateClassName">SUUpdater</string>
Expand Down
5 changes: 4 additions & 1 deletion src/KAppDelegate.h
Expand Up @@ -9,8 +9,9 @@
@interface KAppDelegate : NSObject <NSApplicationDelegate> {
IBOutlet SUUpdater *sparkleUpdater_;
IBOutlet NSMenu *syntaxModeMenu_;
IBOutlet NSMenuItem *coverBackgroundMenuItem_;
KTerminalUsageWindowController *terminalUsageWindowController_;
NSWindow *backDrop;
NSWindow *backgroundCoverWindow_;
}

- (IBAction)newWindow:(id)sender;
Expand All @@ -19,4 +20,6 @@
- (IBAction)displayAbout:(id)sender;
- (IBAction)coverBackground:(id)sender;

- (void)createBackgroundCoverWindow;

@end
61 changes: 43 additions & 18 deletions src/KAppDelegate.mm
Expand Up @@ -36,6 +36,14 @@ - (void)awakeFromNib {
[sparkleUpdater_ setUpdateCheckInterval:3600.0];
[sparkleUpdater_ setFeedURL:[NSURL URLWithString:
@"http://kodapp.com/appcast.xml"]];

// Background cover configuration
BOOL isCoverWindowActive = kconf_bool(@"window/backgroundCover/enabled", NO);
if (isCoverWindowActive) {
[coverBackgroundMenuItem_ setState:NSOnState];
[self createBackgroundCoverWindow];
[backgroundCoverWindow_ orderFront:nil];
}
}

#pragma mark -
Expand Down Expand Up @@ -95,6 +103,23 @@ - (void)_checkIntegrityOfCLIHelperForSymlink:(NSString*)symlinkPath {
}


- (void)createBackgroundCoverWindow {
if (backgroundCoverWindow_)
return;
NSRect windowRect = [[NSScreen mainScreen] frame];
backgroundCoverWindow_ = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
NSView *view = [[KWindowBackgroundCoverView alloc] initWithFrame:windowRect];
[[backgroundCoverWindow_ contentView] addSubview:view];
[backgroundCoverWindow_ setCollectionBehavior:NSWindowCollectionBehaviorIgnoresCycle];
[backgroundCoverWindow_ setBackgroundColor:[NSColor blackColor]];
// [backDrop setHidesOnDeactivate:YES]; // Activate?
[backgroundCoverWindow_ setHasShadow:NO];
}


#pragma mark -
#pragma mark Actions

Expand Down Expand Up @@ -153,32 +178,32 @@ - (IBAction)coverBackground:(id)sender {
return [win isVisible];
}];

if (backDrop) {
if (backgroundCoverWindow_) {
if ([sender state] == NSOnState) {
[sender setState:NSOffState];
[backDrop orderOut:nil];
} else if (indexes.count > 0) {
NSWindow *backWin = [orderedWindows objectAtIndex:[indexes lastIndex]];
[backDrop orderWindow:NSWindowBelow relativeTo:[backWin windowNumber]];
[backgroundCoverWindow_ orderOut:nil];
kconf_set_bool(@"window/backgroundCover/enabled", NO);
} else {
[self createBackgroundCoverWindow];
if (indexes.count > 0) {
NSWindow *backWin = [orderedWindows objectAtIndex:[indexes lastIndex]];
[backgroundCoverWindow_ orderWindow:NSWindowBelow relativeTo:[backWin windowNumber]];
} else {
[backgroundCoverWindow_ orderFront:nil];
}
[sender setState:NSOnState];
kconf_set_bool(@"window/backgroundCover/enabled", YES);
}
} else {
[self createBackgroundCoverWindow];
if (indexes.count > 0) {
NSRect windowRect = [[NSScreen mainScreen] frame];
backDrop = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
NSView *view = [[KWindowBackgroundCoverView alloc] initWithFrame:windowRect];
[[backDrop contentView] addSubview:view];
[backDrop setCollectionBehavior:NSWindowCollectionBehaviorIgnoresCycle];
[backDrop setBackgroundColor:[NSColor blackColor]];
[backDrop setHidesOnDeactivate:YES]; // Deactivate?
[backDrop setHasShadow:NO];
NSWindow *backWin = [orderedWindows objectAtIndex:[indexes lastIndex]];
[backDrop orderWindow:NSWindowBelow relativeTo:[backWin windowNumber]];
[sender setState:NSOnState];
[backgroundCoverWindow_ orderWindow:NSWindowBelow relativeTo:[backWin windowNumber]];
} else {
[backgroundCoverWindow_ orderFront:nil];
}
[sender setState:NSOnState];
kconf_set_bool(@"window/backgroundCover/enabled", YES);
}
}

Expand Down

0 comments on commit ce63e5b

Please sign in to comment.