This allows the window to be folded to show either the sidebar or the panel when not enough space is available. This reverts commit 2854669f5c8280a32d0b5fa6c5399cc391ef06f3.
344 lines
16 KiB
XML
344 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<requires lib="gtk+" version="3.20"/>
|
|
<template class="CcWindow" parent="GtkApplicationWindow">
|
|
<property name="can_focus">False</property>
|
|
<property name="window_position">center</property>
|
|
<property name="default-width">980</property>
|
|
<property name="default-height">640</property>
|
|
<signal name="notify::window" handler="gdk_window_set_cb" object="CcWindow" swapped="no" />
|
|
<signal name="map-event" handler="window_map_event_cb" object="CcWindow" swapped="no" />
|
|
<signal name="key-press-event" handler="window_key_press_event_cb" object="CcWindow" swapped="no" after="yes" />
|
|
<child>
|
|
<object class="HdyLeaflet" id="main_leaflet">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="mode-transition-type">slide</property>
|
|
<property name="child-transition-type">slide</property>
|
|
<child>
|
|
<object class="GtkBox" id="sidebar_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkSearchBar" id="search_bar">
|
|
<property name="visible">True</property>
|
|
<property name="search_mode_enabled" bind-source="search_button" bind-property="active" bind-flags="sync-create|bidirectional" />
|
|
<property name="app_paintable">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkSearchEntry" id="search_entry">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="width_chars">25</property>
|
|
<property name="input_hints">no-emoji</property>
|
|
<property name="max_width_chars">25</property>
|
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
|
<property name="primary_icon_activatable">False</property>
|
|
<property name="primary_icon_sensitive">False</property>
|
|
<signal name="activate" handler="search_entry_activate_cb" object="CcWindow" swapped="no" />
|
|
<signal name="notify::text" handler="update_list_title" object="CcWindow" swapped="yes" />
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="list_scrolled">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="vexpand">True</property>
|
|
<property name="width-request">200</property>
|
|
<property name="hscrollbar_policy">never</property>
|
|
<style>
|
|
<class name="view"/>
|
|
</style>
|
|
<child>
|
|
<object class="CcPanelList" id="panel_list">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<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="no" />
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">sidebar</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator" id="panel_separator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<style>
|
|
<class name="sidebar"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStack" id="stack">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<property name="transition_type">crossfade</property>
|
|
<property name="width_request">360</property>
|
|
<style>
|
|
<class name="background"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="name">panel</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="titlebar">
|
|
<object class="HdyTitleBar">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="HdyLeaflet" id="header_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">horizontal</property>
|
|
<property name="mode-transition-type" bind-source="main_leaflet" bind-property="mode-transition-type" bind-flags="bidirectional|sync-create"/>
|
|
<property name="mode-transition-duration" bind-source="main_leaflet" bind-property="mode-transition-duration" bind-flags="bidirectional|sync-create"/>
|
|
<property name="child-transition-type" bind-source="main_leaflet" bind-property="child-transition-type" bind-flags="bidirectional|sync-create"/>
|
|
<property name="child-transition-duration" bind-source="main_leaflet" bind-property="child-transition-duration" bind-flags="bidirectional|sync-create"/>
|
|
<property name="visible-child-name" bind-source="main_leaflet" bind-property="visible-child-name" bind-flags="bidirectional|sync-create"/>
|
|
<signal name="notify::visible-child" handler="notify_header_visible_child_cb" swapped="no"/>
|
|
<signal name="notify::fold" handler="notify_fold_cb" object="CcWindow" after="yes" swapped="no"/>
|
|
<child>
|
|
<object class="GtkHeaderBar" id="header">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="show-close-button">True</property>
|
|
<property name="title" translatable="yes">Settings</property>
|
|
<child>
|
|
<object class="GtkButton" id="previous_button">
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<signal name="clicked" handler="previous_button_clicked_cb" object="CcWindow" swapped="no" />
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">go-previous-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-button1">
|
|
<property name="accessible-name" translatable="yes">All Settings</property>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="image-button"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="search_button">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject">
|
|
<property name="accessible-name" translatable="yes">Search</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">edit-find-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="image-button"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="menu_model">primary_menu</property>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject">
|
|
<property name="accessible-name" translatable="yes">Primary Menu</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">open-menu-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="image-button"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">sidebar</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator" id="header_separator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<style>
|
|
<class name="sidebar"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkHeaderBar" id="panel_headerbar">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="show_close_button">True</property>
|
|
<child>
|
|
<object class="GtkRevealer" id="back_revealer">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="transition-type">crossfade</property>
|
|
<property name="transition-duration" bind-source="main_leaflet" bind-property="mode-transition-duration" bind-flags="bidirectional|sync-create"/>
|
|
<child>
|
|
<object class="GtkButton" id="back">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="receives_default">False</property>
|
|
<property name="valign">center</property>
|
|
<property name="use-underline">True</property>
|
|
<signal name="clicked" handler="back_button_clicked_cb" object="CcWindow" swapped="no" />
|
|
<style>
|
|
<class name="image-button"/>
|
|
</style>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="a11y-back">
|
|
<property name="accessible-name" translatable="yes">Back</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage" id="back_image">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="icon_name">go-previous-symbolic</property>
|
|
<property name="icon_size">1</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="top_right_box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="pack_type">end</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">panel</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
|
|
<object class="HdyHeaderGroup" id="header_group">
|
|
<headerbars>
|
|
<headerbar name="header"/>
|
|
<headerbar name="panel_headerbar"/>
|
|
</headerbars>
|
|
</object>
|
|
|
|
<object class="GtkSizeGroup" id="header_sizegroup">
|
|
<property name="mode">vertical</property>
|
|
<widgets>
|
|
<widget name="search_button"/>
|
|
<widget name="previous_button"/>
|
|
</widgets>
|
|
</object>
|
|
|
|
<!-- Synchronize left header and sidebar -->
|
|
<object class="GtkSizeGroup">
|
|
<property name="mode">horizontal</property>
|
|
<widgets>
|
|
<widget name="header"/>
|
|
<widget name="sidebar_box"/>
|
|
</widgets>
|
|
</object>
|
|
|
|
<!-- Synchronize separators -->
|
|
<object class="GtkSizeGroup">
|
|
<property name="mode">horizontal</property>
|
|
<widgets>
|
|
<widget name="header_separator"/>
|
|
<widget name="panel_separator"/>
|
|
</widgets>
|
|
</object>
|
|
|
|
<!-- Synchronize right header and panel -->
|
|
<object class="GtkSizeGroup">
|
|
<property name="mode">horizontal</property>
|
|
<widgets>
|
|
<widget name="panel_headerbar"/>
|
|
<widget name="stack"/>
|
|
</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="no" />
|
|
</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>
|