combining of the search and filtering panels

This commit is contained in:
DYefremov
2021-04-12 14:20:26 +03:00
parent 2806d95972
commit e613f9f55e
2 changed files with 410 additions and 402 deletions

View File

@@ -291,11 +291,10 @@ class Application(Gtk.Application):
self._services_model_filter = builder.get_object("services_model_filter")
self._services_model_filter.set_visible_func(self.services_filter_function)
self._filter_entry = builder.get_object("filter_entry")
self._filter_bar = builder.get_object("filter_bar")
self._filter_box = builder.get_object("filter_box")
self._filter_types_model = builder.get_object("filter_types_list_store")
self._filter_sat_pos_model = builder.get_object("filter_sat_pos_list_store")
self._filter_only_free_button = builder.get_object("filter_only_free_button")
self._filter_bar.bind_property("search-mode-enabled", self._filter_bar, "visible")
# Player
self._player_box = builder.get_object("player_box")
self._player_event_box = builder.get_object("player_event_box")
@@ -317,8 +316,7 @@ class Application(Gtk.Application):
# Record
self._record_image = builder.get_object("record_button_image")
# Search
self._search_bar = builder.get_object("search_bar")
self._search_bar.bind_property("search-mode-enabled", self._search_bar, "visible")
self._search_box = builder.get_object("search_box")
self._search_entry = builder.get_object("search_entry")
self._search_provider = SearchProvider((self._services_view, self._fav_view, self._bouquets_view),
builder.get_object("search_down_button"),
@@ -365,6 +363,10 @@ class Application(Gtk.Application):
center_box.reorder_child(self._control_revealer, 1)
center_box.reorder_child(builder.get_object("main_box"), 2)
builder.get_object("fs_box").set_child_packing(self._filter_box, False, True, 0, Gtk.PackType.END)
top_toolbar = builder.get_object("top_toolbar")
top_toolbar.set_child_packing(builder.get_object("toolbar_extra_box"), False, True, 0, Gtk.PackType.END)
services_box = self._main_paned.get_child1()
self._main_paned.remove(services_box)
self._main_paned.remove(self._fav_paned)
@@ -1627,7 +1629,7 @@ class Application(Gtk.Application):
yield True
self._data_hash = self.get_data_hash()
yield True
if self._filter_bar.get_visible():
if self._filter_box.get_visible():
self.on_filter_changed()
yield True
@@ -2966,7 +2968,7 @@ class Application(Gtk.Application):
self._filter_entry.grab_focus() if value else self.on_filter_changed()
self.filter_set_default()
self._filter_bar.set_search_mode(value)
self._filter_box.set_visible(value)
@run_idle
def filter_set_default(self):
@@ -3027,7 +3029,7 @@ class Application(Gtk.Application):
self._services_view.set_model(model)
def services_filter_function(self, model, itr, data):
if not self._filter_bar.is_visible():
if not self._filter_box.is_visible():
return True
else:
r_txt = str(model.get(itr, Column.SRV_SERVICE, Column.SRV_PACKAGE, Column.SRV_TYPE, Column.SRV_SSID,
@@ -3067,7 +3069,7 @@ class Application(Gtk.Application):
return True
action.set_state(value)
self._search_bar.set_search_mode(value)
self._search_box.set_visible(value)
if value:
self._search_entry.grab_focus()
else:

View File

@@ -1245,24 +1245,6 @@ Author: Dmitriy Yefremov
<property name="halign">center</property>
<property name="valign">center</property>
<property name="layout_style">expand</property>
<child>
<object class="GtkToggleButton" id="search_tool_button">
<property name="label" translatable="yes">Search</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Search</property>
<property name="valign">center</property>
<property name="action_name">win.search</property>
<property name="image">find_image</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="filter_tool_button">
<property name="label" translatable="yes">Filter</property>
@@ -1278,7 +1260,25 @@ Author: Dmitriy Yefremov
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="search_tool_button">
<property name="label" translatable="yes">Search</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Search</property>
<property name="valign">center</property>
<property name="action_name">win.search</property>
<property name="image">find_image</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
@@ -1296,7 +1296,7 @@ Author: Dmitriy Yefremov
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
<property name="position">2</property>
</packing>
</child>
<child>
@@ -1314,7 +1314,7 @@ Author: Dmitriy Yefremov
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
<property name="position">3</property>
</packing>
</child>
</object>
@@ -1736,92 +1736,17 @@ Author: Dmitriy Yefremov
</packing>
</child>
<child>
<object class="GtkSearchBar" id="search_bar">
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="search_bar_box">
<property name="visible">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="primary_icon_name">edit-find-symbolic</property>
<property name="primary_icon_activatable">False</property>
<property name="primary_icon_sensitive">False</property>
<signal name="changed" handler="on_search" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="search_down_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<signal name="clicked" handler="on_search_down" swapped="no"/>
<child>
<object class="GtkArrow" id="arrow1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="arrow_type">down</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="search_up_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<signal name="clicked" handler="on_search_up" swapped="no"/>
<child>
<object class="GtkArrow" id="arrow2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="arrow_type">up</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="group"/>
</style>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSearchBar" id="filter_bar">
<object class="GtkBox" id="fs_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="spacing">10</property>
<child>
<object class="GtkBox" id="filter_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<child>
<object class="GtkToggleButton" id="filter_only_free_button">
<property name="label" translatable="yes">Only free</property>
@@ -1899,12 +1824,93 @@ Author: Dmitriy Yefremov
<class name="group"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child type="center">
<object class="GtkBox" id="search_box">
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<child>
<object class="GtkSearchEntry" id="search_entry">
<property name="visible">True</property>
<property name="can_focus">True</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="changed" handler="on_search" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="search_down_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<signal name="clicked" handler="on_search_down" swapped="no"/>
<child>
<object class="GtkArrow" id="arrow1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="arrow_type">down</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="search_up_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="relief">half</property>
<signal name="clicked" handler="on_search_up" swapped="no"/>
<child>
<object class="GtkArrow" id="arrow2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="arrow_type">up</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="group"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
@@ -2556,364 +2562,364 @@ Author: Dmitriy Yefremov
</child>
<child>
<object class="GtkBox" id="fav_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">2</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkScrolledWindow" id="fav_scrolled_window">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="shadow_type">in</property>
<property name="margin_bottom">2</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkTreeView" id="fav_tree_view">
<object class="GtkScrolledWindow" id="fav_scrolled_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">fav_list_store</property>
<property name="enable_search">False</property>
<property name="search_column">2</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="tooltip_column">9</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_fav_press" object="fav_popup_menu" swapped="no"/>
<signal name="button-press-event" handler="on_view_press" swapped="yes"/>
<signal name="button-release-event" handler="on_view_release" swapped="no"/>
<signal name="drag-begin" handler="on_view_drag_begin" after="yes" swapped="no"/>
<signal name="drag-data-get" handler="on_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_view_drag_data_received" swapped="no"/>
<signal name="drag-end" handler="on_view_drag_end" swapped="no"/>
<signal name="focus-in-event" handler="on_view_focus" swapped="no"/>
<signal name="key-press-event" handler="on_tree_view_key_press" swapped="no"/>
<signal name="key-release-event" handler="on_tree_view_key_release" swapped="no"/>
<signal name="query-tooltip" handler="on_fav_view_query_tooltip" swapped="no"/>
<signal name="row-activated" handler="on_fav_selection" object="fav_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="fav_selection">
<property name="mode">multiple</property>
</object>
</child>
<property name="can_focus">False</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeViewColumn" id="fav_num_column">
<property name="resizable">True</property>
<property name="min_width">25</property>
<property name="title" translatable="yes">Num</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="num_cellrenderertext">
<property name="xalign">0.49000000953674316</property>
<property name="width_chars">5</property>
<property name="max_width_chars">5</property>
<object class="GtkTreeView" id="fav_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">fav_list_store</property>
<property name="enable_search">False</property>
<property name="search_column">2</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="tooltip_column">9</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_fav_press" object="fav_popup_menu" swapped="no"/>
<signal name="button-press-event" handler="on_view_press" swapped="yes"/>
<signal name="button-release-event" handler="on_view_release" swapped="no"/>
<signal name="drag-begin" handler="on_view_drag_begin" after="yes" swapped="no"/>
<signal name="drag-data-get" handler="on_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_view_drag_data_received" swapped="no"/>
<signal name="drag-end" handler="on_view_drag_end" swapped="no"/>
<signal name="focus-in-event" handler="on_view_focus" swapped="no"/>
<signal name="key-press-event" handler="on_tree_view_key_press" swapped="no"/>
<signal name="key-release-event" handler="on_tree_view_key_release" swapped="no"/>
<signal name="query-tooltip" handler="on_fav_view_query_tooltip" swapped="no"/>
<signal name="row-activated" handler="on_fav_selection" object="fav_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="fav_selection">
<property name="mode">multiple</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="visible">0</attribute>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_service_column">
<property name="resizable">True</property>
<property name="min_width">50</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererPixbuf" id="fav_picon_cellrendererpixbuf">
<property name="xpad">2</property>
<object class="GtkTreeViewColumn" id="fav_num_column">
<property name="resizable">True</property>
<property name="min_width">25</property>
<property name="title" translatable="yes">Num</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="num_cellrenderertext">
<property name="xalign">0.49000000953674316</property>
<property name="width_chars">5</property>
<property name="max_width_chars">5</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="visible">0</attribute>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">8</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_coded_cellrendererpixbuf">
<property name="xpad">2</property>
<object class="GtkTreeViewColumn" id="fav_service_column">
<property name="resizable">True</property>
<property name="min_width">50</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererPixbuf" id="fav_picon_cellrendererpixbuf">
<property name="xpad">2</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">8</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_coded_cellrendererpixbuf">
<property name="xpad">2</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="fav_service_cellrenderertext">
<property name="ellipsize">end</property>
<property name="width_chars">25</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">2</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_locked_cellrendererpixbuf">
<property name="xpad">2</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">3</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_hide_cellrendererpixbuf">
<property name="xpad">2</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">4</attribute>
</attributes>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="fav_service_cellrenderertext">
<property name="ellipsize">end</property>
<property name="width_chars">25</property>
<object class="GtkTreeViewColumn" id="fav_type_column">
<property name="resizable">True</property>
<property name="min_width">25</property>
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">2</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_locked_cellrendererpixbuf">
<property name="xpad">2</property>
<object class="GtkTreeViewColumn" id="fav_pos_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Pos</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">3</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_hide_cellrendererpixbuf">
<property name="xpad">2</property>
<object class="GtkTreeViewColumn" id="fav_id_column">
<property name="visible">False</property>
<property name="title">fav_id</property>
<child>
<object class="GtkCellRendererText" id="fav_id_cellrenderertext4"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="pixbuf">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_type_column">
<property name="resizable">True</property>
<property name="min_width">25</property>
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
<object class="GtkTreeViewColumn" id="fav_extra_column">
<property name="visible">False</property>
<property name="title" translatable="yes">extra</property>
<child>
<object class="GtkCellRendererText" id="fav_tooltip_cellrenderertext"/>
<attributes>
<attribute name="text">9</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_background_cellrenderertext"/>
</child>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_pos_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Pos</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="alignment">0.5</property>
<signal name="clicked" handler="on_fav_sort" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="cell-background-rgba">10</attribute>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_id_column">
<property name="visible">False</property>
<property name="title">fav_id</property>
<child>
<object class="GtkCellRendererText" id="fav_id_cellrenderertext4"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_extra_column">
<property name="visible">False</property>
<property name="title" translatable="yes">extra</property>
<child>
<object class="GtkCellRendererText" id="fav_tooltip_cellrenderertext"/>
<attributes>
<attribute name="text">9</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_background_cellrenderertext"/>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRevealer" id="alt_revealer">
<property name="can_focus">False</property>
<property name="transition_type">slide-up</property>
<child>
<object class="GtkBox" id="alt_box">
<property name="height_request">200</property>
<property name="visible">True</property>
<object class="GtkRevealer" id="alt_revealer">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<property name="transition_type">slide-up</property>
<child>
<object class="GtkLabel" id="alt_label">
<object class="GtkBox" id="alt_box">
<property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Alternatives</property>
<attributes>
<attribute name="weight" value="semibold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="alt_scrolled_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkTreeView" id="alt_tree_view">
<object class="GtkLabel" id="alt_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Alternatives</property>
<attributes>
<attribute name="weight" value="semibold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="alt_scrolled_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">alt_list_store</property>
<property name="enable_search">False</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_view_popup_menu" object="alt_popup_menu" swapped="no"/>
<signal name="drag-begin" handler="on_view_drag_begin" after="yes" swapped="no"/>
<signal name="drag-data-get" handler="on_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_alt_view_drag_data_received" swapped="no"/>
<signal name="row-activated" handler="on_alt_selection" object="alt_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="alt_selection">
<property name="mode">multiple</property>
</object>
</child>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeViewColumn" id="alt_num_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Num</property>
<property name="alignment">0.5</property>
<object class="GtkTreeView" id="alt_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">alt_list_store</property>
<property name="enable_search">False</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_view_popup_menu" object="alt_popup_menu" swapped="no"/>
<signal name="drag-begin" handler="on_view_drag_begin" after="yes" swapped="no"/>
<signal name="drag-data-get" handler="on_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_alt_view_drag_data_received" swapped="no"/>
<signal name="row-activated" handler="on_alt_selection" object="alt_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="alt_selection">
<property name="mode">multiple</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="alt_num_cellrenderertext">
<object class="GtkTreeViewColumn" id="alt_num_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Num</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="alt_num_cellrenderertext">
<property name="xalign">0.49000000953674316</property>
<property name="width_chars">5</property>
<property name="max_width_chars">5</property>
</object>
<attributes>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</attributes>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_service_column">
<property name="resizable">True</property>
<property name="min_width">50</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererPixbuf" id="alt_picon_cellrendererpixbuf">
<object class="GtkTreeViewColumn" id="alt_service_column">
<property name="resizable">True</property>
<property name="min_width">50</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererPixbuf" id="alt_picon_cellrendererpixbuf">
<property name="xpad">2</property>
</object>
<attributes>
</object>
<attributes>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_service_cellrenderertext">
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_service_cellrenderertext">
<property name="xalign">0.10000000149011612</property>
</object>
<attributes>
</object>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_type_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="alt_type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</attributes>
</child>
</object>
<attributes>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_type_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="alt_type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_pos_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Pos</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="alt_pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</attributes>
</child>
</object>
<attributes>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_pos_column">
<property name="min_width">25</property>
<property name="title" translatable="yes">Pos</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="alt_pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</attributes>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="alt_id_column">
<property name="visible">False</property>
<property name="title" translatable="yes">ID</property>
<child>
<object class="GtkCellRendererText" id="alt_fav_id_cellrenderertext"/>
<attributes>
<object class="GtkTreeViewColumn" id="alt_id_column">
<property name="visible">False</property>
<property name="title" translatable="yes">ID</property>
<child>
<object class="GtkCellRendererText" id="alt_fav_id_cellrenderertext"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_id_cellrenderertext"/>
<attributes>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_id_cellrenderertext"/>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_iter_cellrenderertext"/>
<attributes>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="alt_iter_cellrenderertext"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>