<?xml version="1.0"?>

# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.org Code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Ben Goodger <ben@bengoodger.com> (v2.0)
#   Blake Ross <blakeross@telocity.com>
#   Shawn Wilsher <me@shawnwilsher.com> (v3.0)
#   Edward Lee <edward.lee@engineering.uiuc.edu>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

#ifdef XP_UNIX
#ifndef XP_MACOSX
#define XP_GNOME 1
#endif
#endif

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

<!DOCTYPE window [
<!ENTITY % downloadManagerDTD SYSTEM "chrome://mozapps/locale/downloads/downloads.dtd">
%downloadManagerDTD;
<!ENTITY % editMenuOverlayDTD SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuOverlayDTD;
]>

<window xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        id="downloadManager" windowtype="Download:Manager"
        orient="vertical" title="&downloads.title;" statictitle="&downloads.title;"
        width="&window.width2;" height="&window.height;" screenX="10" screenY="10"
        persist="width height screenX screenY sizemode"
        onload="Startup();" onunload="Shutdown();"
        onclose="return closeWindow(false);">
      
  <script type="application/javascript" src="chrome://mozapps/content/downloads/downloads.js"/>
  <script type="application/javascript" src="chrome://mozapps/content/downloads/DownloadProgressListener.js"/>
  <script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
  <script type="application/javascript" src="chrome://global/content/nsDragAndDrop.js"/>
  <script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
  
  <stringbundleset id="downloadSet">
    <stringbundle id="brandStrings" src="chrome://branding/locale/brand.properties"/>
    <stringbundle id="downloadStrings" src="chrome://mozapps/locale/downloads/downloads.properties"/>
  </stringbundleset>

  <!-- Use this commandset for command which do not depened on focus or selection -->
  <commandset id="generalCommands">
    <command id="cmd_findDownload" oncommand="setSearchboxFocus();"/>
    <command id="cmd_selectAllDownloads" oncommand="gDownloadsView.selectAll();"/>
    <command id="cmd_clearList" oncommand="clearDownloadList();"/>
  </commandset>

  <keyset id="downloadKeys">
    <key keycode="VK_ENTER" oncommand="doDefaultForSelected();"/>
    <key keycode="VK_RETURN" oncommand="doDefaultForSelected();"/>
    <key id="key_pauseResume" key=" " oncommand="performCommand('cmd_pauseResume');"/>
    <key id="key_removeFromList"  keycode="VK_DELETE" oncommand="performCommand('cmd_removeFromList');"/>
#ifdef XP_MACOSX
    <key id="key_removeFromList2" keycode="VK_BACK" oncommand="performCommand('cmd_removeFromList');"/>
#endif
    <key id="key_close"   key="&cmd.close.commandKey;"  oncommand="closeWindow(true);"    modifiers="accel"/>
#ifdef XP_GNOME
    <key id="key_close2"  key="&cmd.close2Unix.commandKey;" oncommand="closeWindow(true);" modifiers="accel,shift"/>
#else
    <key id="key_close2"  key="&cmd.close2.commandKey;" oncommand="closeWindow(true);" modifiers="accel"/>
#endif
    <key                  keycode="VK_ESCAPE"           oncommand="closeWindow(true);"/>

    <key id="key_findDownload"
         key="&cmd.find.commandKey;"
         modifiers="accel"
         command="cmd_findDownload"/>
    <key id="key_findDownload2"
         key="&cmd.search.commandKey;"
         modifiers="accel"
         command="cmd_findDownload"/>
    <key id="key_selectAllDownloads"
         key="&selectAllCmd.key;"
         modifiers="accel"
         command="cmd_selectAllDownloads"/>
  </keyset>
  
  <vbox id="contextMenuPalette" hidden="true">
    <menuitem id="menuitem_pause" 
              label="&cmd.pause.label;" accesskey="&cmd.pause.accesskey;"
              oncommand="performCommand('cmd_pause');"
              cmd="cmd_pause"/>
    <menuitem id="menuitem_resume" 
              label="&cmd.resume.label;" accesskey="&cmd.resume.accesskey;"
              oncommand="performCommand('cmd_resume');"
              cmd="cmd_resume"/>
    <menuitem id="menuitem_cancel" 
              label="&cmd.cancel.label;" accesskey="&cmd.cancel.accesskey;"
              oncommand="performCommand('cmd_cancel');"
              cmd="cmd_cancel"/>

    <menuitem id="menuitem_open" default="true"
              label="&cmd.open.label;" accesskey="&cmd.open.accesskey;"
              oncommand="performCommand('cmd_open');"
              cmd="cmd_open"/>
    <menuitem id="menuitem_show"
#ifdef XP_MACOSX
              label="&cmd.showMac.label;"
              accesskey="&cmd.showMac.accesskey;"
#else
              label="&cmd.show.label;"
              accesskey="&cmd.show.accesskey;"
#endif
              oncommand="performCommand('cmd_show');"
              cmd="cmd_show"/>

    <menuitem id="menuitem_retry" default="true"
              label="&cmd.retry.label;" accesskey="&cmd.retry.accesskey;"
              oncommand="performCommand('cmd_retry');"
              cmd="cmd_retry"/>

    <menuitem id="menuitem_removeFromList"
              label="&cmd.removeFromList.label;" accesskey="&cmd.removeFromList.accesskey;"
              oncommand="performCommand('cmd_removeFromList');"
              cmd="cmd_removeFromList"/>
              
    <menuseparator id="menuseparator"/>
              
    <menuitem id="menuitem_openReferrer"
              label="&cmd.goToDownloadPage.label;"
              accesskey="&cmd.goToDownloadPage.accesskey;"
              oncommand="performCommand('cmd_openReferrer');"
              cmd="cmd_openReferrer"/>

    <menuitem id="menuitem_copyLocation"
              label="&cmd.copyDownloadLink.label;"
              accesskey="&cmd.copyDownloadLink.accesskey;"
              oncommand="performCommand('cmd_copyLocation');"
              cmd="cmd_copyLocation"/>

    <menuitem id="menuitem_selectAll"
              label="&selectAllCmd.label;"
              accesskey="&selectAllCmd.accesskey;"
              command="cmd_selectAllDownloads"/>
  </vbox>
  
  <menupopup id="downloadContextMenu" onpopupshowing="return buildContextMenu(event);"/>

  <richlistbox id="downloadView" seltype="multiple" flex="1"
               context="downloadContextMenu"
               ondblclick="onDownloadDblClick(event);"
               ondragover="nsDragAndDrop.dragOver(event, gDownloadDNDObserver);"
               ondragdrop="nsDragAndDrop.drop(event, gDownloadDNDObserver);">
  </richlistbox>

  <windowdragbox id="search" align="center">
    <button id="clearListButton" command="cmd_clearList"
            label="&cmd.clearList.label;"
            accesskey="&cmd.clearList.accesskey;"
            tooltiptext="&cmd.clearList.tooltip;"/>
    <spacer flex="1"/>
    <textbox type="search" id="searchbox" cocoa-size="small"
             aria-controls="downloadView"
             oncommand="buildDownloadList();" emptytext="&searchBox.label;"/>
  </windowdragbox>

</window>
