toolkit/mozapps/extensions/content/extensions.xul
author Mark Striemer <mstriemer@mozilla.com>
Sun, 14 Oct 2018 15:13:53 +0000
changeset 496899 4486727805723d44387702ce85f25abbeb8937cf
parent 496847 40d620c9c6ee52bc3e3b5181c4336a74044af7c1
child 496902 4d076c8654717bb23c89be253f7a1118203e4918
permissions -rw-r--r--
Bug 1490366 - Part 2: Convert about:addons to card UI r=aswan,jaws Differential Revision: https://phabricator.services.mozilla.com/D8102

<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://mozapps/content/extensions/extensions.css"?>
<?xml-stylesheet href="chrome://mozapps/skin/extensions/extensions.css"?>

<!DOCTYPE page [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
<!ENTITY % extensionsDTD SYSTEM "chrome://mozapps/locale/extensions/extensions.dtd">
%extensionsDTD;
]>

<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
      xmlns:xhtml="http://www.w3.org/1999/xhtml"
      id="addons-page" title="&addons.windowTitle;"
      role="application" windowtype="Addons:Manager"
      disablefastfind="true">

  <xhtml:link rel="shortcut icon"
              href="chrome://mozapps/skin/extensions/extensionGeneric-16.svg"/>

  <script type="application/javascript"
          src="chrome://mozapps/content/extensions/extensions.js"/>
  <script type="application/javascript"
          src="chrome://global/content/contentAreaUtils.js"/>

  <popupset>
    <!-- menu for an addon item -->
    <menupopup id="addonitem-popup">
      <menuitem id="menuitem_showDetails" command="cmd_showItemDetails"
                default="true" label="&cmd.showDetails.label;"
                accesskey="&cmd.showDetails.accesskey;"/>
      <menuitem id="menuitem_enableItem" command="cmd_enableItem"
                label="&cmd.enableAddon.label;"
                accesskey="&cmd.enableAddon.accesskey;"/>
      <menuitem id="menuitem_disableItem" command="cmd_disableItem"
                label="&cmd.disableAddon.label;"
                accesskey="&cmd.disableAddon.accesskey;"/>
      <menuitem id="menuitem_enableTheme" command="cmd_enableItem"
                label="&cmd.enableTheme.label;"
                accesskey="&cmd.enableTheme.accesskey;"/>
      <menuitem id="menuitem_disableTheme" command="cmd_disableItem"
                label="&cmd.disableTheme.label;"
                accesskey="&cmd.disableTheme.accesskey;"/>
      <menuitem id="menuitem_installItem" command="cmd_installItem"
                label="&cmd.installAddon.label;"
                accesskey="&cmd.installAddon.accesskey;"/>
      <menuitem id="menuitem_uninstallItem" command="cmd_uninstallItem"
                label="&cmd.uninstallAddon.label;"
                accesskey="&cmd.uninstallAddon.accesskey;"/>
      <menuseparator id="addonitem-menuseparator" />
      <menuitem id="menuitem_preferences" command="cmd_showItemPreferences"
#ifdef XP_WIN
                label="&cmd.preferencesWin.label;"
                accesskey="&cmd.preferencesWin.accesskey;"/>
#else
                label="&cmd.preferencesUnix.label;"
                accesskey="&cmd.preferencesUnix.accesskey;"/>
#endif
      <menuitem id="menuitem_findUpdates" command="cmd_findItemUpdates"
                label="&cmd.findUpdates.label;"
                accesskey="&cmd.findUpdates.accesskey;"/>
    </menupopup>

    <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
      <menupopup rolluponmousewheel="true"
                 activateontab="true" position="after_start"
                 level="parent"
#ifdef XP_WIN
                 consumeoutsideclicks="false" ignorekeys="shortcuts"
#endif
        />
    </menulist>

    <panel type="autocomplete-richlistbox"
           id="PopupAutoComplete"
           noautofocus="true"
           hidden="true"
           norolluponanchor="true"
           nomaxresults="true" />

    <tooltip id="addonitem-tooltip"/>
  </popupset>

  <!-- global commands - these act on all addons, or affect the addons manager
       in some other way -->
  <commandset id="globalCommandSet">
    <!-- XXXsw remove useless oncommand attribute once bug 371900 is fixed -->
    <command id="cmd_focusSearch" oncommand=";"/>
    <command id="cmd_findAllUpdates"/>
    <command id="cmd_restartApp"/>
    <command id="cmd_goToDiscoverPane"/>
    <command id="cmd_goToRecentUpdates"/>
    <command id="cmd_goToAvailableUpdates"/>
    <command id="cmd_installFromFile"/>
    <command id="cmd_debugAddons"/>
    <command id="cmd_back"/>
    <command id="cmd_forward"/>
    <command id="cmd_enableCheckCompatibility"/>
    <command id="cmd_enableUpdateSecurity"/>
    <command id="cmd_toggleAutoUpdateDefault"/>
    <command id="cmd_resetAddonAutoUpdate"/>
    <command id="cmd_showUnsignedExtensions"/>
    <command id="cmd_showAllExtensions"/>
  </commandset>

  <!-- view commands - these act on the selected addon -->
  <commandset id="viewCommandSet"
              events="richlistbox-select" commandupdater="true">
    <command id="cmd_showItemDetails"/>
    <command id="cmd_findItemUpdates"/>
    <command id="cmd_showItemPreferences"/>
    <command id="cmd_enableItem"/>
    <command id="cmd_disableItem"/>
    <command id="cmd_installItem"/>
    <command id="cmd_uninstallItem"/>
    <command id="cmd_cancelUninstallItem"/>
    <command id="cmd_cancelOperation"/>
    <command id="cmd_contribute"/>
    <command id="cmd_askToActivateItem"/>
    <command id="cmd_alwaysActivateItem"/>
    <command id="cmd_neverActivateItem"/>
  </commandset>

  <keyset>
    <key id="focusSearch" key="&search.commandkey;" modifiers="accel"
         command="cmd_focusSearch"/>
  </keyset>
  <hbox flex="1">
    <vbox id="category-box">
      <!-- category list -->
      <richlistbox id="categories" flex="1">
        <richlistitem id="category-discover" value="addons://discover/"
                      class="category"
                      name="&view.discover.label;" priority="1000"
                      tooltiptext="&view.discover.label;"/>
        <richlistitem id="category-legacy" value="addons://legacy/"
                      class="category" priority="20000"
                      disabled="true"/>
        <richlistitem id="category-availableUpdates" value="addons://updates/available"
                      class="category"
                      name="&view.availableUpdates.label;" priority="100000"
                      tooltiptext="&view.availableUpdates.label;"
                      disabled="true"/>
        <richlistitem id="category-recentUpdates" value="addons://updates/recent"
                      class="category"
                      name="&view.recentUpdates.label;" priority="101000"
                      tooltiptext="&view.recentUpdates.label;" disabled="true"/>
      </richlistbox>

      <spacer flex="1"/>

      <hbox class="sidebar-footer-button" pack="center">
        <label id="preferencesButton" class="text-link">
          <hbox align="center">
            <image class="sidebar-footer-icon preferences-icon"/>
            <label class="sidebar-footer-label" flex="1">
#ifdef XP_WIN
                &preferencesWin.label;
#else
                &preferencesUnix.label;
#endif
            </label>
          </hbox>
        </label>
      </hbox>

      <hbox class="sidebar-footer-button help-button" pack="center">
        <label id="helpButton" class="text-link">
          <hbox align="center">
            <image class="sidebar-footer-icon help-icon"/>
            <label class="sidebar-footer-label" flex="1">&helpButton.label;</label>
          </hbox>
        </label>
      </hbox>
    </vbox>

    <vbox class="main-content" flex="1">
      <!-- view port -->
      <deck id="view-port" flex="1" selectedIndex="0">
        <!-- discover view -->
        <deck id="discover-view" flex="1" class="view-pane" selectedIndex="0" tabindex="0">
          <vbox id="discover-loading" align="center" pack="stretch" flex="1" class="alert-container">
            <spacer class="alert-spacer-before"/>
            <hbox class="alert loading" align="center">
              <image/>
              <label value="&loading.label;"/>
            </hbox>
            <spacer class="alert-spacer-after"/>
          </vbox>
          <vbox id="discover-error" align="center" pack="stretch" flex="1" class="alert-container">
            <spacer class="alert-spacer-before"/>
            <hbox>
              <spacer class="discover-spacer-before"/>
              <vbox class="alert" align="center">
                <image class="discover-logo"/>
                <vbox flex="1" align="stretch">
                  <label class="discover-title">&discover.title;</label>
                  <description class="discover-description">&discover.description2;</description>
                  <description class="discover-footer">&discover.footer;</description>
                </vbox>
              </vbox>
              <spacer class="discover-spacer-after"/>
            </hbox>
            <spacer class="alert-spacer-after"/>
          </vbox>
          <browser id="discover-browser" type="content" flex="1"
                   disablehistory="true"/>
        </deck>

        <!-- container for views with the search/tools header -->
        <vbox id="headered-views" flex="1">
          <!-- main header -->
          <hbox id="header" align="center">
            <hbox id="header-inner">
              <button id="show-all-extensions" hidden="true"
                      label="&showAllExtensions.button.label;"
                      command="cmd_showAllExtensions"/>
              <spacer flex="1"/>
              <hbox id="updates-container" align="center">
                <image class="spinner"/>
                <label id="updates-noneFound" hidden="true"
                       value="&updates.noneFound.label;"/>
                <button id="updates-manualUpdatesFound-btn" class="button-link"
                        hidden="true" label="&updates.manualUpdatesFound.label;"
                        command="cmd_goToAvailableUpdates"/>
                <label id="updates-progress" hidden="true"
                       value="&updates.updating.label;"/>
                <label id="updates-installed" hidden="true"
                       value="&updates.installed.label;"/>
                <label id="updates-downloaded" hidden="true"
                       value="&updates.downloaded.label;"/>
                <button id="updates-restart-btn" class="button-link" hidden="true"
                        label="&updates.restart.label;"
                        command="cmd_restartApp"/>
              </hbox>
              <button id="show-disabled-unsigned-extensions" hidden="true"
                      class="warning"
                      label="&showUnsignedExtensions.button.label;"
                      command="cmd_showUnsignedExtensions"/>
              <toolbarbutton id="header-utils-btn" class="header-button" type="menu"
                             tooltiptext="&toolsMenu.tooltip;">
                <menupopup id="utils-menu">
                  <menuitem id="utils-updateNow"
                            label="&updates.checkForUpdates.label;"
                            accesskey="&updates.checkForUpdates.accesskey;"
                            command="cmd_findAllUpdates"/>
                  <menuitem id="utils-viewUpdates"
                            label="&updates.viewUpdates.label;"
                            accesskey="&updates.viewUpdates.accesskey;"
                            command="cmd_goToRecentUpdates"/>
                  <menuseparator id="utils-installFromFile-separator"/>
                  <menuitem id="utils-installFromFile"
                            label="&installAddonFromFile.label;"
                            accesskey="&installAddonFromFile.accesskey;"
                            command="cmd_installFromFile"/>
                  <menuitem id="utils-debugAddons"
                            label="&debugAddons.label;"
                            accesskey="&debugAddons.accesskey;"
                            command="cmd_debugAddons"/>
                  <menuseparator/>
                  <menuitem id="utils-autoUpdateDefault"
                            label="&updates.updateAddonsAutomatically.label;"
                            accesskey="&updates.updateAddonsAutomatically.accesskey;"
                            type="checkbox" autocheck="false"
                            command="cmd_toggleAutoUpdateDefault"/>
                  <menuitem id="utils-resetAddonUpdatesToAutomatic"
                            label="&updates.resetUpdatesToAutomatic.label;"
                            accesskey="&updates.resetUpdatesToAutomatic.accesskey;"
                            command="cmd_resetAddonAutoUpdate"/>
                  <menuitem id="utils-resetAddonUpdatesToManual"
                            label="&updates.resetUpdatesToManual.label;"
                            accesskey="&updates.resetUpdatesToManual.accesskey;"
                            command="cmd_resetAddonAutoUpdate"/>
                </menupopup>
              </toolbarbutton>
              <textbox id="header-search" type="search" searchbutton="true"
                       searchbuttonlabel="&search.buttonlabel;"
                       placeholder="&search.placeholder2;" maxlength="100"/>
            </hbox>
          </hbox>

          <deck id="headered-views-content" flex="1" selectedIndex="0">
            <!-- list view -->
            <vbox id="list-view" flex="1" class="view-pane" align="stretch" tabindex="0">
              <!-- info UI for add-ons that have been disabled for being unsigned -->
              <vbox id="disabled-unsigned-addons-info" hidden="true">
                <label id="disabled-unsigned-addons-heading" value="&disabledUnsigned.heading;"/>
                <description>
                  &disabledUnsigned.description.start;<label class="text-link plain" id="find-alternative-addons">&disabledUnsigned.description.findAddonsLink;</label>&disabledUnsigned.description.end;
                </description>
                <hbox pack="start"><label class="text-link" id="signing-learn-more">&disabledUnsigned.learnMore;</label></hbox>
                <description id="signing-dev-info">
                  &disabledUnsigned.devInfo.start;<label class="text-link plain" id="signing-dev-manual-link">&disabledUnsigned.devInfo.linkToManual;</label>&disabledUnsigned.devInfo.end;
                </description>
              </vbox>
              <vbox id="legacy-extensions-notice" class="alert-container" hidden="true">
                <vbox class="alert">
                  <description id="legacy-extensions-description">
                    <label class="text-link plain" id="legacy-extensions-learnmore-link">&legacyWarning.showLegacy;</label>
                  </description>
                </vbox>
              </vbox>
              <vbox id="plugindeprecation-notice" class="alert-container">
                <vbox class="alert">
                  <description>&pluginDeprecation.description; &#160;
                    <label class="text-link plain" id="plugindeprecation-learnmore-link">&pluginDeprecation.learnMore;</label>
                  </description>
                </vbox>
              </vbox>
              <vbox id="getthemes-container" class="alert-container">
                <vbox class="alert">
                  <description>&getThemes.description; &#160;
                    <label class="text-link plain" id="getthemes-learnmore-link">&getThemes.learnMore;</label>
                  </description>
                </vbox>
              </vbox>
              <hbox class="view-header global-warning-container">
                <!-- global warnings -->
                <hbox class="global-warning" flex="1">
                  <hbox class="global-warning-safemode" flex="1" align="center"
                        tooltiptext="&warning.safemode.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.safemode.label;"/>
                  </hbox>
                  <hbox class="global-warning-checkcompatibility" flex="1" align="center"
                        tooltiptext="&warning.checkcompatibility.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.checkcompatibility.label;"/>
                  </hbox>
                  <button class="button-link global-warning-checkcompatibility"
                          label="&warning.checkcompatibility.enable.label;"
                          tooltiptext="&warning.checkcompatibility.enable.tooltip;"
                          command="cmd_enableCheckCompatibility"/>
                  <hbox class="global-warning-updatesecurity" flex="1" align="center"
                        tooltiptext="&warning.updatesecurity.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.updatesecurity.label;"/>
                  </hbox>
                  <button class="button-link global-warning-updatesecurity"
                          label="&warning.updatesecurity.enable.label;"
                          tooltiptext="&warning.updatesecurity.enable.tooltip;"
                          command="cmd_enableUpdateSecurity"/>
                  <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                </hbox>
              </hbox>
              <vbox id="addon-list-empty" class="alert-container"
                    flex="1" hidden="true">
                <spacer class="alert-spacer-before"/>
                <vbox class="alert">
                  <label value="&listEmpty.installed.label;"/>
                  <button class="discover-button"
                          id="discover-button-install"
                          label="&listEmpty.button.label;"
                          command="cmd_goToDiscoverPane"/>
                </vbox>
                <spacer class="alert-spacer-after"/>
              </vbox>
              <richlistbox id="addon-list" class="list" flex="1"/>
            </vbox>

            <!-- legacy extensions view -->
            <vbox id="legacy-view" flex="1" class="view-pane" align="stretch" tabindex="0">
              <vbox id="legacy-extensions-info">
                <label id="legacy-extensions-heading" value="&legacyExtensions.title;"/>
                <description>
                  &legacyExtensions.description;
                  <label class="text-link plain" id="legacy-learnmore">&legacyExtensions.learnMore;</label>
                </description>
              </vbox>
              <richlistbox id="legacy-list" class="list" flex="1"/>
            </vbox>

            <!-- updates view -->
            <vbox id="updates-view" flex="1" class="view-pane" tabindex="0">
              <hbox class="view-header global-warning-container" align="center">
                <!-- global warnings -->
                <hbox class="global-warning" flex="1">
                  <hbox class="global-warning-safemode" flex="1" align="center"
                        tooltiptext="&warning.safemode.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.safemode.label;"/>
                  </hbox>
                  <hbox class="global-warning-checkcompatibility" flex="1" align="center"
                        tooltiptext="&warning.checkcompatibility.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.checkcompatibility.label;"/>
                  </hbox>
                  <button class="button-link global-warning-checkcompatibility"
                          label="&warning.checkcompatibility.enable.label;"
                          tooltiptext="&warning.checkcompatibility.enable.tooltip;"
                          command="cmd_enableCheckCompatibility"/>
                  <hbox class="global-warning-updatesecurity" flex="1" align="center"
                        tooltiptext="&warning.updatesecurity.label;">
                    <image class="warning-icon"/>
                    <label class="global-warning-text" flex="1" crop="end"
                           value="&warning.updatesecurity.label;"/>
                  </hbox>
                  <button class="button-link global-warning-updatesecurity"
                          label="&warning.updatesecurity.enable.label;"
                          tooltiptext="&warning.updatesecurity.enable.tooltip;"
                          command="cmd_enableUpdateSecurity"/>
                  <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                </hbox>
              </hbox>
              <vbox id="updates-list-empty" class="alert-container"
                    flex="1" hidden="true">
                <spacer class="alert-spacer-before"/>
                <vbox class="alert">
                  <label id="empty-availableUpdates-msg" value="&listEmpty.availableUpdates.label;"/>
                  <label id="empty-recentUpdates-msg" value="&listEmpty.recentUpdates.label;"/>
                  <button label="&listEmpty.findUpdates.label;"
                          command="cmd_findAllUpdates"/>
                </vbox>
                <spacer class="alert-spacer-after"/>
              </vbox>
              <hbox id="update-actions" pack="center">
                <button id="update-selected-btn" hidden="true"
                        label="&updates.updateSelected.label;"
                        tooltiptext="&updates.updateSelected.tooltip;"/>
              </hbox>
              <richlistbox id="updates-list" class="list" flex="1"/>
            </vbox>

            <!-- detail view -->
            <scrollbox id="detail-view" class="view-pane addon-view" orient="vertical" tabindex="0"
                       role="document">
              <!-- global warnings -->
              <hbox class="global-warning-container global-warning">
                <hbox class="global-warning-safemode" flex="1" align="center"
                      tooltiptext="&warning.safemode.label;">
                  <image class="warning-icon"/>
                  <label class="global-warning-text" flex="1" crop="end"
                         value="&warning.safemode.label;"/>
                </hbox>
                <hbox class="global-warning-checkcompatibility" flex="1" align="center"
                      tooltiptext="&warning.checkcompatibility.label;">
                  <image class="warning-icon"/>
                  <label class="global-warning-text" flex="1" crop="end"
                         value="&warning.checkcompatibility.label;"/>
                </hbox>
                <button class="button-link global-warning-checkcompatibility"
                        label="&warning.checkcompatibility.enable.label;"
                        tooltiptext="&warning.checkcompatibility.enable.tooltip;"
                        command="cmd_enableCheckCompatibility"/>
                <hbox class="global-warning-updatesecurity" flex="1" align="center"
                      tooltiptext="&warning.updatesecurity.label;">
                  <image class="warning-icon"/>
                  <label class="global-warning-text" flex="1" crop="end"
                         value="&warning.updatesecurity.label;"/>
                </hbox>
                <button class="button-link global-warning-updatesecurity"
                        label="&warning.updatesecurity.enable.label;"
                        tooltiptext="&warning.updatesecurity.enable.tooltip;"
                        command="cmd_enableUpdateSecurity"/>
                <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
              </hbox>
              <hbox class="detail-view-wrapper">
                <!-- "loading" splash screen -->
                <vbox class="alert-container">
                  <spacer class="alert-spacer-before"/>
                  <hbox class="alert loading">
                    <image/>
                    <label value="&loading.label;"/>
                  </hbox>
                  <spacer class="alert-spacer-after"/>
                </vbox>
                <!-- actual detail view -->
                <vbox class="detail-view-container" contextmenu="addonitem-popup">
                  <vbox id="detail-notifications">
                    <hbox id="warning-container" align="center" class="warning">
                      <image class="warning-icon"/>
                      <label id="detail-warning" flex="1"/>
                      <label id="detail-warning-link" class="text-link"/>
                      <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                    </hbox>
                    <hbox id="error-container" align="center" class="error">
                      <image class="error-icon"/>
                      <label id="detail-error" flex="1"/>
                      <label id="detail-error-link" class="text-link"/>
                      <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                    </hbox>
                    <hbox id="pending-container" align="center" class="pending">
                      <image class="pending-icon"/>
                      <label id="detail-pending" flex="1"/>
                      <button id="detail-restart-btn" class="button-link"
                              label="&addon.restartNow.label;"
                              command="cmd_restartApp"/>
                      <button id="detail-undo-btn" class="button-link"
                              label="&addon.undoAction.label;"
                              tooltipText="&addon.undoAction.tooltip;"
                              command="cmd_cancelOperation"/>
                      <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                    </hbox>
                  </vbox>
                  <hbox class="card addon-detail" align="start">
                    <vbox flex="1">
                      <hbox align="start">
                        <vbox id="detail-icon-container" align="end">
                          <image id="detail-icon" class="icon"/>
                        </vbox>
                        <vbox id="detail-summary">
                          <hbox id="detail-name-container" class="name-container"
                                align="start">
                            <label id="detail-name" flex="1"/>
                            <label id="detail-version"/>
                            <label id="detail-legacy-warning" class="legacy-warning text-link" value="&addon.legacy.label;"/>
                            <label class="disabled-postfix" value="&addon.disabled.postfix;"/>
                            <label class="update-postfix" value="&addon.update.postfix;"/>
                            <spacer flex="5000"/> <!-- Necessary to allow the name to wrap -->
                          </hbox>
                          <label id="detail-creator" class="creator"/>
                        </vbox>
                      </hbox>
                      <vbox id="detail-desc-container" align="start" flex="1">
                        <description id="detail-desc"/>
                        <description id="detail-fulldesc"/>
                      </vbox>
                      <vbox id="detail-contributions">
                        <description id="detail-contrib-description">
                          &detail.contributions.description;
                        </description>
                        <hbox align="center">
                          <spacer flex="1"/>
                          <button id="detail-contrib-btn"
                                  label="&cmd.contribute.label;"
                                  accesskey="&cmd.contribute.accesskey;"
                                  tooltiptext="&cmd.contribute.tooltip;"
                                  command="cmd_contribute"/>
                        </hbox>
                      </vbox>
                      <grid id="detail-grid">
                        <columns>
                           <column flex="1"/>
                           <column flex="2"/>
                        </columns>
                        <rows id="detail-rows">
                          <row class="detail-row-complex" id="detail-updates-row">
                            <label class="detail-row-label" value="&detail.updateType;"/>
                            <hbox align="center">
                              <radiogroup id="detail-autoUpdate" orient="horizontal">
                                <!-- The values here need to match the values of
                                     AddonManager.AUTOUPDATE_* -->
                                <radio label="&detail.updateDefault.label;"
                                       tooltiptext="&detail.updateDefault.tooltip;"
                                       value="1"/>
                                <radio label="&detail.updateAutomatic.label;"
                                       tooltiptext="&detail.updateAutomatic.tooltip;"
                                       value="2"/>
                                <radio label="&detail.updateManual.label;"
                                       tooltiptext="&detail.updateManual.tooltip;"
                                       value="0"/>
                              </radiogroup>
                              <button id="detail-findUpdates-btn" class="button-link"
                                      label="&detail.checkForUpdates.label;"
                                      accesskey="&detail.checkForUpdates.accesskey;"
                                      tooltiptext="&detail.checkForUpdates.tooltip;"
                                      command="cmd_findItemUpdates"/>
                            </hbox>
                          </row>
                          <row class="detail-row" id="detail-dateUpdated" label="&detail.lastupdated.label;"/>
                          <row class="detail-row-complex" id="detail-homepage-row" label="&detail.home;">
                            <label class="detail-row-label" value="&detail.home;"/>
                            <label id="detail-homepage" class="detail-row-value text-link" crop="end"/>
                          </row>
                          <row class="detail-row-complex" id="detail-repository-row" label="&detail.repository;">
                            <label class="detail-row-label" value="&detail.repository;"/>
                            <label id="detail-repository" class="detail-row-value text-link"/>
                          </row>
                          <row class="detail-row-complex" id="detail-rating-row">
                            <label class="detail-row-label" value="&rating2.label;"/>
                            <hbox>
                              <label id="detail-rating" class="meta-value meta-rating"
                                     showrating="average"/>
                              <label id="detail-reviews" class="text-link"/>
                            </hbox>
                          </row>
                        </rows>
                      </grid>
                      <hbox id="detail-controls">
                        <button id="detail-prefs-btn" class="addon-control preferences"
#ifdef XP_WIN
                                label="&detail.showPreferencesWin.label;"
                                accesskey="&detail.showPreferencesWin.accesskey;"
                                tooltiptext="&detail.showPreferencesWin.tooltip;"
#else
                                label="&detail.showPreferencesUnix.label;"
                                accesskey="&detail.showPreferencesUnix.accesskey;"
                                tooltiptext="&detail.showPreferencesUnix.tooltip;"
#endif
                                command="cmd_showItemPreferences"/>
                        <spacer flex="1"/>
                        <button id="detail-enable-btn" class="addon-control enable"
                                label="&cmd.enableAddon.label;"
                                accesskey="&cmd.enableAddon.accesskey;"
                                command="cmd_enableItem"/>
                        <button id="detail-disable-btn" class="addon-control disable"
                                label="&cmd.disableAddon.label;"
                                accesskey="&cmd.disableAddon.accesskey;"
                                command="cmd_disableItem"/>
                        <button id="detail-uninstall-btn" class="addon-control remove"
                                label="&cmd.uninstallAddon.label;"
                                accesskey="&cmd.uninstallAddon.accesskey;"
                                command="cmd_uninstallItem"/>
                        <button id="detail-install-btn" class="addon-control install"
                                label="&cmd.installAddon.label;"
                                accesskey="&cmd.installAddon.accesskey;"
                                command="cmd_installItem"/>
                        <menulist id="detail-state-menulist"
                                  crop="none" sizetopopup="always"
                                  tooltiptext="&cmd.stateMenu.tooltip;">
                          <menupopup>
                            <menuitem id="detail-ask-to-activate-menuitem"
                                      class="addon-control"
                                      label="&cmd.askToActivate.label;"
                                      tooltiptext="&cmd.askToActivate.tooltip;"
                                      command="cmd_askToActivateItem"/>
                            <menuitem id="detail-always-activate-menuitem"
                                      class="addon-control"
                                      label="&cmd.alwaysActivate.label;"
                                      tooltiptext="&cmd.alwaysActivate.tooltip;"
                                      command="cmd_alwaysActivateItem"/>
                            <menuitem id="detail-never-activate-menuitem"
                                      class="addon-control"
                                      label="&cmd.neverActivate.label;"
                                      tooltiptext="&cmd.neverActivate.tooltip;"
                                      command="cmd_neverActivateItem"/>
                          </menupopup>
                        </menulist>
                      </hbox>
                    </vbox>
                  </hbox>
                </vbox>
                <spacer flex="1"/>
              </hbox>
            </scrollbox>
          </deck>
        </vbox>
      </deck>
    </vbox>
  </hbox>
</page>