<?xml version="1.0"?>

<!-- -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin/passwordmgr.css" type="text/css"?>

<!DOCTYPE dialog [
  <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
  %brandDTD;
  <!ENTITY % passwordManagerHeaderDTD SYSTEM "chrome://navigator/locale/permissions/passwordManagerHeader.dtd">
  %passwordManagerHeaderDTD;
  <!ENTITY % passwordManagerDTD SYSTEM "chrome://passwordmgr/locale/passwordManager.dtd">
  %passwordManagerDTD;
]>

<window id="SignonViewerDialog"
        windowtype="Toolkit:PasswordManager"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        onload="Startup();"
        onunload="Shutdown();"
        title="&savedLogins.title;"
        style="width: 45em;"
        persist="width height screenX screenY">

  <script type="application/javascript" src="chrome://passwordmgr/content/passwordManager.js"/>

  <stringbundle id="signonBundle"
                src="chrome://passwordmgr/locale/passwordmgr.properties"/>

  <keyset>
    <key keycode="VK_ESCAPE" oncommand="escapeKeyHandler();"/>
    <key key="&windowClose.key;" modifiers="accel" oncommand="escapeKeyHandler();"/>
    <key key="&focusSearch1.key;" modifiers="accel" oncommand="FocusFilterBox();"/>
    <key key="&focusSearch2.key;" modifiers="accel" oncommand="FocusFilterBox();"/>
  </keyset>

  <popupset id="signonsTreeContextSet">
    <menupopup id="signonsTreeContextMenu"
               onpopupshowing="UpdateContextMenu()">
      <menuitem id="context-copyusername"
                label="&copyUsernameCmd.label;"
                accesskey="&copyUsernameCmd.accesskey;"
                oncommand="CopyUsername()"/>
      <menuitem id="context-editusername"
                label="&editUsernameCmd.label;"
                accesskey="&editUsernameCmd.accesskey;"
                oncommand="EditCellInSelectedRow('username')"/>
      <menuseparator/>
      <menuitem id="context-copypassword"
                label="&copyPasswordCmd.label;"
                accesskey="&copyPasswordCmd.accesskey;"
                oncommand="CopyPassword()"/>
      <menuitem id="context-editpassword"
                label="&editPasswordCmd.label;"
                accesskey="&editPasswordCmd.accesskey;"
                oncommand="EditCellInSelectedRow('password')"/>
    </menupopup>
  </popupset>

  <dialogheader class="header-large"
                id="header"
                style="margin-top: 0px; margin-left: 0px;"
                title="&header.title;"
                description="&header.description;"/>

  <!-- saved signons -->
  <vbox id="savedsignons" class="contentPane" flex="1">
    <!-- filter -->
    <hbox align="center">
      <label accesskey="&filter.accesskey;" control="filter">&filter.label;</label>
      <textbox id="filter" flex="1" type="search"
               aria-controls="signonsTree"
               oncommand="FilterPasswords();"/>
    </hbox>

    <separator class="thin"/>
    <label control="signonsTree" id="signonsIntro"/>
    <separator class="thin"/>
    <tree id="signonsTree" flex="1"
          width="750"
          style="height: 20em;"
          onkeypress="HandleSignonKeyPress(event)"
          onselect="SignonSelected();"
          editable="true"
          context="signonsTreeContextMenu">
      <treecols>
        <treecol id="siteCol" label="&treehead.site.label;" flex="40"
                 data-field-name="hostname" persist="width"
                 ignoreincolumnpicker="true"
                 sortDirection="ascending"/>
        <splitter class="tree-splitter"/>
        <treecol id="userCol" label="&treehead.username.label;" flex="25"
                 ignoreincolumnpicker="true"
                 data-field-name="username" persist="width"/>
        <splitter class="tree-splitter"/>
        <treecol id="passwordCol" label="&treehead.password.label;" flex="15"
                 ignoreincolumnpicker="true"
                 data-field-name="password" persist="width"
                 hidden="true"/>
        <splitter class="tree-splitter"/>
        <treecol id="timeCreatedCol" label="&treehead.timeCreated.label;" flex="10"
                 data-field-name="timeCreated" persist="width hidden"
                 hidden="true"/>
        <splitter class="tree-splitter"/>
        <treecol id="timeLastUsedCol" label="&treehead.timeLastUsed.label;" flex="20"
                 data-field-name="timeLastUsed" persist="width hidden"
                 hidden="true"/>
        <splitter class="tree-splitter"/>
        <treecol id="timePasswordChangedCol" label="&treehead.timePasswordChanged.label;" flex="10"
                 data-field-name="timePasswordChanged" persist="width hidden"/>
        <splitter class="tree-splitter"/>
        <treecol id="timesUsedCol" label="&treehead.timesUsed.label;" flex="1"
                 data-field-name="timesUsed" persist="width hidden"
                 hidden="true"/>
        <splitter class="tree-splitter"/>
      </treecols>
      <treechildren/>
    </tree>
    <separator class="thin"/>
    <hbox id="SignonViewerButtons">
      <button id="removeSignon" disabled="true" icon="remove"
              label="&remove.label;" accesskey="&remove.accesskey;"
              oncommand="DeleteSignon();"/>
      <button id="removeAllSignons" icon="clear"
              oncommand="DeleteAllSignons();"/>
      <spacer flex="1"/>
      <button id="togglePasswords"
              oncommand="TogglePasswordVisible();"/>
    </hbox>
  </vbox>
  <separator class="groove" style="margin-left: 8px; margin-right: 8px"/>
  <hbox align="end">
    <hbox class="actionButtons" align="right" flex="1">
      <button oncommand="close();" icon="close"
              label="&closebutton.label;" accesskey="&closebutton.accesskey;"/>
    </hbox>
    <resizer type="window" dir="bottomend"/>
  </hbox>
</window>
