/toolkit/mozapps/extensions/content/extensions.xul

http://github.com/zpao/v8monkey · Unknown · 665 lines · 643 code · 22 blank · 0 comment · 0 complexity · 140bf32d565ee7b5e161adae0870c5d2 MD5 · raw file

  1. <?xml version="1.0"?>
  2. <!-- ***** BEGIN LICENSE BLOCK *****
  3. - Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4. -
  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/
  9. -
  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
  13. - License.
  14. -
  15. - The Original Code is the Extension Manager UI.
  16. -
  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.
  21. -
  22. - Contributor(s):
  23. - Blair McBride <bmcbride@mozilla.com>
  24. - David Dahl <ddahl@mozilla.com>
  25. -
  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.
  37. -
  38. - ***** END LICENSE BLOCK ***** -->
  39. <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
  40. <?xml-stylesheet href="chrome://mozapps/content/extensions/extensions.css"?>
  41. <?xml-stylesheet href="chrome://mozapps/skin/extensions/extensions.css"?>
  42. <!DOCTYPE page [
  43. <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
  44. %brandDTD;
  45. <!ENTITY % extensionsDTD SYSTEM "chrome://mozapps/locale/extensions/extensions.dtd">
  46. %extensionsDTD;
  47. ]>
  48. <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  49. xmlns:xhtml="http://www.w3.org/1999/xhtml"
  50. id="addons-page" title="&addons.windowTitle;"
  51. role="application" windowtype="Addons:Manager"
  52. disablefastfind="true"
  53. ondragenter="gDragDrop.onDragOver(event)"
  54. ondragover="gDragDrop.onDragOver(event)"
  55. ondrop="gDragDrop.onDrop(event)"
  56. onkeypress="gHeader.onKeyPress(event)">
  57. <xhtml:link rel="shortcut icon"
  58. href="chrome://mozapps/skin/extensions/extensionGeneric-16.png"/>
  59. <script type="application/javascript"
  60. src="chrome://mozapps/content/extensions/extensions.js"/>
  61. <script type="application/javascript"
  62. src="chrome://global/content/contentAreaUtils.js"/>
  63. <popupset>
  64. <!-- menu for an addon item -->
  65. <menupopup id="addonitem-popup">
  66. <menuitem id="menuitem_showDetails" command="cmd_showItemDetails"
  67. default="true" label="&cmd.showDetails.label;"
  68. accesskey="&cmd.showDetails.accesskey;"/>
  69. <menuitem id="menuitem_enableItem" command="cmd_enableItem"
  70. label="&cmd.enableAddon.label;"
  71. accesskey="&cmd.enableAddon.accesskey;"/>
  72. <menuitem id="menuitem_disableItem" command="cmd_disableItem"
  73. label="&cmd.disableAddon.label;"
  74. accesskey="&cmd.disableAddon.accesskey;"/>
  75. <menuitem id="menuitem_enableTheme" command="cmd_enableItem"
  76. label="&cmd.enableTheme.label;"
  77. accesskey="&cmd.enableTheme.accesskey;"/>
  78. <menuitem id="menuitem_disableTheme" command="cmd_disableItem"
  79. label="&cmd.disableTheme.label;"
  80. accesskey="&cmd.disableTheme.accesskey;"/>
  81. <menuitem id="menuitem_installItem" command="cmd_installItem"
  82. label="&cmd.installAddon.label;"
  83. accesskey="&cmd.installAddon.accesskey;"/>
  84. <menuitem id="menuitem_uninstallItem" command="cmd_uninstallItem"
  85. label="&cmd.uninstallAddon.label;"
  86. accesskey="&cmd.uninstallAddon.accesskey;"/>
  87. <menuseparator id="addonitem-menuseparator" />
  88. <menuitem id="menuitem_preferences" command="cmd_showItemPreferences"
  89. #ifdef XP_WIN
  90. label="&cmd.preferencesWin.label;"
  91. accesskey="&cmd.preferencesWin.accesskey;"/>
  92. #else
  93. label="&cmd.preferencesUnix.label;"
  94. accesskey="&cmd.preferencesUnix.accesskey;"/>
  95. #endif
  96. <menuitem id="menuitem_findUpdates" command="cmd_findItemUpdates"
  97. label="&cmd.findUpdates.label;"
  98. accesskey="&cmd.findUpdates.accesskey;"/>
  99. <menuitem id="menuitem_about" command="cmd_showItemAbout"
  100. label="&cmd.about.label;"
  101. accesskey="&cmd.about.accesskey;"/>
  102. </menupopup>
  103. </popupset>
  104. <!-- global commands - these act on all addons, or affect the addons manager
  105. in some other way -->
  106. <commandset id="globalCommandSet"
  107. oncommand="gViewController.doCommand(event.target.id);">
  108. <command id="cmd_findAllUpdates"/>
  109. <command id="cmd_restartApp"/>
  110. <command id="cmd_goToDiscoverPane"/>
  111. <command id="cmd_goToRecentUpdates"/>
  112. <command id="cmd_goToAvailableUpdates"/>
  113. <command id="cmd_installFromFile"/>
  114. <command id="cmd_back"/>
  115. <command id="cmd_forward"/>
  116. <command id="cmd_enableCheckCompatibility"/>
  117. <command id="cmd_pluginCheck"/>
  118. <command id="cmd_enableUpdateSecurity"/>
  119. <command id="cmd_toggleAutoUpdateDefault"/>
  120. <command id="cmd_resetAddonAutoUpdate"/>
  121. </commandset>
  122. <!-- view commands - these act on the selected addon -->
  123. <commandset id="viewCommandSet"
  124. events="richlistbox-select" commandupdater="true"
  125. oncommandupdate="gViewController.updateCommands();"
  126. oncommand="gViewController.doCommand(event.target.id);">
  127. <command id="cmd_showItemDetails"/>
  128. <command id="cmd_findItemUpdates"/>
  129. <command id="cmd_showItemPreferences"/>
  130. <command id="cmd_showItemAbout"/>
  131. <command id="cmd_enableItem"/>
  132. <command id="cmd_disableItem"/>
  133. <command id="cmd_installItem"/>
  134. <command id="cmd_purchaseItem"/>
  135. <command id="cmd_uninstallItem"/>
  136. <command id="cmd_cancelUninstallItem"/>
  137. <command id="cmd_cancelOperation"/>
  138. <command id="cmd_contribute"/>
  139. </commandset>
  140. <keyset>
  141. <key id="focusSearch" key="&search.commandkey;" modifiers="accel"
  142. oncommand="gHeader.focusSearchBox();"/>
  143. </keyset>
  144. <!-- main header -->
  145. <hbox id="header" align="center">
  146. <toolbarbutton id="back-btn" class="nav-button header-button" command="cmd_back"
  147. tooltiptext="&cmd.back.tooltip;" hidden="true" disabled="true"/>
  148. <toolbarbutton id="forward-btn" class="nav-button header-button" command="cmd_forward"
  149. tooltiptext="&cmd.forward.tooltip;" hidden="true" disabled="true"/>
  150. <spacer flex="1"/>
  151. <hbox id="updates-container" align="center">
  152. <image class="spinner"/>
  153. <label id="updates-noneFound" hidden="true"
  154. value="&updates.noneFound.label;"/>
  155. <button id="updates-manualUpdatesFound-btn" class="button-link"
  156. hidden="true" label="&updates.manualUpdatesFound.label;"
  157. command="cmd_goToAvailableUpdates"/>
  158. <label id="updates-progress" hidden="true"
  159. value="&updates.updating.label;"/>
  160. <label id="updates-installed" hidden="true"
  161. value="&updates.installed.label;"/>
  162. <label id="updates-downloaded" hidden="true"
  163. value="&updates.downloaded.label;"/>
  164. <button id="updates-restart-btn" class="button-link" hidden="true"
  165. label="&updates.restart.label;"
  166. command="cmd_restartApp"/>
  167. </hbox>
  168. <toolbarbutton id="header-utils-btn" class="header-button" type="menu"
  169. tooltiptext="&toolsMenu.tooltip;">
  170. <menupopup id="utils-menu">
  171. <menuitem id="utils-updateNow"
  172. label="&updates.checkForUpdates.label;"
  173. accesskey="&updates.checkForUpdates.accesskey;"
  174. command="cmd_findAllUpdates"/>
  175. <menuitem id="utils-viewUpdates"
  176. label="&updates.viewUpdates.label;"
  177. accesskey="&updates.viewUpdates.accesskey;"
  178. command="cmd_goToRecentUpdates"/>
  179. <menuseparator id="utils-installFromFile-separator"/>
  180. <menuitem id="utils-installFromFile"
  181. label="&installAddonFromFile.label;"
  182. accesskey="&installAddonFromFile.accesskey;"
  183. command="cmd_installFromFile"/>
  184. <menuseparator/>
  185. <menuitem id="utils-autoUpdateDefault"
  186. label="&updates.updateAddonsAutomatically.label;"
  187. accesskey="&updates.updateAddonsAutomatically.accesskey;"
  188. type="checkbox" autocheck="false"
  189. command="cmd_toggleAutoUpdateDefault"/>
  190. <menuitem id="utils-resetAddonUpdatesToAutomatic"
  191. label="&updates.resetUpdatesToAutomatic.label;"
  192. accesskey="&updates.resetUpdatesToAutomatic.accesskey;"
  193. command="cmd_resetAddonAutoUpdate"/>
  194. <menuitem id="utils-resetAddonUpdatesToManual"
  195. label="&updates.resetUpdatesToManual.label;"
  196. accesskey="&updates.resetUpdatesToManual.accesskey;"
  197. command="cmd_resetAddonAutoUpdate"/>
  198. </menupopup>
  199. </toolbarbutton>
  200. <textbox id="header-search" type="search" searchbutton="true"
  201. placeholder="&search.placeholder;"/>
  202. </hbox>
  203. <hbox flex="1">
  204. <!-- category list -->
  205. <richlistbox id="categories">
  206. <richlistitem id="category-search" value="addons://search/"
  207. class="category"
  208. name="&view.search.label;" priority="0"
  209. tooltiptext="&view.search.label;" disabled="true"/>
  210. <richlistitem id="category-discover" value="addons://discover/"
  211. class="category"
  212. name="&view.discover.label;" priority="1000"
  213. tooltiptext="&view.discover.label;"/>
  214. <richlistitem id="category-availableUpdates" value="addons://updates/available"
  215. class="category"
  216. name="&view.availableUpdates.label;" priority="100000"
  217. tooltiptext="&view.availableUpdates.label;"
  218. disabled="true"/>
  219. <richlistitem id="category-recentUpdates" value="addons://updates/recent"
  220. class="category"
  221. name="&view.recentUpdates.label;" priority="101000"
  222. tooltiptext="&view.recentUpdates.label;" disabled="true"/>
  223. </richlistbox>
  224. <box id="view-port-container" class="main-content" flex="1">
  225. <!-- view port -->
  226. <deck id="view-port" flex="1" selectedIndex="0">
  227. <!-- discover view -->
  228. <deck id="discover-view" flex="1" class="view-pane" selectedIndex="0">
  229. <vbox id="discover-loading" align="center" pack="stretch" flex="1" class="alert-container">
  230. <spacer class="alert-spacer-before"/>
  231. <hbox class="alert loading" align="center">
  232. <image/>
  233. <label value="&loading.label;"/>
  234. </hbox>
  235. <spacer class="alert-spacer-after"/>
  236. </vbox>
  237. <vbox id="discover-error" align="center" pack="stretch" flex="1" class="alert-container">
  238. <spacer class="alert-spacer-before"/>
  239. <hbox>
  240. <spacer class="discover-spacer-before"/>
  241. <hbox class="alert" align="center">
  242. <image class="discover-logo"/>
  243. <vbox flex="1" align="stretch">
  244. <label class="discover-title">&discover.title;</label>
  245. <description class="discover-description">&discover.description2;</description>
  246. <description class="discover-footer">&discover.footer;</description>
  247. </vbox>
  248. </hbox>
  249. <spacer class="discover-spacer-after"/>
  250. </hbox>
  251. <spacer class="alert-spacer-after"/>
  252. </vbox>
  253. <browser id="discover-browser" type="content" flex="1"
  254. disablehistory="true" homepage="about:blank"/>
  255. </deck>
  256. <!-- search view -->
  257. <vbox id="search-view" flex="1" class="view-pane">
  258. <hbox class="view-header global-warning-container" align="center">
  259. <!-- global warnings -->
  260. <hbox class="global-warning" flex="1">
  261. <hbox class="global-warning-safemode" flex="1" align="center"
  262. tooltiptext="&warning.safemode.label;">
  263. <image class="warning-icon"/>
  264. <label class="global-warning-text" flex="1" crop="end"
  265. value="&warning.safemode.label;"/>
  266. </hbox>
  267. <hbox class="global-warning-checkcompatibility" flex="1" align="center"
  268. tooltiptext="&warning.checkcompatibility.label;">
  269. <image class="warning-icon"/>
  270. <label class="global-warning-text" flex="1" crop="end"
  271. value="&warning.checkcompatibility.label;"/>
  272. </hbox>
  273. <button class="button-link global-warning-checkcompatibility"
  274. label="&warning.checkcompatibility.enable.label;"
  275. tooltiptext="&warning.checkcompatibility.enable.tooltip;"
  276. command="cmd_enableCheckCompatibility"/>
  277. <hbox class="global-warning-updatesecurity" flex="1" align="center"
  278. tooltiptext="&warning.updatesecurity.label;">
  279. <image class="warning-icon"/>
  280. <label class="global-warning-text" flex="1" crop="end"
  281. value="&warning.updatesecurity.label;"/>
  282. </hbox>
  283. <button class="button-link global-warning-updatesecurity"
  284. label="&warning.updatesecurity.enable.label;"
  285. tooltiptext="&warning.updatesecurity.enable.tooltip;"
  286. command="cmd_enableUpdateSecurity"/>
  287. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  288. </hbox>
  289. <spacer flex="1"/>
  290. <hbox id="search-sorters" class="sort-controls"
  291. showrelevance="true" sortby="relevancescore" ascending="false"/>
  292. </hbox>
  293. <hbox id="search-filter" align="center">
  294. <label id="search-filter-label" value="&search.filter2.label;"/>
  295. <radiogroup id="search-filter-radiogroup" orient="horizontal"
  296. align="center" persist="value" value="remote">
  297. <radio id="search-filter-local" class="search-filter-radio"
  298. label="&search.filter2.installed.label;" value="local"
  299. tooltiptext="&search.filter2.installed.tooltip;"/>
  300. <radio id="search-filter-remote" class="search-filter-radio"
  301. label="&search.filter2.available.label;" value="remote"
  302. tooltiptext="&search.filter2.available.tooltip;"/>
  303. </radiogroup>
  304. </hbox>
  305. <vbox id="search-loading" class="alert-container"
  306. flex="1" hidden="true">
  307. <spacer class="alert-spacer-before"/>
  308. <hbox class="alert loading" align="center">
  309. <image/>
  310. <label value="&loading.label;"/>
  311. </hbox>
  312. <spacer class="alert-spacer-after"/>
  313. </vbox>
  314. <vbox id="search-list-empty" class="alert-container"
  315. flex="1" hidden="true">
  316. <spacer class="alert-spacer-before"/>
  317. <vbox class="alert">
  318. <label value="&listEmpty.search.label;"/>
  319. <button label="&listEmpty.button.label;"
  320. command="cmd_goToDiscoverPane"/>
  321. </vbox>
  322. <spacer class="alert-spacer-after"/>
  323. </vbox>
  324. <richlistbox id="search-list" class="list" flex="1">
  325. <hbox pack="center">
  326. <label id="search-allresults-link" class="text-link"/>
  327. </hbox>
  328. </richlistbox>
  329. </vbox>
  330. <!-- list view -->
  331. <vbox id="list-view" flex="1" class="view-pane" align="stretch">
  332. <hbox class="view-header global-warning-container">
  333. <!-- global warnings -->
  334. <hbox class="global-warning" flex="1">
  335. <hbox class="global-warning-safemode" flex="1" align="center"
  336. tooltiptext="&warning.safemode.label;">
  337. <image class="warning-icon"/>
  338. <label class="global-warning-text" flex="1" crop="end"
  339. value="&warning.safemode.label;"/>
  340. </hbox>
  341. <hbox class="global-warning-checkcompatibility" flex="1" align="center"
  342. tooltiptext="&warning.checkcompatibility.label;">
  343. <image class="warning-icon"/>
  344. <label class="global-warning-text" flex="1" crop="end"
  345. value="&warning.checkcompatibility.label;"/>
  346. </hbox>
  347. <button class="button-link global-warning-checkcompatibility"
  348. label="&warning.checkcompatibility.enable.label;"
  349. tooltiptext="&warning.checkcompatibility.enable.tooltip;"
  350. command="cmd_enableCheckCompatibility"/>
  351. <hbox class="global-warning-updatesecurity" flex="1" align="center"
  352. tooltiptext="&warning.updatesecurity.label;">
  353. <image class="warning-icon"/>
  354. <label class="global-warning-text" flex="1" crop="end"
  355. value="&warning.updatesecurity.label;"/>
  356. </hbox>
  357. <button class="button-link global-warning-updatesecurity"
  358. label="&warning.updatesecurity.enable.label;"
  359. tooltiptext="&warning.updatesecurity.enable.tooltip;"
  360. command="cmd_enableUpdateSecurity"/>
  361. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  362. </hbox>
  363. </hbox>
  364. <hbox class="view-header global-info-container">
  365. <hbox class="global-info" flex="1" align="center">
  366. <button class="button-link global-info-plugincheck"
  367. label="&info.plugincheck.label;"
  368. tooltiptext="&info.plugincheck.tooltip;"
  369. command="cmd_pluginCheck"/>
  370. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  371. </hbox>
  372. </hbox>
  373. <vbox id="addon-list-empty" class="alert-container"
  374. flex="1" hidden="true">
  375. <spacer class="alert-spacer-before"/>
  376. <vbox class="alert">
  377. <label value="&listEmpty.installed.label;"/>
  378. <button label="&listEmpty.button.label;"
  379. command="cmd_goToDiscoverPane"/>
  380. </vbox>
  381. <spacer class="alert-spacer-after"/>
  382. </vbox>
  383. <richlistbox id="addon-list" class="list" flex="1"/>
  384. </vbox>
  385. <!-- updates view -->
  386. <vbox id="updates-view" flex="1" class="view-pane">
  387. <hbox class="view-header global-warning-container" align="center">
  388. <!-- global warnings -->
  389. <hbox class="global-warning" flex="1">
  390. <hbox class="global-warning-safemode" flex="1" align="center"
  391. tooltiptext="&warning.safemode.label;">
  392. <image class="warning-icon"/>
  393. <label class="global-warning-text" flex="1" crop="end"
  394. value="&warning.safemode.label;"/>
  395. </hbox>
  396. <hbox class="global-warning-checkcompatibility" flex="1" align="center"
  397. tooltiptext="&warning.checkcompatibility.label;">
  398. <image class="warning-icon"/>
  399. <label class="global-warning-text" flex="1" crop="end"
  400. value="&warning.checkcompatibility.label;"/>
  401. </hbox>
  402. <button class="button-link global-warning-checkcompatibility"
  403. label="&warning.checkcompatibility.enable.label;"
  404. tooltiptext="&warning.checkcompatibility.enable.tooltip;"
  405. command="cmd_enableCheckCompatibility"/>
  406. <hbox class="global-warning-updatesecurity" flex="1" align="center"
  407. tooltiptext="&warning.updatesecurity.label;">
  408. <image class="warning-icon"/>
  409. <label class="global-warning-text" flex="1" crop="end"
  410. value="&warning.updatesecurity.label;"/>
  411. </hbox>
  412. <button class="button-link global-warning-updatesecurity"
  413. label="&warning.updatesecurity.enable.label;"
  414. tooltiptext="&warning.updatesecurity.enable.tooltip;"
  415. command="cmd_enableUpdateSecurity"/>
  416. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  417. </hbox>
  418. <spacer flex="1"/>
  419. <hbox id="updates-sorters" class="sort-controls" sortby="updateDate"
  420. ascending="false"/>
  421. </hbox>
  422. <vbox id="updates-list-empty" class="alert-container"
  423. flex="1" hidden="true">
  424. <spacer class="alert-spacer-before"/>
  425. <vbox class="alert">
  426. <label id="empty-availableUpdates-msg" value="&listEmpty.availableUpdates.label;"/>
  427. <label id="empty-recentUpdates-msg" value="&listEmpty.recentUpdates.label;"/>
  428. <button label="&listEmpty.findUpdates.label;"
  429. command="cmd_findAllUpdates"/>
  430. </vbox>
  431. <spacer class="alert-spacer-after"/>
  432. </vbox>
  433. <hbox id="update-actions" pack="center">
  434. <button id="update-selected-btn" hidden="true"
  435. label="&updates.updateSelected.label;"
  436. tooltiptext="&updates.updateSelected.tooltip;"/>
  437. </hbox>
  438. <richlistbox id="updates-list" class="list" flex="1"/>
  439. </vbox>
  440. <!-- detail view -->
  441. <scrollbox id="detail-view" flex="1" class="view-pane addon-view" orient="vertical">
  442. <!-- global warnings -->
  443. <hbox class="global-warning-container global-warning">
  444. <hbox class="global-warning-safemode" flex="1" align="center"
  445. tooltiptext="&warning.safemode.label;">
  446. <image class="warning-icon"/>
  447. <label class="global-warning-text" flex="1" crop="end"
  448. value="&warning.safemode.label;"/>
  449. </hbox>
  450. <hbox class="global-warning-checkcompatibility" flex="1" align="center"
  451. tooltiptext="&warning.checkcompatibility.label;">
  452. <image class="warning-icon"/>
  453. <label class="global-warning-text" flex="1" crop="end"
  454. value="&warning.checkcompatibility.label;"/>
  455. </hbox>
  456. <button class="button-link global-warning-checkcompatibility"
  457. label="&warning.checkcompatibility.enable.label;"
  458. tooltiptext="&warning.checkcompatibility.enable.tooltip;"
  459. command="cmd_enableCheckCompatibility"/>
  460. <hbox class="global-warning-updatesecurity" flex="1" align="center"
  461. tooltiptext="&warning.updatesecurity.label;">
  462. <image class="warning-icon"/>
  463. <label class="global-warning-text" flex="1" crop="end"
  464. value="&warning.updatesecurity.label;"/>
  465. </hbox>
  466. <button class="button-link global-warning-updatesecurity"
  467. label="&warning.updatesecurity.enable.label;"
  468. tooltiptext="&warning.updatesecurity.enable.tooltip;"
  469. command="cmd_enableUpdateSecurity"/>
  470. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  471. </hbox>
  472. <hbox flex="1">
  473. <spacer flex="1"/>
  474. <!-- "loading" splash screen -->
  475. <vbox class="alert-container">
  476. <spacer class="alert-spacer-before"/>
  477. <hbox class="alert loading">
  478. <image/>
  479. <label value="&loading.label;"/>
  480. </hbox>
  481. <spacer class="alert-spacer-after"/>
  482. </vbox>
  483. <!-- actual detail view -->
  484. <vbox class="detail-view-container" flex="3" contextmenu="addonitem-popup">
  485. <vbox id="detail-notifications">
  486. <hbox id="warning-container" align="center" class="warning">
  487. <image class="warning-icon"/>
  488. <label id="detail-warning" flex="1"/>
  489. <label id="detail-warning-link" class="text-link"/>
  490. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  491. </hbox>
  492. <hbox id="error-container" align="center" class="error">
  493. <image class="error-icon"/>
  494. <label id="detail-error" flex="1"/>
  495. <label id="detail-error-link" class="text-link"/>
  496. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  497. </hbox>
  498. <hbox id="pending-container" align="center" class="pending">
  499. <image class="pending-icon"/>
  500. <label id="detail-pending" flex="1"/>
  501. <button id="detail-restart-btn" class="button-link"
  502. label="&addon.restartNow.label;"
  503. command="cmd_restartApp"/>
  504. <button id="detail-undo-btn" class="button-link"
  505. label="&addon.undoAction.label;"
  506. tooltipText="&addon.undoAction.tooltip;"
  507. command="cmd_cancelOperation"/>
  508. <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
  509. </hbox>
  510. </vbox>
  511. <hbox align="start">
  512. <vbox id="detail-icon-container" align="end">
  513. <image id="detail-icon" class="icon"/>
  514. </vbox>
  515. <vbox flex="1">
  516. <vbox id="detail-summary">
  517. <hbox id="detail-name-container" class="name-container"
  518. align="start">
  519. <label id="detail-name" flex="1"/>
  520. <label id="detail-version"/>
  521. <label class="disabled-postfix" value="&addon.disabled.postfix;"/>
  522. <label class="update-postfix" value="&addon.update.postfix;"/>
  523. <spacer flex="5000"/> <!-- Necessary to allow the name to wrap -->
  524. </hbox>
  525. <label id="detail-creator" class="creator"/>
  526. </vbox>
  527. <hbox id="detail-desc-container" align="start">
  528. <vbox pack="center"> <!-- Necessary to work around bug 394738 -->
  529. <image id="detail-screenshot" hidden="true"
  530. onload="this.removeAttribute('loading');"
  531. onerror="this.setAttribute('loading', 'error');"/>
  532. </vbox>
  533. <vbox flex="1">
  534. <description id="detail-desc"/>
  535. <description id="detail-fulldesc"/>
  536. </vbox>
  537. </hbox>
  538. <vbox id="detail-contributions">
  539. <description id="detail-contrib-description">
  540. &detail.contributions.description;
  541. </description>
  542. <hbox align="center">
  543. <label id="detail-contrib-suggested"/>
  544. <spacer flex="1"/>
  545. <button id="detail-contrib-btn"
  546. label="&cmd.contribute.label;"
  547. accesskey="&cmd.contribute.accesskey;"
  548. tooltiptext="&cmd.contribute.tooltip;"
  549. command="cmd_contribute"/>
  550. </hbox>
  551. </vbox>
  552. <grid id="detail-grid">
  553. <columns>
  554. <column flex="1"/>
  555. <column flex="2"/>
  556. </columns>
  557. <rows id="detail-rows">
  558. <row class="detail-row-complex" id="detail-updates-row">
  559. <label class="detail-row-label" value="&detail.updateType;"/>
  560. <hbox align="center">
  561. <radiogroup id="detail-autoUpdate" orient="horizontal">
  562. <!-- The values here need to match the values of
  563. AddonManager.AUTOUPDATE_* -->
  564. <radio label="&detail.updateDefault.label;"
  565. tooltiptext="&detail.updateDefault.tooltip;"
  566. value="1"/>
  567. <radio label="&detail.updateAutomatic.label;"
  568. tooltiptext="&detail.updateAutomatic.tooltip;"
  569. value="2"/>
  570. <radio label="&detail.updateManual.label;"
  571. tooltiptext="&detail.updateManual.tooltip;"
  572. value="0"/>
  573. </radiogroup>
  574. <button id="detail-findUpdates-btn" class="button-link"
  575. label="&detail.checkForUpdates.label;"
  576. accesskey="&detail.checkForUpdates.accesskey;"
  577. tooltiptext="&detail.checkForUpdates.tooltip;"
  578. command="cmd_findItemUpdates"/>
  579. </hbox>
  580. </row>
  581. <row class="detail-row" id="detail-dateUpdated" label="&detail.lastupdated.label;"/>
  582. <row class="detail-row-complex" id="detail-homepage-row" label="&detail.home;">
  583. <label class="detail-row-label" value="&detail.home;"/>
  584. <label id="detail-homepage" class="detail-row-value text-link" crop="end"/>
  585. </row>
  586. <row class="detail-row-complex" id="detail-repository-row" label="&detail.repository;">
  587. <label class="detail-row-label" value="&detail.repository;"/>
  588. <label id="detail-repository" class="detail-row-value text-link"/>
  589. </row>
  590. <row class="detail-row" id="detail-size" label="&detail.size;"/>
  591. <row class="detail-row-complex" id="detail-rating-row">
  592. <label class="detail-row-label" value="&rating2.label;"/>
  593. <hbox>
  594. <label id="detail-rating" class="meta-value meta-rating"
  595. showrating="average"/>
  596. <label id="detail-reviews" class="text-link"/>
  597. </hbox>
  598. </row>
  599. <row class="detail-row" id="detail-downloads" label="&detail.numberOfDownloads.label;"/>
  600. </rows>
  601. </grid>
  602. <hbox id="detail-controls">
  603. <button id="detail-prefs-btn" class="addon-control preferences"
  604. #ifdef XP_WIN
  605. label="&detail.showPreferencesWin.label;"
  606. accesskey="&detail.showPreferencesWin.accesskey;"
  607. tooltiptext="&detail.showPreferencesWin.tooltip;"
  608. #else
  609. label="&detail.showPreferencesUnix.label;"
  610. accesskey="&detail.showPreferencesUnix.accesskey;"
  611. tooltiptext="&detail.showPreferencesUnix.tooltip;"
  612. #endif
  613. command="cmd_showItemPreferences"/>
  614. <spacer flex="1"/>
  615. <button id="detail-enable-btn" class="addon-control enable"
  616. label="&cmd.enableAddon.label;"
  617. accesskey="&cmd.enableAddon.accesskey;"
  618. command="cmd_enableItem"/>
  619. <button id="detail-disable-btn" class="addon-control disable"
  620. label="&cmd.disableAddon.label;"
  621. accesskey="&cmd.disableAddon.accesskey;"
  622. command="cmd_disableItem"/>
  623. <button id="detail-uninstall-btn" class="addon-control remove"
  624. label="&cmd.uninstallAddon.label;"
  625. accesskey="&cmd.uninstallAddon.accesskey;"
  626. command="cmd_uninstallItem"/>
  627. <button id="detail-purchase-btn" class="addon-control purchase"
  628. command="cmd_purchaseItem"/>
  629. <button id="detail-install-btn" class="addon-control install"
  630. label="&cmd.installAddon.label;"
  631. accesskey="&cmd.installAddon.accesskey;"
  632. command="cmd_installItem"/>
  633. </hbox>
  634. </vbox>
  635. </hbox>
  636. </vbox>
  637. <spacer flex="1"/>
  638. </hbox>
  639. </scrollbox>
  640. </deck>
  641. </box>
  642. </hbox>
  643. </page>