<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <requires lib="gtk+" version="3.20"/>
  <menu id="primary-menu">
    <section>
      <item>
        <attribute name="label" translatable="yes">Help</attribute>
        <attribute name="action">win.show-help</attribute>
      </item>
      <item>
        <attribute name="label" translatable="yes">About Extensions</attribute>
        <attribute name="action">win.show-about</attribute>
      </item>
    </section>
  </menu>
  <object class="GtkPopover" id="infoPopover">
    <child>
      <object class="GtkBox">
        <property name="orientation">vertical</property>
        <property name="margin-start">12</property>
        <property name="margin-end">12</property>
        <property name="margin-top">12</property>
        <property name="margin-bottom">12</property>
        <property name="spacing">6</property>
        <child>
          <object class="GtkLabel">
            <property name="label" translatable="yes">To find and add extensions, visit &lt;a href="https://extensions.gnome.org"&gt;extensions.gnome.org&lt;/a&gt;.</property>
            <property name="use-markup">True</property>
            <property name="xalign">0</property>
          </object>
        </child>
        <child>
          <object class="GtkLabel">
            <property name="label" translatable="yes">Warning</property>
            <property name="xalign">0</property>
            <property name="margin-top">6</property>
            <attributes>
              <attribute name="weight" value="bold"/>
            </attributes>
          </object>
        </child>
        <child>
          <object class="GtkLabel">
            <property name="label" translatable="yes">Extensions can cause system issues, including performance problems. If you encounter problems with your system, it is recommended to disable all extensions.</property>
            <property name="wrap">True</property>
            <property name="max-width-chars">40</property>
            <property name="xalign">0</property>
          </object>
        </child>
      </object>
    </child>
  </object>
  <template class="ExtensionsWindow" parent="GtkApplicationWindow">
    <property name="default-width">800</property>
    <property name="default-height">500</property>
    <property name="title" translatable="yes">Extensions</property>
    <child type="titlebar">
      <object class="GtkHeaderBar">
        <child>
          <object class="GtkMenuButton">
            <property name="popover">infoPopover</property>
            <property name="icon-name">dialog-information-symbolic</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkMenuButton" id="menuButton">
            <property name="receives-default">True</property>
            <property name="menu-model">primary-menu</property>
            <property name="icon-name">open-menu-symbolic</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkToggleButton" id="searchButton">
            <property name="receives-default">True</property>
            <property name="icon-name">edit-find-symbolic</property>
            <child>
              <object class="GtkShortcutController">
                <property name='scope'>global</property>
                <child>
                  <object class='GtkShortcut'>
                    <property name='trigger'>&lt;Control&gt;f</property>
                    <property name='action'>activate</property>
                  </object>
                </child>
                <child>
                  <object class='GtkShortcut'>
                    <property name='trigger'>&lt;Control&gt;s</property>
                    <property name='action'>activate</property>
                  </object>
                </child>
              </object>
            </child>
          </object>
        </child>
        <child type="end">
          <object class="GtkSwitch">
            <property name="action-name">win.user-extensions-enabled</property>
            <property name="valign">center</property>
          </object>
        </child>
      </object>
    </child>
    <child>
      <object class="GtkBox">
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkSearchBar" id="searchBar">
            <property name="key-capture-widget">ExtensionsWindow</property>
            <property name="search-mode-enabled"
                      bind-source="searchButton"
                      bind-property="active"
                      bind-flags="bidirectional"/>
            <child>
              <object class="GtkSearchEntry" id="searchEntry">
                <property name="max-width-chars">35</property>
              </object>
            </child>
          </object>
        </child>
        <child>
          <object class="GtkStack" id="mainStack">
            <property name="transition-type">crossfade</property>
            <property name="vexpand">True</property>
            <child>
              <object class="GtkStackPage">
                <property name="name">main</property>
                <property name="child">
                  <object class="GtkScrolledWindow" id="scrolledWindow">
                    <property name="hscrollbar-policy">never</property>
                    <child>
                      <object class="GtkViewport">
                        <property name="scroll-to-focus">True</property>
                        <child>
                          <object class="GtkBox">
                            <property name="orientation">vertical</property>
                            <property name="halign">center</property>
                            <property name="margin-start">36</property>
                            <property name="margin-end">36</property>
                            <property name="margin-top">36</property>
                            <property name="margin-bottom">36</property>
                            <property name="spacing">12</property>
                            <child>
                              <object class="GtkLabel">
                                <property name="visible"
                                          bind-source="userList"
                                          bind-property="visible"
                                          bind-flags="sync-create"/>
                                <property name="halign">start</property>
                                <property name="hexpand">True</property>
                                <property name="label" translatable="yes">Manually Installed</property>
                                <attributes>
                                  <attribute name="weight" value="bold"/>
                                </attributes>
                              </object>
                            </child>
                            <child>
                              <object class="GtkListBox" id="userList">
                                <property name="selection-mode">none</property>
                                <property name="show-separators">True</property>
                                <property name="margin-bottom">24</property>
                                <style>
                                  <class name="frame"/>
                                </style>
                              </object>
                            </child>
                            <child>
                              <object class="GtkLabel">
                                <property name="visible"
                                          bind-source="systemList"
                                          bind-property="visible"
                                          bind-flags="sync-create"/>
                                <property name="halign">start</property>
                                <property name="hexpand">True</property>
                                <property name="label" translatable="yes">Built-In</property>
                                <attributes>
                                  <attribute name="weight" value="bold"/>
                                </attributes>
                              </object>
                            </child>
                            <child>
                              <object class="GtkListBox" id="systemList">
                                <property name="selection-mode">none</property>
                                <property name="show-separators">True</property>
                                <style>
                                  <class name="frame"/>
                                </style>
                              </object>
                            </child>
                          </object>
                        </child>
                      </object>
                    </child>
                  </object>
                </property>
              </object>
            </child>
            <child>
              <object class="GtkStackPage">
                <property name="name">placeholder</property>
                <property name="child">
                  <object class="GtkBox">
                    <property name="orientation">vertical</property>
                    <property name="margin-start">32</property>
                    <property name="margin-end">32</property>
                    <property name="margin-top">32</property>
                    <property name="margin-bottom">32</property>
                    <property name="spacing">6</property>
                    <property name="valign">center</property>
                    <child>
                      <object class="GtkImage">
                        <property name="pixel-size">96</property>
                        <property name="icon-name">org.gnome.Extensions-symbolic</property>
                      </object>
                    </child>
                    <child>
                      <object class="GtkLabel">
                        <property name="label" translatable="yes">No Installed Extensions</property>
                        <attributes>
                          <attribute name="weight" value="bold"/>
                          <attribute name="scale" value="1.44"/>
                        </attributes>
                      </object>
                    </child>
                  </object>
                </property>
              </object>
            </child>
            <child>
              <object class="GtkStackPage">
                <property name="name">noshell</property>
                <property name="child">
                  <object class="GtkBox">
                    <property name="margin-start">100</property>
                    <property name="margin-end">100</property>
                    <property name="margin-top">100</property>
                    <property name="margin-bottom">60</property>
                    <property name="orientation">vertical</property>
                    <property name="spacing">12</property>
                    <child>
                      <object class="GtkLabel">
                        <property name="label" translatable="yes">Something’s gone wrong</property>
                        <attributes>
                          <attribute name="scale" value="1.44"/>
                        </attributes>
                        <style>
                          <class name="dim-label"/>
                        </style>
                      </object>
                    </child>
                    <child>
                      <object class="GtkLabel">
                        <property name="label" translatable="yes">We’re very sorry, but it was not possible to get the list of installed extensions. Make sure you are logged into GNOME and try again.</property>
                        <property name="justify">center</property>
                        <property name="wrap">True</property>
                        <style>
                          <class name="dim-label"/>
                        </style>
                      </object>
                    </child>
                  </object>
                </property>
              </object>
            </child>
          </object>
        </child>
        <child>
          <object class="GtkActionBar" id="updatesBar">
            <property name="revealed">False</property>
            <child>
              <object class="GtkImage">
                <property name="pixel-size">24</property>
                <property name="margin-start">6</property>
                <property name="margin-end">6</property>
                <property name="margin-top">6</property>
                <property name="margin-bottom">6</property>
                <property name="icon-name">software-update-available-symbolic</property>
                <style>
                  <class name="warning"/>
                </style>
              </object>
            </child>
            <child>
              <object class="GtkBox">
                <property name="orientation">vertical</property>
                <child>
                  <object class="GtkLabel">
                    <property name="halign">start</property>
                    <property name="label" translatable="yes">Extension Updates Ready</property>
                    <attributes>
                      <attribute name="weight" value="bold"/>
                    </attributes>
                  </object>
                </child>
                <child>
                  <object class="GtkLabel" id="updatesLabel">
                    <property name="halign">start</property>
                  </object>
                </child>
              </object>
            </child>
            <child type="end">
              <object class="GtkButton">
                <property name="label" translatable="yes">Log Out…</property>
                <property name="valign">center</property>
                <property name="action-name">win.logout</property>
                <property name="receives-default">True</property>
                <style>
                  <class name="suggested-action"/>
                </style>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>