From 19e9126279e6973354396ac28d0c9ad4f3093eab Mon Sep 17 00:00:00 2001 From: phasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4> Date: Tue, 19 Apr 2011 15:52:49 +0000 Subject: [PATCH] Menu Hotkeys and Toolbars Dynamic Hotkey sets New cataloging toolbar New updates to circ toolbar New menu items and updates to menus in admin menu area Toolbar/hotkey settings can be saved to workstation prefs from admin -> workstation administration Update org unit setting for button_bar to be a string, circ or cat by default to pick those two toolbars Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com> git-svn-id: svn://svn.open-ils.org/ILS/trunk@20207 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 7 +- Open-ILS/src/sql/Pg/upgrade/XXXX.client_menus.sql | 14 + Open-ILS/web/opac/locale/en-US/lang.dtd | 35 ++- .../staff_client/chrome/content/auth/controller.js | 2 + .../xul/staff_client/chrome/content/main/main.js | 64 ++++ .../xul/staff_client/chrome/content/main/menu.js | 333 ++++++++++++++++++++- .../chrome/content/main/menu_frame_menus.xul | 156 ++++++---- .../chrome/content/main/menu_frame_overlay.xul | 139 +++++++-- .../xul/staff_client/chrome/content/util/file.js | 4 + .../staff_client/chrome/content/util/network.js | 1 + .../chrome/locale/en-US/offline.properties | 2 + Open-ILS/xul/staff_client/chrome/skin/global.css | 62 ++++ .../chrome/skin/hotkeys/Default.keyset | 20 ++ .../chrome/skin/hotkeys/Minimal.keyset | 7 + .../staff_client/chrome/skin/hotkeys/None.keyset | 1 + .../xul/staff_client/chrome/skin/hotkeys/README | 33 ++ .../media/images/Arrow-rightup-small_toolbar.png | Bin 0 -> 7475 bytes .../skin/media/images/HILLBLU_famiglia_toolbar.png | Bin 0 -> 6888 bytes .../skin/media/images/HILLBLU_indici_toolbar.png | Bin 0 -> 6813 bytes .../skin/media/images/HILLBLU_lente_toolbar.png | Bin 0 -> 6876 bytes .../skin/media/images/HILLBLU_libro_toolbar.png | Bin 0 -> 6581 bytes .../skin/media/images/Search_Items_toolbar.png | Bin 0 -> 7646 bytes .../chrome/skin/media/images/center_toolbar.png | Bin 0 -> 7998 bytes .../skin/media/images/hotkeys_disable_toolbar.png | Bin 0 -> 9011 bytes .../chrome/skin/media/images/licenses.txt | 25 +- .../xul/staff_client/defaults/preferences/prefs.js | 8 + 26 files changed, 807 insertions(+), 106 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.client_menus.sql create mode 100644 Open-ILS/xul/staff_client/chrome/skin/hotkeys/Default.keyset create mode 100644 Open-ILS/xul/staff_client/chrome/skin/hotkeys/Minimal.keyset create mode 100644 Open-ILS/xul/staff_client/chrome/skin/hotkeys/None.keyset create mode 100644 Open-ILS/xul/staff_client/chrome/skin/hotkeys/README create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/Arrow-rightup-small_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_famiglia_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_indici_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_lente_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_libro_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/Search_Items_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/center_toolbar.png create mode 100644 Open-ILS/xul/staff_client/chrome/skin/media/images/hotkeys_disable_toolbar.png diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 4aeecccf3d..c60998f00f 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -1885,7 +1885,12 @@ INSERT into config.org_unit_setting_type ( 'ui.general.button_bar', oils_i18n_gettext('ui.general.button_bar', 'Button bar', 'coust', 'label'), oils_i18n_gettext('ui.general.button_bar', 'Button bar', 'coust', 'description'), - 'bool'), + 'string'), + +( 'ui.general.hotkeyset', + oils_i18n_gettext('ui.general.hotkeyset', 'Default Hotkeyset', 'coust', 'label'), + oils_i18n_gettext('ui.general.hotkeyset', 'Default Hotkeyset for clients (filename without the .keyset)', 'coust', 'description'), + 'string'), ( 'circ.hold_shelf_status_delay', oils_i18n_gettext('circ.hold_shelf_status_delay', 'Hold Shelf Status Delay', 'coust', 'label'), diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.client_menus.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.client_menus.sql new file mode 100644 index 0000000000..fd642c15bf --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.client_menus.sql @@ -0,0 +1,14 @@ +BEGIN; + +INSERT INTO config.upgrade_log (version) VALUES ('XXXX'); + +UPDATE config.org_unit_setting_type SET datatype = 'string' WHERE name = 'ui.general.button_bar'; + +INSERT INTO config.org_unit_setting_type ( name, label, description, datatype) VALUES ('ui.general.hotkeyset', 'Default Hotkeyset', 'Default Hotkeyset for clients (filename without the .keyset)', 'string'); + +UPDATE actor.org_unit_setting SET value='"circ"' WHERE name = 'ui.general.button_bar' AND value='true'; + +UPDATE actor.org_unit_setting SET value='"none"' WHERE name = 'ui.general.button_bar' AND value='false'; + +COMMIT; + diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index ef4c6cc567..fb7e927321 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -660,6 +660,9 @@ <!ENTITY staff.main.auth.status "Status"> <!ENTITY staff.main.auth.version "Version"> <!ENTITY staff.main.auth.workstation "Workstation"> +<!ENTITY staff.main.button_bar.none "None"> +<!ENTITY staff.main.button_bar.circ "Circulation"> +<!ENTITY staff.main.button_bar.cat "Cataloging"> <!ENTITY staff.main.button_bar.check_out.label "Check Out"> <!ENTITY staff.main.button_bar.check_out.accesskey ""> <!ENTITY staff.main.button_bar.check_in.label "Check In"> @@ -672,6 +675,10 @@ <!ENTITY staff.main.button_bar.patron_search.accesskey ""> <!ENTITY staff.main.button_bar.patron_registration.label "Patron Registration"> <!ENTITY staff.main.button_bar.patron_registration.accesskey ""> +<!ENTITY staff.main.button_bar.hotkeys_toggle "Toggle Hotkeys"> +<!ENTITY staff.main.button_bar.create_marc "Create Marc Record"> +<!ENTITY staff.main.button_bar.authority_manage "Manage Authorities"> +<!ENTITY staff.main.button_bar.retrieve_last_record "Retrieve Last Record"> <!ENTITY staff.main.menu.acquisitions.accesskey "q"> <!ENTITY staff.main.menu.acquisitions.label "Acquisitions"> <!ENTITY staff.main.menu.admin.accesskey "-"> @@ -805,6 +812,32 @@ <!ENTITY staff.main.menu.admin.label "Admin"> <!ENTITY staff.main.menu.admin.local_admin.accesskey "L"> <!ENTITY staff.main.menu.admin.local_admin.label "Local Administration"> +<!ENTITY staff.main.menu.admin.client.label "Workstation Administration"> +<!ENTITY staff.main.menu.admin.client.accesskey "W"> +<!ENTITY staff.main.menu.admin.client.hotkeys "Hotkeys"> +<!ENTITY staff.main.menu.admin.client.hotkeys.current "Current"> +<!ENTITY staff.main.menu.admin.client.hotkeys.toggle.label "Disable Hotkeys"> +<!ENTITY staff.main.menu.admin.client.hotkeys.toggle.accesskey "D"> +<!ENTITY staff.main.menu.admin.client.hotkeys.setworkstation.label "Set Workstation Default to Current"> +<!ENTITY staff.main.menu.admin.client.hotkeys.setworkstation.accesskey ""> +<!ENTITY staff.main.menu.admin.client.hotkeys.clearworkstation.label "Clear Workstation Default"> +<!ENTITY staff.main.menu.admin.client.hotkeys.clearworkstation.accesskey ""> +<!ENTITY staff.main.menu.admin.client.toolbars "Toolbars"> +<!ENTITY staff.main.menu.admin.client.toolbars.current "Current"> +<!ENTITY staff.main.menu.admin.client.toolbars.setworkstation.label "Set Workstation Default to Current"> +<!ENTITY staff.main.menu.admin.client.toolbars.setworkstation.accesskey ""> +<!ENTITY staff.main.menu.admin.client.toolbars.clearworkstation.label "Clear Workstation Default"> +<!ENTITY staff.main.menu.admin.client.toolbars.clearworkstation.accesskey ""> +<!ENTITY staff.main.menu.admin.client.toolbars.size "Icon Size"> +<!ENTITY staff.main.menu.admin.client.toolbars.size.large "Large"> +<!ENTITY staff.main.menu.admin.client.toolbars.size.small "Small"> +<!ENTITY staff.main.menu.admin.client.toolbars.mode "Mode"> +<!ENTITY staff.main.menu.admin.client.toolbars.mode.both "Icons and Labels"> +<!ENTITY staff.main.menu.admin.client.toolbars.mode.icons "Icons Only"> +<!ENTITY staff.main.menu.admin.client.toolbars.mode.text "Labels Only"> +<!ENTITY staff.main.menu.admin.client.toolbars.label_position "Label Position"> +<!ENTITY staff.main.menu.admin.client.toolbars.label_position.side "Next to icons"> +<!ENTITY staff.main.menu.admin.client.toolbars.label_position.under "Under icons"> <!ENTITY staff.main.menu.admin.non_cat_type_edit.accesskey "n"> <!ENTITY staff.main.menu.admin.non_cat_type_edit.label "Non-Cataloged Type Editor"> <!ENTITY staff.main.menu.admin.offline_xacts.accesskey "T"> @@ -827,8 +860,6 @@ <!ENTITY staff.main.menu.admin.xuleditor.label "XUL Test"> <!ENTITY staff.main.menu.admin.venkman.label "Venkman"> <!ENTITY staff.main.menu.admin.ping "Ping Server"> -<!ENTITY staff.main.menu.admin.toggle_buttonbar.accesskey "B"> -<!ENTITY staff.main.menu.admin.toggle_buttonbar.label "Toggle Button Bar"> <!ENTITY staff.main.menu.admin.toggle_meters.accesskey "M"> <!ENTITY staff.main.menu.admin.toggle_meters.label "Toggle Activity Meters"> <!ENTITY staff.main.menu.cat.accesskey "g"> diff --git a/Open-ILS/xul/staff_client/chrome/content/auth/controller.js b/Open-ILS/xul/staff_client/chrome/content/auth/controller.js index 51a0ad2720..2b3a14a458 100644 --- a/Open-ILS/xul/staff_client/chrome/content/auth/controller.js +++ b/Open-ILS/xul/staff_client/chrome/content/auth/controller.js @@ -549,7 +549,9 @@ auth.controller.prototype = { this.session.close(); this.data.menu_perms = false; + this.data.current_hotkeyset = undefined; this.data.stash('menu_perms'); + this.data.stash('current_hotkeyset'); /* FIXME - need some locking or object destruction for the async tests */ /* this.test_server( this.controller.view.server_prompt.value ); */ diff --git a/Open-ILS/xul/staff_client/chrome/content/main/main.js b/Open-ILS/xul/staff_client/chrome/content/main/main.js index 9aec40a9e4..f13cbfe633 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/main.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/main.js @@ -220,6 +220,70 @@ function get_menu_perms(indocument) { return false; } +// Returns a list (cached or from filesystem) of hotkey sets +function load_hotkey_sets() { + if(typeof(load_hotkey_sets.set_list) == 'undefined') { + load_hotkey_sets.set_list = []; + JSAN.use('util.file'); + var file = new util.file(); + var dirEntries = file.get('hotkeys','skin').directoryEntries; + while(dirEntries.hasMoreElements()) { + var entry = dirEntries.getNext(); + entry.QueryInterface(Components.interfaces.nsIFile); + if(!entry.isFile()) continue; + if(!entry.leafName.match(/.+\.keyset$/)) continue; + var keysetname = entry.leafName.replace(/\.keyset$/,''); + load_hotkey_sets.set_list.push(keysetname); + } + file.close(); + } + return load_hotkey_sets.set_list; +} + +// Returns an array (cached or from filesystem) for a given hotkey set +function get_hotkey_array(keyset_name) { + if(typeof(get_hotkey_array.keyset_cache) == 'undefined') { + get_hotkey_array.keyset_cache = {}; + } + if(get_hotkey_array.keyset_cache[keyset_name]) + return get_hotkey_array.keyset_cache[keyset_name]; + JSAN.use('util.file'); + var file = new util.file(); + var keyset_raw; + try { + var keyset_file = file.get('hotkeys','skin'); + keyset_file.append(keyset_name + ".keyset"); + keyset_raw = file.get_content(); + file.close(); + var tempArray = []; + + var keyset_lines = keyset_raw.trim().split("\n"); + for(var line = 0; line < keyset_lines.length; line++) { + // Grab line, strip comments, strip leading/trailing whitespace + var curline = keyset_lines[line].replace(/\s*#.*$/,'').trim(); + if(curline == "") continue; // Skip empty lines + // Split into pieces + var split_line = curline.split(','); + // We need at least 3 elements. Command, modifiers, keycode. + if(split_line.length < 3) continue; + // Trim each segment + split_line[0] = split_line[0].trim(); + split_line[1] = split_line[1].trim(); + split_line[2] = split_line[2].trim(); + if(split_line.length > 3) + split_line[3] = split_line[3].trim(); + // Skip empty commands + if(split_line[0] == "") continue; + // Push to array + tempArray.push(split_line); + } + get_hotkey_array.keyset_cache[keyset_name] = tempArray; + return tempArray; + } catch(E) { // Something went wrong. + return false; + } +} + function main_init() { dump('entering main_init()\n'); try { diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index b8b9f8a940..ba8a97d3be 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -33,6 +33,11 @@ main.menu.prototype = { 'id_incr' : 0, + 'toolbar' : 'none', + 'toolbar_size' : 'large', + 'toolbar_mode' : 'both', + 'toolbar_labelpos' : 'side', + 'url_prefix' : function(url) { if (url.match(/^\//)) url = urls.remote + url; if (! url.match(/^(http|chrome):\/\//) && ! url.match(/^data:/) ) url = 'http://' + url; @@ -55,10 +60,72 @@ main.menu.prototype = { eval( r.responseText ); } - var button_bar = String( obj.data.hash.aous['ui.general.button_bar'] ) == 'true'; + // Try workstation pref for button bar + var button_bar = xulG.pref.getCharPref('open-ils.menu.toolbar'); + + if (!button_bar) // No workstation pref? Try org unit pref. + button_bar = String( obj.data.hash.aous['ui.general.button_bar'] ); + if (button_bar) { - var x = document.getElementById('main_toolbar'); + var x = document.getElementById('toolbar_' + button_bar); if (x) x.setAttribute('hidden','false'); + this.toolbar = button_bar; + } + + // Check for alternate Size pref + var toolbar_size = xulG.pref.getCharPref('open-ils.menu.toolbar.iconsize'); + if(toolbar_size) this.toolbar_size = toolbar_size; + // Check for alternate Mode pref + var toolbar_mode = xulG.pref.getCharPref('open-ils.menu.toolbar.mode'); + if(toolbar_mode) this.toolbar_mode = toolbar_mode; + // Check for alternate Label Position pref + var toolbar_labelpos = xulG.pref.getBoolPref('open-ils.menu.toolbar.labelbelow'); + if(toolbar_labelpos) this.toolbar_labelpos = toolbar_labelpos; + + if(button_bar || toolbar_size || toolbar_mode || toolbar_labelpos) { + var toolbox = document.getElementById('main_toolbox'); + var toolbars = toolbox.getElementsByTagName('toolbar'); + for(var i = 0; i < toolbars.length; i++) { + if(toolbars[i].id == 'toolbar_' + button_bar) + toolbars[i].setAttribute('hidden', 'false'); + else + toolbars[i].setAttribute('hidden', 'true'); + if(toolbar_mode) toolbars[i].setAttribute('mode', toolbar_mode); + if(toolbar_size) toolbars[i].setAttribute('iconsize', toolbar_size); + if(toolbar_labelpos) addCSSClass(toolbars[i], 'labelbelow'); + } + } + + if(button_bar) { + var x = document.getElementById('main.menu.admin.client.toolbars.current.popup'); + if (x) { + var selectitems = x.getElementsByAttribute('value',button_bar); + if(selectitems.length > 0) selectitems[0].setAttribute('checked','true'); + } + } + + if(toolbar_size) { + var x = document.getElementById('main.menu.admin.client.toolbars.size.popup'); + if (x) { + var selectitems = x.getElementsByAttribute('value',toolbar_size); + if(selectitems.length > 0) selectitems[0].setAttribute('checked','true'); + } + } + + if(toolbar_mode) { + var x = document.getElementById('main.menu.admin.client.toolbars.mode.popup'); + if (x) { + var selectitems = x.getElementsByAttribute('value',toolbar_mode); + if(selectitems.length > 0) selectitems[0].setAttribute('checked','true'); + } + } + + if(toolbar_labelpos) { + var x = document.getElementById('main.menu.admin.client.toolbars.label_position.popup'); + if (x) { + var selectitems = x.getElementsByAttribute('value',"under"); + if(selectitems.length > 0) selectitems[0].setAttribute('checked','true'); + } } var network_meter = String( obj.data.hash.aous['ui.network.progress_meter'] ) == 'true'; @@ -71,7 +138,26 @@ main.menu.prototype = { var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]. getService(Components.interfaces.nsIWindowMediator); - wm.getMostRecentWindow('eg_main').get_menu_perms(document); + var mainwin = wm.getMostRecentWindow('eg_main'); + mainwin.get_menu_perms(document); + var hotkeysets = mainwin.load_hotkey_sets(); + + var popupmenu = document.getElementById('main.menu.admin.client.hotkeys.current.popup'); + + for(var i = 0; i < hotkeysets.length; i++) { + var keysetname = hotkeysets[i]; + var menuitem = document.createElement('menuitem'); + if(offlineStrings.testString('hotkey.' + keysetname)) + menuitem.setAttribute('label',offlineStrings.getString('hotkey.' + keysetname)); + else + menuitem.setAttribute('label',keysetname); + menuitem.setAttribute('value',keysetname); + menuitem.setAttribute('type','radio'); + menuitem.setAttribute('name','menu_hotkey_current'); + menuitem.setAttribute('command','cmd_hotkeys_set'); + popupmenu.appendChild(menuitem); + } + JSAN.use('util.network'); var network = new util.network(); network.set_user_status(); @@ -535,14 +621,6 @@ main.menu.prototype = { } ], - 'cmd_toggle_buttonbar' : [ - ['oncommand'], - function() { - var x = document.getElementById('main_toolbar'); - if (x) x.hidden = ! x.hidden; - } - ], - 'cmd_toggle_meters' : [ ['oncommand'], function() { @@ -1325,6 +1403,112 @@ main.menu.prototype = { } } ], + 'cmd_hotkeys_toggle' : [ + ['oncommand'], + function() { + // Easy enough, toggle disabled on the keyset + var keyset = document.getElementById("menu_frame_keys"); + var disabled = (keyset.getAttribute("disabled") == "true") ? "false" : "true"; + keyset.setAttribute("disabled", disabled); + // Then find every menuitem/toolbarbutton for this command for a graphical hint + var controls = document.getElementsByAttribute("command","cmd_hotkeys_toggle"); + for(var i = 0; i < controls.length; i++) + controls[i].setAttribute("checked",disabled); + } + ], + 'cmd_hotkeys_set' : [ + ['oncommand'], + function(event) { + obj.set_menu_hotkeys(event.explicitOriginalTarget.getAttribute('value')); + } + ], + 'cmd_hotkeys_setworkstation' : [ + ['oncommand'], + function() { + xulG.pref.setCharPref('open-ils.menu.hotkeyset', obj.data.current_hotkeyset); + } + ], + 'cmd_hotkeys_clearworkstation' : [ + ['oncommand'], + function() { + if(xulG.pref.prefHasUserValue('open-ils.menu.hotkeyset')) + xulG.pref.clearUserPref('open-ils.menu.hotkeyset'); + } + ], + 'cmd_toolbar_set' : [ + ['oncommand'], + function(event) { + var newToolbar = event.explicitOriginalTarget.getAttribute('value'); + var toolbox = document.getElementById('main_toolbox'); + var toolbars = toolbox.getElementsByTagName('toolbar'); + for(var i = 0; i < toolbars.length; i++) { + if(toolbars[i].id == 'toolbar_' + newToolbar) + toolbars[i].setAttribute('hidden', 'false'); + else + toolbars[i].setAttribute('hidden', 'true'); + } + obj.toolbar = newToolbar; + } + ], + 'cmd_toolbar_mode_set' : [ + ['oncommand'], + function(event) { + var newMode = event.explicitOriginalTarget.getAttribute('value'); + var toolbox = document.getElementById('main_toolbox'); + var toolbars = toolbox.getElementsByTagName('toolbar'); + for(var i = 0; i < toolbars.length; i++) + toolbars[i].setAttribute("mode",newMode); + obj.toolbar_mode = newMode; + } + ], + 'cmd_toolbar_size_set' : [ + ['oncommand'], + function(event) { + var newSize = event.explicitOriginalTarget.getAttribute('value'); + var toolbox = document.getElementById('main_toolbox'); + var toolbars = toolbox.getElementsByTagName('toolbar'); + for(var i = 0; i < toolbars.length; i++) + toolbars[i].setAttribute("iconsize",newSize); + obj.toolbar_size = newSize; + } + ], + 'cmd_toolbar_label_position_set' : [ + ['oncommand'], + function(event) { + var altPosition = (event.explicitOriginalTarget.getAttribute('value') == "under"); + var toolbox = document.getElementById('main_toolbox'); + var toolbars = toolbox.getElementsByTagName('toolbar'); + for(var i = 0; i < toolbars.length; i++) { + if(altPosition) + addCSSClass(toolbars[i], 'labelbelow'); + else + removeCSSClass(toolbars[i], 'labelbelow'); + } + obj.toolbar_labelpos = (altPosition ? "under" : "side"); + } + ], + 'cmd_toolbar_setworkstation' : [ + ['oncommand'], + function() { + xulG.pref.setCharPref('open-ils.menu.toolbar', obj.toolbar); + xulG.pref.setCharPref('open-ils.menu.toolbar.iconsize', obj.toolbar_size); + xulG.pref.setCharPref('open-ils.menu.toolbar.mode', obj.toolbar_mode); + xulG.pref.setBoolPref('open-ils.menu.toolbar.labelbelow', (obj.toolbar_labelpos == "under")); + } + ], + 'cmd_toolbar_clearworkstation' : [ + ['oncommand'], + function() { + if(xulG.pref.prefHasUserValue('open-ils.menu.toolbar')) + xulG.pref.clearUserPref('open-ils.menu.toolbar'); + if(xulG.pref.prefHasUserValue('open-ils.menu.toolbar.iconsize')) + xulG.pref.clearUserPref('open-ils.menu.toolbar.iconsize'); + if(xulG.pref.prefHasUserValue('open-ils.menu.toolbar.mode')) + xulG.pref.clearUserPref('open-ils.menu.toolbar.mode'); + if(xulG.pref.prefHasUserValue('open-ils.menu.toolbar.labelbelow')) + xulG.pref.clearUserPref('open-ils.menu.toolbar.labelbelow'); + } + ], }; JSAN.use('util.controller'); @@ -1411,17 +1595,20 @@ main.menu.prototype = { 'command_tab' : function(event,url,params,content_params) { var newTab = false; - if(event && event.explicitOriginalTarget.nodeName == 'toolbarbutton' && event.explicitOriginalTarget.command == event.originalTarget.id) { + var myEvent = event; + if(event && event.sourceEvent) myEvent = event.sourceEvent; + // Note: The last event is not supposed to be myEvent in this if. + if(myEvent && myEvent.explicitOriginalTarget.nodeName.match(/toolbarbutton/) && myEvent.explicitOriginalTarget.command == event.originalTarget.id) { var value = xulG.pref.getIntPref('ui.key.accelKey'); switch(value) { case 17: - newTab = event.ctrlKey; + newTab = myEvent.ctrlKey; break; case 18: - newTab = event.altKey; + newTab = myEvent.altKey; break; case 224: - newTab = event.metaKey; + newTab = myEvent.metaKey; break; } try { @@ -1529,6 +1716,122 @@ commands: }, + 'set_menu_hotkeys' : function(hotkeyset) { + this.data.stash_retrieve(); + + var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]. + getService(Components.interfaces.nsIWindowMediator); + var mainwin = wm.getMostRecentWindow('eg_main'); + var explicit = false; + JSAN.use('util.network'); + var network = new util.network(); + + if(hotkeyset) { // Explicit request + this.data.current_hotkeyset = hotkeyset; + this.data.stash('current_hotkeyset'); + explicit = true; + } + else { // Non-explicit request? + if(this.data.current_hotkeyset) // Previous hotkeyset? + hotkeyset = this.data.current_hotkeyset; // Use it + else { // No previous? We need to decide on one! + // Load the list so we know if what we are being asked to load is valid. + var hotkeysets = mainwin.load_hotkey_sets(); + if(!hotkeysets) return; // No sets = nothing to load. Which is probably an error, but meh. + hotkeysets.has = function(test) { + for(i = 0; i < this.length; i++) { + if(this[i] == test) return true; + } + return false; + }; + // Try workstation (pref) + hotkeyset = xulG.pref.getCharPref('open-ils.menu.hotkeyset'); + + // Nothing or nothing valid? + if(!hotkeyset || !hotkeysets.has(hotkeyset)) { + hotkeyset = this.data.hash.aous['ui.general.hotkeyset']; + } + // STILL nothing? Try Default. + if(!hotkeyset || !hotkeysets.has(hotkeyset)) { + if(hotkeysets.has('Default')) + hotkeyset = 'Default'; + else + return false; + } + // And save whatever we are using. + this.data.current_hotkeyset = hotkeyset; + this.data.stash('current_hotkeyset'); + } + } + // Clear out all the old hotkeys + var keyset = document.getElementById('menu_frame_keys'); + var main_menu = document.getElementById('main_menubar'); + if(keyset.hasChildNodes()) { + var menuitems = main_menu.getElementsByAttribute('key','*'); + while(menuitems.length > 0) { + var menuitem = menuitems[0]; + menuitem.removeAttribute('key'); + // Trick/force mozilla to re-evaluate the menuitem + // If you want to take this trick for use *anywhere* in *any* project, regardless of licensing, please do + // Because it was a PITA to figure out + menuitem.style.display = 'none'; // Hide the item to force menu to clear spot + menuitem.removeAttribute('acceltext'); // Remove acceltext to clear out hotkey hint text + menuitem.parentNode.openPopupAtScreen(0,0,false); // Tell menupopup to redraw itself + menuitem.parentNode.hidePopup(); // And then make it go away right away. + menuitem.style.removeProperty('display'); // Restore normal css display + } + while(keyset.hasChildNodes()) keyset.removeChild(keyset.childNodes[0]); + } + keyset_lines = mainwin.get_hotkey_array(hotkeyset); + // Next, fill the keyset + for(var line = 0; line < keyset_lines.length; line++) { + // Create and populate our <key> + var key_node = document.createElement('key'); + key_node.setAttribute('id',keyset_lines[line][0] + "_key"); + key_node.setAttribute('command',keyset_lines[line][0]); + key_node.setAttribute('modifiers',keyset_lines[line][1]); + // If keycode starts with VK_ we assume it is a key code. + // Key codes go in the keycode attribute + // Regular keys (like "i") go in the key attribute + if(keyset_lines[line][2].match(/^VK_/)) + key_node.setAttribute('keycode',keyset_lines[line][2]); + else + key_node.setAttribute('key',keyset_lines[line][2]); + // If a fourth option was specified, set keytext to it. + if(keyset_lines[line][3]) + key_node.setAttribute('keytext',keyset_lines[line][3]); + // Add the new node to the DOM + keyset.appendChild(key_node); + // And populate all the menu items that should now display it + var menuitems = main_menu.getElementsByAttribute('command',keyset_lines[line][0]); + for(var i = 0; i < menuitems.length; i++) { + menuitems[i].setAttribute('key', keyset_lines[line][0] + "_key"); + // Trick/force mozilla to re-evaluate the menuitem + menuitems[i].style.display = 'none'; // Hide the item to force menu to clear spot + menuitems[i].parentNode.openPopupAtScreen(0,0,false); // Tell menupopup to redraw itself + menuitems[i].parentNode.hidePopup(); // And then make it go away right away + menuitems[i].style.removeProperty('display'); // Restore normal css display + } + } + // If no keys, disable ability to toggle hotkeys (because why bother?) + var x = document.getElementById('cmd_hotkeys_toggle'); + if(x) { + if(keyset.hasChildNodes()) + x.removeAttribute('disabled'); + else + x.setAttribute('disabled', 'true'); + } + // Select the hotkey set in the menu + // This ensures that first window load OR remote window update shows properly + var hotkeylist = document.getElementById('main.menu.admin.client.hotkeys.current.popup'); + var selectitems = hotkeylist.getElementsByAttribute('value',hotkeyset); + if(selectitems.length > 0) selectitems[0].setAttribute('checked','true'); + // Tell other windows to update + if(explicit) { + network.set_user_status(); + } + }, + 'page_meter' : { 'node' : document.getElementById('page_progress'), 'on' : function() { diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul index f7c5c26d95..2dc7cb5ff1 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul @@ -62,7 +62,6 @@ <command id="cmd_manage_offline_xacts" /> <command id="cmd_download_patrons" /> <command id="cmd_local_admin" /> - <command id="cmd_toggle_buttonbar" /> <command id="cmd_toggle_meters" /> <command id="cmd_extension_manager" /> @@ -210,42 +209,28 @@ <command id="cmd_server_admin_config_weight_assoc" perm="ADMIN_CIRC_MATRIX_MATCHPOINT ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT" /> -</commandset> - -<!-- Accelerator Keys (Accessor Keys are in DTD's) --> -<keyset id="menu_frame_keys"> - <key id="new-window-key" modifiers="accel" key="N" command="cmd_new_window"/> - <key id="new-tab-key" modifiers="accel" key="T" command="cmd_new_tab"/> - <key id="open-key" modifiers="accel" key="O" command=""/> - <key id="save-key" modifiers="accel" key="S" command=""/> - <key id="close-tab-key" modifiers="accel" key="W" command="cmd_close_tab"/> - <key id="close-all-tabs-key" modifiers="accel,shift" key="W" command="cmd_close_all_tabs"/> - <key id="close-window-key" modifiers="accel" key="Q" command="cmd_close_window"/> - <key id="circ-checkout-key" keycode="VK_F1" command="cmd_circ_checkout"/> - <key id="circ-checkin-key" keycode="VK_F2" command="cmd_circ_checkin"/> - <key id="circ-renew-key" keycode="VK_F2" modifiers="control" command="cmd_circ_renew"/> - <key id="reprint-receipt-key" keycode="VK_F9" command="cmd_reprint"/> - <key id="search-opac-key" keycode="VK_F3" command="cmd_search_opac"/> - <key id="search-tcn-key" keycode="VK_F3" modifiers="shift" command="cmd_search_tcn"/> - <key id="patron-search-key" keycode="VK_F4" command="cmd_patron_search"/> - <key id="copy-status-key" keycode="VK_F5" command="cmd_copy_status"/> - <key id="circ-in-house-use-key" keycode="VK_F6" command="cmd_in_house_use"/> - <key id="circ-hold-capture-key" keycode="VK_F2" modifiers="shift" command="cmd_circ_hold_capture"/> - <key id="patron-register-key" keycode="VK_F1" modifiers="shift" command="cmd_patron_register"/> - <key id="retrieve_last_patron_key" keycode="VK_F8" command="cmd_retrieve_last_patron"/> - <key id="retrieve_last_record_key" keycode="VK_F8" modifiers="shift" command="cmd_retrieve_last_record"/> -</keyset> + <command id="cmd_hotkeys_toggle" /> + <command id="cmd_hotkeys_set" /> + <command id="cmd_hotkeys_setworkstation" /> + <command id="cmd_hotkeys_clearworkstation" /> + <command id="cmd_toolbar_set" /> + <command id="cmd_toolbar_setworkstation" /> + <command id="cmd_toolbar_clearworkstation" /> + <command id="cmd_toolbar_mode_set" /> + <command id="cmd_toolbar_size_set" /> + <command id="cmd_toolbar_label_position_set" /> +</commandset> <!-- The File menu on the main menu --> <menu id="main.menu.file" label="&staff.main.menu.file.label;" accesskey="&staff.main.menu.file.accesskey;" > <menupopup id="main.menu.file.popup"> - <menuitem label="&staff.main.menu.file.new.label;" accesskey="&staff.main.menu.file.new.accesskey;" key="new-window-key" command="cmd_new_window"/> - <menuitem label="&staff.main.menu.file.new_tab.label;" accesskey="&staff.main.menu.file.new_tab.accesskey;" key="new-tab-key" command="cmd_new_tab"/> + <menuitem label="&staff.main.menu.file.new.label;" accesskey="&staff.main.menu.file.new.accesskey;" command="cmd_new_window"/> + <menuitem label="&staff.main.menu.file.new_tab.label;" accesskey="&staff.main.menu.file.new_tab.accesskey;" command="cmd_new_tab"/> <menuseparator /> - <menuitem label="&staff.main.menu.file.close_tab.label;" accesskey="&staff.main.menu.file.close_tab.accesskey;" oldaccesskey="&staff.main.menu.file.close_tab.key;" key="close-tab-key" command="cmd_close_tab"/> - <menuitem label="&staff.main.menu.tabs.close;" accesskey="&staff.main.menu.tabs.close.accesskey;" key="close-all-tabs-key" command="cmd_close_all_tabs"/> - <menuitem label="&staff.main.menu.file.close.label;" accesskey="&staff.main.menu.file.close.accesskey;" oldaccesskey="&staff.main.menu.file.close.key;" key="close-window-key" command="cmd_close_window"/> + <menuitem label="&staff.main.menu.file.close_tab.label;" accesskey="&staff.main.menu.file.close_tab.accesskey;" command="cmd_close_tab"/> + <menuitem label="&staff.main.menu.tabs.close;" accesskey="&staff.main.menu.tabs.close.accesskey;" command="cmd_close_all_tabs"/> + <menuitem label="&staff.main.menu.file.close.label;" accesskey="&staff.main.menu.file.close.accesskey;" command="cmd_close_window"/> <menuseparator /> <menuitem label="&staff.main.menu.quit;" accesskey="&staff.main.menu.quit.accesskey;" command="cmd_shutdown"/> </menupopup> @@ -270,26 +255,26 @@ <!-- The Circulation menu on the main menu --> <menu id="main.menu.circ" label="&staff.main.menu.circ.label;" accesskey="&staff.main.menu.circ.accesskey;"> <menupopup id="main.menu.circ.popup"> - <menuitem label="&staff.main.menu.circ.checkout.label;" accesskey="&staff.main.menu.circ.checkout.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/> - <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" key="circ-checkin-key" command="cmd_circ_checkin"/> - <menuitem label="&staff.main.menu.circ.renew.label;" accesskey="&staff.main.menu.circ.renew.accesskey;" key="circ-renew-key" command="cmd_circ_renew"/> - <menuitem label="&staff.main.menu.circ.patron_registration.label;" accesskey="&staff.main.menu.circ.patron_registration.accesskey;" key="patron-register-key" command="cmd_patron_register"/> + <menuitem label="&staff.main.menu.circ.checkout.label;" accesskey="&staff.main.menu.circ.checkout.accesskey;" command="cmd_circ_checkout"/> + <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" command="cmd_circ_checkin"/> + <menuitem label="&staff.main.menu.circ.renew.label;" accesskey="&staff.main.menu.circ.renew.accesskey;" command="cmd_circ_renew"/> + <menuitem label="&staff.main.menu.circ.patron_registration.label;" accesskey="&staff.main.menu.circ.patron_registration.accesskey;" command="cmd_patron_register"/> <menuitem label="&staff.main.menu.circ.staged_patrons.label;" accesskey="&staff.main.menu.circ.staged_patrons.accesskey;" command="cmd_staged_patrons"/> - <menuitem label="&staff.main.menu.circ.patron_retrieve.label;" accesskey="&staff.main.menu.circ.patron_retrieve.accesskey;" command="cmd_retrieve_last_patron" key="retrieve_last_patron_key"/> + <menuitem label="&staff.main.menu.circ.patron_retrieve.label;" accesskey="&staff.main.menu.circ.patron_retrieve.accesskey;" command="cmd_retrieve_last_patron"/> <menuseparator /> - <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" key="circ-hold-capture-key" command="cmd_circ_hold_capture"/> + <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" command="cmd_circ_hold_capture"/> <menuitem label="&staff.main.menu.circ.hold_pull.label;" accesskey="&staff.main.menu.circ.hold_pull.accesskey;" command="cmd_circ_hold_pull_list"/> <menuitem label="&staff.main.menu.circ.hold_browse.label;" command="cmd_browse_holds_shelf" accesskey="&staff.main.menu.circ.hold_browse.accesskey;"/> - <menuitem label="&staff.main.menu.circ.place_hold.label;" accesskey="&staff.main.menu.circ.place_hold.accesskey;" key="search-opac-key" command="cmd_search_opac"/> + <menuitem label="&staff.main.menu.circ.place_hold.label;" accesskey="&staff.main.menu.circ.place_hold.accesskey;" command="cmd_search_opac"/> <menuseparator /> - <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" key="copy-status-key" command="cmd_copy_status"/> - <menuitem label="&staff.main.menu.circ.barcode.retrieve_patron;" accesskey="&staff.main.menu.circ.barcode.retrieve_patron.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/> + <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" command="cmd_copy_status"/> + <menuitem label="&staff.main.menu.circ.barcode.retrieve_patron;" accesskey="&staff.main.menu.circ.barcode.retrieve_patron.accesskey;" command="cmd_circ_checkout"/> <menuitem label="&staff.main.menu.circ.verify_credentials;" accesskey="&staff.main.menu.circ.verify_credentials.accesskey;" command="cmd_verify_credentials"/> <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/> - <menuitem label="&staff.main.menu.circ.in_house.label;" accesskey="&staff.main.menu.circ.in_house.accesskey;" key="circ-in-house-use-key" command="cmd_in_house_use"/> + <menuitem label="&staff.main.menu.circ.in_house.label;" accesskey="&staff.main.menu.circ.in_house.accesskey;" command="cmd_in_house_use"/> <menuitem command="cmd_scan_item_as_missing_pieces" label="&staff.main.menu.circ.scan_item_as_missing_pieces.label;" accesskey="&staff.main.menu.circ.scan_item_as_missing_pieces.accesskey;"/> <menuseparator /> - <menuitem label="&staff.main.menu.circ.reprint.label;" accesskey="&staff.main.menu.circ.reprint.accesskey;" key="reprint-receipt-key" command="cmd_reprint"/> + <menuitem label="&staff.main.menu.circ.reprint.label;" accesskey="&staff.main.menu.circ.reprint.accesskey;" command="cmd_reprint"/> <menuitem label="&staff.main.menu.circ.offline.label;" command="cmd_standalone" accesskey="&staff.main.menu.circ.offline.accesskey;"/> </menupopup> </menu> @@ -297,10 +282,10 @@ <!-- The Cataloging menu on the main menu --> <menu id="main.menu.cat" label="&staff.main.menu.cat.label;" accesskey="&staff.main.menu.cat.accesskey;"> <menupopup id="main.menu.cat.popup"> - <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" key="search-opac-key" command="cmd_search_opac"/> - <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" key="search-tcn-key" command="cmd_search_tcn" /> - <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" /> - <menuitem label="&staff.main.menu.cat.copy_status.label;" accesskey="&staff.main.menu.cat.copy_status.accesskey;" key="copy-status-key" command="cmd_copy_status"/> + <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" command="cmd_search_opac"/> + <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" command="cmd_search_tcn" /> + <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" command="cmd_search_bib_id" /> + <menuitem label="&staff.main.menu.cat.copy_status.label;" accesskey="&staff.main.menu.cat.copy_status.accesskey;" command="cmd_copy_status"/> <menuseparator /> <!-- <menuitem disabled="true" label="&staff.main.menu.cat.dedup.label;" accesskey="&staff.main.menu.cat.dedup.accesskey;" command="cmd_broken"/> @@ -317,7 +302,7 @@ <menuitem command="cmd_marc_batch_edit" label="&staff.main.menu.cat.marc_batch_edit.label;" accesskey="&staff.main.menu.cat.marc_batch_edit.accesskey;"/> <menuseparator /> <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/> - <menuitem label="&staff.main.menu.cat.retrieve_last_record.label;" accesskey="&staff.main.menu.cat.retrieve_last_record.accesskey;" command="cmd_retrieve_last_record" key="retrieve_last_record_key"/> + <menuitem label="&staff.main.menu.cat.retrieve_last_record.label;" accesskey="&staff.main.menu.cat.retrieve_last_record.accesskey;" command="cmd_retrieve_last_record"/> <menuseparator /> <menuitem label="&staff.main.menu.cat.authority_manage.label;" accesskey="&staff.main.menu.cat.authority_manage.accesskey;" command="cmd_authority_manage"/> </menupopup> @@ -359,12 +344,12 @@ <!-- The Search menu on the main menu --> <menu id="main.menu.search" label="&staff.main.menu.search.label;" accesskey="&staff.main.menu.search.accesskey;"> <menupopup id="main.menu.search.popup"> - <menuitem label="&staff.main.menu.search.patrons.label;" accesskey="&staff.main.menu.search.patrons.accesskey;" key="patron-search-key" command="cmd_patron_search" /> - <menuitem label="&staff.main.menu.search.catalog.label;" accesskey="&staff.main.menu.search.catalog.accesskey;" key="search-opac-key" command="cmd_search_opac" /> - <menuitem label="&staff.main.menu.search.record.label;" accesskey="&staff.main.menu.search.record.accesskey;" key="search-tcn-key" command="cmd_search_tcn" /> - <menuitem label="&staff.main.menu.search.record_via_id.label;" accesskey="&staff.main.menu.search.record_via_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" /> - <menuitem label="&staff.main.menu.search.copies.label;" accesskey="&staff.main.menu.search.copies.accesskey;" key="copy-status-key" command="cmd_copy_status"/> - <menuitem label="&staff.main.menu.search.patrons_barcode.label;" accesskey="&staff.main.menu.search.patrons_barcode.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/> + <menuitem label="&staff.main.menu.search.patrons.label;" accesskey="&staff.main.menu.search.patrons.accesskey;" command="cmd_patron_search" /> + <menuitem label="&staff.main.menu.search.catalog.label;" accesskey="&staff.main.menu.search.catalog.accesskey;" command="cmd_search_opac" /> + <menuitem label="&staff.main.menu.search.record.label;" accesskey="&staff.main.menu.search.record.accesskey;" command="cmd_search_tcn" /> + <menuitem label="&staff.main.menu.search.record_via_id.label;" accesskey="&staff.main.menu.search.record_via_id.accesskey;" command="cmd_search_bib_id" /> + <menuitem label="&staff.main.menu.search.copies.label;" accesskey="&staff.main.menu.search.copies.accesskey;" command="cmd_copy_status"/> + <menuitem label="&staff.main.menu.search.patrons_barcode.label;" accesskey="&staff.main.menu.search.patrons_barcode.accesskey;" command="cmd_circ_checkout"/> </menupopup> </menu> @@ -380,8 +365,8 @@ </menupopup> </menu> -<!-- The Help menu on the main menu --> -<menu id="main.menu.admin" label="&staff.main.menu.admin.label;" accesskey="&staff.main.menu.admin.accesskey;" old_accesskey="&staff.main.menu.admin.key;"> +<!-- The Admin menu on the main menu --> +<menu id="main.menu.admin" label="&staff.main.menu.admin.label;" accesskey="&staff.main.menu.admin.accesskey;"> <menupopup id="main.menu.admin.popup"> <menuitem id="oc_menuitem" label="&staff.main.menu.admin.change_session.label;" label_orig="&staff.main.menu.admin.change_session.label;" accesskey="O" command="cmd_change_session"/> @@ -389,6 +374,60 @@ <menuitem label="&staff.main.menu.admin.download_patrons.label;" accesskey="&staff.main.menu.admin.download_patrons.accesskey;" command="cmd_download_patrons"/> <menuseparator /> + <menu id="main.menu.admin.client" label="&staff.main.menu.admin.client.label;" accesskey="&staff.main.menu.admin.client.accesskey;"> + <menupopup id="main.menu.admin.client.popup"> + <menuitem command="cmd_local_admin_external_text_editor" label="&staff.server.admin.index.external_text_editor.label;" accesskey="&staff.server.admin.index.external_text_editor.accesskey;"/> + <menuitem label="&staff.server.admin.index.printer;" command="cmd_local_admin_printer"/> + <menuitem label="&staff.main.menu.admin.template_edit.label;" accesskey="&staff.main.menu.admin.template_edit.accesskey;" command="cmd_print_list_template_edit"/> + <menuitem label="&staff.server.admin.index.fonts_and_sounds;" command="cmd_local_admin_fonts_and_sounds"/> + <menu id="main.menu.admin.client.hotkeys" label="&staff.main.menu.admin.client.hotkeys;"> + <menupopup id="main.menu.admin.client.hotkeys.popup"> + <menuitem label="&staff.main.menu.admin.client.hotkeys.toggle.label;" accesskey="&staff.main.menu.admin.client.hotkeys.toggle.accesskey;" type="checkbox" autocheck="false" command="cmd_hotkeys_toggle"/> + <menu id="main.menu.admin.client.hotkeys.current" label="&staff.main.menu.admin.client.hotkeys.current;"> + <menupopup id="main.menu.admin.client.hotkeys.current.popup"> + </menupopup> + </menu> + <menuseparator /> + <menuitem label="&staff.main.menu.admin.client.hotkeys.setworkstation.label;" accesskey="&staff.main.menu.admin.client.hotkeys.setworkstation.accesskey;" command="cmd_hotkeys_setworkstation"/> + <menuitem label="&staff.main.menu.admin.client.hotkeys.clearworkstation.label;" accesskey="&staff.main.menu.admin.client.hotkeys.clearworkstation.accesskey;" command="cmd_hotkeys_clearworkstation"/> + </menupopup> + </menu> + <menu id="main.menu.admin.client.toolbars" label="&staff.main.menu.admin.client.toolbars;"> + <menupopup id="main.menu.admin.client.toolbars.popup"> + <menu id="main.menu.admin.client.toolbars.current" label="&staff.main.menu.admin.client.toolbars.current;"> + <menupopup id="main.menu.admin.client.toolbars.current.popup"> + <menuitem name="current_toolbar" type="radio" label="&staff.main.button_bar.none;" value="none" command="cmd_toolbar_set" checked="true"/> + <menuitem name="current_toolbar" type="radio" label="&staff.main.button_bar.circ;" value="circ" command="cmd_toolbar_set"/> + <menuitem name="current_toolbar" type="radio" label="&staff.main.button_bar.cat;" value="cat" command="cmd_toolbar_set"/> + </menupopup> + </menu> + <menu id="main.menu.admin.client.toolbars.mode" label="&staff.main.menu.admin.client.toolbars.mode;"> + <menupopup id="main.menu.admin.client.toolbars.mode.popup"> + <menuitem name="toolbar_mode" type="radio" label="&staff.main.menu.admin.client.toolbars.mode.both;" value="both" command="cmd_toolbar_mode_set" checked="true"/> + <menuitem name="toolbar_mode" type="radio" label="&staff.main.menu.admin.client.toolbars.mode.icons;" value="icons" command="cmd_toolbar_mode_set"/> + <menuitem name="toolbar_mode" type="radio" label="&staff.main.menu.admin.client.toolbars.mode.text;" value="text" command="cmd_toolbar_mode_set"/> + </menupopup> + </menu> + <menu id="main.menu.admin.client.toolbars.label_position" label="&staff.main.menu.admin.client.toolbars.label_position;"> + <menupopup id="main.menu.admin.client.toolbars.label_position.popup"> + <menuitem name="toolbar_label_position" type="radio" label="&staff.main.menu.admin.client.toolbars.label_position.side;" value="side" command="cmd_toolbar_label_position_set" checked="true"/> + <menuitem name="toolbar_label_position" type="radio" label="&staff.main.menu.admin.client.toolbars.label_position.under;" value="under" command="cmd_toolbar_label_position_set"/> + </menupopup> + </menu> + <menu id="main.menu.admin.client.toolbars.size" label="&staff.main.menu.admin.client.toolbars.size;"> + <menupopup id="main.menu.admin.client.toolbars.size.popup"> + <menuitem name="toolbar_size" type="radio" label="&staff.main.menu.admin.client.toolbars.size.large;" value="large" command="cmd_toolbar_size_set" checked="true"/> + <menuitem name="toolbar_size" type="radio" label="&staff.main.menu.admin.client.toolbars.size.small;" value="small" command="cmd_toolbar_size_set"/> + </menupopup> + </menu> + <menuseparator /> + <menuitem label="&staff.main.menu.admin.client.toolbars.setworkstation.label;" accesskey="&staff.main.menu.admin.client.toolbars.setworkstation.accesskey;" command="cmd_toolbar_setworkstation"/> + <menuitem label="&staff.main.menu.admin.client.toolbars.clearworkstation.label;" accesskey="&staff.main.menu.admin.client.toolbars.clearworkstation.accesskey;" command="cmd_toolbar_clearworkstation"/> + </menupopup> + </menu> + + </menupopup> + </menu> <menu id="main.menu.admin.local" label="&staff.main.menu.admin.local_admin.label;"> <menupopup id="main.menu.admin.local.popup"> <menuitem command="cmd_local_admin_age_overdue_circulations_to_lost" label="&staff.server.admin.index.age_overdue_circulations_to_lost.label;" accesskey="&staff.server.admin.index.age_overdue_circulations_to_lost.accesskey;"/> @@ -398,17 +437,13 @@ <menuitem label="&staff.server.admin.index.copy_locations;" command="cmd_local_admin_copy_locations"/> <menuitem label="&staff.main.menu.admin.local_admin.conify.copy_location_order.label;" command="cmd_local_admin_copy_location_order"/> <menuitem label="&staff.main.menu.admin.local_admin.copy_template.label;" accesskey="&staff.main.menu.admin.local_admin.copy_template.accesskey;" command="cmd_local_admin_copy_template"/> - <menuitem command="cmd_local_admin_external_text_editor" label="&staff.server.admin.index.external_text_editor.label;" accesskey="&staff.server.admin.index.external_text_editor.accesskey;"/> <menuitem label="&staff.main.menu.admin.local_admin.conify.idl_field_doc.label;" command="cmd_local_admin_idl_field_doc"/> - <menuitem label="&staff.server.admin.index.fonts_and_sounds;" command="cmd_local_admin_fonts_and_sounds"/> <menuitem label="&staff.main.menu.admin.local_admin.conify.grp_penalty_threshold.label;" command="cmd_local_admin_grp_penalty_threshold"/> <menuitem label="&staff.main.menu.admin.local_admin.hold_matrix_matchpoint.label;" command="cmd_local_admin_hold_matrix_matchpoint"/> <menuitem label="&staff.server.admin.index.library_settings;" command="cmd_local_admin_lib_settings"/> <menuitem label="&staff.server.admin.index.non_cataloged_types;" command="cmd_local_admin_non_cat_types"/> <menuitem label="&staff.main.menu.admin.local_admin.conify.action_trigger.label;" command="cmd_local_admin_action_trigger"/> <menuitem label="&staff.main.menu.admin.local_admin.patrons_due_refunds.label;" accesskey="&staff.main.menu.admin.local_admin.patrons_due_refunds.accesskey;" command="cmd_local_admin_patrons_due_refunds"/> - <menuitem label="&staff.server.admin.index.printer;" command="cmd_local_admin_printer"/> - <menuitem label="&staff.main.menu.admin.template_edit.label;" accesskey="&staff.main.menu.admin.template_edit.accesskey;" command="cmd_print_list_template_edit"/> <menuitem command="cmd_local_admin_do_not_auto_attempt_print_setting" label="&staff.server.admin.index.do_not_auto_attempt_print_setting.label;" accesskey="&staff.server.admin.index.do_not_auto_attempt_print_setting.accesskey;"/> <menuitem label="&staff.server.admin.index.reports;" command="cmd_local_admin_reports"/> <menuitem label="&staff.main.menu.admin.local_admin.conify.standing_penalty.label;" command="cmd_local_admin_standing_penalty"/> @@ -482,7 +517,6 @@ <menuseparator /> <menuitem label="&staff.main.menu.admin.user_edit.label;" accesskey="&staff.main.menu.admin.user_edit.accesskey;" command="cmd_adv_user_edit"/> - <menuitem label="&staff.main.menu.admin.toggle_buttonbar.label;" accesskey="&staff.main.menu.admin.toggle_buttonbar.accesskey;" command="cmd_toggle_buttonbar"/> <menuitem label="&staff.main.menu.admin.toggle_meters.label;" accesskey="&staff.main.menu.admin.toggle_meters.accesskey;" command="cmd_toggle_meters"/> <menuseparator /> <menu id="main.menu.admin.sub" accesskey="&staff.main.menu.admin.developer.accesskey;" label="&staff.main.menu.admin.developer.label;"> @@ -495,7 +529,7 @@ <menuitem label="&staff.main.menu.admin.survey_wizard.label;" accesskey="&staff.main.menu.admin.survey_wizard.accesskey;" command="cmd_survey_wizard"/> <menuseparator /> <menuitem label="&staff.main.menu.admin.public_opac.label;" command="cmd_public_opac" accesskey="&staff.main.menu.admin.public_opac.accesskey;"/> - <menuitem label="&staff.main.menu.admin.cmd_test.label;" old_accesskey="T" command="cmd_test"/> + <menuitem label="&staff.main.menu.admin.cmd_test.label;" command="cmd_test"/> <menuitem label="&staff.main.menu.admin.xuleditor.label;" accesskey="&staff.main.menu.admin.xuleditor.accesskey;" command="cmd_xuleditor"/> <menuitem label="&staff.main.menu.admin.fieldmapper.label;" accesskey="&staff.main.menu.admin.fieldmapper.accesskey;" command="cmd_fieldmapper"/> <menuitem label="&staff.main.menu.admin.cmd_console.label;" accesskey="&staff.main.menu.admin.cmd_console.accesskey;" command="cmd_console"/> diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul index fdbed1da78..48f8b5ea32 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul @@ -22,7 +22,7 @@ <tab hidden="true" /> </tabs> </arrowscrollbox> - <toolbarbutton id="main_tabs_closebutton" class="tabs-closebutton close-button" oncommand="g.menu.close_tab()" /> + <toolbarbutton id="main_tabs_closebutton" class="tabs-closebutton close-button" command="cmd_close_tab" /> </hbox> <tabpanels id="main_panels" flex="1"> <tabpanel /> @@ -72,39 +72,138 @@ <menu id="main.menu.admin" /> <menu id="main.menu.help" /> </menubar> - <toolbar id="main_toolbar" hidden="true"> - <toolbarbutton id="tb_checkout" + <toolbar id="toolbar_circ" hidden="true"> + <toolbarbutton command="cmd_circ_checkout" - image="chrome://open_ils_staff_client/skin/media/images/Arrow-rightup-small.png" label="&staff.main.button_bar.check_out.label;" - accesskey="&staff.main.button_bar.check_out.accesskey;" /> - <toolbarbutton id="tb_checkin" + tooltiptext="&staff.main.button_bar.check_out.label;" + type="menu-button"> + <menupopup tooltiptext=""> <!-- Little note on this first one - The blank tooltiptext stops the button's tooltiptext from applying to the menu and items --> + <menuitem label="&staff.main.menu.circ.checkout.label;" accesskey="&staff.main.menu.circ.checkout.accesskey;" command="cmd_circ_checkout"/> + <menuitem label="&staff.main.menu.circ.in_house.label;" accesskey="&staff.main.menu.circ.in_house.accesskey;" command="cmd_in_house_use"/> + </menupopup> + </toolbarbutton> + <toolbarbutton command="cmd_circ_checkin" - image="chrome://open_ils_staff_client/skin/media/images/center.png" label="&staff.main.button_bar.check_in.label;" - accesskey="&staff.main.button_bar.check_in.accesskey;" /> + tooltiptext="&staff.main.button_bar.check_in.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" command="cmd_circ_checkin"/> + <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" command="cmd_circ_hold_capture"/> + </menupopup> + </toolbarbutton> <toolbarseparator /> - <toolbarbutton id="tb_search_opac" + <toolbarbutton command="cmd_search_opac" - image="chrome://open_ils_staff_client/skin/media/images/Search_Items_32x32.png" label="&staff.main.button_bar.search_opac.label;" - accesskey="&staff.main.button_bar.search_opac.accesskey;" /> - <toolbarbutton id="tb_item_status" + tooltiptext="&staff.main.button_bar.search_opac.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" command="cmd_search_opac"/> + <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" command="cmd_search_tcn" /> + <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" command="cmd_search_bib_id" /> + </menupopup> + </toolbarbutton> + <toolbarbutton command="cmd_copy_status" - image="chrome://open_ils_staff_client/skin/media/images/HILLBLU_libro_32x32.png" label="&staff.main.button_bar.item_status.label;" - accesskey="&staff.main.button_bar.item_status.accesskey;" /> + tooltiptext="&staff.main.button_bar.item_status.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" command="cmd_copy_status"/> + <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/> + </menupopup> + </toolbarbutton> <toolbarseparator /> - <toolbarbutton id="tb_patron_search" + <toolbarbutton command="cmd_patron_search" - image="chrome://open_ils_staff_client/skin/media/images/HILLBLU_lente_32x32.png" label="&staff.main.button_bar.patron_search.label;" - accesskey="&staff.main.button_bar.patron_search.accesskey;" /> - <toolbarbutton id="tb_patron_registration" + tooltiptext="&staff.main.button_bar.patron_search.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.search.patrons.label;" accesskey="&staff.main.menu.search.patrons.accesskey;" command="cmd_patron_search" /> + <menuitem label="&staff.main.menu.search.patrons_barcode.label;" accesskey="&staff.main.menu.search.patrons_barcode.accesskey;" command="cmd_circ_checkout"/> + </menupopup> + </toolbarbutton> + <toolbarbutton command="cmd_patron_register" - image="chrome://open_ils_staff_client/skin/media/images/HILLBLU_famiglia_32x32.png" label="&staff.main.button_bar.patron_registration.label;" - accesskey="&staff.main.button_bar.patron_registration.accesskey;" /> + tooltiptext="&staff.main.button_bar.patron_registration.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.circ.patron_registration.label;" accesskey="&staff.main.menu.circ.patron_registration.accesskey;" command="cmd_patron_register"/> + <menuitem label="&staff.main.menu.circ.staged_patrons.label;" accesskey="&staff.main.menu.circ.staged_patrons.accesskey;" command="cmd_staged_patrons"/> + </menupopup> + </toolbarbutton> + <toolbarspacer flex="1" /> + <toolbarbutton + command="cmd_hotkeys_toggle" + type="checkbox" + autocheck="false" + label="&staff.main.button_bar.hotkeys_toggle;" + tooltiptext="&staff.main.button_bar.hotkeys_toggle;"/> + </toolbar> + <toolbar id="toolbar_cat" hidden="true"> + <toolbarbutton + command="cmd_circ_checkin" + label="&staff.main.button_bar.check_in.label;" + tooltiptext="&staff.main.button_bar.check_in.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" command="cmd_circ_checkin"/> + <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" command="cmd_circ_hold_capture"/> + </menupopup> + </toolbarbutton> + <toolbarseparator /> + <toolbarbutton + command="cmd_search_opac" + label="&staff.main.button_bar.search_opac.label;" + tooltiptext="&staff.main.button_bar.search_opac.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" command="cmd_search_opac"/> + <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" command="cmd_search_tcn" /> + <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" command="cmd_search_bib_id" /> + </menupopup> + </toolbarbutton> + <toolbarbutton + command="cmd_copy_status" + label="&staff.main.button_bar.item_status.label;" + tooltiptext="&staff.main.button_bar.item_status.label;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" command="cmd_copy_status"/> + <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/> + </menupopup> + </toolbarbutton> + <toolbarseparator /> + <toolbarbutton + command="cmd_create_marc" + label="&staff.main.button_bar.create_marc;" + tooltiptext="&staff.main.button_bar.create_marc;" + type="menu-button"> + <menupopup tooltiptext=""> + <menuitem label="&staff.main.menu.cat.create_marc.label;" accesskey="&staff.main.menu.cat.create_marc.accesskey;" command="cmd_create_marc"/> + <menuitem label="&staff.main.menu.cat.z39_50_import.label;" accesskey="&staff.main.menu.cat.z39_50_import.accesskey;" command="cmd_z39_50_import"/> + <menuitem label="&staff.main.menu.cat.vandelay.label;" command="cmd_open_vandelay"/> + </menupopup> + </toolbarbutton> + <toolbarbutton + command="cmd_authority_manage" + label="&staff.main.button_bar.authority_manage;" + tooltiptext="&staff.main.button_bar.authority_manage;" /> + <toolbarbutton + command="cmd_retrieve_last_record" + label="&staff.main.button_bar.retrieve_last_record;" + tooltiptext="&staff.main.button_bar.retrieve_last_record;" /> + <toolbarspacer flex="1" /> + <toolbarbutton + command="cmd_hotkeys_toggle" + type="checkbox" + autocheck="false" + label="&staff.main.button_bar.hotkeys_toggle;" + tooltiptext="&staff.main.button_bar.hotkeys_toggle;"/> </toolbar> </toolbox> diff --git a/Open-ILS/xul/staff_client/chrome/content/util/file.js b/Open-ILS/xul/staff_client/chrome/content/util/file.js index 85eed97ced..48b5e591e0 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/file.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/file.js @@ -44,6 +44,10 @@ util.file.prototype = { this._file = this.dirService.get( "UChrm", Components.interfaces.nsIFile ); //this._file = this.dirService.get( "ProfD", Components.interfaces.nsIFile ); break; + case 'skin' : + this._file = this.dirService.get( "AChrom", Components.interfaces.nsIFile ); + this._file.append("skin"); + break; default: case 'chrome' : this._file = this.dirService.get( "AChrom", Components.interfaces.nsIFile ); diff --git a/Open-ILS/xul/staff_client/chrome/content/util/network.js b/Open-ILS/xul/staff_client/chrome/content/util/network.js index 5cba3852c6..836a0cece7 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/network.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/network.js @@ -317,6 +317,7 @@ util.network.prototype = { if(!offlinestrings) w.document.getElementById('offlineStrings'); if(permlist) w.g.menu.set_menu_access(permlist); + w.g.menu.set_menu_hotkeys(); if(data.list.au.length > 1) { addCSSClass(w.document.getElementById('main_tabbox'),'operator_change'); x.setAttribute('label', offlineStrings.getFormattedString('menu.cmd_chg_session.operator.label', [data.list.au[1].usrname()]) ); diff --git a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties index 14a169a841..06452b09fd 100644 --- a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties +++ b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties @@ -295,3 +295,5 @@ menu.replace_tab.unsaved_data_warning=This tab may have unsaved data. Replace it menu.close_window.unsaved_data_warning=This window may have unsaved data. Close it anyway? menu.logoff.unsaved_data_warning=This session may have unsaved data. Logoff anyway? menu.shutdown.unsaved_data_warning=This application may have unsaved data. Exit it anyway? +hotkeys.Default=Default +hotkeys.None=No Hotkeys diff --git a/Open-ILS/xul/staff_client/chrome/skin/global.css b/Open-ILS/xul/staff_client/chrome/skin/global.css index 16fa9bcd28..24a949baf3 100644 --- a/Open-ILS/xul/staff_client/chrome/skin/global.css +++ b/Open-ILS/xul/staff_client/chrome/skin/global.css @@ -77,3 +77,65 @@ help { -moz-binding: url('chrome://open_ils_staff_client/content/main/bindings.x .marc_data { min-width: 500px; } .resizable { } .test_class { } + +#main_toolbox toolbar[mode="icons"] .toolbarbutton-text { + display:none; +} + +#main_toolbox toolbar[mode="text"] .toolbarbutton-icon { + display:none; +} + +#main_toolbox toolbarbutton { + -moz-image-region: rect( 0px 32px 32px 0px ); /* Top Left 32x32 icon */ + -moz-box-align: center; + -moz-box-pack: center; + -moz-box-orient: horizontal; + padding: 6px; +} + +#main_toolbox [iconsize="small"] toolbarbutton { + -moz-image-region: rect( 0px 48px 16px 32px ); /* Top right 16x16 icon */ +} + +#main_toolbox toolbarbutton[disabled="true"] { + -moz-image-region: rect( 32px 32px 64px 0px ); /* Left Second 32x32 icon */ +} + +#main_toolbox [iconsize="small"] toolbarbutton[disabled="true"] { + -moz-image-region: rect( 16px 48px 32px 32px ); /* Right Second 16x16 icon */ +} + +#main_toolbox toolbarbutton[checked="true"] { + -moz-image-region: rect( 64px 32px 96px 0px ); /* Left Third 32x32 icon */ +} + +#main_toolbox [iconsize="small"] toolbarbutton[checked="true"] { + -moz-image-region: rect( 32px 48px 48px 32px ); /* Right Third 16x16 icon */ +} + +#main_toolbox toolbarbutton[checked="true"][disabled="true"] { + -moz-image-region: rect( 96px 32px 128px 0px ); /* Left Fourth 32x32 icon */ +} + +#main_toolbox [iconsize="small"] toolbarbutton[checked="true"][disabled="true"] { + -moz-image-region: rect( 48px 48px 64px 32px ); /* Right Fourth 16x16 icon */ +} + +#main_toolbox .labelbelow toolbarbutton { + -moz-box-orient: vertical; +} + +/* Define icon files by command, not by id. */ +#main_toolbox toolbarbutton[command="cmd_circ_checkout"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/Arrow-rightup-small_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_circ_checkin"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/center_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_search_opac"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/Search_Items_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_copy_status"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_libro_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_patron_search"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_lente_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_patron_register"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_famiglia_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_hotkeys_toggle"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/hotkeys_disable_toolbar.png"); } + +/* Temp icons because tsbere is lazy - Someone please find/make new ones ;) */ +#main_toolbox toolbarbutton[command="cmd_create_marc"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_indici_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_authority_manage"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_indici_toolbar.png"); } +#main_toolbox toolbarbutton[command="cmd_retrieve_last_record"] { list-style-image: url("chrome://open_ils_staff_client/skin/media/images/HILLBLU_indici_toolbar.png"); } diff --git a/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Default.keyset b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Default.keyset new file mode 100644 index 0000000000..b954b5a4da --- /dev/null +++ b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Default.keyset @@ -0,0 +1,20 @@ +# Default hotkey set +cmd_new_window,accel,N +cmd_new_tab,accel,T +cmd_close_tab,accel,W +cmd_close_all_tabs,accel shift,W +cmd_close_window,accel,Q +cmd_circ_checkout,,VK_F1 +cmd_circ_checkin,,VK_F2 +cmd_circ_renew,accel,VK_F2 +cmd_reprint,,VK_F9 +cmd_search_opac,,VK_F3 +cmd_search_tcn,shift,VK_F3 +cmd_patron_search,,VK_F4 +cmd_copy_status,,VK_F5 +cmd_in_house_use,,VK_F6 +cmd_circ_hold_capture,shift,VK_F2 +cmd_patron_register,shift,VK_F1 +cmd_retrieve_last_patron,,VK_F8 +cmd_retrieve_last_record,shift,VK_F8 + diff --git a/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Minimal.keyset b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Minimal.keyset new file mode 100644 index 0000000000..bbf4efe7b2 --- /dev/null +++ b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/Minimal.keyset @@ -0,0 +1,7 @@ +# Minimal (window/tab commands only) hotkey set +# May be a useful starting point for new sets +cmd_new_window,accel,N +cmd_new_tab,accel,T +cmd_close_tab,accel,W +cmd_close_all_tabs,accel shift,W +cmd_close_window,accel,Q diff --git a/Open-ILS/xul/staff_client/chrome/skin/hotkeys/None.keyset b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/None.keyset new file mode 100644 index 0000000000..079efe0e38 --- /dev/null +++ b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/None.keyset @@ -0,0 +1 @@ +# No Hotkeys. Please leave blank. diff --git a/Open-ILS/xul/staff_client/chrome/skin/hotkeys/README b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/README new file mode 100644 index 0000000000..f0e6f7ac1e --- /dev/null +++ b/Open-ILS/xul/staff_client/chrome/skin/hotkeys/README @@ -0,0 +1,33 @@ +The files in this folder define hotkey sets. + +Each hotkey set should be name.keyset, where name is the name of the set. + +hotkey.properites in the locale directory can set an alternate or translated name for a hotkey set. +You should use format like: +hotkey.name=newname + +The backend code uses the filename derived name for everything else. + + +In the files a # denotes a comment, at the start of a line or in the middle. + +Otherwise, the file format is as follows: + +command,modifiers,key/keycode[,keytext] + +command is the ID of the <command> node the hotkey will trigger. + +modifiers is a space-delimited set of modifiers (if any): + shift + alt + control + meta + accel + any + +Prefer accel over control/meta as it picks the appropriate one for the user's platform. +any makes any listed before it optional. + +key/keycode is the key or virtual keycode for the hotkey. VK_ constants are treated as keycodes, everything else is a key. + +keytext is an optional setting for specifying the hint text to appear on the menu items. diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/Arrow-rightup-small_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/Arrow-rightup-small_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..74a8d5dc10d8ecc61c0dd21e35876dbc7b8a64b8 GIT binary patch literal 7475 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 literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_famiglia_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_famiglia_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf96242e5171bd473a80e426ac12d76450b9af5 GIT binary patch literal 6888 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 literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_indici_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_indici_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..16b297e0b2cd52fee00ba8ed14aefe035f1a9704 GIT binary patch literal 6813 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 LNkvXXu0mjfx>oSN literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_lente_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_lente_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..e859c9cb377afdc37ebd2b28f7dc72befc960333 GIT binary patch literal 6876 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 WY0d&U%>ugs0000<MNUMnLSTaFf<H_E literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_libro_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/HILLBLU_libro_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..defa8b3838268f95792ae98b95c4d59e721a5462 GIT binary patch literal 6581 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 literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/Search_Items_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/Search_Items_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..f245d0801a0ff4445a2a8977590022fba37dddff GIT binary patch literal 7646 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 M07*qoM6N<$g0B&++yDRo literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/center_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/center_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..da8e487cce0e32faffac5576e260fbab2e429f14 GIT binary patch literal 7998 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 literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/hotkeys_disable_toolbar.png b/Open-ILS/xul/staff_client/chrome/skin/media/images/hotkeys_disable_toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..cedeaa0c5fc7d7f4d22d5f29ef751db28609b9df GIT binary patch literal 9011 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 literal 0 HcmV?d00001 diff --git a/Open-ILS/xul/staff_client/chrome/skin/media/images/licenses.txt b/Open-ILS/xul/staff_client/chrome/skin/media/images/licenses.txt index 244c452b93..4da3fe4eac 100644 --- a/Open-ILS/xul/staff_client/chrome/skin/media/images/licenses.txt +++ b/Open-ILS/xul/staff_client/chrome/skin/media/images/licenses.txt @@ -1,30 +1,41 @@ -HILLBLU_lente_32x32 derived from: +HILLBLU_lente_32x32 and HILLBLU_lente_toolbar derived from: http://commons.wikimedia.org/wiki/File:HILLBLU_lente.png Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -HILLBLU_indici_32x32 derived from: +HILLBLU_indici_32x32 and HILLBLU_indici_toolbar derived from: http://commons.wikimedia.org/wiki/File:HILLBLU_indici.png Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -HILLBLU_libro_32x32 derived from: +HILLBLU_libro_32x32 and HILLBLU_libro_toolbar derived from: http://commons.wikimedia.org/wiki/File:HILLBLU_libro.png Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -HILLBLU_famiglia_32x32 derived from: +HILLBLU_famiglia_32x32 and HILLBLU_famiglia_toolbar derived from: http://commons.wikimedia.org/wiki/File:HILLBLU_famiglia.png Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -Arrow-right-up-small.png derived from: +Arrow-right-up-small.png and Arrow-right-up-small_toolbar.png derived from: http://commons.wikimedia.org/wiki/File:Arrow-rightup-small.svg Copyright © Vadim Plessky, all rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, and this list of conditions; Redistributions in binary form must reproduce the above copyright notice, and this list of conditions in the documentation and/or other materials provided with the distribution; Neither the name of Vadim Plessky nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -Center.png derived from: +center.png and center_toolbar.png derived from: http://commons.wikimedia.org/wiki/File:Center.svg Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". -Search_Items_32x32 derived from: +Search_Items_32x32 and Search_Items_toolbar derived from: http://commons.wikimedia.org/wiki/File:HILLBLU_lente.png AND http://commons.wikimedia.org/wiki/File:HILLBLU_libro.png Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + +hotkeys_disable_toolbar.png derived from: + +Nuvola 1.0 (KDE 3.x icon set) (nuvola) + link: http://www.icon-king.com/projects/nuvola/ + license: LGPL 2.1 + license link: http://creativecommons.org/licenses/LGPL/2.1/ + formats: png + subdirectory: open_icon_library-devel/icons/nuvola + +preferences-desktop-keyboard-3.png diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js index 91812d91eb..19dcd2a91f 100644 --- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js +++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js @@ -17,4 +17,12 @@ pref("open-ils.repository.revision","$Revision$"); pref("open-ils.repository.date","$Date$"); pref("open-ils.repository.id","$Id$"); +// Base (empty) prefs for local menu and toolbar customizations +// NOTE: IF YOU SET DEFAULTS ON THESE THE ORG UNIT SETTING VARIANT WON'T WORK +pref("open-ils.menu.hotkeyset", ""); +pref("open-ils.menu.toolbar", ""); +// For now these are only workstation level and are safe to set defaults on if desired +pref("open-ils.menu.toolbar.iconsize", ""); +pref("open-ils.menu.toolbar.mode", ""); +pref("open-ils.menu.toolbar.labelbelow", false); pref("open-ils.toolbar.defaultnewtab", false); -- 2.11.0