controls: add shortcut keys for a bunch of items
authorMike Frysinger <vapier@gentoo.org>
Sun, 1 Sep 2013 20:16:02 +0000 (16:16 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sun, 1 Sep 2013 20:16:02 +0000 (16:16 -0400)
main.html
main.js

index 89489d8a98a3707884b7d624a4f1d165b4945297..90e2182a03b043aecf431c01312c60be2d38787e 100644 (file)
--- a/main.html
+++ b/main.html
@@ -69,7 +69,7 @@ div#footer {
 <table>
  <tr style='whitespace:collapse'>
   <td>
 <table>
  <tr style='whitespace:collapse'>
   <td>
-   <input type='button' id='previous' value='&#x21E6;'><input type='button' id='play' value='&#x25B7;'><input type='button' id='pause' value='&#x25EB;'><input type='button' id='stop' value='&#x25FB;'><input type='button' id='next' value='&#x21E8;'>
+   <input type='button' id='previous' value='&#x21E6;' accesskey='a'><input type='button' id='play' value='&#x25B7;' accesskey='s'><input type='button' id='pause' value='&#x25EB;' accesskey='d'><input type='button' id='stop' value='&#x25FB;' accesskey='f'><input type='button' id='next' value='&#x21E8;' accesskey='g'>
   </td>
   <td>
    <input type='button' id='repeat' value='&#x221E;'><input type='button' id='random' value='&reg;'><input type='button' id='single' value='&sect;'><input type='button' id='consume' value='&copy;'>
   </td>
   <td>
    <input type='button' id='repeat' value='&#x221E;'><input type='button' id='random' value='&reg;'><input type='button' id='single' value='&sect;'><input type='button' id='consume' value='&copy;'>
diff --git a/main.js b/main.js
index 9155650966c2f3a40c2f14befc72a61a33437080..aa4c7bd961f329b5506724635ae7e4c7b6b72908 100644 (file)
--- a/main.js
+++ b/main.js
@@ -56,6 +56,23 @@ window.onload = function() {
        });
 };
 
        });
 };
 
+window.onkeypress = function(e) {
+       switch (e.keyCode) {
+       case 49: // 1
+               show_page('controls');
+               break;
+       case 50: // 1
+               show_page('metadata');
+               break;
+       case 51: // 1
+               show_page('playlist');
+               break;
+       case 52: // 1
+               show_page('options');
+               break;
+       }
+};
+
 function mpc_refresh() {
        mpc.status();
 }
 function mpc_refresh() {
        mpc.status();
 }
@@ -191,11 +208,17 @@ function update_sync_settings() {
 }
 
 function init_ui(local_keys, sync_keys, options) {
 }
 
 function init_ui(local_keys, sync_keys, options) {
+       var ele, i;
+
        /* Setup footer */
        /* Setup footer */
+       i = 1;
        [
        [
-               'controls', 'metadata', 'options', 'playlist',
+               'controls', 'metadata', 'playlist', 'options',
        ].forEach(function(id) {
        ].forEach(function(id) {
-               document.getElementById('tab.' + id).onclick = show_page;
+               var ele = document.getElementById('tab.' + id);
+               ele.onclick = show_page;
+               ele.title = id + ' [' + i + ']';
+               ++i;
        });
 
        /* Setup control tab */
        });
 
        /* Setup control tab */
@@ -207,6 +230,8 @@ function init_ui(local_keys, sync_keys, options) {
                var ele = window['ui_mpc_' + id] = document.getElementById(id);
                ele.onchange = ele.onclick = window['tramp_mpc_' + id];
                ele.title = id;
                var ele = window['ui_mpc_' + id] = document.getElementById(id);
                ele.onchange = ele.onclick = window['tramp_mpc_' + id];
                ele.title = id;
+               if (ele.accessKey)
+                       ele.title += ' [' + ele.accessKey + ']'
        });
        window['ui_mpc_currtime'] = document.getElementById('currtime');
 
        });
        window['ui_mpc_currtime'] = document.getElementById('currtime');