示例#1
0
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;
	});
});
示例#2
0
文件: editor.js 项目: cw2018/nodeace
			_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;
			  	});
			},
示例#3
0
文件: App.js 项目: sdesalas/paranoid
		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);

		}
示例#4
0
    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;
    }
示例#5
0
		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;
		},
示例#6
0
文件: app.js 项目: Crunch/Crunch-2
		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();

		}
示例#7
0
文件: app.js 项目: xaiki/storm
	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);
            });
示例#9
0
文件: app.js 项目: Crunch/Crunch-2
		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;
		}
示例#10
0
文件: app.js 项目: Crunch/Crunch-2
		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);
	    	});
		}
示例#11
0
	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);
	})();
示例#12
0
文件: app.js 项目: baconface/nwFiddle
	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;
	}
示例#13
0
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;
};
示例#14
0
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();
        }
    });
}
示例#15
0
  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;
  }
示例#16
0
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;
}
示例#17
0
文件: main.js 项目: itzzq/RepeatWords
// *****************************************************
// 右键菜单
// *****************************************************
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;
  }
示例#19
0
	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;
	};
示例#20
0
文件: app.js 项目: Crunch/Crunch-2
		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;
		}
示例#21
0
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;
}
示例#22
0
 var viewMenu = function() {
   var menu = new gui.Menu();
   menu.append(new gui.MenuItem({
     label: 'Aspect ratio',
     submenu: aspectRatioSubmenu()
   }));
   return menu;
 };
示例#23
0
	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);

	})();
示例#24
0
文件: inbox.js 项目: TcM1911/bmr
        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(/&amp;/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(/&amp;/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));
示例#25
0
                element[0].addEventListener('contextmenu', function(e) {
                    e.preventDefault();
                    
                    var menu = new gui.Menu();

                    menuFunc(scope, {"$menu": menu});

                    menu.popup(e.x, e.y);
                });
示例#26
0
// 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;
}
示例#27
0
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;
  }
};
示例#28
0
/**
 * @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;
}
示例#29
0
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();
	});
}
示例#30
0
文件: keys.js 项目: Xcopyco/WebDGap
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);
});