--- a/mobile/chrome/content/bindings/extensions.xml
+++ b/mobile/chrome/content/bindings/extensions.xml
@@ -1,28 +1,32 @@
<?xml version="1.0"?>
<!DOCTYPE bindings [
<!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
%browserDTD;
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
]>
<bindings
xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="extension-local" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
<content orient="vertical">
<xul:hbox align="start">
<xul:image xbl:inherits="src=iconURL"/>
<xul:vbox flex="1">
<xul:hbox align="center">
<xul:label class="title" xbl:inherits="value=name"/>
<xul:label class="normal" xbl:inherits="value=version"/>
+ <xul:spacer flex="1"/>
+ <xul:label class="normal" crop="end" xbl:inherits="value=typeLabel"/>
</xul:hbox>
<xul:label class="normal hide-on-select" xbl:inherits="value=description" crop="end" flex="1"/>
<xul:description class="normal show-on-select" xbl:inherits="xbl:text=description" flex="1"/>
</xul:vbox>
</xul:hbox>
<xul:hbox class="show-on-select buttons-box">
<xul:button anonid="options-button" class="addon-options" label="&addonOptions.label;"
oncommand="document.getBindingParent(this).toggleOptions();"/>
@@ -103,24 +107,26 @@
<binding id="extension-search" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
<content orient="horizontal" align="start">
<xul:image xbl:inherits="src=iconURL"/>
<xul:vbox flex="1">
<xul:hbox align="center">
<xul:label class="title" xbl:inherits="value=name"/>
<xul:label class="normal" xbl:inherits="value=version"/>
+ <xul:spacer flex="1"/>
+ <xul:hbox class="addon-type-or-rating" align="center" xbl:inherits="rating"/>
</xul:hbox>
<xul:label class="normal hide-on-select" xbl:inherits="value=description" crop="end" flex="1"/>
<xul:description class="normal show-on-select" xbl:inherits="xbl:text=description" flex="1"/>
<xul:hbox class="show-on-select">
<xul:button class="addon-install hide-on-install hide-on-restart" label="&addonShowPage.label;"
oncommand="ExtensionsView.showPage(document.getBindingParent(this));"/>
<xul:spacer flex="1"/>
- <xul:button class="addon-install hide-on-install hide-on-restart" label="&addonInstall.label;"
+ <xul:button class="addon-install hide-on-install hide-on-restart" label="&addonInstall2.label;"
oncommand="ExtensionsView.installFromRepo(document.getBindingParent(this));"/>
</xul:hbox>
<xul:progressmeter class="show-on-install" mode="normal" value="0" xbl:inherits="value=progress"/>
</xul:vbox>
</content>
</binding>
<binding id="extension-message" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
@@ -128,9 +134,21 @@
<xul:hbox>
<xul:image src="chrome://browser/skin/images/throbber.png" xbl:inherits="hidden=hidethrobber"/>
<xul:label class="normal" xbl:inherits="value=message"/>
</xul:hbox>
<xul:button xbl:inherits="label=button,hidden=hidebutton" oncommand="ExtensionsView.resetSearch();"/>
</content>
</binding>
+ <binding id="extension-search-recommended">
+ <content>
+ <xul:label class="normal" value="&addonsSearch.recommended;" crop="end"/>
+ </content>
+ </binding>
+
+ <binding id="extension-search-rating">
+ <content>
+ <xul:image class="addon-rating" xbl:inherits="rating"/>
+ </content>
+ </binding>
+
</bindings>
--- a/mobile/chrome/content/browser.css
+++ b/mobile/chrome/content/browser.css
@@ -91,16 +91,24 @@ checkbox {
richlistitem[typeName="local"] {
-moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-local");
}
richlistitem[typeName="search"] {
-moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search");
}
+richlistitem[typeName="search"] hbox.addon-type-or-rating {
+ -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search-recommended");
+}
+
+richlistitem[typeName="search"] hbox.addon-type-or-rating[rating] {
+ -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search-rating");
+}
+
richlistitem[typeName="message"] {
-moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-message");
}
richlistitem[typeName="download"] {
-moz-binding: url("chrome://browser/content/bindings/downloads.xml#download-downloading");
}
--- a/mobile/chrome/content/browser.xul
+++ b/mobile/chrome/content/browser.xul
@@ -324,17 +324,17 @@
</hbox>
<notificationbox id="addons-messages" flex="1">
<richlistbox id="addons-list" flex="1">
<richlistitem id="addons-local" class="section-header" align="center">
<label value="&addonsLocal.label;" flex="1"/>
</richlistitem>
<richlistitem id="addons-repo" class="section-header">
<label value="&addonsRepo.label;" flex="1"/>
- <textbox id="addons-search-text" emptytext="&addonsSearch.emptytext;" type="search" searchbutton="false"
+ <textbox id="addons-search-text" emptytext="&addonsSearch2.emptytext;" type="search" searchbutton="false"
oncommand="ExtensionsView.getAddonsFromRepo(this.value);"/>
</richlistitem>
</richlistbox>
</notificationbox>
</vbox>
<vbox id="downloads-container" flex="1">
<vbox id="downloads-header" class="panel-header">
@@ -343,17 +343,17 @@
<radiogroup id="downloads-sort-mode" class="toggle-dark" oncommand="DownloadsView.toggleMode();">
<radio label="&downloadsSortDate.label;" value="date" selected="true"/>
<radio label="&downloadsSortSite.label;" value="site"/>
<radio label="&downloadsSortName.label;" value="name"/>
<radio label="&downloadsSearch.label;" value="search"/>
</radiogroup>
</box>
<hbox id="downloads-search-box" pack="end" collapsed="true">
- <textbox id="downloads-search-text" emptytext="&downloadsSearch.emptytext;" type="search" searchbutton="false"
+ <textbox id="downloads-search-text" emptytext="&downloadsSearch2.emptytext;" type="search" searchbutton="false"
oncommand="DownloadsView.getDownloads();"/>
</hbox>
</vbox>
<richlistbox id="downloads-list" flex="1"/>
</vbox>
<vbox id="prefs-container" flex="1">
<hbox id="prefs-header" class="panel-header">
--- a/mobile/chrome/content/extensions.js
+++ b/mobile/chrome/content/extensions.js
@@ -45,16 +45,17 @@ const PREF_GETADDONS_MAXRESULTS = "exten
const URI_GENERIC_ICON_XPINSTALL = "chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png";
var ExtensionsView = {
_extmgr: null,
_pref: null,
_rdf: null,
_ios: null,
+ _strings: {},
_repo: null,
_list: null,
_localItem: null,
_repoItem: null,
_msg: null,
_dloadmgr: null,
_restartCount: 0,
_observerIndex: -1,
@@ -92,16 +93,17 @@ var ExtensionsView = {
},
_createItem: function ev__createItem(aAddon, aTypeName) {
let item = document.createElement("richlistitem");
item.setAttribute("id", PREFIX_ITEM_URI + aAddon.id);
item.setAttribute("addonID", aAddon.id);
item.setAttribute("typeName", aTypeName);
item.setAttribute("type", aAddon.type);
+ item.setAttribute("typeLabel", this._strings["addonType." + aAddon.type]);
item.setAttribute("name", aAddon.name);
item.setAttribute("version", aAddon.version);
item.setAttribute("iconURL", aAddon.iconURL);
return item;
},
clearSection: function ev_clearSection(aSection) {
let start = null;
@@ -236,16 +238,21 @@ var ExtensionsView = {
// Show the restart notification in case a restart is needed, but the view
// was not visible at the time
let notification = this._msg.getNotificationWithValue("restart-app");
if (this._restartCount > 0 && !notification) {
this.showRestart();
this._restartCount--; // showRestart() always increments
}
+
+ let strings = document.getElementById("bundle_browser");
+ this._strings["addonType.2"] = strings.getString("addonType.2");
+ this._strings["addonType.4"] = strings.getString("addonType.4");
+ this._strings["addonType.8"] = strings.getString("addonType.8");
let self = this;
setTimeout(function() {
self.getAddonsFromLocal();
self.getAddonsFromRepo("");
}, 0);
},
@@ -454,16 +461,18 @@ var ExtensionsView = {
if (urlproperties.some(function (p) !this._isSafeURI(addon[p]), this))
continue;
let listitem = this._createItem(addon, "search");
listitem.setAttribute("description", addon.summary);
listitem.setAttribute("homepageURL", addon.homepageURL);
listitem.setAttribute("xpiURL", addon.xpiURL);
listitem.setAttribute("xpiHash", addon.xpiHash);
+ if (!aIsRecommended)
+ listitem.setAttribute("rating", addon.rating);
this._list.appendChild(listitem);
}
if (!aIsRecommended)
this.displaySectionMessage("repo", null, strings.getString("addonsSearchSuccess.button"), true);
},
showPage: function ev_showPage(aItem) {
--- a/mobile/locales/en-US/chrome/browser.dtd
+++ b/mobile/locales/en-US/chrome/browser.dtd
@@ -1,25 +1,16 @@
<!ENTITY back.label "Back">
-<!ENTITY back.tooltip "Back">
<!ENTITY forward.label "Forward">
-<!ENTITY forward.tooltip "Forward">
<!ENTITY reload.label "Reload">
-<!ENTITY reload.tooltip "Reload">
<!ENTITY stop.label "Stop">
-<!ENTITY stop.tooltip "Stop">
<!ENTITY search.label "Search">
-<!ENTITY search.tooltip "Search">
<!ENTITY go.label "Go">
-<!ENTITY go.tooltip "Go">
<!ENTITY openLocation.label "Open location">
-<!ENTITY openLocation.tooltip "Open location">
<!ENTITY star.label "Star">
-<!ENTITY star.tooltip "Bookmark this page">
-<!ENTITY bookmarks.tooltip "View bookmarks">
<!ENTITY newtab.label "New Tab">
<!ENTITY closetab.label "Close Tab">
<!ENTITY cut.label "Cut">
<!ENTITY copy.label "Copy">
<!ENTITY copylink.label "Copy Link Location">
<!ENTITY paste.label "Paste">
@@ -50,32 +41,33 @@
<!ENTITY findAgainCmd.commandkey "g">
<!ENTITY findAgainCmd.commandkey2 "VK_F3">
<!ENTITY addonsHeader.label "Add-ons">
<!ENTITY addonsLocal.label "Your Add-ons">
<!ENTITY addonsRepo.label "Get Add-ons">
<!ENTITY addonsRecommended.label "Recommended">
<!ENTITY addonsSearch.label "Search">
-<!ENTITY addonsSearch.emptytext "Search all add-ons">
+<!ENTITY addonsSearch2.emptytext "Search Catalog">
+<!ENTITY addonsSearch.recommended "Recommended">
<!ENTITY addonOptions.label "Options">
<!ENTITY addonEnable.label "Enable">
<!ENTITY addonDisable.label "Disable">
-<!ENTITY addonInstall.label "Install">
+<!ENTITY addonInstall2.label "Add to &brandShortName;">
<!ENTITY addonUninstall.label "Uninstall">
<!ENTITY addonCancel.label "Cancel">
<!ENTITY addonShowPage.label "Go to Page">
<!ENTITY downloadsHeader.label "Downloads">
<!ENTITY downloadsSortDate.label "Date">
<!ENTITY downloadsSortSite.label "Site">
<!ENTITY downloadsSortName.label "Name">
<!ENTITY downloadsSearch.label "Search">
-<!ENTITY downloadsSearch.emptytext "Search for downloaded file">
+<!ENTITY downloadsSearch2.emptytext "Search">
<!ENTITY downloadShowPage.label "Go to Page">
<!ENTITY downloadShow2.label "Find">
<!ENTITY downloadOpen2.label "Open">
<!ENTITY downloadCancel.label "Cancel">
<!ENTITY downloadPause.label "Pause">
<!ENTITY downloadResume.label "Resume">
<!ENTITY downloadRetry.label "Retry">
--- a/mobile/locales/en-US/chrome/browser.properties
+++ b/mobile/locales/en-US/chrome/browser.properties
@@ -8,16 +8,20 @@ addonsRestartButton.label=Restart
addonsLocalNone.label=No add-ons installed
addonsSearchStart.label=Searching for add-ons…
addonsSearchStart.button=Cancel
addonsSearchNone.label=No matches found
addonsSearchFail.label=%S couldn't retrieve add-ons
addonsSearchFail.button=OK
addonsSearchSuccess.button=Clear search
+addonType.2=Extension
+addonType.4=Theme
+addonType.8=Locale
+
# Download Manager
# LOCALIZATION NOTE (Status): — is the "em dash" (long dash)
# #1 download size for FINISHED or download state; #2 host (e.g., eTLD + 1, IP)
downloadsStatus=#1 — #2
downloadsUnknownSize=Unknown size
# LOCALIZATION NOTE (KnownSize): #1 size number; #2 size unit
downloadsKnownSize=#1 #2
donwloadsYesterday=Yesterday
--- a/mobile/themes/hildon/browser.css
+++ b/mobile/themes/hildon/browser.css
@@ -369,16 +369,46 @@ toolbarbutton.page-button {
@media (orientation: portrait) {
#addons-repo {
-moz-box-orient: vertical;
-moz-box-pack: center;
}
}
+.addon-rating[rating] {
+ width: 78px;
+ height: 18px;
+ list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+ -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+ -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+ -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+ -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+ -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+ -moz-image-region: rect(90px 78px 108px 0px);
+}
+
/* console panel UI ------------------------------------------------------ */
@media (orientation: landscape) {
#console-filter-warnings,
#console-filter-messages {
visibility: visible;
}
}
new file mode 100644
index 0000000000000000000000000000000000000000..b264e6d016816b2f853e86f81b917de626ff4cd3
GIT binary patch
literal 4516
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
CnUeef
--- a/mobile/themes/hildon/jar.mn
+++ b/mobile/themes/hildon/jar.mn
@@ -8,16 +8,17 @@ chrome.jar:
content/favicon-fennec-30.png (firstrun/favicon-fennec-30.png)
chrome.jar:
% skin browser classic/1.0 %
platform.css (platform.css)
browser.css (browser.css)
notification.css (notification.css)
images/arrowright-16.png (images/arrowright-16.png)
+ images/ratings-18.png (images/ratings-18.png)
images/favicon-default-30.png (images/favicon-default-30.png)
images/starred-64.png (images/starred-64.png)
images/throbber.png (images/throbber.png)
images/navigation-magnifier-30.png (images/navigation-magnifier-30.png)
images/folder-30.png (images/folder-30.png)
images/stop-30.png (images/stop-30.png)
images/reload-30.png (images/reload-30.png)
images/go-30.png (images/go-30.png)
--- a/mobile/themes/wince/browser-high.css
+++ b/mobile/themes/wince/browser-high.css
@@ -307,13 +307,45 @@ findbar .findbar-closebutton {
}
/* Preferences window ---------------------------------------------------- */
.prefbox {
-moz-box-align: center;
-moz-box-orient: horizontal;
}
+/* Add-ons panel --------------------------------------------------------- */
+.addon-rating[rating] {
+ width: 78px;
+ height: 18px;
+ list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+ -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+ -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+ -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+ -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+ -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+ -moz-image-region: rect(90px 78px 108px 0px);
+}
+
+/* select popup ------------------------------------------------------------ */
#select-list > option[selected="true"] > image {
list-style-image: url("chrome://browser/skin/images/check-30.png");
}
}
--- a/mobile/themes/wince/browser-low.css
+++ b/mobile/themes/wince/browser-low.css
@@ -307,14 +307,45 @@ findbar .findbar-closebutton {
}
/* Preferences window ---------------------------------------------------- */
.prefbox {
-moz-box-align: start;
-moz-box-orient: vertical;
}
+/* Add-ons panel --------------------------------------------------------- */
+.addon-rating[rating] {
+ width: 78px;
+ height: 18px;
+ list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+ -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+ -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+ -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+ -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+ -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+ -moz-image-region: rect(90px 78px 108px 0px);
+}
+
/* select popup ------------------------------------------------------------ */
#select-list > option[selected="true"] > image {
list-style-image: url("chrome://browser/skin/images/check-24.png");
}
}
new file mode 100644
index 0000000000000000000000000000000000000000..b264e6d016816b2f853e86f81b917de626ff4cd3
GIT binary patch
literal 4516
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
CnUeef
--- a/mobile/themes/wince/jar.mn
+++ b/mobile/themes/wince/jar.mn
@@ -10,16 +10,17 @@ chrome.jar:
chrome.jar:
% skin browser classic/1.0 %
platform.css (platform.css)
browser.css (browser.css)
browser-high.css (browser-high.css)
browser-low.css (browser-low.css)
notification.css (notification.css)
images/arrowright-16.png (images/arrowright-16.png)
+ images/ratings-18.png (images/ratings-18.png)
images/favicon-default-30.png (images/favicon-default-30.png)
images/starred-64.png (images/starred-64.png)
images/throbber.png (images/throbber.png)
images/navigation-magnifier-30.png (images/navigation-magnifier-30.png)
images/folder-30.png (images/folder-30.png)
images/stop-30.png (images/stop-30.png)
images/reload-30.png (images/reload-30.png)