- Move more code into the .ui file - Don't save the dialog between runs - it's cheap to generate on demand - Hold references on data passed to dialog - Connect signals in "swapped" form - Use standard naming format for signal callbacks
95 lines
4.5 KiB
XML
95 lines
4.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<interface>
|
||
<!-- interface-requires gtk+ 3.0 -->
|
||
<template class="CcInputChooser" parent="GtkDialog">
|
||
<property name="title" translatable="yes">Add an Input Source</property>
|
||
<property name="modal">True</property>
|
||
<property name="destroy_with_parent">True</property>
|
||
<property name="resizable">True</property>
|
||
<child type="action">
|
||
<object class="GtkButton" id="cancel_button">
|
||
<property name="label" translatable="yes">_Cancel</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="valign">center</property>
|
||
</object>
|
||
</child>
|
||
<child type="action">
|
||
<object class="GtkButton" id="add_button">
|
||
<property name="label" translatable="yes">_Add</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="can_default">True</property>
|
||
<property name="sensitive">False</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="valign">center</property>
|
||
</object>
|
||
</child>
|
||
<child internal-child="vbox">
|
||
<object class="GtkBox">
|
||
<property name="visible">True</property>
|
||
<property name="orientation">vertical</property>
|
||
<property name="spacing">0</property>
|
||
<child>
|
||
<object class="GtkScrolledWindow">
|
||
<property name="visible">True</property>
|
||
<property name="hscrollbar-policy">never</property>
|
||
<property name="vscrollbar-policy">automatic</property>
|
||
<property name="propagate-natural-height">True</property>
|
||
<property name="shadow-type">in</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="min-content-height">300</property>
|
||
<property name="vadjustment">scroll_adjustment</property>
|
||
<child>
|
||
<object class="GtkListBox" id="input_sources_listbox">
|
||
<property name="visible">True</property>
|
||
<property name="can-focus">True</property>
|
||
<property name="vexpand">True</property>
|
||
<property name="halign">fill</property>
|
||
<property name="valign">fill</property>
|
||
<signal name="row-activated" handler="on_input_sources_listbox_row_activated_cb" object="CcInputChooser" swapped="yes" />
|
||
<signal name="selected-rows-changed" handler="on_input_sources_listbox_selected_rows_changed_cb" object="CcInputChooser" swapped="yes" />
|
||
<signal name="button-release-event" handler="on_input_sources_listbox_button_release_event_cb" object="CcInputChooser" swapped="yes" />
|
||
</object>
|
||
</child>
|
||
</object>
|
||
</child>
|
||
<child>
|
||
<object class="GtkSearchEntry" id="filter_entry">
|
||
<property name="visible">False</property>
|
||
<property name="hexpand">True</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>
|
||
<signal name="search-changed" handler="on_filter_entry_search_changed_cb" object="CcInputChooser" swapped="yes" />
|
||
<signal name="key-release-event" handler="on_filter_entry_key_release_event_cb" object="CcInputChooser" swapped="yes" />
|
||
</object>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel" id="login_label">
|
||
<property name="visible">False</property>
|
||
<property name="wrap">True</property>
|
||
<property name="label" translatable="yes">Input methods can’t be used on the login screen</property>
|
||
<property name="margin-start">6</property>
|
||
<property name="margin-end">6</property>
|
||
<property name="margin-bottom">6</property>
|
||
<style>
|
||
<class name="dim-label"/>
|
||
</style>
|
||
</object>
|
||
</child>
|
||
</object>
|
||
</child>
|
||
<action-widgets>
|
||
<action-widget response="-5" default="true">add_button</action-widget>
|
||
<action-widget response="-6">cancel_button</action-widget>
|
||
</action-widgets>
|
||
</template>
|
||
<object class="GtkAdjustment" id="scroll_adjustment">
|
||
</object>
|
||
</interface>
|