Build application menu with the new menu API in default app.

This commit is contained in:
Cheng Zhao 2013-05-16 20:29:13 +08:00
parent 4984f30e48
commit c5884bf273

View file

@ -2,6 +2,7 @@ var app = require('app');
var delegate = require('atom_delegate'); var delegate = require('atom_delegate');
var ipc = require('ipc'); var ipc = require('ipc');
var Menu = require('menu'); var Menu = require('menu');
var MenuItem = require('menu_item');
var BrowserWindow = require('browser_window'); var BrowserWindow = require('browser_window');
var mainWindow = null; var mainWindow = null;
@ -28,19 +29,41 @@ delegate.browserMainParts.preMainMessageLoopRun = function() {
}); });
menu = new Menu; menu = new Menu;
menu.appendItem(0, 'Open GitHub');
menu.delegate = { var appleMenu = new Menu;
getAcceleratorForCommandId: function(commandId) { appleMenu.append(new MenuItem({
if (commandId == 0) label: 'About Atom Shell',
return 'Ctrl+g'; click: function() {
Menu.sendActionToFirstResponder('orderFrontStandardAboutPanel:');
} }
}));
appleMenu.append(new MenuItem({ type: 'separator' }));
appleMenu.append(new MenuItem({
label: 'Hide Atom Shell',
accelerator: 'Command+H',
click: function() {
Menu.sendActionToFirstResponder('hide:');
} }
}));
appleMenu.append(new MenuItem({
label: 'Hide Others',
accelerator: 'Command+Shift+H',
click: function() {
Menu.sendActionToFirstResponder('hideOtherApplications:');
}
}));
appleMenu.append(new MenuItem({ type: 'separator' }));
appleMenu.append(new MenuItem({
label: 'Quit',
accelerator: 'Command+Q',
click: function() {
app.quit();
}
}));
menu.on('execute', function(commandId) { menu.append(new MenuItem({ type: 'submenu', submenu: appleMenu }));
if (commandId == 0)
mainWindow.loadUrl('https://github.com'); Menu.setApplicationMenu(menu);
});
ipc.on('message', function(processId, routingId, type) { ipc.on('message', function(processId, routingId, type) {
if (type == 'menu') if (type == 'menu')