Bug 955302 - Fix spacing in account.xml and accounts.xul, r=florian.
authorPatrick Cloke <clokep@gmail.com>
Tue, 19 Feb 2013 00:01:30 +0100
changeset 18956 7d70e6a10e3d2bee3076f006c828337490c0d536
parent 18955 ae97345ea5509f95a2c9e06390a0fb50b18ef5b4
child 18957 b01c8f776b22b7fc80e18cc587afe2945a997ec5
push idunknown
push userunknown
push dateunknown
reviewersflorian
bugs955302
Bug 955302 - Fix spacing in account.xml and accounts.xul, r=florian.
im/content/account.xml
im/content/accounts.xul
--- a/im/content/account.xml
+++ b/im/content/account.xml
@@ -21,271 +21,270 @@
           <xul:vbox>
             <xul:stack xbl:inherits="tooltiptext=protocol">
               <xul:image xbl:inherits="src=prplicon" class="accountIcon"/>
               <xul:image class="accountStateIcon"/>
             </xul:stack>
             <xul:spacer flex="1"/>
           </xul:vbox>
           <xul:vbox flex="1">
-           <xul:label xbl:inherits="value=name" crop="end" class="accountName"/>
-           <xul:label class="connecting" crop="end" anonid="connecting" value="&account.connecting;"/>
-           <xul:label class="connected" crop="end" anonid="connected"/>
-           <xul:label class="disconnecting" crop="end" value="&account.disconnecting;"/>
-           <xul:label class="disconnected" crop="end" value="&account.disconnected;"/>
-           <xul:description class="error" anonid="error"/>
-           <xul:description class="error" anonid="reconnect"/>
-           <xul:spacer flex="1"/>
+            <xul:label xbl:inherits="value=name" crop="end" class="accountName"/>
+            <xul:label class="connecting" crop="end" anonid="connecting" value="&account.connecting;"/>
+            <xul:label class="connected" crop="end" anonid="connected"/>
+            <xul:label class="disconnecting" crop="end" value="&account.disconnecting;"/>
+            <xul:label class="disconnected" crop="end" value="&account.disconnected;"/>
+            <xul:description class="error" anonid="error"/>
+            <xul:description class="error" anonid="reconnect"/>
+            <xul:spacer flex="1"/>
           </xul:vbox>
           <xul:checkbox label="&account.autoSignOn.label;" dir="reverse"
                         xbl:inherits="checked=autologin" class="autoSignOn"
                         accesskey="&account.autoSignOn.accesskey;"
                         oncommand="gAccountManager.autologin()"/>
         </xul:hbox>
         <xul:hbox flex="1" class="account-buttons" anonid="buttons"
                   xbl:inherits="autologin"/>
       </xul:vbox>
     </content>
     <implementation>
-     <method name="build">
-      <parameter name="aAccount"/>
-      <body>
-      <![CDATA[
-        this._account = aAccount;
-        this.setAttribute("name", aAccount.name);
-        this.setAttribute("id", aAccount.id);
-        var proto = aAccount.protocol;
-        this.setAttribute("protocol", proto.name);
-        this.setAttribute("prplicon", proto.iconBaseURI + "icon32.png");
-        var state = "Unknown";
-        if (this._account.connected) {
-          state = "connected";
-          this.refreshConnectedLabel();
-        } else if (this._account.disconnected) {
-          state = "disconnected";
-          if (this._account.connectionErrorReason != Ci.prplIAccount.NO_ERROR)
-            this.updateConnectionError();
-          else
-            this.removeAttribute("error");
-        } else if (this._account.connecting) {
-          state = "connecting";
-          this.updateConnectionState();
-        } else if (this._account.disconnecting) {
-          state = "connected";
-        }
-        this.setAttribute("state", state);
-        this.autoLogin = aAccount.autoLogin;
-      ]]>
-      </body>
-     </method>
+      <method name="build">
+        <parameter name="aAccount"/>
+        <body>
+        <![CDATA[
+          this._account = aAccount;
+          this.setAttribute("name", aAccount.name);
+          this.setAttribute("id", aAccount.id);
+          var proto = aAccount.protocol;
+          this.setAttribute("protocol", proto.name);
+          this.setAttribute("prplicon", proto.iconBaseURI + "icon32.png");
+          var state = "Unknown";
+          if (this._account.connected) {
+            state = "connected";
+            this.refreshConnectedLabel();
+          } else if (this._account.disconnected) {
+            state = "disconnected";
+            if (this._account.connectionErrorReason != Ci.prplIAccount.NO_ERROR)
+              this.updateConnectionError();
+            else
+              this.removeAttribute("error");
+          } else if (this._account.connecting) {
+            state = "connecting";
+            this.updateConnectionState();
+          } else if (this._account.disconnecting) {
+            state = "connected";
+          }
+          this.setAttribute("state", state);
+          this.autoLogin = aAccount.autoLogin;
+        ]]>
+        </body>
+      </method>
+
+      <method name="updateConnectionState">
+        <body>
+        <![CDATA[
+          var bundle = document.getElementById("accountsBundle");
+          const key = "account.connection.progress";
+          var text = this._account.connectionStateMsg;
+          text = text ? bundle.getFormattedString(key, [text])
+                      : bundle.getString("account.connecting");
+
+          var progress = document.getAnonymousElementByAttribute(this, "anonid",
+                                                                 "connecting");
+          progress.setAttribute("value", text);
+          if (this.reconnectUpdateInterval)
+            this._cancelReconnectTimer();
+        ]]>
+        </body>
+      </method>
 
-     <method name="updateConnectionState">
-      <body>
-      <![CDATA[
-        var bundle = document.getElementById("accountsBundle");
-        const key = "account.connection.progress";
-        var text = this._account.connectionStateMsg;
-        text = text ? bundle.getFormattedString(key, [text])
-                    : bundle.getString("account.connecting");
+      <method name="updateConnectionError">
+        <body>
+        <![CDATA[
+          var bundle = document.getElementById("accountsBundle");
+          const key = "account.connection.error";
+          var account = this._account;
+          var text;
+          let errorReason = account.connectionErrorReason;
+          if (errorReason == Ci.imIAccount.ERROR_UNKNOWN_PRPL)
+            text = bundle.getFormattedString(key + "UnknownPrpl",
+                                             [account.protocol.id]);
+          else if (errorReason == Ci.imIAccount.ERROR_MISSING_PASSWORD)
+            text = bundle.getString(key + "EnteringPasswordRequired");
+          else if (errorReason == Ci.imIAccount.ERROR_CRASHED)
+            text = bundle.getString(key + "CrashedAccount");
+          else
+            text = account.connectionErrorMessage;
 
-        var progress = document.getAnonymousElementByAttribute(this, "anonid",
-                                                               "connecting");
-        progress.setAttribute("value", text);
-        if (this.reconnectUpdateInterval)
-          this._cancelReconnectTimer();
-      ]]>
-      </body>
-     </method>
+          if (errorReason != Ci.imIAccount.ERROR_MISSING_PASSWORD)
+            text = bundle.getFormattedString(key, [text]);
+
+          this.setAttribute("error", "true");
+          var error = document.getAnonymousElementByAttribute(this, "anonid",
+                                                              "error");
+          error.textContent = text;
 
-     <method name="updateConnectionError">
-      <body>
-      <![CDATA[
-        var bundle = document.getElementById("accountsBundle");
-        const key = "account.connection.error";
-        var account = this._account;
-        var text;
-        let errorReason = account.connectionErrorReason;
-        if (errorReason == Ci.imIAccount.ERROR_UNKNOWN_PRPL)
-          text = bundle.getFormattedString(key + "UnknownPrpl",
-                                           [account.protocol.id]);
-        else if (errorReason == Ci.imIAccount.ERROR_MISSING_PASSWORD)
-          text = bundle.getString(key + "EnteringPasswordRequired");
-        else if (errorReason == Ci.imIAccount.ERROR_CRASHED)
-          text = bundle.getString(key + "CrashedAccount");
-        else
-          text = account.connectionErrorMessage;
+          var updateReconnect = (function() {
+            var date = Math.round((account.timeOfNextReconnect - Date.now()) / 1000);
+            let reconnect = "";
+            if (date > 0) {
+              let [val1, unit1, val2, unit2] = DownloadUtils.convertTimeUnits(date);
+              if (!val2)
+                reconnect = bundle.getFormattedString("account.reconnectInSingle",
+                                                      [val1, unit1])
+              else
+                reconnect = bundle.getFormattedString("account.reconnectInDouble",
+                                                      [val1, unit1, val2, unit2])
+            }
+            document.getAnonymousElementByAttribute(this, "anonid", "reconnect")
+                    .textContent = reconnect;
+            return reconnect;
+          }).bind(this);
+          if (updateReconnect() && !this.reconnectUpdateInterval) {
+            this.setAttribute("reconnectPending", "true");
+            this.reconnectUpdateInterval = setInterval(updateReconnect, 1000);
+            gAccountManager.disableCommandItems();
+          }
+        ]]>
+        </body>
+      </method>
 
-        if (errorReason != Ci.imIAccount.ERROR_MISSING_PASSWORD)
-          text = bundle.getFormattedString(key, [text]);
-
-        this.setAttribute("error", "true");
-        var error = document.getAnonymousElementByAttribute(this, "anonid",
-                                                            "error");
-        error.textContent = text;
-
-        var updateReconnect = (function() {
-          var date = Math.round((account.timeOfNextReconnect - Date.now()) / 1000);
-          let reconnect = "";
+      <method name="refreshConnectedLabel">
+        <body>
+        <![CDATA[
+          var bundle = document.getElementById("accountsBundle");
+          var date =
+            60 * Math.floor((Date.now() - this._account.timeOfLastConnect) / 60000);
+          let value;
           if (date > 0) {
             let [val1, unit1, val2, unit2] = DownloadUtils.convertTimeUnits(date);
             if (!val2)
-              reconnect = bundle.getFormattedString("account.reconnectInSingle",
-                                                    [val1, unit1])
+              value = bundle.getFormattedString("account.connectedForSingle",
+                                                [val1, unit1])
             else
-              reconnect = bundle.getFormattedString("account.reconnectInDouble",
-                                                    [val1, unit1, val2, unit2])
+              value = bundle.getFormattedString("account.connectedForDouble",
+                                                [val1, unit1, val2, unit2])
           }
-          document.getAnonymousElementByAttribute(this, "anonid", "reconnect")
-                  .textContent = reconnect;
-          return reconnect;
-        }).bind(this);
-        if (updateReconnect() && !this.reconnectUpdateInterval) {
-          this.setAttribute("reconnectPending", "true");
-          this.reconnectUpdateInterval = setInterval(updateReconnect, 1000);
+          else
+            value = bundle.getString("account.connectedForSeconds");
+          this.connectedLabel.value = value;
+        ]]>
+        </body>
+      </method>
+
+      <method name="_cancelReconnectTimer">
+        <body>
+        <![CDATA[
+          this.removeAttribute("reconnectPending");
+          clearInterval(this.reconnectUpdateInterval);
+          delete this.reconnectUpdateInterval;
           gAccountManager.disableCommandItems();
-        }
-      ]]>
-      </body>
-     </method>
+        ]]>
+        </body>
+      </method>
 
-     <method name="refreshConnectedLabel">
-       <body>
-       <![CDATA[
-         var bundle = document.getElementById("accountsBundle");
-         var date =
-           60 * Math.floor((Date.now() - this._account.timeOfLastConnect) / 60000);
-         let value;
-         if (date > 0) {
-           let [val1, unit1, val2, unit2] = DownloadUtils.convertTimeUnits(date);
-           if (!val2)
-             value = bundle.getFormattedString("account.connectedForSingle",
-                                               [val1, unit1])
-           else
-             value = bundle.getFormattedString("account.connectedForDouble",
-                                               [val1, unit1, val2, unit2])
-         }
-         else
-           value = bundle.getString("account.connectedForSeconds");
-         this.connectedLabel.value = value;
-       ]]>
-       </body>
-     </method>
+      <method name="cancelReconnection">
+        <body>
+        <![CDATA[
+          if (this.reconnectUpdateInterval) {
+            this._cancelReconnectTimer();
+            this._account.cancelReconnection();
+          }
+        ]]>
+        </body>
+      </method>
 
-     <method name="_cancelReconnectTimer">
-       <body>
-       <![CDATA[
-         this.removeAttribute("reconnectPending");
-         clearInterval(this.reconnectUpdateInterval);
-         delete this.reconnectUpdateInterval;
-         gAccountManager.disableCommandItems();
-       ]]>
-       </body>
-     </method>
-
-     <method name="cancelReconnection">
-       <body>
-       <![CDATA[
-         if (this.reconnectUpdateInterval) {
-           this._cancelReconnectTimer();
-           this._account.cancelReconnection();
-         }
-       ]]>
-       </body>
-     </method>
+      <method name="restoreItems">
+        <body>
+        <![CDATA[
+          // Called after a removal and reinsertion of the binding
+          this._buttons = null;
+          this._connectedLabel = null;
+          if (this._account.connected)
+            this.refreshConnectedLabel();
+          if (this._account.connectionErrorReason == Ci.prplIAccount.NO_ERROR)
+            this.updateConnectionState();
+          else
+            this.updateConnectionError();
+        ]]>
+        </body>
+      </method>
 
-     <method name="restoreItems">
-       <body>
-       <![CDATA[
-         // Called after a removal and reinsertion of the binding
-         this._buttons = null;
-         this._connectedLabel = null;
-         if (this._account.connected)
-           this.refreshConnectedLabel();
-         if (this._account.connectionErrorReason == Ci.prplIAccount.NO_ERROR)
-           this.updateConnectionState();
-         else
-           this.updateConnectionError();
-       ]]>
-       </body>
-     </method>
-
-     <method name="destroy">
-       <body>
-       <![CDATA[
-         // If we have a reconnect timer, stop it:
-         // it will throw errors otherwise (see bug 480).
-         if (!this.reconnectUpdateInterval)
-           return;
-         clearInterval(this.reconnectUpdateInterval);
-         delete this.reconnectUpdateInterval;
-       ]]>
-       </body>
-     </method>
+      <method name="destroy">
+        <body>
+        <![CDATA[
+          // If we have a reconnect timer, stop it:
+          // it will throw errors otherwise (see bug 480).
+          if (!this.reconnectUpdateInterval)
+            return;
+          clearInterval(this.reconnectUpdateInterval);
+          delete this.reconnectUpdateInterval;
+        ]]>
+        </body>
+      </method>
 
-     <property name="autoLogin">
-       <getter>
-         <![CDATA[
-           return this.hasAttribute("autologin");
-         ]]>
-       </getter>
-       <setter>
-         <![CDATA[
-           if (val)
-             this.setAttribute("autologin", "true");
-           else
-             this.removeAttribute("autologin");
-           if (this._account.autoLogin != val)
-             this._account.autoLogin = val;
-           return val;
-         ]]>
-       </setter>
-     </property>
+      <property name="autoLogin">
+        <getter>
+        <![CDATA[
+          return this.hasAttribute("autologin");
+        ]]>
+        </getter>
+        <setter>
+        <![CDATA[
+          if (val)
+            this.setAttribute("autologin", "true");
+          else
+            this.removeAttribute("autologin");
+          if (this._account.autoLogin != val)
+            this._account.autoLogin = val;
+          return val;
+        ]]>
+        </setter>
+      </property>
 
-     <!-- override the default accessible name -->
-     <property name="label" onget="return this.getAttribute('name');"/>
+      <!-- override the default accessible name -->
+      <property name="label" onget="return this.getAttribute('name');"/>
 
-     <property name="account" onget="return this._account;"/>
+      <property name="account" onget="return this._account;"/>
 
-     <property name="connectedLabel">
-       <getter>
-         <![CDATA[
-           if (!this._connectedLabel)
-             this._connectedLabel =
-               document.getAnonymousElementByAttribute(this, "anonid", "connected");
-           return this._connectedLabel;
-         ]]>
-       </getter>
-     </property>
+      <property name="connectedLabel">
+        <getter>
+        <![CDATA[
+          if (!this._connectedLabel)
+            this._connectedLabel =
+              document.getAnonymousElementByAttribute(this, "anonid", "connected");
+          return this._connectedLabel;
+        ]]>
+        </getter>
+      </property>
 
-     <property name="buttons">
-       <getter>
-         <![CDATA[
-           if (!this._buttons)
-             this._buttons =
-               document.getAnonymousElementByAttribute(this, "anonid", "buttons");
-           return this._buttons;
-         ]]>
-       </getter>
-     </property>
-
+      <property name="buttons">
+        <getter>
+        <![CDATA[
+          if (!this._buttons)
+            this._buttons =
+              document.getAnonymousElementByAttribute(this, "anonid", "buttons");
+          return this._buttons;
+        ]]>
+        </getter>
+      </property>
     </implementation>
     <handlers>
       <handler event="dblclick">
-        <![CDATA[
-          if (event.button == 0) {
-            // If we double clicked on a widget that has already done
-            // something with the first click, we should ignore the event
-            var localName = event.originalTarget.localName;
-            if (localName != "button" && localName != "checkbox")
-              this.buttons.proceedDefaultAction();
-          }
+      <![CDATA[
+        if (event.button == 0) {
+          // If we double clicked on a widget that has already done
+          // something with the first click, we should ignore the event
+          var localName = event.originalTarget.localName;
+          if (localName != "button" && localName != "checkbox")
+            this.buttons.proceedDefaultAction();
+        }
 
-          // Prevent from loading an account wizzard
-          event.stopPropagation();
-        ]]>
+        // Prevent from loading an account wizzard
+        event.stopPropagation();
+      ]]>
       </handler>
     </handlers>
   </binding>
 
   <binding id="buttons" extends="xul:hbox">
     <content>
       <xul:button class="disconnectButton"
                   command="cmd_disconnect"
@@ -293,42 +292,42 @@
       <xul:button class="connectButton"
                   command="cmd_connect"
                   anonid="connect"/>
       <xul:spacer flex="1"/>
       <xul:button command="cmd_delete"/>
       <xul:button command="cmd_edit"/>
     </content>
     <implementation>
-     <property name="activeButton" readonly="true">
-       <getter>
-       <![CDATA[
-         let action =
-           document.getBindingParent(this).account.disconnected ? "connect"
-                                                                : "disconnect";
-         return document.getAnonymousElementByAttribute(this, "anonid", action);
-       ]]>
-       </getter>
-     </property>
+      <property name="activeButton" readonly="true">
+        <getter>
+        <![CDATA[
+          let action =
+            document.getBindingParent(this).account.disconnected ? "connect"
+                                                                 : "disconnect";
+          return document.getAnonymousElementByAttribute(this, "anonid", action);
+        ]]>
+        </getter>
+      </property>
 
-     <method name="setFocus">
-      <body>
-      <![CDATA[
-        let focusTarget = this.activeButton;
-        if (focusTarget.disabled)
-          focusTarget = document.getElementById("accountlist");
-        focusTarget.focus();
-      ]]>
-      </body>
-     </method>
+      <method name="setFocus">
+        <body>
+        <![CDATA[
+          let focusTarget = this.activeButton;
+          if (focusTarget.disabled)
+            focusTarget = document.getElementById("accountlist");
+          focusTarget.focus();
+        ]]>
+        </body>
+      </method>
 
-     <method name="proceedDefaultAction">
-      <body>
-      <![CDATA[
-        this.activeButton.click();
-      ]]>
-      </body>
-     </method>
+      <method name="proceedDefaultAction">
+        <body>
+        <![CDATA[
+          this.activeButton.click();
+        ]]>
+        </body>
+      </method>
     </implementation>
   </binding>
 
   <binding id="nobuttons" extends="xul:hbox"/>
 </bindings>
--- a/im/content/accounts.xul
+++ b/im/content/accounts.xul
@@ -24,119 +24,119 @@
 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
         id="accountManager"
         windowtype="Messenger:Accounts"
         onload="gAccountManager.load()"
         title="&accounts.title;"
         height="300"
         width="&accountManager.width;"
         persist="width height screenX screenY">
- <script type="application/javascript" src="chrome://instantbird/content/accounts.js"/>
- <script type="application/javascript" src="chrome://global/content/nsDragAndDrop.js" />
- <script type="application/javascript" src="chrome://global/content/nsTransferable.js" />
+  <script type="application/javascript" src="chrome://instantbird/content/accounts.js"/>
+  <script type="application/javascript" src="chrome://global/content/nsDragAndDrop.js" />
+  <script type="application/javascript" src="chrome://global/content/nsTransferable.js" />
 
- <stringbundle id="accountsBundle" src="chrome://instantbird/locale/accounts.properties"/>
+  <stringbundle id="accountsBundle" src="chrome://instantbird/locale/accounts.properties"/>
 
- <commandset id="accountsCommands">
-   <command id="cmd_connect"
-            accesskey="&account.connect.accesskey;"
-            label="&account.connect.label;"
-            oncommand="gAccountManager.connect()"/>
-   <command id="cmd_disconnect"
-            label="&account.disconnect.label;"
-            accesskey="&account.disconnect.accesskey;"
-            oncommand="gAccountManager.disconnect()"/>
-   <command id="cmd_cancelReconnection"
-            label="&account.cancelReconnection.label;"
-            accesskey="&account.cancelReconnection.accesskey;"
-            oncommand="gAccountManager.cancelReconnection()"/>
-   <command id="cmd_copyDebugLog"
-            label="&account.copyDebugLog.label;"
-            accesskey="&account.copyDebugLog.accesskey;"
-            oncommand="gAccountManager.copyDebugLog();"/>
-   <command id="cmd_moveup"
-            label="&account.moveup.label;"
-            oncommand="gAccountManager.moveCurrentItem(-1)"/>
-   <command id="cmd_movedown"
-            label="&account.movedown.label;"
-            oncommand="gAccountManager.moveCurrentItem(1)"/>
-   <command id="cmd_delete"
-            label="&account.delete.label;"
-            accesskey="&account.delete.accesskey;"
-            oncommand="gAccountManager.delete()"/>
-   <command id="cmd_edit"
-            label="&account.edit.label;"
-            accesskey="&account.edit.accesskey;"
-            oncommand="gAccountManager.edit()"/>
-   <command id="cmd_new"
-            label="&accountManager.newAccount.label;"
-            accesskey="&accountManager.newAccount.accesskey;"
-            oncommand="gAccountManager.new()"/>
-   <command id="cmd_close"
-            label="&accountManager.close.label;"
-            accesskey="&accountManager.close.accesskey;"
-            oncommand="gAccountManager.close()"/>
- </commandset>
+  <commandset id="accountsCommands">
+    <command id="cmd_connect"
+             accesskey="&account.connect.accesskey;"
+             label="&account.connect.label;"
+             oncommand="gAccountManager.connect()"/>
+    <command id="cmd_disconnect"
+             label="&account.disconnect.label;"
+             accesskey="&account.disconnect.accesskey;"
+             oncommand="gAccountManager.disconnect()"/>
+    <command id="cmd_cancelReconnection"
+             label="&account.cancelReconnection.label;"
+             accesskey="&account.cancelReconnection.accesskey;"
+             oncommand="gAccountManager.cancelReconnection()"/>
+    <command id="cmd_copyDebugLog"
+             label="&account.copyDebugLog.label;"
+             accesskey="&account.copyDebugLog.accesskey;"
+             oncommand="gAccountManager.copyDebugLog();"/>
+    <command id="cmd_moveup"
+             label="&account.moveup.label;"
+             oncommand="gAccountManager.moveCurrentItem(-1)"/>
+    <command id="cmd_movedown"
+             label="&account.movedown.label;"
+             oncommand="gAccountManager.moveCurrentItem(1)"/>
+    <command id="cmd_delete"
+             label="&account.delete.label;"
+             accesskey="&account.delete.accesskey;"
+             oncommand="gAccountManager.delete()"/>
+    <command id="cmd_edit"
+             label="&account.edit.label;"
+             accesskey="&account.edit.accesskey;"
+             oncommand="gAccountManager.edit()"/>
+    <command id="cmd_new"
+             label="&accountManager.newAccount.label;"
+             accesskey="&accountManager.newAccount.accesskey;"
+             oncommand="gAccountManager.new()"/>
+    <command id="cmd_close"
+             label="&accountManager.close.label;"
+             accesskey="&accountManager.close.accesskey;"
+             oncommand="gAccountManager.close()"/>
+  </commandset>
 
- <keyset id="accountsKeys">
-   <key id="key_close1" key="w" modifiers="accel" command="cmd_close"/>
-   <key id="key_close2" keycode="VK_ESCAPE" command="cmd_close"/>
-   <key id="key_close3" command="cmd_close"
-        key="&accountManager.close.commandkey;" modifiers="accel,shift"/>
- </keyset>
+  <keyset id="accountsKeys">
+    <key id="key_close1" key="w" modifiers="accel" command="cmd_close"/>
+    <key id="key_close2" keycode="VK_ESCAPE" command="cmd_close"/>
+    <key id="key_close3" command="cmd_close"
+         key="&accountManager.close.commandkey;" modifiers="accel,shift"/>
+  </keyset>
 
 #ifdef XP_MACOSX
 #include menus.xul.inc
 #endif
 
- <broadcasterset>
-   <broadcaster id="contextAccountsItems"/>
- </broadcasterset>
+  <broadcasterset>
+    <broadcaster id="contextAccountsItems"/>
+  </broadcasterset>
 
- <menupopup id="accountsContextMenu"
-            onpopupshowing="gAccountManager.onContextMenuShowing()">
-   <menuitem id="context_connect"
-             command="cmd_connect"
-             observes="contextAccountsItems"/>
-   <menuitem id="context_disconnect"
-             command="cmd_disconnect"
-             observes="contextAccountsItems"/>
-   <menuitem id="context_cancelReconnection"
-             command="cmd_cancelReconnection"
-             observes="contextAccountsItems"/>
-   <menuitem id="context_copyDebugLog"
-             command="cmd_copyDebugLog"/>
-   <menuseparator id="context_accountsItemsSeparator"
-                  observes="contextAccountsItems"/>
-   <menuitem command="cmd_new"/>
-   <menuitem command="cmd_delete" observes="contextAccountsItems"/>
-   <menuseparator observes="contextAccountsItems"/>
-   <menuitem command="cmd_moveup" observes="contextAccountsItems"/>
-   <menuitem command="cmd_movedown" observes="contextAccountsItems"/>
-   <menuseparator observes="contextAccountsItems"/>
-   <menuitem command="cmd_edit" observes="contextAccountsItems"/>
- </menupopup>
+  <menupopup id="accountsContextMenu"
+             onpopupshowing="gAccountManager.onContextMenuShowing()">
+    <menuitem id="context_connect"
+              command="cmd_connect"
+              observes="contextAccountsItems"/>
+    <menuitem id="context_disconnect"
+              command="cmd_disconnect"
+              observes="contextAccountsItems"/>
+    <menuitem id="context_cancelReconnection"
+              command="cmd_cancelReconnection"
+              observes="contextAccountsItems"/>
+    <menuitem id="context_copyDebugLog"
+              command="cmd_copyDebugLog"/>
+    <menuseparator id="context_accountsItemsSeparator"
+                   observes="contextAccountsItems"/>
+    <menuitem command="cmd_new"/>
+    <menuitem command="cmd_delete" observes="contextAccountsItems"/>
+    <menuseparator observes="contextAccountsItems"/>
+    <menuitem command="cmd_moveup" observes="contextAccountsItems"/>
+    <menuitem command="cmd_movedown" observes="contextAccountsItems"/>
+    <menuseparator observes="contextAccountsItems"/>
+    <menuitem command="cmd_edit" observes="contextAccountsItems"/>
+  </menupopup>
 
- <deck flex="1" id="accountsDesk" ondblclick="gAccountManager.new();">
-   <vbox flex="1" id="noAccountScreen" align="center" pack="center">
-     <hbox id="noAccountBox" align="top">
-       <image id="noAccountImage"/>
-       <vbox id="noAccountInnerBox" flex="1">
-         <label id="noAccountTitle" value="&accountManager.noAccount.title;"/>
-         <description id="noAccountDesc">&accountManager.noAccount.description;</description>
-       </vbox>
-     </hbox>
-   </vbox>
-   <notificationbox id="accountsNotificationBox" flex="1">
-     <richlistbox id="accountlist" flex="1" context="accountsContextMenu"
-                  onselect="gAccountManager.onAccountSelect();"
-                  ondragstart="nsDragAndDrop.startDrag(event, gAMDragAndDrop);"
-                  ondragover="nsDragAndDrop.dragOver(event, gAMDragAndDrop);"
-                  ondragend="gAMDragAndDrop.cleanBorders(true);"
-                  ondragdrop="nsDragAndDrop.drop(event, gAMDragAndDrop);"/>
-   </notificationbox>
- </deck>
- <windowdragbox id="bottombuttons" align="center">
-  <button id="newaccount" command="cmd_new"/>
-  <spacer flex="1"/>
-  <button id="close" command="cmd_close"/>
- </windowdragbox>
+  <deck flex="1" id="accountsDesk" ondblclick="gAccountManager.new();">
+    <vbox flex="1" id="noAccountScreen" align="center" pack="center">
+      <hbox id="noAccountBox" align="top">
+        <image id="noAccountImage"/>
+        <vbox id="noAccountInnerBox" flex="1">
+          <label id="noAccountTitle" value="&accountManager.noAccount.title;"/>
+          <description id="noAccountDesc">&accountManager.noAccount.description;</description>
+        </vbox>
+      </hbox>
+    </vbox>
+    <notificationbox id="accountsNotificationBox" flex="1">
+      <richlistbox id="accountlist" flex="1" context="accountsContextMenu"
+                   onselect="gAccountManager.onAccountSelect();"
+                   ondragstart="nsDragAndDrop.startDrag(event, gAMDragAndDrop);"
+                   ondragover="nsDragAndDrop.dragOver(event, gAMDragAndDrop);"
+                   ondragend="gAMDragAndDrop.cleanBorders(true);"
+                   ondragdrop="nsDragAndDrop.drop(event, gAMDragAndDrop);"/>
+    </notificationbox>
+  </deck>
+  <windowdragbox id="bottombuttons" align="center">
+    <button id="newaccount" command="cmd_new"/>
+    <spacer flex="1"/>
+    <button id="close" command="cmd_close"/>
+  </windowdragbox>
 </window>