From bf5a1b9edc51c9fa9dbd2e188255c263327bc1da Mon Sep 17 00:00:00 2001 From: Mark Finkle Date: Fri, 11 Sep 2009 16:53:21 -0400 Subject: [PATCH] Bug 489941: Rework the Update Add-ons dialog (fennec part), r=gavin --- mobile/app/mobile.js | 1 + mobile/chrome/content/browser.js | 15 +++++++++++++++ mobile/locales/en-US/chrome/browser.properties | 9 +++++++++ 3 files changed, 25 insertions(+) diff --git a/mobile/app/mobile.js b/mobile/app/mobile.js index 9137b940d107..2050781ce166 100644 --- a/mobile/app/mobile.js +++ b/mobile/app/mobile.js @@ -151,6 +151,7 @@ pref("extensions.dss.switchPending", false); pref("extensions.ignoreMTimeChanges", false); pref("extensions.logging.enabled", false); pref("extensions.hideInstallButton", true); +pref("extensions.disabledAddons.showUI", true); /* these point at AMO */ pref("extensions.update.url", "chrome://mozapps/locale/extensions/extensions.properties"); diff --git a/mobile/chrome/content/browser.js b/mobile/chrome/content/browser.js index fa1a4ecda100..63ccfbc13cdb 100644 --- a/mobile/chrome/content/browser.js +++ b/mobile/chrome/content/browser.js @@ -55,6 +55,7 @@ const FINDSTATE_FIND_PREVIOUS = 2; const endl = '\n'; Cu.import("resource://gre/modules/SpatialNavigation.js"); +Cu.import("resource://gre/modules/PluralForm.jsm"); function getBrowser() { return Browser.selectedBrowser; @@ -543,6 +544,20 @@ var Browser = { bv.commitBatchOperation(); + // If some add-ons were disabled during during an application update, alert user + if (gPrefService.prefHasUserValue("extensions.disabledAddons")) { + let addons = gPrefService.getCharPref("extensions.disabledAddons").split(","); + if (addons.length > 0) { + let disabledStrings = document.getElementById("bundle_browser").getString("alertAddonsDisabled"); + let label = PluralForm.get(addons.length, disabledStrings).replace("#1", addons.length); + + let alerts = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService); + alerts.showAlertNotification(URI_GENERIC_ICON_XPINSTALL, strings.getString("alertAddons"), + label, false, "", null); + } + gPrefService.clearUserPref("extensions.disabledAddons"); + } + //dump("end startup\n"); }, diff --git a/mobile/locales/en-US/chrome/browser.properties b/mobile/locales/en-US/chrome/browser.properties index dc434995d7f6..1388783653bb 100644 --- a/mobile/locales/en-US/chrome/browser.properties +++ b/mobile/locales/en-US/chrome/browser.properties @@ -45,6 +45,12 @@ alertAddons=Add-ons alertAddonsStart=Installing addons alertAddonsDone=Installation complete alertAddonsFail=Installation failed + +# LOCALIZATION NOTE (alertAddonsDisabled): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of add-ons +alertAddonsDisabled=#1 incompatible add-on was disabled;#1 incompatible add-ons were disabled + alertDownloads=Downloads alertDownloadsStart=Downloading: %S alertDownloadsDone=%S has finished downloading @@ -83,6 +89,9 @@ geolocation.dontShare.accessKey=o geolocation.siteWantsToKnow=%S wants your location. # New Tab Popup +# LOCALIZATION NOTE (newtabpopup): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of tabs newtabpopup.opened=New tab opened;#1 new tabs opened # Error Console