gnome-control-center/shell/cc-window.ui
Georges Basile Stavracas Neto 45c7207cc3 window: Improve transition between panels
Moving the headerbar to the panels accentuated a pre-existing
problem: transitioning between panels is flickery because we
immediately remove the old panel, while the new panel fades
in.

Improve this transition by delaying the removal of the old
panel to after the stack transition finishes.
2022-01-20 02:23:42 +00:00

170 lines
7.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="CcWindow" parent="AdwApplicationWindow">
<property name="default-width">980</property>
<property name="default-height">640</property>
<child>
<object class="AdwLeaflet" id="main_leaflet">
<property name="can-navigate-back">True</property>
<signal name="notify::folded" handler="on_main_leaflet_folded_changed_cb" object="CcWindow" swapped="yes" />
<child>
<object class="GtkBox" id="sidebar_box">
<property name="hexpand">False</property>
<property name="orientation">vertical</property>
<child>
<object class="AdwHeaderBar" id="header">
<property name="show-start-title-buttons">True</property>
<property name="show-end-title-buttons" bind-source="main_leaflet" bind-property="folded" bind-flags="sync-create"/>
<property name="title-widget">
<object class="AdwWindowTitle" id="sidebar_title_widget">
<property name="title" translatable="yes">Settings</property>
</object>
</property>
<child>
<object class="GtkButton" id="previous_button">
<property name="icon_name">go-previous-symbolic</property>
<signal name="clicked" handler="previous_button_clicked_cb" object="CcWindow" swapped="yes" />
<accessibility>
<property name="label" translatable="yes">All Settings</property>
</accessibility>
<style>
<class name="image-button"/>
</style>
</object>
</child>
<child>
<object class="GtkToggleButton" id="search_button">
<property name="icon_name">edit-find-symbolic</property>
<accessibility>
<property name="label" translatable="yes">Search</property>
</accessibility>
<style>
<class name="image-button"/>
</style>
</object>
</child>
<child type="end">
<object class="GtkMenuButton">
<property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">primary_menu</property>
<property name="primary">True</property>
<accessibility>
<property name="label" translatable="yes">Primary Menu</property>
</accessibility>
<style>
<class name="image-button"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSearchBar" id="search_bar">
<property name="search_mode_enabled" bind-source="search_button" bind-property="active" bind-flags="sync-create|bidirectional" />
<child>
<object class="GtkSearchEntry" id="search_entry">
<property name="width_chars">25</property>
<property name="max_width_chars">25</property>
<signal name="activate" handler="search_entry_activate_cb" object="CcWindow" swapped="yes" />
<signal name="notify::text" handler="update_list_title" object="CcWindow" swapped="yes" />
</object>
</child>
</object>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="vexpand">True</property>
<property name="width-request">200</property>
<property name="hscrollbar_policy">never</property>
<child>
<object class="GtkViewport">
<property name="scroll-to-focus">True</property>
<child>
<object class="CcPanelList" id="panel_list">
<property name="search-mode" bind-source="search_bar" bind-property="search-mode-enabled" bind-flags="bidirectional" />
<property name="search-query" bind-source="search_entry" bind-property="text" bind-flags="default" />
<signal name="show-panel" handler="show_panel_cb" object="CcWindow" swapped="yes" />
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwLeafletPage">
<property name="navigatable">False</property>
<property name="child">
<object class="GtkSeparator" id="panel_separator">
<property name="orientation">vertical</property>
<style>
<class name="sidebar"/>
</style>
</object>
</property>
</object>
</child>
<child>
<object class="GtkBox" id="panel_box">
<property name="orientation">vertical</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<object class="GtkStack" id="stack">
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="transition_type">crossfade</property>
<property name="width_request">360</property>
<signal name="notify::transition-running" handler="on_stack_transition_running_changed_cb" object="CcWindow" swapped="no" />
<style>
<class name="background"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
<object class="GtkSizeGroup" id="header_sizegroup">
<property name="mode">vertical</property>
<widgets>
<widget name="search_button"/>
<widget name="previous_button"/>
</widgets>
</object>
<!-- Warning dialog for development builds -->
<object class="GtkMessageDialog" id="development_warning_dialog">
<property name="message-type">warning</property>
<property name="transient-for">CcWindow</property>
<property name="resizable">false</property>
<property name="modal">true</property>
<property name="buttons">ok</property>
<property name="text" translatable="yes">Warning: Development Version</property>
<property name="secondary-text" translatable="yes">This version of Settings should only be used for development purposes. You may experience incorrect system behavior, data loss, and other unexpected issues. </property>
<signal name="response" handler="on_development_warning_dialog_responded_cb" object="CcWindow" swapped="yes" />
</object>
<menu id="primary_menu">
<section>
<item>
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Help</attribute>
<attribute name="action">app.help</attribute>
</item>
</section>
</menu>
</interface>