summaryrefslogtreecommitdiffstats
path: root/subprojects/extensions-app/data/ui
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/extensions-app/data/ui')
-rw-r--r--subprojects/extensions-app/data/ui/extension-row.ui143
-rw-r--r--subprojects/extensions-app/data/ui/extensions-window.ui204
2 files changed, 347 insertions, 0 deletions
diff --git a/subprojects/extensions-app/data/ui/extension-row.ui b/subprojects/extensions-app/data/ui/extension-row.ui
new file mode 100644
index 0000000..37acb68
--- /dev/null
+++ b/subprojects/extensions-app/data/ui/extension-row.ui
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <template class="ExtensionRow" parent="GtkListBoxRow">
+ <style>
+ <class name="extension"/>
+ </style>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="hexpand">true</property>
+ <style>
+ <class name="information"/>
+ </style>
+ <child>
+ <object class="GtkBox">
+ <style>
+ <class name="header"/>
+ </style>
+ <child>
+ <object class="GtkLabel" id="nameLabel">
+ <property name="xalign">0</property>
+ <style>
+ <class name="title"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="versionLabel">
+ <property name="visible">false</property>
+ <property name="xalign">0</property>
+ <property name="yalign">1</property>
+ <style>
+ <class name="caption"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <style>
+ <class name="status"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="errorIcon">
+ <property name="visible">false</property>
+ <property name="icon-name">dialog-error-symbolic</property>
+ <property name="tooltip-text" translatable="yes">The extension had an error</property>
+ <style>
+ <class name="error"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage" id="updatesIcon">
+ <property name="visible">false</property>
+ <property name="icon-name">software-update-available-symbolic</property>
+ <property name="tooltip-text" translatable="yes">The extension can be updated</property>
+ <style>
+ <class name="warning"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="descriptionLabel">
+ <property name="xalign">0</property>
+ <property name="ellipsize">end</property>
+ <style>
+ <class name="subtitle"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="errorLabel">
+ <property name="visible">false</property>
+ <property name="selectable">true</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="caption"/>
+ <class name="error"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="switch">
+ <property name="valign">center</property>
+ <property name="action-name">row.enabled</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCenterBox" id="actionsBox">
+ <style>
+ <class name="actions"/>
+ </style>
+ <child type="start">
+ <object class="GtkBox">
+ <child>
+ <object class="GtkButton" id="websiteButton">
+ <property name="label" translatable="yes">Website</property>
+ <property name="action-name">row.show-url</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="prefsButton">
+ <property name="visible"
+ bind-source="prefsButton"
+ bind-property="sensitive"
+ bind-flags="sync-create"/>
+ <property name="label" translatable="yes">Settings</property>
+ <property name="action-name">row.show-prefs</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="end">
+ <object class="GtkButton" id="removeButton">
+ <property name="visible"
+ bind-source="removeButton"
+ bind-property="sensitive"
+ bind-flags="sync-create"/>
+ <property name="label" translatable="yes">Remove…</property>
+ <property name="action-name">row.uninstall</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/subprojects/extensions-app/data/ui/extensions-window.ui b/subprojects/extensions-app/data/ui/extensions-window.ui
new file mode 100644
index 0000000..88e0f11
--- /dev/null
+++ b/subprojects/extensions-app/data/ui/extensions-window.ui
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <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>
+ <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 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>
+ </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="AdwPreferencesPage">
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Extensions</property>
+ <property name="subtitle" translatable="yes">Extensions can cause performance and stability issues. Disable extensions if you encounter problems with your system.</property>
+ <property name="activatable-widget">enabledSwitch</property>
+ <child>
+ <object class="GtkSwitch" id="enabledSwitch">
+ <property name="action-name">win.user-extensions-enabled</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup" id="userGroup">
+ <property name="title" translatable="yes">Manually Installed</property>
+ <property name="description" translatable="yes">To find and add extensions, visit &lt;a href="https://extensions.gnome.org"&gt;extensions.gnome.org&lt;/a&gt;.</property>
+ <child>
+ <object class="GtkListBox" id="userList">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="boxed-list"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup" id="systemGroup">
+ <property name="title" translatable="yes">Built-In</property>
+ <child>
+ <object class="GtkListBox" id="systemList">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="boxed-list"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">placeholder</property>
+ <property name="child">
+ <object class="AdwStatusPage">
+ <property name="icon-name">org.gnome.Extensions-symbolic</property>
+ <property name="title" translatable="yes">No Installed Extensions</property>
+ <property name="description" translatable="yes">To find and add extensions, visit &lt;a href="https://extensions.gnome.org"&gt;extensions.gnome.org&lt;/a&gt;.</property>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">noshell</property>
+ <property name="child">
+ <object class="AdwStatusPage">
+ <property name="title" translatable="yes">Something’s gone wrong</property>
+ <property name="description" 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>
+ </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>
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Extension Updates Ready</property>
+ <style>
+ <class name="heading"/>
+ </style>
+ </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>