From d6a2db930405c20aa4ac6876d67172a2869c5de0 Mon Sep 17 00:00:00 2001 From: Ian Moore Date: Fri, 7 Aug 2015 14:33:15 -0400 Subject: Fixed toolbar --- panes/toolbar.html | 128 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 90 insertions(+), 38 deletions(-) diff --git a/panes/toolbar.html b/panes/toolbar.html index d0949a5..bdd9a7e 100644 --- a/panes/toolbar.html +++ b/panes/toolbar.html @@ -13,24 +13,23 @@ * from this toolbar */ var tButtons = [ - - /* All toolbar items need a 'name' property */ - vboxVMActions['new'], - $.extend({},vboxVMActions['settings'],{click: function(){ - var vm = vboxChooser.getSingleSelected(); - if(!vm || vboxVMStates.isRunning(vm) || vboxVMStates.isPaused(vm)) return; - vboxVMActions['settings'].click(); - - }}), - vboxVMActions['start'], - { - name: 'stop', - icon: 'vm_poweroff', - label: 'Stop', - language_context: 'VBoxSelectorWnd', - enabled: vboxVMActions['stop'].enabled, - click : function() {return;} - } + + vboxVMActions['new'], + $.extend({},vboxVMActions['settings'],{click: function(){ + var vm = vboxChooser.getSingleSelected(); + if(!vm || vboxVMStates.isRunning(vm) || vboxVMStates.isPaused(vm)) return; + vboxVMActions['settings'].click(); + + }}), + vboxVMActions['start'], + { + name: 'stop', + icon: 'vm_poweroff', + label: 'Stop', + language_context: 'VBoxSelectorWnd', + enabled: vboxVMActions['stop'].enabled, + click : function() {return;} + } ]; /* Append Top Toolbar */ @@ -43,36 +42,89 @@ var stopMenuItems = [ vboxVMActions['reset'], ]; for(var i = 0; i < vboxVMActions.stop_actions.length; i++) { - var n = vboxVMActions.stop_actions[i]; - if(i==0) n.separator = true; - stopMenuItems[stopMenuItems.length] = n; + var n = $.extend({}, vboxVMActions[vboxVMActions.stop_actions[i]]); + if(i==0) n.separator = true; + stopMenuItems[stopMenuItems.length] = n; } stopMenu = new vboxMenu({name: 'stopContextMenu', menuItems: stopMenuItems, language_context: 'UIActionPool'}); vboxChooserToolbarTop.getButtonElement('stop').contextMenu({ - menu: stopMenu.menuId(), - button: 0, - mode: 'menu' - },function(a, el, pos) { - vboxVMActions[a].click(); - } + menu: stopMenu.menuId(), + button: 0, + mode: 'menu' + },function(a, el, pos) { + for(var i in vboxVMActions) { + if(typeof i == 'string' && vboxVMActions[i].name == a) { + vboxVMActions[i].click(); + return; + } + } + } ); - /* 'Settings' menu items / actions */ -var vboxChooserSettingsMenu = new vboxMenu({name: 'vboxVMSettingsMenu', menuItems: [ - vboxVMActions['settings'], - {name: 'storage', icon: 'hd'}, - {name: 'usb', icon: 'usb', label: 'USB Devices', language_context: 'UIActionPool'}, - {name: 'network', icon: 'nw', label: 'Network Adapters...', language_context: 'UIActionPool'}, - {name: 'sharedfolders', icon: 'sf', label: 'Shared Folders...'}, - {name: 'remotedisplay', icon: 'vrdp', label: 'Enable Remote Display', separator: true}, - $.extend({}, vboxVMActions['guestAdditionsInstall'], {separator: true}), -], language_context: 'UIActionPool'}); +var vboxChooserSettingsMenu = { + + 'settings' : { + 'label' : vboxVMActions['settings'].label, + 'icon' : vboxVMActions['settings'].icon + }, + 'storage' : { + 'icon' : 'hd' + }, + 'USB' : { + 'label' : 'USB Devices', + 'icon' : 'usb' + }, + 'Network' : { + 'label' : 'Network Adapters...', + 'icon' : 'nw' + }, + 'SharedFolders' : { + 'label' : 'Shared Folders...', + 'icon' : 'sf' + }, + 'RemoteDisplay' : { + 'label' : 'Enable Remote Display', + 'icon' : 'vrdp', + 'separator' : true + }, + 'GuestAdditions' : { + 'label' : vboxVMActions['guestAdditionsInstall'].label, + 'icon' : vboxVMActions['guestAdditionsInstall'].icon, + 'separator' : true + } + +}; + + +/* 'Settings' menu */ +var ul = $('