xpfe/components/download-manager/resources/downloadmanager.xul
author Jason Evans <jasone@canonware.com>
Fri, 20 Jun 2008 10:29:43 -0700
changeset 15456 38972d94e6312cca26dc09bb1d8ac4a9bec84b1c
parent 5819 7ae44a49f2cfd4f4d1d06e31eb7e277a96c80c5b
permissions -rw-r--r--
Bug 431743: Upstream jemalloc fixes, r=benjamin Incorporate upstream jemalloc fixes from FreeBSD: * Detect overflow for huge allocations via sbrk(2). * Fix deadlock for base (internal) allocations in OOM case. * Fix bitmap vector initialization for small allocation runs.

<?xml version="1.0"?>

<!--

 ***** 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) 1998
 the Initial Developer. All Rights Reserved.

 Contributor(s):
   Ben Goodger <ben@netscape.com> (Original Author)
   Blake Ross  <blaker@netscape.com>
   Jan Varga   <varga@ku.sk>

 Alternatively, the contents of this file may be used under the terms of
 either of 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 ***** -->

<?xml-stylesheet href="chrome://communicator/skin/"?>

<!DOCTYPE window [
<!ENTITY % downloadManagerDTD SYSTEM "chrome://communicator/locale/downloadmanager/downloadmanager.dtd">
%downloadManagerDTD;
<!ENTITY % downloadProgressDTD SYSTEM "chrome://global/locale/nsProgressDialog.dtd" >
%downloadProgressDTD;
]>

<window id="downloadManager"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        windowtype="Download:Manager"
        width="500" height="300" screenX="10" screenY="10"
        persist="width height screenX screenY"
        title="&downloadManager.title;"
        onload="DLManagerStartup();"
        onunload="DLManagerShutdown();">

  <script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>

  <script type="application/x-javascript" src="chrome://communicator/content/downloadmanager/downloadmanager.js"/>

  <stringbundleset id="stringbundleset">
    <stringbundle id="dlMgrBundle"
                  src="chrome://communicator/locale/downloadmanager/downloadmanager.properties"/>
    <stringbundle id="dlProgressDlgBundle"
                  src="chrome://global/locale/nsProgressDialog.properties"/>
  </stringbundleset>
  
  <data id="strings.confirmCancel">&confirmCancel;</data>
  <data id="strings.progressMsgNoRate">&progressMsgNoRate;</data>
  <data id="strings.rateMsg">&rateMsg;</data>
  <data id="strings.completeMsg">&completeMsg;</data>
  <data id="strings.percentMsg">&percentMsg;</data>
  <data id="strings.shortTimeFormat">&shortTimeFormat;</data>
  <data id="strings.longTimeFormat">&longTimeFormat;</data>
  <data id="strings.unknownTime">&unknownTime;</data>
  <data id="strings.pausedMsg">&pausedMsg;</data>

  <commandset id="commands">
    <commandset id="commandUpdate_Downloads"
                commandupdater="true"
                events="focus,tree-select"
                oncommandupdate="downloadViewController.onCommandUpdate()"/>

    <commandset id="downloadCommands">
      <command id="cmd_properties"
               oncommand="goDoCommand('cmd_properties');"/>
      <command id="cmd_pause"
               oncommand="goDoCommand('cmd_pause');"/>
      <command id="cmd_cancel"
               oncommand="goDoCommand('cmd_cancel');"/>
      <command id="cmd_remove"
               oncommand="goDoCommand('cmd_remove');"/>
      <command id="cmd_copyurl"
               oncommand="goDoCommand('cmd_copyurl');"/>
      <command id="cmd_openfile"
               oncommand="goDoCommand('cmd_openfile');"/>
      <command id="cmd_showinshell"
               oncommand="goDoCommand('cmd_showinshell');"/>
    </commandset>

    <!-- File Menu -->
    <command id="cmd_newNavigator"/>
    <command id="cmd_close" oncommand="close()"/>
    <command id="cmd_quit"/>

  </commandset>
  
  <broadcasterset id="navBroadcasters"/>

  <keyset id="tasksKeys">
    <!-- File Menu -->
    <key id="key_newNavigator"/>
    <key id="key_close"/>
    <key id="key_quit"/>

    <!-- These keybindings do not have a command specified in the overlay,
         which is good, but we need to specify it ourselves here -->
    <key id="key_selectAll" command="cmd_selectAll"/>

    <!-- These keybindings do have a command specified in the overlay,
         which we need to correct in our DLManagerStartup() function -->
    <key id="key_delete"/>
    <key id="key_delete2"/>

    <key id="key_properties" key="&cmd.properties.keybinding;"
         command="cmd_properties" modifiers="accel"/>

    <key id="key_copy" command="cmd_copyurl"/>
  </keyset>

  <popup id="downloadPaneContext">
    <menuitem id="downloadPaneContext-properties"
              label="&cmd.properties.label;"
              accesskey="&cmd.properties.accesskey;"
              command="cmd_properties"/>
    <menuseparator id="downloadPaneContext-sep1"/>
    <menuitem id="downloadPaneContext-cancel"
              label="&cmd.cancel.label;"
              accesskey="&cmd.cancel.accesskey;"
              command="cmd_cancel"/>
    <menuitem id="downloadPaneContext-remove"
              label="&cmd.remove.label;"
              accesskey="&cmd.remove.accesskey;"
              command="cmd_remove"/>
    <menuitem id="downloadPaneContext-copyurl"
              label="&cmd.copyurl.label;"
              accesskey="&cmd.copyurl.accesskey;"
              command="cmd_copyurl"/>
    <menuseparator id="downloadPaneContext-sep2"/>
    <menuitem id="downloadPaneContext-openfile"
              label="&cmd.openfile.label;"
              accesskey="&cmd.openfile.accesskey;"
              command="cmd_openfile"/>
    <menuitem id="downloadPaneContext-showinshell"
              label="&cmd.showinshell.label;"
              accesskey="&cmd.showinshell.accesskey;"
              command="cmd_showinshell"/>
  </popup>

  <toolbox id="toolbox">
    <toolbar id="download-toolbar" class="chromeclass-toolbar" persist="collapsed" grippytooltiptext="&dm.tooltip;">
      <toolbarbutton label="&cmd.properties.label;" accesskey="&cmd.properties.accesskey;"
                     command="cmd_properties"/>
      <toolbarseparator/>
      <toolbarbutton label="&cmd.cancel.label;" accesskey="&cmd.cancel.accesskey;"
                     command="cmd_cancel"/>
      <toolbarbutton label="&cmd.remove.label;" accesskey="&cmd.remove.accesskey;"
                     command="cmd_remove"/>
      <toolbarbutton id="btn_copyurl" label="&cmd.copyurl.label;" accesskey="&cmd.copyurl.accesskey;"
                     command="cmd_copyurl"/>
      <toolbarseparator/>
      <toolbarbutton id="btn_openfile" label="&cmd.openfile.label;" accesskey="&cmd.openfile.accesskey;"
                     command="cmd_openfile"/>
      <toolbarbutton id="btn_showinshell" label="&cmd.showinshell.label;" accesskey="&cmd.showinshell.accesskey;"
                     command="cmd_showinshell"/>
    </toolbar>
  </toolbox>

  <tree id="downloadView" flex="1" class="plain" context="downloadPaneContext"
            datasources="rdf:null" ref="NC:DownloadsRoot" flags="dont-test-empty"
            enableColumnDrag="true" onselect="onSelect(event);"
            ondblclick="if (event.button == 0) onTrigger();"
            onkeypress="if ((event.keyCode == KeyEvent.DOM_VK_RETURN) ||
                            (event.keyCode == KeyEvent.DOM_VK_ENTER)) onTrigger();">
    <treecols onclick="doSort(event.target)">
      <treecol id="Name" primary="true"
                   label="&view.header.name.label;"
                   class="sortDirectionIndicator" width="3*" flex="3"
                   resource="http://home.netscape.com/NC-rdf#Name"
                   persist="width sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="Progress" type="progressmeter"
                   label="&view.header.progress.label;"
                   class="sortDirectionIndicator" width="3*" flex="3"
                   resource="http://home.netscape.com/NC-rdf#ProgressPercent"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="ProgressPercent" hidden="true"
                   label="&view.header.progresstext.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#ProgressPercent"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="TimeRemaining"
                   label="&view.header.timeremaining.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#TimeRemaining"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="Transferred"
                   label="&view.header.transferred.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#Transferred"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="TransferRate"
                   label="&view.header.transferrate.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#TransferRate"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="TimeElapsed" hidden="true"
                   label="&view.header.timeelapsed.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#TimeElapsed"
                   persist="width hidden sortActive sortDirection ordinal"/>
      <splitter class="tree-splitter"/>
      <treecol id="Source" hidden="true"
                   label="&view.header.source.label;"
                   class="sortDirectionIndicator" width="1*" flex="1"
                   resource="http://home.netscape.com/NC-rdf#URL"
                   persist="width hidden sortActive sortDirection ordinal"/>
    </treecols>
    <template>
      <rule>
        <treechildren>
          <treeitem uri="rdf:*">
            <treerow>
              <treecell src="moz-icon:rdf:http://home.netscape.com/NC-rdf#File"
                            label="rdf:http://home.netscape.com/NC-rdf#Name"/>
              <treecell mode="rdf:http://home.netscape.com/NC-rdf#ProgressMode"
                            value="rdf:http://home.netscape.com/NC-rdf#ProgressPercent"
                            label="rdf:http://home.netscape.com/NC-rdf#StatusText"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#ProgressPercent"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#TimeRemaining"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#Transferred"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#TransferRate"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#TimeElapsed"/>
              <treecell label="rdf:http://home.netscape.com/NC-rdf#URL"/>
            </treerow>
          </treeitem>
        </treechildren>
      </rule>
    </template>
  </tree>

  <statusbar id="status-bar" class="chromeclass-status">
    <statusbarpanel id="statusbar-text" label="" flex="1"/>
  </statusbar>

</window>