diff --git a/launchers/darwin/nib/Window.xib b/launchers/darwin/nib/Window.xib index 8260f1d3cd..48948e3825 100644 --- a/launchers/darwin/nib/Window.xib +++ b/launchers/darwin/nib/Window.xib @@ -11,7 +11,7 @@ - + diff --git a/launchers/darwin/src/CustomUI.m b/launchers/darwin/src/CustomUI.m index 01e666637a..156efe04d5 100644 --- a/launchers/darwin/src/CustomUI.m +++ b/launchers/darwin/src/CustomUI.m @@ -15,6 +15,31 @@ NSString* hifiBackgroundFilename = @"hifi_window"; forObject:self]; fieldEditor.insertionPointColor = insertionPointColor; } + +- (BOOL) performKeyEquivalent:(NSEvent *)event +{ + if ([event type] == NSEventTypeKeyDown) { + if ([event modifierFlags] & NSEventModifierFlagCommand) { + if ([[event charactersIgnoringModifiers] isEqualToString:@"v"]) { + [NSApp sendAction:(NSSelectorFromString(@"paste:")) to:nil from:self]; + return TRUE; + } + + if ([[event charactersIgnoringModifiers] isEqualToString:@"c"]) { + [NSApp sendAction:(NSSelectorFromString(@"copy:")) to:nil from:self]; + return TRUE; + } + + if ([[event charactersIgnoringModifiers] isEqualToString:@"a"]) { + [NSApp sendAction:(NSSelectorFromString(@"selectAll:")) to:nil from:self]; + return TRUE; + } + } + } + + return [super performKeyEquivalent:event]; +} + - (void) mouseDown:(NSEvent *)event { NSColor *insertionPointColor = [NSColor whiteColor]; @@ -63,6 +88,30 @@ NSString* hifiBackgroundFilename = @"hifi_window"; fieldEditor.insertionPointColor = insertionPointColor; return status; } + +- (BOOL) performKeyEquivalent:(NSEvent *)event +{ + if ([event type] == NSEventTypeKeyDown) { + if ([event modifierFlags] & NSEventModifierFlagCommand) { + if ([[event charactersIgnoringModifiers] isEqualToString:@"v"]) { + [NSApp sendAction:(NSSelectorFromString(@"paste:")) to:nil from:self]; + return TRUE; + } + + if ([[event charactersIgnoringModifiers] isEqualToString:@"c"]) { + [NSApp sendAction:(NSSelectorFromString(@"copy:")) to:nil from:self]; + return TRUE; + } + + if ([[event charactersIgnoringModifiers] isEqualToString:@"a"]) { + [NSApp sendAction:(NSSelectorFromString(@"selectAll:")) to:nil from:self]; + return TRUE; + } + } + } + + return [super performKeyEquivalent:event]; +} @end diff --git a/launchers/darwin/src/main.mm b/launchers/darwin/src/main.mm index cdcd66f963..0a8ad4cf4a 100644 --- a/launchers/darwin/src/main.mm +++ b/launchers/darwin/src/main.mm @@ -17,7 +17,7 @@ void redirectLogToDocuments() int main(int argc, const char* argv[]) { //NSApp.appearance = [NSAppearance appearanceNamed: NSAppearanceNameAqua]; - redirectLogToDocuments(); + //redirectLogToDocuments(); NSArray* apps = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.highfidelity.launcher"]; if ([apps count] > 1) { NSLog(@"launcher is already running"); @@ -41,5 +41,6 @@ int main(int argc, const char* argv[]) { [appMenu addItem:quitMenuItem]; [appMenuItem setSubmenu:appMenu]; + [[NSApplication sharedApplication] activateIgnoringOtherApps:TRUE]; return NSApplicationMain(argc, argv); }