зеркало из https://github.com/mozilla/pjs.git
Make the update menu item change depending on update state
This commit is contained in:
Родитель
fce96ba877
Коммит
858992c7b4
|
@ -68,7 +68,7 @@
|
|||
label="&helpMenu.label;"
|
||||
accesskey="&helpMenu.accesskey;">
|
||||
#endif
|
||||
<menupopup id="menu_HelpPopup">
|
||||
<menupopup id="menu_HelpPopup" onpopupshowing="buildHelpMenu();">
|
||||
<menuitem oncommand="openHelp('firefox-help', 'chrome://browser/locale/help/help.rdf');"
|
||||
#ifdef XP_MACOSX
|
||||
label="&helpContentsMac.label;"
|
||||
|
@ -94,6 +94,7 @@
|
|||
<menuitem id="checkForUpdates"
|
||||
accesskey="&updateCmd.accesskey;"
|
||||
label="&updateCmd.label;"
|
||||
class="menuitem-iconic"
|
||||
oncommand="checkForUpdates();"/>
|
||||
<menuitem id="aboutName"
|
||||
accesskey="&aboutCmd.accesskey;"
|
||||
|
|
|
@ -450,3 +450,44 @@ function checkForUpdates()
|
|||
.createInstance(Components.interfaces.nsIUpdatePrompt);
|
||||
prompter.checkForUpdates();
|
||||
}
|
||||
|
||||
function buildHelpMenu()
|
||||
{
|
||||
var updates =
|
||||
Components.classes["@mozilla.org/updates/update-service;1"].
|
||||
getService(Components.interfaces.nsIApplicationUpdateService);
|
||||
var um =
|
||||
Components.classes["@mozilla.org/updates/update-manager;1"].
|
||||
getService(Components.interfaces.nsIUpdateManager);
|
||||
var activeUpdate = um.activeUpdate;
|
||||
|
||||
var strings = document.getElementById("bundle_browser");
|
||||
|
||||
var label = strings.getString("updates_checkForUpdates");
|
||||
if (activeUpdate) {
|
||||
if (updates.isDownloading) {
|
||||
if (activeUpdate.name) {
|
||||
label = strings.getFormattedString("updates_downloadingUpdates",
|
||||
[activeUpdate.name]);
|
||||
}
|
||||
else
|
||||
label = strings.getString("updates_downloadingUpdatesFallback");
|
||||
}
|
||||
else {
|
||||
if (activeUpdate.name) {
|
||||
label = strings.getFormattedString("updates_resumeDownloading",
|
||||
[activeUpdate.name]);
|
||||
}
|
||||
else
|
||||
label = strings.getString("updates_resumeDownloadingFallback");
|
||||
}
|
||||
}
|
||||
|
||||
var checkForUpdates = document.getElementById("checkForUpdates");
|
||||
checkForUpdates.label = label;
|
||||
if (um.activeUpdate && updates.isDownloading)
|
||||
checkForUpdates.setAttribute("loading", "true");
|
||||
else
|
||||
checkForUpdates.removeAttribute("loading");
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
<!ENTITY openHelpMac2.frontendCommandkey "?">
|
||||
<!ENTITY openHelpMac2.frontendModifiers "accel">
|
||||
|
||||
<!ENTITY helpReleaseNotes.accesskey "R">
|
||||
<!ENTITY helpReleaseNotes.accesskey "N">
|
||||
<!ENTITY helpReleaseNotes.label "Release Notes">
|
||||
<!ENTITY updateCmd.accesskey "U">
|
||||
<!ENTITY updateCmd.accesskey "o">
|
||||
<!ENTITY updateCmd.label "Check for Updates...">
|
||||
|
||||
|
|
|
@ -97,3 +97,11 @@ missingpluginsMessage.button.label=Install Missing Plugins...
|
|||
# Sanitize
|
||||
sanitizeWithPromptLabel=Sanitize %S...
|
||||
sanitizeButton=Sanitize Now
|
||||
|
||||
# Check for Updates
|
||||
updates_checkForUpdates=Check for Updates...
|
||||
updates_downloadingUpdates=Downloading %S...
|
||||
updates_downloadingUpdatesFallback=Downloading Update...
|
||||
updates_resumeDownloading=Resume Downloading %S...
|
||||
updates_resumeDownloadingFallback=Resume Downloading Update...
|
||||
|
||||
|
|
|
@ -926,3 +926,8 @@ toolbar[mode="text"] > #window-controls > toolbarbutton > .toolbarbutton-text {
|
|||
#pageReportFirstTime statusbarpanel.statusbar-resizerpanel {
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
#checkForUpdates[loading="true"] {
|
||||
list-style-image: url("chrome://global/skin/throbber/Throbber-small.gif");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче