]> git.wh0rd.org - chrome-ext/music-player-client.git/blobdiff - main.js
handle connection errors
[chrome-ext/music-player-client.git] / main.js
diff --git a/main.js b/main.js
index 266bb1e60f6b242ff3108ae858d3d9322281f9b2..3ff3ca46906251888f02af57737083d149c446e0 100644 (file)
--- a/main.js
+++ b/main.js
@@ -61,17 +61,23 @@ window.onload = function() {
 };
 
 window.onkeypress = function(e) {
+       if (e.target != document.body) {
+               /* Only allow the shortcuts when the focus is on the body.
+                  Otherwise you can't type these numbers into text fields. */
+               return;
+       }
+
        switch (e.keyCode) {
        case 49: // 1
                show_page('controls');
                break;
-       case 50: // 1
+       case 50: // 2
                show_page('metadata');
                break;
-       case 51: // 1
+       case 51: // 3
                show_page('playlist');
                break;
-       case 52: // 1
+       case 52: // 4
                show_page('options');
                break;
        }
@@ -97,7 +103,12 @@ function mpc_connect(host, port) {
 
        update_ui('init');
        tcpclient = new TcpClient(host, port);
-       tcpclient.connect(function() {
+       tcpclient.connect(function(resultCode) {
+               if (resultCode < 0) {
+                       update_ui('error', resultCode);
+                       return;
+               }
+
                var mpc_sender = new TcpClientSender(tcpclient);
                tcpclient.addResponseListener(tramp_mpc_recv);
                mpc = new Mpc(mpc_sender, update_ui);
@@ -295,6 +306,7 @@ function update_ui(state, cmd) {
                ui_mpc_status.innerText = ({
                        'disconnect': 'Disconnecting...',
                        'init': 'Connecting...',
+                       'error': 'Connection error ' + cmd,
                })[state];
                return;
        }