2 <!-- ***** BEGIN LICENSE BLOCK *****
3 - Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 - The contents of this file are subject to the Mozilla Public License Version
6 - 1.1 (the "License"); you may not use this file except in compliance with
7 - the License. You may obtain a copy of the License at
8 - http://www.mozilla.org/MPL/
10 - Software distributed under the License is distributed on an "AS IS" basis,
11 - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 - for the specific language governing rights and limitations under the
15 - The Original Code is the Extension Manager UI.
17 - The Initial Developer of the Original Code is
18 - the Mozilla Foundation.
19 - Portions created by the Initial Developer are Copyright (C) 2010
20 - the Initial Developer. All Rights Reserved.
23 - Blair McBride <bmcbride@mozilla.com>
24 - David Dahl <ddahl@mozilla.com>
26 - Alternatively, the contents of this file may be used under the terms of
27 - either the GNU General Public License Version 2 or later (the "GPL"), or
28 - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 - in which case the provisions of the GPL or the LGPL are applicable instead
30 - of those above. If you wish to allow use of your version of this file only
31 - under the terms of either the GPL or the LGPL, and not to allow others to
32 - use your version of this file under the terms of the MPL, indicate your
33 - decision by deleting the provisions above and replace them with the notice
34 - and other provisions required by the LGPL or the GPL. If you do not delete
35 - the provisions above, a recipient may use your version of this file under
36 - the terms of any one of the MPL, the GPL or the LGPL.
38 - ***** END LICENSE BLOCK ***** -->
40 <?xml-stylesheet href=
"chrome://global/skin/" type=
"text/css"?>
41 <?xml-stylesheet href=
"chrome://mozapps/content/extensions/extensions.css"?>
42 <?xml-stylesheet href=
"chrome://mozapps/skin/extensions/extensions.css"?>
45 <!ENTITY % brandDTD SYSTEM
"chrome://branding/locale/brand.dtd" >
47 <!ENTITY % extensionsDTD SYSTEM
"chrome://mozapps/locale/extensions/extensions.dtd">
51 <page xmlns=
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
52 xmlns:
xhtml=
"http://www.w3.org/1999/xhtml"
53 id=
"addons-page" title=
"&addons.windowTitle;"
54 role=
"application" windowtype=
"Addons:Manager"
55 disablefastfind=
"true"
56 ondragenter=
"gDragDrop.onDragOver(event)"
57 ondragover=
"gDragDrop.onDragOver(event)"
58 ondrop=
"gDragDrop.onDrop(event)">
60 <xhtml:link rel=
"shortcut icon"
61 href=
"chrome://mozapps/skin/extensions/extensionGeneric-16.png"/>
63 <script type=
"application/javascript"
64 src=
"chrome://mozapps/content/extensions/extensions.js"/>
65 <script type=
"application/javascript"
66 src=
"chrome://global/content/contentAreaUtils.js"/>
69 <!-- menu for an addon item -->
70 <menupopup id=
"addonitem-popup">
71 <menuitem id=
"menuitem_showDetails" command=
"cmd_showItemDetails"
72 default=
"true" label=
"&cmd.showDetails.label;"
73 accesskey=
"&cmd.showDetails.accesskey;"/>
74 <menuitem id=
"menuitem_enableItem" command=
"cmd_enableItem"
75 label=
"&cmd.enableAddon.label;"
76 accesskey=
"&cmd.enableAddon.accesskey;"/>
77 <menuitem id=
"menuitem_disableItem" command=
"cmd_disableItem"
78 label=
"&cmd.disableAddon.label;"
79 accesskey=
"&cmd.disableAddon.accesskey;"/>
80 <menuitem id=
"menuitem_enableTheme" command=
"cmd_enableItem"
81 label=
"&cmd.enableTheme.label;"
82 accesskey=
"&cmd.enableTheme.accesskey;"/>
83 <menuitem id=
"menuitem_disableTheme" command=
"cmd_disableItem"
84 label=
"&cmd.disableTheme.label;"
85 accesskey=
"&cmd.disableTheme.accesskey;"/>
86 <menuitem id=
"menuitem_installItem" command=
"cmd_installItem"
87 label=
"&cmd.installAddon.label;"
88 accesskey=
"&cmd.installAddon.accesskey;"/>
89 <menuitem id=
"menuitem_uninstallItem" command=
"cmd_uninstallItem"
90 label=
"&cmd.uninstallAddon.label;"
91 accesskey=
"&cmd.uninstallAddon.accesskey;"/>
92 <menuseparator id=
"addonitem-menuseparator" />
93 <menuitem id=
"menuitem_preferences" command=
"cmd_showItemPreferences"
95 label=
"&cmd.preferencesWin.label;"
96 accesskey=
"&cmd.preferencesWin.accesskey;"/>
98 label=
"&cmd.preferencesUnix.label;"
99 accesskey=
"&cmd.preferencesUnix.accesskey;"/>
101 <menuitem id=
"menuitem_findUpdates" command=
"cmd_findItemUpdates"
102 label=
"&cmd.findUpdates.label;"
103 accesskey=
"&cmd.findUpdates.accesskey;"/>
104 <menuitem id=
"menuitem_about" command=
"cmd_showItemAbout"
105 label=
"&cmd.about.label;"
106 accesskey=
"&cmd.about.accesskey;"/>
110 <!-- global commands - these act on all addons, or affect the addons manager
111 in some other way -->
112 <commandset id=
"globalCommandSet"
113 oncommand=
"gViewController.doCommand(event.target.id);">
114 <command id=
"cmd_findAllUpdates"/>
115 <command id=
"cmd_restartApp"/>
116 <command id=
"cmd_goToDiscoverPane"/>
117 <command id=
"cmd_goToRecentUpdates"/>
118 <command id=
"cmd_goToAvailableUpdates"/>
119 <command id=
"cmd_installFromFile"/>
120 <command id=
"cmd_back"/>
121 <command id=
"cmd_forward"/>
122 <command id=
"cmd_enableCheckCompatibility"/>
123 <command id=
"cmd_enableUpdateSecurity"/>
124 <command id=
"cmd_toggleAutoUpdateDefault"/>
125 <command id=
"cmd_resetAddonAutoUpdate"/>
128 <!-- view commands - these act on the selected addon -->
129 <commandset id=
"viewCommandSet"
130 events=
"richlistbox-select" commandupdater=
"true"
131 oncommandupdate=
"gViewController.updateCommands();"
132 oncommand=
"gViewController.doCommand(event.target.id);">
133 <command id=
"cmd_showItemDetails"/>
134 <command id=
"cmd_findItemUpdates"/>
135 <command id=
"cmd_showItemPreferences"/>
136 <command id=
"cmd_showItemAbout"/>
137 <command id=
"cmd_enableItem"/>
138 <command id=
"cmd_disableItem"/>
139 <command id=
"cmd_installItem"/>
140 <command id=
"cmd_purchaseItem"/>
141 <command id=
"cmd_uninstallItem"/>
142 <command id=
"cmd_cancelUninstallItem"/>
143 <command id=
"cmd_cancelOperation"/>
144 <command id=
"cmd_contribute"/>
148 <hbox id=
"header" align=
"center">
149 <toolbarbutton id=
"back-btn" class=
"nav-button header-button" command=
"cmd_back"
150 tooltiptext=
"&cmd.back.tooltip;" hidden=
"true" disabled=
"true"/>
151 <toolbarbutton id=
"forward-btn" class=
"nav-button header-button" command=
"cmd_forward"
152 tooltiptext=
"&cmd.forward.tooltip;" hidden=
"true" disabled=
"true"/>
154 <hbox id=
"updates-container" align=
"center">
155 <image class=
"spinner"/>
156 <label id=
"updates-noneFound" hidden=
"true"
157 value=
"&updates.noneFound.label;"/>
158 <button id=
"updates-manualUpdatesFound-btn" class=
"button-link"
159 hidden=
"true" label=
"&updates.manualUpdatesFound.label;"
160 command=
"cmd_goToAvailableUpdates"/>
161 <label id=
"updates-progress" hidden=
"true"
162 value=
"&updates.updating.label;"/>
163 <label id=
"updates-installed" hidden=
"true"
164 value=
"&updates.installed.label;"/>
165 <label id=
"updates-downloaded" hidden=
"true"
166 value=
"&updates.downloaded.label;"/>
167 <button id=
"updates-restart-btn" class=
"button-link" hidden=
"true"
168 label=
"&updates.restart.label;"
169 command=
"cmd_restartApp"/>
171 <toolbarbutton id=
"header-utils-btn" class=
"header-button" type=
"menu"
172 tooltiptext=
"&toolsMenu.tooltip;">
173 <menupopup id=
"utils-menu">
174 <menuitem id=
"utils-updateNow"
175 label=
"&updates.checkForUpdates.label;"
176 accesskey=
"&updates.checkForUpdates.accesskey;"
177 command=
"cmd_findAllUpdates"/>
178 <menuitem id=
"utils-viewUpdates"
179 label=
"&updates.viewUpdates.label;"
180 accesskey=
"&updates.viewUpdates.accesskey;"
181 command=
"cmd_goToRecentUpdates"/>
182 <menuseparator id=
"utils-installFromFile-separator"/>
183 <menuitem id=
"utils-installFromFile"
184 label=
"&installAddonFromFile.label;"
185 accesskey=
"&installAddonFromFile.accesskey;"
186 command=
"cmd_installFromFile"/>
188 <menuitem id=
"utils-autoUpdateDefault"
189 label=
"&updates.updateAddonsAutomatically.label;"
190 accesskey=
"&updates.updateAddonsAutomatically.accesskey;"
191 type=
"checkbox" autocheck=
"false"
192 command=
"cmd_toggleAutoUpdateDefault"/>
193 <menuitem id=
"utils-resetAddonUpdatesToAutomatic"
194 label=
"&updates.resetUpdatesToAutomatic.label;"
195 accesskey=
"&updates.resetUpdatesToAutomatic.accesskey;"
196 command=
"cmd_resetAddonAutoUpdate"/>
197 <menuitem id=
"utils-resetAddonUpdatesToManual"
198 label=
"&updates.resetUpdatesToManual.label;"
199 accesskey=
"&updates.resetUpdatesToManual.accesskey;"
200 command=
"cmd_resetAddonAutoUpdate"/>
203 <textbox id=
"header-search" type=
"search" searchbutton=
"true"
204 placeholder=
"&search.placeholder;"/>
209 <!-- category list -->
210 <richlistbox id=
"categories" persist=
"last-selected">
211 <richlistitem id=
"category-search" value=
"addons://search/"
213 name=
"&view.search.label;"
214 tooltiptext=
"&view.search.label;" disabled=
"true"/>
215 <richlistitem id=
"category-discover" value=
"addons://discover/"
217 name=
"&view.discover.label;"
218 tooltiptext=
"&view.discover.label;"/>
219 <richlistitem id=
"category-languages" value=
"addons://list/locale"
221 name=
"&view.locales.label;"
222 tooltiptext=
"&view.locales.label;"
223 hidden=
"true" persist=
"hidden"/>
224 <richlistitem id=
"category-searchengines"
225 value=
"addons://list/searchengine"
227 name=
"&view.searchengines.label;"
228 tooltiptext=
"&view.searchengines.label;"
229 hidden=
"true" persist=
"hidden"/>
230 <richlistitem id=
"category-extensions" value=
"addons://list/extension"
232 name=
"&view.features.label;"
233 tooltiptext=
"&view.features.label;"/>
234 <richlistitem id=
"category-themes" value=
"addons://list/theme"
236 name=
"&view.appearance2.label;"
237 tooltiptext=
"&view.appearance2.label;"/>
238 <richlistitem id=
"category-plugins" value=
"addons://list/plugin"
240 name=
"&view.plugins.label;"
241 tooltiptext=
"&view.plugins.label;"/>
242 <richlistitem id=
"category-availableUpdates" value=
"addons://updates/available"
244 name=
"&view.availableUpdates.label;"
245 tooltiptext=
"&view.availableUpdates.label;"
247 <richlistitem id=
"category-recentUpdates" value=
"addons://updates/recent"
249 name=
"&view.recentUpdates.label;"
250 tooltiptext=
"&view.recentUpdates.label;" disabled=
"true"/>
253 <box id=
"view-port-container" flex=
"1">
256 <deck id=
"view-port" flex=
"1" selectedIndex=
"0">
258 <!-- discover view -->
259 <deck id=
"discover-view" flex=
"1" class=
"view-pane" selectedIndex=
"0">
260 <vbox id=
"discover-loading" align=
"center" pack=
"stretch" flex=
"1" class=
"alert-container">
261 <spacer class=
"alert-spacer-before"/>
262 <hbox class=
"alert loading" align=
"center">
264 <label value=
"&loading.label;"/>
266 <spacer class=
"alert-spacer-after"/>
268 <vbox id=
"discover-error" align=
"center" pack=
"stretch" flex=
"1" class=
"alert-container">
269 <spacer class=
"alert-spacer-before"/>
271 <spacer class=
"discover-spacer-before"/>
272 <hbox class=
"alert" align=
"center">
273 <image class=
"discover-logo"/>
274 <vbox flex=
"1" align=
"stretch">
275 <label class=
"discover-title">&discover.title;
</label>
276 <description class=
"discover-description">&discover.description2;
</description>
277 <description class=
"discover-footer">&discover.footer;
</description>
280 <spacer class=
"discover-spacer-after"/>
282 <spacer class=
"alert-spacer-after"/>
284 <browser id=
"discover-browser" type=
"content" flex=
"1"
285 disablehistory=
"true" homepage=
"about:blank"/>
289 <vbox id=
"search-view" flex=
"1" class=
"view-pane">
290 <hbox class=
"view-header global-warning-container" align=
"center">
291 <!-- global warnings -->
292 <hbox class=
"global-warning" flex=
"1">
293 <hbox class=
"global-warning-safemode" flex=
"1" align=
"center"
294 tooltiptext=
"&warning.safemode.label;">
295 <image class=
"warning-icon"/>
296 <label class=
"global-warning-text" flex=
"1" crop=
"end"
297 value=
"&warning.safemode.label;"/>
299 <hbox class=
"global-warning-checkcompatibility" flex=
"1" align=
"center"
300 tooltiptext=
"&warning.checkcompatibility.label;">
301 <image class=
"warning-icon"/>
302 <label class=
"global-warning-text" flex=
"1" crop=
"end"
303 value=
"&warning.checkcompatibility.label;"/>
305 <button class=
"button-link global-warning-checkcompatibility"
306 label=
"&warning.checkcompatibility.enable.label;"
307 tooltiptext=
"&warning.checkcompatibility.enable.tooltip;"
308 command=
"cmd_enableCheckCompatibility"/>
309 <hbox class=
"global-warning-updatesecurity" flex=
"1" align=
"center"
310 tooltiptext=
"&warning.updatesecurity.label;">
311 <image class=
"warning-icon"/>
312 <label class=
"global-warning-text" flex=
"1" crop=
"end"
313 value=
"&warning.updatesecurity.label;"/>
315 <button class=
"button-link global-warning-updatesecurity"
316 label=
"&warning.updatesecurity.enable.label;"
317 tooltiptext=
"&warning.updatesecurity.enable.tooltip;"
318 command=
"cmd_enableUpdateSecurity"/>
319 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
322 <hbox id=
"search-sorters" class=
"sort-controls"
323 showrelevance=
"true" sortby=
"relevancescore" ascending=
"false"/>
325 <hbox id=
"search-filter" align=
"center">
326 <label id=
"search-filter-label" value=
"&search.filter2.label;"/>
327 <radiogroup id=
"search-filter-radiogroup" orient=
"horizontal"
328 align=
"center" persist=
"value" value=
"remote">
329 <radio id=
"search-filter-local" class=
"search-filter-radio"
330 label=
"&search.filter2.installed.label;" value=
"local"
331 tooltiptext=
"&search.filter2.installed.tooltip;"/>
332 <radio id=
"search-filter-remote" class=
"search-filter-radio"
333 label=
"&search.filter2.available.label;" value=
"remote"
334 tooltiptext=
"&search.filter2.available.tooltip;"/>
337 <vbox id=
"search-loading" class=
"alert-container"
338 flex=
"1" hidden=
"true">
339 <spacer class=
"alert-spacer-before"/>
340 <hbox class=
"alert loading" align=
"center">
342 <label value=
"&loading.label;"/>
344 <spacer class=
"alert-spacer-after"/>
346 <vbox id=
"search-list-empty" class=
"alert-container"
347 flex=
"1" hidden=
"true">
348 <spacer class=
"alert-spacer-before"/>
350 <label value=
"&listEmpty.search.label;"/>
351 <button label=
"&listEmpty.button.label;" class=
"addon-control"
352 command=
"cmd_goToDiscoverPane"/>
354 <spacer class=
"alert-spacer-after"/>
356 <richlistbox id=
"search-list" class=
"list" flex=
"1">
358 <label id=
"search-allresults-link" class=
"text-link"/>
364 <vbox id=
"list-view" flex=
"1" class=
"view-pane" align=
"stretch">
365 <hbox class=
"view-header global-warning-container">
366 <!-- global warnings -->
367 <hbox class=
"global-warning" flex=
"1">
368 <hbox class=
"global-warning-safemode" flex=
"1" align=
"center"
369 tooltiptext=
"&warning.safemode.label;">
370 <image class=
"warning-icon"/>
371 <label class=
"global-warning-text" flex=
"1" crop=
"end"
372 value=
"&warning.safemode.label;"/>
374 <hbox class=
"global-warning-checkcompatibility" flex=
"1" align=
"center"
375 tooltiptext=
"&warning.checkcompatibility.label;">
376 <image class=
"warning-icon"/>
377 <label class=
"global-warning-text" flex=
"1" crop=
"end"
378 value=
"&warning.checkcompatibility.label;"/>
380 <button class=
"button-link global-warning-checkcompatibility"
381 label=
"&warning.checkcompatibility.enable.label;"
382 tooltiptext=
"&warning.checkcompatibility.enable.tooltip;"
383 command=
"cmd_enableCheckCompatibility"/>
384 <hbox class=
"global-warning-updatesecurity" flex=
"1" align=
"center"
385 tooltiptext=
"&warning.updatesecurity.label;">
386 <image class=
"warning-icon"/>
387 <label class=
"global-warning-text" flex=
"1" crop=
"end"
388 value=
"&warning.updatesecurity.label;"/>
390 <button class=
"button-link global-warning-updatesecurity"
391 label=
"&warning.updatesecurity.enable.label;"
392 tooltiptext=
"&warning.updatesecurity.enable.tooltip;"
393 command=
"cmd_enableUpdateSecurity"/>
394 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
397 <vbox id=
"addon-list-empty" class=
"alert-container"
398 flex=
"1" hidden=
"true">
399 <spacer class=
"alert-spacer-before"/>
401 <label value=
"&listEmpty.installed.label;"/>
402 <button label=
"&listEmpty.button.label;" class=
"addon-control"
403 command=
"cmd_goToDiscoverPane"/>
405 <spacer class=
"alert-spacer-after"/>
407 <richlistbox id=
"addon-list" class=
"list" flex=
"1"/>
410 <!-- updates view -->
411 <vbox id=
"updates-view" flex=
"1" class=
"view-pane">
412 <hbox class=
"view-header global-warning-container" align=
"center">
413 <!-- global warnings -->
414 <hbox class=
"global-warning" flex=
"1">
415 <hbox class=
"global-warning-safemode" flex=
"1" align=
"center"
416 tooltiptext=
"&warning.safemode.label;">
417 <image class=
"warning-icon"/>
418 <label class=
"global-warning-text" flex=
"1" crop=
"end"
419 value=
"&warning.safemode.label;"/>
421 <hbox class=
"global-warning-checkcompatibility" flex=
"1" align=
"center"
422 tooltiptext=
"&warning.checkcompatibility.label;">
423 <image class=
"warning-icon"/>
424 <label class=
"global-warning-text" flex=
"1" crop=
"end"
425 value=
"&warning.checkcompatibility.label;"/>
427 <button class=
"button-link global-warning-checkcompatibility"
428 label=
"&warning.checkcompatibility.enable.label;"
429 tooltiptext=
"&warning.checkcompatibility.enable.tooltip;"
430 command=
"cmd_enableCheckCompatibility"/>
431 <hbox class=
"global-warning-updatesecurity" flex=
"1" align=
"center"
432 tooltiptext=
"&warning.updatesecurity.label;">
433 <image class=
"warning-icon"/>
434 <label class=
"global-warning-text" flex=
"1" crop=
"end"
435 value=
"&warning.updatesecurity.label;"/>
437 <button class=
"button-link global-warning-updatesecurity"
438 label=
"&warning.updatesecurity.enable.label;"
439 tooltiptext=
"&warning.updatesecurity.enable.tooltip;"
440 command=
"cmd_enableUpdateSecurity"/>
441 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
444 <hbox id=
"updates-sorters" class=
"sort-controls" sortby=
"updateDate"
447 <vbox id=
"updates-list-empty" class=
"alert-container"
448 flex=
"1" hidden=
"true">
449 <spacer class=
"alert-spacer-before"/>
451 <label id=
"empty-availableUpdates-msg" value=
"&listEmpty.availableUpdates.label;"/>
452 <label id=
"empty-recentUpdates-msg" value=
"&listEmpty.recentUpdates.label;"/>
453 <button label=
"&listEmpty.findUpdates.label;" class=
"addon-control"
454 command=
"cmd_findAllUpdates"/>
456 <spacer class=
"alert-spacer-after"/>
458 <hbox id=
"update-actions" pack=
"center">
459 <button id=
"update-selected-btn" hidden=
"true"
460 label=
"&updates.updateSelected.label;"
461 tooltiptext=
"&updates.updateSelected.tooltip;"/>
463 <richlistbox id=
"updates-list" class=
"list" flex=
"1"/>
467 <scrollbox id=
"detail-view" flex=
"1" class=
"view-pane addon-view" orient=
"vertical">
468 <!-- global warnings -->
469 <hbox class=
"global-warning-container global-warning">
470 <hbox class=
"global-warning-safemode" flex=
"1" align=
"center"
471 tooltiptext=
"&warning.safemode.label;">
472 <image class=
"warning-icon"/>
473 <label class=
"global-warning-text" flex=
"1" crop=
"end"
474 value=
"&warning.safemode.label;"/>
476 <hbox class=
"global-warning-checkcompatibility" flex=
"1" align=
"center"
477 tooltiptext=
"&warning.checkcompatibility.label;">
478 <image class=
"warning-icon"/>
479 <label class=
"global-warning-text" flex=
"1" crop=
"end"
480 value=
"&warning.checkcompatibility.label;"/>
482 <button class=
"button-link global-warning-checkcompatibility"
483 label=
"&warning.checkcompatibility.enable.label;"
484 tooltiptext=
"&warning.checkcompatibility.enable.tooltip;"
485 command=
"cmd_enableCheckCompatibility"/>
486 <hbox class=
"global-warning-updatesecurity" flex=
"1" align=
"center"
487 tooltiptext=
"&warning.updatesecurity.label;">
488 <image class=
"warning-icon"/>
489 <label class=
"global-warning-text" flex=
"1" crop=
"end"
490 value=
"&warning.updatesecurity.label;"/>
492 <button class=
"button-link global-warning-updatesecurity"
493 label=
"&warning.updatesecurity.enable.label;"
494 tooltiptext=
"&warning.updatesecurity.enable.tooltip;"
495 command=
"cmd_enableUpdateSecurity"/>
496 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
500 <!-- "loading" splash screen -->
501 <vbox class=
"alert-container">
502 <spacer class=
"alert-spacer-before"/>
503 <hbox class=
"alert loading">
505 <label value=
"&loading.label;"/>
507 <spacer class=
"alert-spacer-after"/>
509 <!-- actual detail view -->
510 <vbox class=
"detail-view-container" flex=
"3" contextmenu=
"addonitem-popup">
511 <vbox id=
"detail-notifications">
512 <hbox id=
"warning-container" align=
"center" class=
"warning">
513 <image class=
"warning-icon"/>
514 <label id=
"detail-warning" flex=
"1"/>
515 <label id=
"detail-warning-link" class=
"text-link"/>
516 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
518 <hbox id=
"error-container" align=
"center" class=
"error">
519 <image class=
"error-icon"/>
520 <label id=
"detail-error" flex=
"1"/>
521 <label id=
"detail-error-link" class=
"text-link"/>
522 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
524 <hbox id=
"pending-container" align=
"center" class=
"pending">
525 <image class=
"pending-icon"/>
526 <label id=
"detail-pending" flex=
"1"/>
527 <button id=
"detail-restart-btn" class=
"button-link"
528 label=
"&addon.restartNow.label;"
529 command=
"cmd_restartApp"/>
530 <button id=
"detail-undo-btn" class=
"button-link"
531 label=
"&addon.undoAction.label;"
532 tooltipText=
"&addon.undoAction.tooltip;"
533 command=
"cmd_cancelOperation"/>
534 <spacer flex=
"5000"/> <!-- Necessary to allow the message to wrap -->
538 <image id=
"detail-icon" class=
"icon"/>
540 <vbox id=
"detail-summary">
541 <hbox id=
"detail-name-container" class=
"name-container"
543 <label id=
"detail-name" flex=
"1"/>
544 <label id=
"detail-version"/>
545 <label class=
"disabled-postfix" value=
"&addon.disabled.postfix;"/>
546 <label class=
"update-postfix" value=
"&addon.update.postfix;"/>
547 <spacer flex=
"5000"/> <!-- Necessary to allow the name to wrap -->
549 <label id=
"detail-creator" class=
"creator"/>
551 <hbox id=
"detail-desc-container" align=
"start">
552 <vbox pack=
"center"> <!-- Necessary to work around bug 394738 -->
553 <image id=
"detail-screenshot" hidden=
"true"/>
556 <description id=
"detail-desc"/>
557 <description id=
"detail-fulldesc"/>
560 <vbox id=
"detail-contributions">
561 <description id=
"detail-contrib-description">
562 &detail.contributions.description;
564 <hbox align=
"center">
565 <label id=
"detail-contrib-suggested"/>
567 <button id=
"detail-contrib-btn"
568 label=
"&cmd.contribute.label;"
569 accesskey=
"&cmd.contribute.accesskey;"
570 tooltiptext=
"&cmd.contribute.tooltip;"
571 command=
"cmd_contribute"/>
574 <grid id=
"detail-grid">
580 <row class=
"detail-row-complex" id=
"detail-updates-row">
581 <label class=
"detail-row-label" value=
"&detail.updateType;"/>
582 <hbox align=
"center">
583 <radiogroup id=
"detail-autoUpdate" orient=
"horizontal">
584 <!-- The values here need to match the values of
585 AddonManager.AUTOUPDATE_* -->
586 <radio label=
"&detail.updateDefault.label;"
587 tooltiptext=
"&detail.updateDefault.tooltip;"
589 <radio label=
"&detail.updateAutomatic.label;"
590 tooltiptext=
"&detail.updateAutomatic.tooltip;"
592 <radio label=
"&detail.updateManual.label;"
593 tooltiptext=
"&detail.updateManual.tooltip;"
596 <button id=
"detail-findUpdates-btn" class=
"button-link"
597 label=
"&detail.checkForUpdates.label;"
598 accesskey=
"&detail.checkForUpdates.accesskey;"
599 tooltiptext=
"&detail.checkForUpdates.tooltip;"
600 command=
"cmd_findItemUpdates"/>
603 <row class=
"detail-row" id=
"detail-dateUpdated" label=
"&detail.lastupdated.label;"/>
604 <row class=
"detail-row-complex" id=
"detail-homepage-row" label=
"&detail.home;">
605 <label class=
"detail-row-label" value=
"&detail.home;"/>
606 <label id=
"detail-homepage" class=
"detail-row-value text-link" crop=
"end"/>
608 <row class=
"detail-row-complex" id=
"detail-repository-row" label=
"&detail.repository;">
609 <label class=
"detail-row-label" value=
"&detail.repository;"/>
610 <label id=
"detail-repository" class=
"detail-row-value text-link"/>
612 <row class=
"detail-row" id=
"detail-size" label=
"&detail.size;"/>
613 <row class=
"detail-row-complex" id=
"detail-rating-row">
614 <label class=
"detail-row-label" value=
"&rating2.label;"/>
616 <label id=
"detail-rating" class=
"meta-value meta-rating"
617 showrating=
"average"/>
618 <label id=
"detail-reviews" class=
"text-link"/>
621 <row class=
"detail-row" id=
"detail-downloads" label=
"&detail.numberOfDownloads.label;"/>
624 <hbox id=
"detail-controls">
625 <button id=
"detail-prefs-btn" class=
"addon-control preferences"
627 label=
"&detail.showPreferencesWin.label;"
628 accesskey=
"&detail.showPreferencesWin.accesskey;"
629 tooltiptext=
"&detail.showPreferencesWin.tooltip;"
631 label=
"&detail.showPreferencesUnix.label;"
632 accesskey=
"&detail.showPreferencesUnix.accesskey;"
633 tooltiptext=
"&detail.showPreferencesUnix.tooltip;"
635 command=
"cmd_showItemPreferences"/>
637 <button id=
"detail-enable-btn" class=
"addon-control enable"
638 label=
"&cmd.enableAddon.label;"
639 accesskey=
"&cmd.enableAddon.accesskey;"
640 command=
"cmd_enableItem"/>
641 <button id=
"detail-disable-btn" class=
"addon-control disable"
642 label=
"&cmd.disableAddon.label;"
643 accesskey=
"&cmd.disableAddon.accesskey;"
644 command=
"cmd_disableItem"/>
645 <button id=
"detail-uninstall-btn" class=
"addon-control remove"
646 label=
"&cmd.uninstallAddon.label;"
647 accesskey=
"&cmd.uninstallAddon.accesskey;"
648 command=
"cmd_uninstallItem"/>
649 <button id=
"detail-purchase-btn" class=
"addon-control purchase"
650 command=
"cmd_purchaseItem"/>
651 <button id=
"detail-install-btn" class=
"addon-control install"
652 label=
"&cmd.installAddon.label;"
653 accesskey=
"&cmd.installAddon.accesskey;"
654 command=
"cmd_installItem"/>