win.on('minimize', function () { // hide window this.hide(); // configure tray tray = new gui.Tray({ icon: 'png/icon.png' }); tray.tooltip = 'symlinker'; var menu = new gui.Menu(); menu.append(new gui.MenuItem({ label: 'run all' })); menu.items[0].click = function () { alert('#todo'); } menu.append(new gui.MenuItem({ label: 'show symlinker' })); menu.items[1].click = function () { win.show(); win.focus(); tray.remove(); tray = null; } tray.menu = menu; tray.on('click', function () { win.show(); win.focus(); this.remove(); tray = null; }); });
_initContextMenu: function() { var editor = this; menu = new gui.Menu(); menu.append(new gui.MenuItem({ label: lang.menuLabel.copy, click: function() { clipboard.set(editor.getCopyText()); } })); menu.append(new gui.MenuItem({ label: lang.menuLabel.cut, click: function() { clipboard.set(editor.getCopyText()); editor.getSession().replace(editor.selection.getRange(), ""); } })); menu.append(new gui.MenuItem({ label: lang.menuLabel.paste, click: function() { editor.insert(clipboard.get()); } })); document.getElementById("na-editor").addEventListener('contextmenu', function(ev) { ev.preventDefault(); menu.popup(ev.x, ev.y); return false; }); },
init: function() { if (!gui) { return; } // Create an empty menu var menu = new gui.Menu(); var win = gui.Window.get(); menu.append(new gui.MenuItem({ label: 'Reload', icon: 'img/icon-uparrowgrey.16x16.gif', click: function() { win.reload(); } })); menu.append(new gui.MenuItem({ label: 'Developer Tools', icon: 'img/icon-uparrowgrey.16x16.gif', click: function() { win.showDevTools(); } })); // Popup as context menu document.body.addEventListener('contextmenu', function(ev) { ev.preventDefault(); // Popup at place you click menu.popup(ev.x, ev.y); return false; }, false); }
function Menu(cutLabel, copyLabel, pasteLabel) { var gui = require('nw.gui') , menu = new gui.Menu() , cut = new gui.MenuItem({ label: cutLabel || "Cut" , click: function() { document.execCommand("cut"); } }) , copy = new gui.MenuItem({ label: copyLabel || "Copy" , click: function() { document.execCommand("copy"); } }) , paste = new gui.MenuItem({ label: pasteLabel || "Paste" , click: function() { document.execCommand("paste"); } }) ; menu.append(cut); menu.append(copy); menu.append(paste); return menu; }
context_Menu: function (cutLabel, copyLabel, pasteLabel) { var gui = require('nw.gui'), menu = new gui.Menu(), cut = new gui.MenuItem({ label: cutLabel || 'Cut', click: function () { document.execCommand('cut'); } }), copy = new gui.MenuItem({ label: copyLabel || 'Copy', click: function () { document.execCommand('copy'); } }), paste = new gui.MenuItem({ label: pasteLabel || 'Paste', click: function () { var text = clipboard.get('text'); $('#searchbox').val(text); } }); menu.append(cut); menu.append(copy); menu.append(paste); return menu; },
function CreateMenus() { var nativeMenuBar = new gui.Menu({ type: "menubar" }); try { nativeMenuBar.createMacBuiltin("Crunch", { hideEdit: true, hideWindow: true }); } catch (ex) { //console.log(ex.message); } // TODO: context menu // tabMenu = createTabMenu(); var fileMenu = new gui.MenuItem({ label: 'File' , submenu: createFileMenu() }); var editMenu = new gui.MenuItem({ label: 'Edit' , submenu: createEditMenu() }); var helpMenu = new gui.MenuItem({ label: 'Help' , submenu: createHelpMenu() }); // var projectMenu = new gui.MenuItem({ // label: 'Project' // , submenu: createProjectMenu() // }); nativeMenuBar.append(fileMenu); nativeMenuBar.append(editMenu); nativeMenuBar.append(helpMenu); if(isPlatformMac) { var appMenu = nativeMenuBar.items[0].submenu; for(var i=appMenu.items.length; i >= 0; i--) { try { appMenu.removeAt(i); } catch(ex) {} } createAppMenu(nativeMenuBar.items[0].submenu); } win.menu = nativeMenuBar; // CONTEXT MENUS createProjectItemMenu(); createRefreshMenu(); }
function addDeveloperTools(win) { // Developer Menu building var menubar = new gui.Menu({ type: 'menubar' }), developerSubmenu = new gui.Menu(), developerItem = new gui.MenuItem({ label: 'Developer', submenu: developerSubmenu }), debugItem = new gui.MenuItem({ label: 'Show developer tools', click: function () { win.showDevTools(); } }); menubar.append(developerItem); developerSubmenu.append(debugItem); win.menu = menubar; // Developer Shortcuts win.window.document.addEventListener('keydown', function(event){ // F12 Opens DevTools if( event.keyCode == 123 ) { win.showDevTools(); } // F11 Reloads if( event.keyCode == 122 ) { win.reloadIgnoringCache(); } }); }
elements[0].addEventListener('contextmenu', function (event) { var self = this; var gui = require('nw.gui'); var menu = new gui.Menu(); for(var i=0;i<$rootScope.playlists.length;i++) { var current = $rootScope.playlists[i]; menu.append(new gui.MenuItem({ label : "Add to " + current.name, click : (function (current) { return function(){ $scope.addTrackToPlaylist(angular.element(event.srcElement.parentElement).data().$scope.track, current._id); } })(current) })); } menu.append(new gui.MenuItem({type : "separator"})); menu.append(new gui.MenuItem({ label : "Temp" })); menu.popup(event.clientX, event.clientY); });
function createEditMenu() { var editMenu = new gui.Menu(); //editMenu.addEventListener(air.Event.SELECT, selectCommandMenu); addMenuItem(editMenu, "Undo", Commands.undo, "z"); addMenuItem(editMenu, "Redo", Commands.redo, "y"); editMenu.append(new gui.MenuItem({ type: 'separator' })); addMenuItem(editMenu, "Select All", Commands.selectAll, "a"); addMenuItem(editMenu, "Cut", function() { document.execCommand("cut"); } , "x"); addMenuItem(editMenu, "Copy", function() { document.execCommand("copy"); }, "c"); addMenuItem(editMenu, "Paste", function() { document.execCommand("paste"); }, "v"); editMenu.append(new gui.MenuItem({ type: 'separator' })); addMenuItem(editMenu, "Find...", Commands.find, "f"); addMenuItem(editMenu, "Find Next...", Commands.findNext, isPlatformMac ? "k" : "f3"); addMenuItem(editMenu, "Find Previous...", Commands.findPrevious, isPlatformMac ? "k" : "f3", "-shift"); addMenuItem(editMenu, "Replace...", Commands.replace, "r"); editMenu.append(new gui.MenuItem({ type: 'separator' })); addMenuItem(editMenu, "Goto Line...", Commands.gotoLine, isPlatformMac ? "l" : "g"); //var preferencesCommand = editMenu.addItem(new air.NativeMenuItem("Preferences")); //preferencesCommand.addEventListener(air.Event.SELECT,selectCommand); return editMenu; }
function createRefreshMenu() { var menu = new gui.Menu(); menu.append(new gui.MenuItem({ label: "Refresh" , click: function() { try { Process.Watcher.send({ refreshPaths: true }, null, function(err) { Messages.add({ type: 'error' , schema: 'node' , obj: err.toString() }); }); Crunch.ua.exception({ exceptionDescription: 'process: Watcher -- ' + err.toString() , av: global.APP_VERSION }).send(); } catch(ex) { Crunch.ua.exception({ exceptionDescription: 'process: Watcher -- ' + ex.toString() , av: global.APP_VERSION }).send(); } } })); $(document).on("contextmenu", '.files .scrollable', function(e) { e.preventDefault(); menu.popup(e.originalEvent.x, e.originalEvent.y); }); }
var generateViewMenu = (function() { viewSubmenu.append(jambiMenu.view.viewProjects); viewSubmenu.append(new gui.MenuItem({ type: 'separator' })); viewSubmenu.append(jambiMenu.view.viewShowcase); viewSubmenu.append(new gui.MenuItem({ type: 'separator' })); viewSubmenu.append(jambiMenu.view.viewEditor); })();
menu: function(element, gui) { var menu = new gui.Menu(); var cut = new gui.MenuItem({ label: "Cut", click: function() { element.execCommand("cut"); } }); var copy = new gui.MenuItem({ label: "Copy", click: function() { element.execCommand("copy"); } }); var paste = new gui.MenuItem({ label: "Paste", click: function() { element.execCommand("paste"); } }); menu.append(cut); menu.append(copy); menu.append(paste); return menu; }
guiConfig.navBarUserUnAuthenticated = function() { if (process.platform !== "darwin") { return false; } var nativeMenuBar = new gui.Menu({ type: "menubar" }); var help = new gui.Menu(); nativeMenuBar.createMacBuiltin("Soundnode", { hideEdit: false, hideWindow: false }); // Help Menu nativeMenuBar.append( new gui.MenuItem({ label: 'Help', submenu: help }) ); // DevTools help.append( new gui.MenuItem({ label: 'Developer Tools', click: function() { guiConfig.openDevTools(); } }) ); this.getGUI.menu = nativeMenuBar; };
function initTray() { tray = new gui.Tray({ title: gui.App.manifest.name, icon: "img/tray.png" }); var menu = new gui.Menu(); var logout = new gui.MenuItem({ label: '注销' }); var exit = new gui.MenuItem({ label: '退出' }); menu.append(logout); menu.append(exit); tray.menu = menu; logout.on("click", doLogout); exit.on("click", quitApp); tray.on("click", function() { if (mainWindow) { mainWindow.show(); mainWindow.focus(); } }); }
function Menu(cutLabel, copyLabel, pasteLabel) { var gui = require('nw.gui') , menu = new gui.Menu() , cut = new gui.MenuItem({ label: cutLabel || "Cut" , click: function() { document.execCommand("cut"); console.log('Menu:', 'cutted to clipboard'); } }) , copy = new gui.MenuItem({ label: copyLabel || "Copy" , click: function() { document.execCommand("copy"); //console.log('Menu:', 'copied to clipboard'); } }) , paste = new gui.MenuItem({ label: pasteLabel || "Paste" , click: function() { document.execCommand("paste"); // console.log('Menu:', 'pasted to textarea'); } }) ; menu.append(cut); menu.append(copy); menu.append(paste); return menu; }
function initTray() { tray = new gui.Tray({ title: 'Tray', tooltip: 'just a test', icon: 'email.png' }); var menu = new gui.Menu(); menu.append(new gui.MenuItem({ type: 'normal', label: 'hide/show', click: function() { /* if (hidden) { win.show(); } else { win.hide(); }*/ win[hidden ? 'show' : 'hide'](); hidden = !hidden; } })); menu.append(new gui.MenuItem({ type: 'checkbox', label: 'log it' })); tray.menu = menu; }
// ***************************************************** // 右键菜单 // ***************************************************** function initContextMenu() { menu = new gui.Menu(); menu.append(new gui.MenuItem({ label: 'Copy', icon: 'imgs/copy.png', click: function() { clipboard.set(editor.getSelection()); } })); menu.append(new gui.MenuItem({ label: 'Cut', icon: 'imgs/cut.png', click: function() { clipboard.set(editor.getSelection()); editor.replaceSelection(''); } })); menu.append(new gui.MenuItem({ label: 'Paste', icon: 'imgs/paste.png', click: function() { editor.replaceSelection(clipboard.get()); } })); document.getElementById("editor").addEventListener('contextmenu', function(ev) { ev.preventDefault(); menu.popup(ev.x, ev.y); return false; }); }
function Menu(cutLabel, copyLabel, pasteLabel) { var gui = require('nw.gui'), menu = new gui.Menu(); var cut = new gui.MenuItem({label: cutLabel || 'Cut', click: function() { document.execCommand('cut'); console.log('Menu:', 'cutted to clipboard'); } }); var copy = new gui.MenuItem({label: copyLabel || 'Copy' , click: function() { document.execCommand('copy'); console.log('Menu:', 'copied to clipboard'); } }); var paste = new gui.MenuItem({label: pasteLabel || 'Paste', click: function() { document.execCommand('paste'); console.log('Menu:', 'pasted to textarea'); } }); menu.append(cut); menu.append(copy); menu.append(paste); return menu; }
ContextMenu.createMenu = function(menuArray) { var gui = require("nw.gui"); var menu = new gui.Menu(); for(var i = 0; i < menuArray.length; ++i) { var entry = menuArray[i]; var item; if(entry == "-") { item = new gui.MenuItem({type: "separator"}); } else { item = new gui.MenuItem( { label: entry.label, tooltip: entry.tooltip, type: entry.hasOwnProperty("checked") ? "checkbox" : "normal", checked: entry.checked, enabled: entry.hasOwnProperty("enabled") ? entry.enabled : true }); //add the callback separately in case it doesn't exist if(entry.callback) item.click = entry.callback; if(entry.submenu) { item.submenu = ContextMenu.createMenu(entry.submenu); } } menu.append(item); } return menu; };
function createFileMenu() { var fileMenu = new gui.Menu(); addMenuItem(fileMenu, "New", Commands.newFile, "n"); addMenuItem(fileMenu, "Open File...", Commands.openFile, "o"); addMenuItem(fileMenu, "Open Project...", Commands.openProject, "o", "-shift"); addMenuItem(fileMenu, "Close Tab", Commands.closeTab, "w"); fileMenu.append(new gui.MenuItem({ type: 'separator' })); addMenuItem(fileMenu, "Save", Commands.save, "s"); addMenuItem(fileMenu, "Save As...", Commands.saveAs, "s", "-shift"); fileMenu.append(new gui.MenuItem({ type: 'separator' })); addMenuItem(fileMenu, "Crunch!", Commands.crunch, String.fromCharCode(13)); fileMenu.append(new gui.MenuItem({ type: 'separator' })); if(!isPlatformMac) { addMenuItem(fileMenu, "Exit", gui.App.quit, "e"); } return fileMenu; }
function createMenu ($modal) { // Load native UI library var gui = require('nw.gui'); var menu = new gui.Menu({ type: 'menubar' }); var optionMenu = new gui.MenuItem({label: "选项"}); var optionSubMenu = new gui.Menu(); optionSubMenu.append(new gui.MenuItem({ label: '读取升级包' , click: function () { var instance = $modal.open( { templateUrl: 'partials/upgradetool.html', backdrop: false, keyboard: false, controller: function ($scope, $modalInstance, fileDialog, ProjectMgr) { $scope.zipFile = ""; $scope.status = { upgradeBtnEnable : false, msg: null }; $scope.setFiles = function () { fileDialog.openFile(function (d) { $scope.zipFile = d; try { var manifest = ProjectMgr.chtool.readUpgradeFileInfo($scope.zipFile); $scope.status.upgradeBtnEnable = true; $scope.status.msg = "升级包信息:" + manifest.from + ' => ' + manifest.to; } catch (e) { $scope.status.upgradeBtnEnable = false; $scope.status.msg = e.message; } $scope.$apply(); }) }; $scope.upgrade = function () { ProjectMgr.chtool.upgradeFromFile($scope.zipFile); $modalInstance.close(); } $scope.cancel = function () { $modalInstance.dismiss(); }; } }); instance.result.then( function () { gui.App.restart(); } ); } })); optionMenu.submenu = optionSubMenu; // Add some items menu.append(optionMenu); gui.Window.get().menu = menu; }
var viewMenu = function() { var menu = new gui.Menu(); menu.append(new gui.MenuItem({ label: 'Aspect ratio', submenu: aspectRatioSubmenu() })); return menu; };
var generateVCMenu = (function(){ vcSubmenu.append(jambiMenu.vc.vc); vcSubmenu.append(new gui.MenuItem({ type: 'separator' })); vcSubmenu.append(jambiMenu.vc.vcPull); vcSubmenu.append(jambiMenu.vc.vcCommit); vcSubmenu.append(jambiMenu.vc.vcPush); })();
ui.$pg.find("table").on('contextmenu.inbox', 'tr.msg .message', function (e) { e.preventDefault(); var isSentMessage = false , $row = $(e.currentTarget).parents('tr.msg') , id = $row.attr('data-msgid'); //msg.msgid var gui = require('nw.gui') , menu = new gui.Menu(); var searchItem = new gui.MenuItem({ label: 'Search web...' , click: function(e){ var text = window.getSelection().toString() , q = encodeURIComponent(text.replace(/&/g, "&")); //var url = 'https://encrypted.google.com/#q='+q; var url = 'https://ixquick.com/do/search?q='+q; ui.win(url); } }); var quoteItem = new gui.MenuItem({ label: 'Quote text in reply' , click: function(e){ var quote = window.getSelection().toString() , lines = quote.split('\n'); //quote the lines lines = _.map(lines, function(ln){ return '> ' + ln; }); quote = lines.join('\n'); this.showReply(id, quote); }.bind(this) }); var translateItem = new gui.MenuItem({ label: 'Translate...' , click: function(e){ var text = window.getSelection().toString() , q = encodeURIComponent(text.replace(/&/g, "&")); var url = 'https://translate.google.com/#auto/en/'+q; ui.win(url); } }); menu.append(searchItem); menu.append(quoteItem); menu.append(translateItem); menu.popup(e.clientX, e.clientY); }.bind(this));
element[0].addEventListener('contextmenu', function(e) { e.preventDefault(); var menu = new gui.Menu(); menuFunc(scope, {"$menu": menu}); menu.popup(e.x, e.y); });
// init window toolbar function initMenubar() { var subMenu, i; var menu = require('./menu.js'); var menuData = menu.data(); //console.log('menuData.file: ' + menuData.file); for (var sub in menuData) { if (!menuData.hasOwnProperty(sub)) { continue; } i = 0; //console.log(menuData[sub]); subMenu = new gui.Menu(); for (var opt in menuData[sub]) { if (!menuData[sub].hasOwnProperty(opt)) { continue; } subMenu.append(new gui.MenuItem(menuData[sub][opt])); if (sub == 'file' && opt == 'open') { subMenu.items[i].click = function() { var file = document.getElementById('file'); //console.log(file); file.click(); }; i++; continue; } if (sub == 'view' && opt == 'display') { subMenu.items[i].click = function() { var file = document.getElementById('open'); file.addEventListener('change', function(e) { var fs = require('fs'); console.log(this.value); fs.readFile(this.value, 'utf8', function(e, d) { console.log(d); var dom = document.getElementsByTagName('body')[0]; op.noopDomMsg(d, dom); }); }); var openFile = document.getElementById('open'); openFile.click(); }; i++; continue; } subMenu.items[i++].click = function() { var dom = document.getElementsByTagName('body')[0]; op.noopDomMsg(this.label, dom); //op.noopAlert(this.label); }; //console.log(subMenu.items[0]); } menubar.append(new gui.MenuItem({label: sub, submenu: subMenu})); } //console.log('reach end.'); win.menu = menubar; }
UI.initAppMenus = function() { var AddSeriesModal = require('./app/views/add_series_modal'); var gui = require('nw.gui'), win = gui.Window.get(), menubar = new gui.Menu({ type: 'menubar' }), file = new gui.Menu(), help = new gui.Menu(); file.append(new gui.MenuItem({ label: 'Add series...', click: function() { new AddSeriesModal(); } })); file.append(new gui.MenuItem({ label: 'Add series from folder...', click: function() { document.getElementById('select_directory').click(); } })); file.append(new gui.MenuItem({ label: 'Add publisher...' })); file.append(new gui.MenuItem({ label: 'Add story arc...' })); if (global.process.platform === 'darwin') { menubar.createMacBuiltin("Nuff Said"); win.menu = menubar; } window.menu = menubar; UI.menus = {}; UI.menus.file = file; UI.menus.help = help; if (global.process.platform === 'darwin') { menubar.insert(new gui.MenuItem({ label: 'File', submenu: file}), 1); } else { menubar.append(new gui.MenuItem({ label: 'File', submenu: file})); } menubar.append(new gui.MenuItem({ label: 'Help', submenu: help})); if (global.process.platform !== 'darwin') { win.menu = menubar; } };
/** * @file Fontmin App * @author Firede <*****@*****.**> */ /** * 初始化目录 * * Mac 下 Edit/Window 目录需要初始化,否则复制粘贴快捷键无法调起 */ function initMenu() { var gui = require('nw.gui'); var win = gui.Window.get(); var nativeMenuBar = new gui.Menu({ type: 'menubar' }); nativeMenuBar.createMacBuiltin('Fontmin'); win.menu = nativeMenuBar; }
function tray_init() { // Load native UI library var gui = require('nw.gui'); var win = gui.Window.get(); // Create a tray icon var tray = new gui.Tray({ // title: 'socks', icon: 'ui//img/icon.png' }); // Give it a menu var menu = new gui.Menu(); let toggle = new gui.MenuItem({ type: 'checkbox', label: 'proxy' }); if(server && server.isStart){ toggle.checked = true; toggle.lable = 'on' } toggle.click = function () { $('#onServer').click(); if(server && server.isStart){ this.lable = 'on'; }else{ this.lable = 'off'; } } menu.append(toggle); let showWinBtn = new gui.MenuItem({ type: 'normal', label: 'show window' }); showWinBtn.click = function () { win.show(); } menu.append(showWinBtn); let exitBtn = new gui.MenuItem({ type: 'normal', label: 'exit' }); exitBtn.click = function () { process.exit(0); }; menu.append(exitBtn); tray.menu = menu; // overload close event win.on('close', function() { this.hide(); }); }
document.addEventListener("DOMContentLoaded", function() { // Load library var gui = require("nw.gui"); // Reference to window var win = gui.Window.get(); // Create menu container var Menu = new gui.Menu({ type: "menubar" }); //initialize default mac menu Menu.createMacBuiltin("WebDGap"); // Get the root menu from the default mac menu var rootMenu = Menu.items[0].submenu; var windowMenu = Menu.items[2].submenu; windowMenu.insert( new gui.MenuItem({ type: "normal", label: "Toggle Fullscreen", key: "F", modifiers: "cmd", click : function () { win.toggleFullscreen(); } }) ); windowMenu.insert( new gui.MenuItem({ type: "normal", label: "Reload App", key: "r", modifiers: "cmd", click : function () { win.reload(); } }) ); // Append Menu to Window win.menu = Menu; rootMenu.removeAt(0); rootMenu.removeAt(0); // add the file menu to window/menu panel - menu win.menu.insert(new gui.MenuItem({ label: "File", submenu: file }), 1); // Remove Menu Items // editMenu.removeAt(8); });