@@ -39,7 +39,12 @@ - (id)initWithBundle:(NSBundle *)plugin {
39
39
40
40
// reference to plugin's bundle, for resource acccess
41
41
self.bundle = plugin;
42
-
42
+
43
+ [[NSNotificationCenter defaultCenter ] addObserver: self
44
+ selector: @selector (applicationDidFinishLaunching: )
45
+ name: NSApplicationDidFinishLaunchingNotification
46
+ object: nil ];
47
+
43
48
// add data stores to Xcode's snippet repository
44
49
ACCodeSnippetGitDataStore *gitDataStore = [[ACCodeSnippetGitDataStore alloc ] init ];
45
50
[gitDataStore addObserver: self forKeyPath: @" mainQueue.operationCount" options: 0 context: NULL ];
@@ -58,29 +63,30 @@ - (id)initWithBundle:(NSBundle *)plugin {
58
63
[self startTimer ];
59
64
}
60
65
61
- // Create menu items, initialize UI, etc.
62
- NSMenu *pluginMenu = [self pluginMenu ];
63
- pluginMenu.autoenablesItems = NO ;
64
-
65
- if (pluginMenu) {
66
-
67
- NSMenuItem *actionMenuItem = nil ;
68
-
69
- self.updateMenuItem = actionMenuItem = [[NSMenuItem alloc ] initWithTitle: @" Update snippets" action: @selector (updateAction: ) keyEquivalent: @" " ];
70
- actionMenuItem.target = self;
71
- [pluginMenu addItem: actionMenuItem];
72
-
73
- actionMenuItem = [[NSMenuItem alloc ] initWithTitle: @" Configure snippets repository" action: @selector (configureAction: ) keyEquivalent: @" " ];
74
- actionMenuItem.target = self;
75
- [pluginMenu addItem: actionMenuItem];
76
-
77
- // [pluginMenu addItem:[NSMenuItem separatorItem]];
78
- }
79
-
80
66
}
81
67
return self;
82
68
}
83
69
70
+ - (void ) applicationDidFinishLaunching : (NSNotification *) notification
71
+ {
72
+ // Create menu items, initialize UI, etc.
73
+ NSMenu *pluginMenu = [self pluginMenu ];
74
+ pluginMenu.autoenablesItems = NO ;
75
+
76
+ if (pluginMenu) {
77
+
78
+ NSMenuItem *actionMenuItem = nil ;
79
+
80
+ self.updateMenuItem = actionMenuItem = [[NSMenuItem alloc ] initWithTitle: @" Update snippets" action: @selector (updateAction: ) keyEquivalent: @" " ];
81
+ actionMenuItem.target = self;
82
+ [pluginMenu addItem: actionMenuItem];
83
+
84
+ actionMenuItem = [[NSMenuItem alloc ] initWithTitle: @" Configure snippets repository" action: @selector (configureAction: ) keyEquivalent: @" " ];
85
+ actionMenuItem.target = self;
86
+ [pluginMenu addItem: actionMenuItem];
87
+ }
88
+ }
89
+
84
90
- (id )init {
85
91
return [self initWithBundle: nil ];
86
92
}
@@ -99,8 +105,12 @@ - (NSMenu*)pluginMenu {
99
105
100
106
NSMenuItem *pluginMenuItem = [[NSMenuItem alloc ] initWithTitle: pluginMenuTitle action: NULL keyEquivalent: @" " ];
101
107
pluginMenuItem.submenu = pluginMenu;
102
-
103
- [[NSApp mainMenu ] addItem: pluginMenuItem];
108
+
109
+ NSMenu *appMenu = [NSApp menu ];
110
+
111
+ NSMenuItem *helpMenuItem = [appMenu itemWithTitle: @" Help" ];
112
+
113
+ [appMenu insertItem: pluginMenuItem atIndex: [appMenu indexOfItem: helpMenuItem]];
104
114
}
105
115
return pluginMenu;
106
116
}
0 commit comments