|
| 1 | +// based off of https://github.com/atom/atom/blob/master/src/browser/application-menu.coffee |
| 2 | +// use js2.coffee to convert it to JS |
| 3 | + |
1 | 4 | var app = require('app');
|
2 | 5 | var BrowserWindow = require('browser-window');
|
3 | 6 | var Menu = require('menu');
|
@@ -180,51 +183,76 @@ function windowSubMenu() {
|
180 | 183 | }
|
181 | 184 |
|
182 | 185 | // menus
|
183 |
| -function darwinMenu(showShareSubMenu) { |
| 186 | +function darwinMenu(showConnectSubMenu, showShareSubMenu) { |
184 | 187 | var m = [
|
185 |
| - darwinCompassSubMenu(), |
186 |
| - connectSubMenu(), |
187 |
| - editSubMenu(), |
188 |
| - viewSubMenu(), |
189 |
| - windowSubMenu() |
| 188 | + darwinCompassSubMenu() |
190 | 189 | ];
|
| 190 | + |
| 191 | + if (showConnectSubMenu) { |
| 192 | + m.push(connectSubMenu()); |
| 193 | + } |
| 194 | + |
| 195 | + m.push(editSubMenu()); |
| 196 | + m.push(viewSubMenu()); |
| 197 | + |
191 | 198 | if (showShareSubMenu) {
|
192 |
| - m.splice(4, 0, shareSubMenu()); |
| 199 | + m.push(shareSubMenu()); |
193 | 200 | }
|
| 201 | + |
| 202 | + m.push(windowSubMenu()); |
| 203 | + |
194 | 204 | return m;
|
195 | 205 | }
|
196 | 206 |
|
197 |
| -function nonDarwinMenu(showShareSubMenu) { |
| 207 | +function nonDarwinMenu(showConnectSubMenu, showShareSubMenu) { |
198 | 208 | var m = [
|
199 |
| - nonDarwinCompassSubMenu(), |
200 |
| - connectSubMenu(), |
201 |
| - viewSubMenu() |
| 209 | + nonDarwinCompassSubMenu() |
202 | 210 | ];
|
| 211 | + |
| 212 | + if (showConnectSubMenu) { |
| 213 | + m.push(connectSubMenu()); |
| 214 | + } |
| 215 | + |
| 216 | + m.push(viewSubMenu()); |
| 217 | + |
203 | 218 | if (showShareSubMenu) {
|
204 | 219 | m.push(shareSubMenu());
|
205 | 220 | }
|
| 221 | + |
206 | 222 | return m;
|
207 | 223 | }
|
208 | 224 |
|
209 | 225 | // menu singleton
|
210 | 226 | var menu = (function() {
|
211 | 227 | return {
|
212 |
| - init: function() { |
| 228 | + load: function(showConnectSubMenu, showShareSubMenu) { |
| 229 | + if (typeof showConnectSubMenu === 'undefined') { |
| 230 | + showConnectSubMenu = true; |
| 231 | + } |
| 232 | + |
| 233 | + if (typeof showShareSubMenu === 'undefined') { |
| 234 | + showShareSubMenu = true; |
| 235 | + } |
| 236 | + |
213 | 237 | var m;
|
214 | 238 | if (process.platform === 'darwin') {
|
215 |
| - m = darwinMenu(); |
| 239 | + m = darwinMenu(showConnectSubMenu, showShareSubMenu); |
216 | 240 | } else {
|
217 |
| - m = nonDarwinMenu(); |
| 241 | + m = nonDarwinMenu(showConnectSubMenu, showShareSubMenu); |
218 | 242 | }
|
219 | 243 | m = Menu.buildFromTemplate(m);
|
220 | 244 | Menu.setApplicationMenu(m);
|
221 |
| - }, |
222 |
| - hideShareSubMenu: function() { |
223 |
| - |
224 |
| - }, |
225 |
| - showShareSubMenu: function() { |
226 |
| - |
227 | 245 | }
|
| 246 | + // hideShareSubMenu: function() { |
| 247 | + // this.load(false); |
| 248 | + // }, |
| 249 | + // hideConnectSubMenu: function() { |
| 250 | + // }, |
| 251 | + // showConnectSubMenu: function() { |
| 252 | + // }, |
| 253 | + // showShareSubMenu: function() { |
| 254 | + // this.load(true); |
| 255 | + // } |
228 | 256 | };
|
229 | 257 | }());
|
230 | 258 |
|
|
0 commit comments