ed3394a953
Both icons are not immediately obvious, and the context provided by the tooltip can be hard to discover. Address this by making the icons interactive, and provide further information in a popover. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3051>
177 lines
8.4 KiB
XML
177 lines
8.4 KiB
XML
<?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="GtkMenuButton" id="errorButton">
|
|
<property name="visible">false</property>
|
|
<property name="valign">center</property>
|
|
<property name="has-frame">false</property>
|
|
<property name="icon-name">dialog-error-symbolic</property>
|
|
<property name="tooltip-text" translatable="yes">The extension had an error</property>
|
|
<accessibility>
|
|
<property name="label" translatable="yes">Error Details</property>
|
|
</accessibility>
|
|
<property name="popover">
|
|
<object class="GtkPopover" id="errorPopover">
|
|
<property name="child">
|
|
<object class="AdwClamp">
|
|
<property name="maximum-size">300</property>
|
|
<property name="tightening-threshold">300</property>
|
|
<property name="child">
|
|
<object class="GtkLabel" id="errorLabel">
|
|
<!-- Hack to make the screen reader read the label -->
|
|
<property name="selectable"
|
|
bind-source="errorPopover"
|
|
bind-property="visible"
|
|
bind-flags="invert-boolean|sync-create"/>
|
|
<property name="wrap">true</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton" id="updatesButton">
|
|
<property name="visible">false</property>
|
|
<property name="valign">center</property>
|
|
<property name="has-frame">false</property>
|
|
<property name="icon-name">software-update-available-symbolic</property>
|
|
<property name="tooltip-text" translatable="yes">The extension can be updated</property>
|
|
<accessibility>
|
|
<property name="label" translatable="yes">Updates Details</property>
|
|
</accessibility>
|
|
<property name="popover">
|
|
<object class="GtkPopover" id="updatesPopover">
|
|
<property name="child">
|
|
<object class="AdwClamp">
|
|
<property name="maximum-size">200</property>
|
|
<property name="tightening-threshold">200</property>
|
|
<property name="child">
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">A new version of this extension is ready and will be loaded on next login.</property>
|
|
<!-- Hack to make the screen reader read the label -->
|
|
<property name="selectable"
|
|
bind-source="updatesPopover"
|
|
bind-property="visible"
|
|
bind-flags="invert-boolean|sync-create"/>
|
|
<property name="wrap">true</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</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>
|
|
</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>
|