|
26 | 26 | #import "AsynchronousAdapterOperation.h" |
27 | 27 | #import "FileWritingAsynchronousAdapterDelegate.h" |
28 | 28 | #import "ContentAdapter.h" |
29 | | - |
30 | 29 | #import "ContentUploadAdapter.h" |
31 | 30 | #import "FileAttributesUpdatingAsynchronAdapterDelegate.h" |
| 31 | +#import "UserSettings.h" |
| 32 | + |
| 33 | +//@interface AppDelegate(Private) |
| 34 | +//- (void) setStatusMenuItem; |
| 35 | +//@end |
32 | 36 |
|
33 | 37 | @implementation AppDelegate |
34 | 38 | @synthesize window = _window; |
35 | 39 |
|
36 | | -- (void)setupDefaultSettings { |
| 40 | +- (void)setupDefaultSettings |
| 41 | +{ |
37 | 42 | NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary]; |
38 | 43 |
|
| 44 | + // Default sync location |
39 | 45 | NSString *defaultLocalFolder = [@"~/Ubuntu One" stringByExpandingTildeInPath]; |
40 | 46 | [defaultValues setObject:defaultLocalFolder forKey:kLocalFolder]; |
41 | 47 |
|
| 48 | + // Default menu icon color |
| 49 | + [defaultValues setObject:[NSNumber numberWithBool:YES] forKey:kMenuIconColored]; |
| 50 | + |
| 51 | + // Set defaults |
42 | 52 | [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues]; |
43 | 53 | } |
44 | 54 |
|
45 | | -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { |
| 55 | +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification |
| 56 | +{ |
46 | 57 | [self setupDefaultSettings]; |
47 | 58 | } |
| 59 | + |
| 60 | +- (NSStatusItem*)statusMenuItem |
| 61 | +{ |
| 62 | + if (!statusMenuItem) { |
| 63 | + statusMenuItem = [NSStatusBar.systemStatusBar statusItemWithLength:NSSquareStatusItemLength]; |
| 64 | + statusMenuItem.highlightMode = YES; |
| 65 | + |
| 66 | + NSString* imageName = [UserSettings colorMenuIconSwitch] ? kColorMenuIconName : kBlackMenuIconName; |
| 67 | + [self setStatusMenuItemIcon:imageName]; |
| 68 | + } |
| 69 | + |
| 70 | + return statusMenuItem; |
| 71 | +} |
| 72 | + |
| 73 | +- (void)setStatusMenuItemIcon:(NSString*)imageName |
| 74 | +{ |
| 75 | + NSStatusBar* systemStatusBar = NSStatusBar.systemStatusBar; |
| 76 | + NSImage* menuImage = [[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForImageResource:imageName]]; |
| 77 | + menuImage.scalesWhenResized = YES; |
| 78 | + menuImage.size = NSMakeSize(systemStatusBar.thickness - 1, systemStatusBar.thickness - 1); |
| 79 | + statusMenuItem.image = menuImage; |
| 80 | +} |
| 81 | + |
48 | 82 | @end |
0 commit comments