Closed Bug 755221 Opened 13 years ago Closed 13 years ago

'Cancel' for pending add-on uninstall should be more specific

Categories

(Firefox for Android Graveyard :: General, enhancement)

14 Branch
ARM
Android
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 16

People

(Reporter: aryx, Assigned: mbrubeck)

Details

(Keywords: uiwanted, ux-jargon)

Attachments

(2 files)

Fennec native 14.0b1 build 3, Android 4.0.4 (stock), Google Nexus S If an add-on requires an application restart to get uninstalled, there will be a label "Cancel" after clicking the "Uninstall" button. If you ignore the doorhanger for restart, you will see the "Cancel" button, but not any indicator that the add-on will get uninstalled and what gets canceled by tapping the button. If you need an add-on to test, try https://addons.mozilla.org/en-US/mobile/addon/extension-test/
How about something like this? "Adblock Plus has been uninstalled. [Undo]"
Assignee: nobody → mbrubeck
Keywords: uiwanted, ux-jargon
The add-on will be uninstalled after a restart, restartless add-ons get removed instantly. Suggestion: "Adblock Plus will be uninstalled after a restart. [Undo]"
Attached patch patchSplinter Review
Attachment #641674 - Flags: review?(mark.finkle)
Attached image screenshot
Comment on attachment 641674 [details] [diff] [review] patch ># HG changeset patch ># Parent 978a21fad6614b67a5b0e76708a1d006c96875fa ># User Matt Brubeck <mbrubeck@mozilla.com> >Bug 755221 - Make the button to cancel an add-on uninstall clearer > >diff --git a/mobile/android/chrome/content/aboutAddons.js b/mobile/android/chrome/content/aboutAddons.js >--- a/mobile/android/chrome/content/aboutAddons.js >+++ b/mobile/android/chrome/content/aboutAddons.js >@@ -235,20 +235,22 @@ var Addons = { > let addon = detailItem.addon = aListItem.addon; > > let favicon = document.querySelector("#addons-details > .addon-item .favicon"); > if (addon.iconURL) > favicon.setAttribute("src", addon.iconURL); > else > favicon.removeAttribute("src"); > >- document.querySelector("#addons-details > .addon-item .title").textContent = addon.name; >- document.querySelector("#addons-details > .addon-item .version").textContent = addon.version; >- document.querySelector("#addons-details > .addon-item .tag").textContent = gStringBundle.GetStringFromName("addonType." + addon.type); >- document.querySelector("#addons-details > .addon-item .description-full").textContent = addon.description; >+ detailItem.querySelector(".title").textContent = addon.name; >+ detailItem.querySelector(".version").textContent = addon.version; >+ detailItem.querySelector(".tag").textContent = gStringBundle.GetStringFromName("addonType." + addon.type); >+ detailItem.querySelector(".description-full").textContent = addon.description; >+ detailItem.querySelector(".status-uninstalled").textContent = >+ gStringBundle.formatStringFromName("addonStatus.uninstalled", [addon.name], 1); > > let enableBtn = document.getElementById("uninstall-btn"); > if (addon.appDisabled) > enableBtn.setAttribute("disabled", "true"); > else > enableBtn.removeAttribute("disabled"); > > let uninstallBtn = document.getElementById("uninstall-btn"); >diff --git a/mobile/android/chrome/content/aboutAddons.xhtml b/mobile/android/chrome/content/aboutAddons.xhtml >--- a/mobile/android/chrome/content/aboutAddons.xhtml >+++ b/mobile/android/chrome/content/aboutAddons.xhtml >@@ -67,21 +67,22 @@ > <div class="inner"> > <div class="details"> > <div class="tag"></div> > <div class="title"></div> > <div class="version"></div> > </div> > <div class="description-full"></div> > </div> >+ <div class="status status-uninstalled show-on-uninstall"></div> > <div class="buttons"> > <button id="enable-btn" class="show-on-disable hide-on-enable hide-on-uninstall" onclick="Addons.enable();">&addonAction.enable;</button> > <button id="disable-btn" class="show-on-enable hide-on-disable hide-on-uninstall" onclick="Addons.disable();">&addonAction.disable;</button> > <button id="uninstall-btn" class="hide-on-uninstall" onclick="Addons.uninstall();">&addonAction.uninstall;</button> >- <button id="cancel-btn" class="show-on-uninstall" onclick="Addons.cancelUninstall();">&addonAction.cancel;</button> >+ <button id="cancel-btn" class="show-on-uninstall" onclick="Addons.cancelUninstall();">&addonAction.undo;</button> > </div> > <div class="options-header">&aboutAddons.options;</div> > <div class="options-box"></div> > </div> > </div> > > <script type="application/javascript;version=1.8" src="chrome://browser/content/aboutAddons.js"></script> > </body> >diff --git a/mobile/android/locales/en-US/chrome/aboutAddons.dtd b/mobile/android/locales/en-US/chrome/aboutAddons.dtd >--- a/mobile/android/locales/en-US/chrome/aboutAddons.dtd >+++ b/mobile/android/locales/en-US/chrome/aboutAddons.dtd >@@ -4,9 +4,9 @@ > > <!ENTITY aboutAddons.title "Add-ons Manager"> > <!ENTITY aboutAddons.header2 "Your Add-ons"> > <!ENTITY aboutAddons.options "Options"> > > <!ENTITY addonAction.enable "Enable"> > <!ENTITY addonAction.disable "Disable"> > <!ENTITY addonAction.uninstall "Uninstall"> >-<!ENTITY addonAction.cancel "Cancel"> >+<!ENTITY addonAction.undo "Undo"> >diff --git a/mobile/android/locales/en-US/chrome/aboutAddons.properties b/mobile/android/locales/en-US/chrome/aboutAddons.properties >--- a/mobile/android/locales/en-US/chrome/aboutAddons.properties >+++ b/mobile/android/locales/en-US/chrome/aboutAddons.properties >@@ -9,8 +9,10 @@ addonAction.cancel=Cancel > addonAction.options=Options > > addonsSearchEngine.description=Integrated Search > > addonType.extension=Extension > addonType.theme=Theme > addonType.locale=Locale > addonType.search=Search >+ >+addonStatus.uninstalled=%S will be uninstalled after restart. >diff --git a/mobile/android/themes/core/aboutAddons.css b/mobile/android/themes/core/aboutAddons.css >--- a/mobile/android/themes/core/aboutAddons.css >+++ b/mobile/android/themes/core/aboutAddons.css >@@ -84,16 +84,25 @@ body { > > .description { > width: 100%; > overflow: hidden; > white-space: nowrap; > text-overflow: ellipsis; > } > >+.status { >+ background-image: url("chrome://browser/skin/images/row-bg-light.png"); >+ border-top: 2px solid; >+ -moz-border-top-colors: #bac2ac #ffffff; >+ font-weight: bold; >+ padding: 8px; >+ width: 100%; >+} >+ > .buttons { > display: -moz-box; > -moz-box-orient: horizontal; > width: 100%; > } > > .buttons > button { > -moz-appearance: none;
Attachment #641674 - Flags: review?(mark.finkle) → review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 16
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: