Add the beginnings of a download properties dialog.

git-svn-id: svn://10.0.0.236/trunk@133516 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
blakeross%telocity.com
2002-11-10 01:21:33 +00:00
parent 2a315191f0
commit 8083f459a2
7 changed files with 94 additions and 2 deletions

View File

@@ -122,8 +122,8 @@ var downloadViewController = {
var selectedItem = gDownloadHistoryView.selectedItem;
switch (aCommand) {
case "cmd_openfile":
return selectionCount == 1;
case "cmd_showinshell":
case "cmd_properties":
return selectionCount == 1;
case "cmd_remove":
return selectionCount;
@@ -163,6 +163,11 @@ var downloadViewController = {
file.reveal();
}
break;
case "cmd_properties":
selectedItem = gDownloadHistoryView.selectedItem;
window.openDialog("chrome://browser/content/downloads/downloadProperties.xul",
"_blank", "modal,centerscreen,chrome,resizable=no", selectedItem.id);
break;
case "cmd_remove":
selectedItems = gDownloadHistoryView.selectedItems;
var selectedIndex = gDownloadHistoryView.selectedIndex;
@@ -240,9 +245,13 @@ function buildContextMenu()
var launchSep = document.getElementById("menuseparator_launch");
var removeItem = document.getElementById("menuitem_remove");
var showItem = document.getElementById("menuitem_show");
var propsItem = document.getElementByid("menuitem_properties");
var propsSep = document.getElementById("menuseparator_properties");
showItem.hidden = selectionCount != 1;
launchItem.hidden = selectionCount != 1;
launchSep.hidden = selectionCount != 1;
propsItem.hidden = selectionCount != 1;
propsSep.hidden = selectionCoun != 1;
return true;
}

View File

@@ -44,6 +44,9 @@
<menuseparator id="menuseparator_launch"/>
<menuitem id="menuitem_remove" label="&cmd.remove.label;" accesskey="&cmd.remove.accesskey;"
command="cmd_remove"/>
<menuseparator id="menuseparator_properties"/>
<menuitem id="menuitem_properties" label="&cmd.properties.label;" accesskey="&cmd.properties.accesskey;"
command="cmd_properties"/>
</popup>
<vbox flex="1">

View File

@@ -0,0 +1,34 @@
function Startup()
{
const NC_NS = "http://home.netscape.com/NC-rdf#";
const rdfSvcContractID = "@mozilla.org/rdf/rdf-service;1";
const rdfSvcIID = Components.interfaces.nsIRDFService;
var rdfService = Components.classes[rdfSvcContractID].getService(rdfSvcIID);
const dlmgrContractID = "@mozilla.org/download-manager;1";
const dlmgrIID = Components.interfaces.nsIDownloadManager;
var downloadMgr = Components.classes[dlmgrContractID].getService(dlmgrIID);
var ds = downloadMgr.datasource;
const dateTimeContractID = "@mozilla.org/intl/scriptabledateformat;1";
const dateTimeIID = Components.interfaces.nsIScriptableDateFormat;
var dateTimeService = Components.classes[dateTimeContractID].getService(dateTimeIID);
var resource = rdfService.GetResource(window.arguments[0]);
var dateStartedRes = rdfService.GetResource(NC_NS + "DateStarted");
var dateEndedRes = rdfService.GetResource(NC_NS + "DateEnded");
var dateStartedField = document.getElementById("dateStarted");
var dateEndedField = document.getElementById("dateEnded");
var dateStarted = ds.GetTarget(resource, dateStartedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
var dateEnded = ds.GetTarget(resource, dateStartedRes, true).QueryInterface(Components.interfaces.nsIRDFDate).Value;
dateStarted = new Date(dateStarted/1000);
dateStarted = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateStarted.getFullYear(), dateStarted.getMonth()+1, dateStarted.getDate(), dateStarted.getHours(), dateStarted.getMinutes(), dateStarted.getSeconds());
dateEnded = new Date(dateEnded/1000);
dateEnded = dateTimeService.FormatDateTime("", dateTimeService.dateFormatShort, dateTimeService.timeFormatSeconds, dateEnded.getFullYear(), dateEnded.getMonth()+1, dateEnded.getDate(), dateEnded.getHours(), dateEnded.getMinutes(), dateEnded.getSeconds());
dateStartedField.setAttribute("value", dateStarted);
dateEndedField.setAttribute("value", dateEnded);
}

View File

@@ -0,0 +1,41 @@
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/downloads/downloadmanager.css"?>
<!DOCTYPE window [
<!ENTITY % downloadPropertiesDTD SYSTEM "chrome://browser/locale/downloads/downloadProperties.dtd">
%downloadPropertiesDTD;
]>
<dialog xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&window.title;"
onload="Startup();"
width="200"
height="120"
buttons="accept">
<script type="application/x-javascript" src="chrome://browser/content/downloads/downloadProperties.js"/>
<grid>
<columns>
<column/>
<column/>
</columns>
<rows>
<row>
<label value="&dateStarted.label;" class="bold"/>
<label id="dateStarted"/>
</row>
<separator class="thin"/>
<row>
<label value="&dateEnded.label;" class="bold"/>
<label id="dateEnded"/>
</row>
</rows>
</grid>
<spacer flex="1"/>
<separator class="groove"/>
</dialog>

View File

@@ -3,6 +3,8 @@ browser.jar:
content/browser/downloads/downloadPanel.xul (content/downloadPanel.xul)
content/browser/downloads/download-bindings.xml (content/download-bindings.xml)
content/browser/downloads/downloadmanager.css (content/downloadmanager.css)
content/browser/downloads/downloadProperties.xul (content/downloadProperties.xul)
content/browser/downloads/downloadProperties.js (content/downloadProperties.js)
classic.jar:
skin/classic/browser/downloads/downloadmanager.css (skin/downloadmanager.css)
@@ -10,4 +12,5 @@ classic.jar:
en-US.jar:
locale/en-US/browser/downloads/downloadmanager.dtd (locale/downloadmanager.dtd)
locale/en-US/browser/downloads/downloadmanager.properties (locale/downloadmanager.properties)
locale/en-US/browser/downloads/downloadProperties.dtd (locale/downloadProperties.dtd)

View File

@@ -0,0 +1,3 @@
<!ENTITY dateStarted.label "Started:">
<!ENTITY dateEnded.label "Finished:">
<!ENTITY window.title "Properties">

View File

@@ -22,7 +22,6 @@
<!ENTITY cmd.properties.label "Properties">
<!ENTITY cmd.properties.accesskey "i">
<!ENTITY cmd.properties.keybinding "i">
<!ENTITY cmd.pause.label "Pause">
<!ENTITY cmd.pause.accesskey "p">
<!ENTITY cmd.remove.label "Remove">