Skip to content
Snippets Groups Projects
Commit c91ad788 authored by Daniel Brötzmann's avatar Daniel Brötzmann Committed by Philipp Hörist
Browse files

StartChat: Add filter bar

parent 18d67fbc
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.36.0 --> <!-- Generated with glade 3.38.2 -->
<interface> <interface>
<requires lib="gtk+" version="3.22"/> <requires lib="gtk+" version="3.22"/>
<object class="GtkListStore" id="account_store"> <object class="GtkListStore" id="account_store">
...@@ -14,24 +14,24 @@ ...@@ -14,24 +14,24 @@
</object> </object>
<object class="GtkStack" id="stack"> <object class="GtkStack" id="stack">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<signal name="notify::visible-child-name" handler="_on_page_changed" swapped="no"/> <signal name="notify::visible-child-name" handler="_on_page_changed" swapped="no"/>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkInfoBar" id="infobar"> <object class="GtkInfoBar" id="infobar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="homogeneous">True</property> <property name="homogeneous">True</property>
<property name="show_close_button">True</property> <property name="show-close-button">True</property>
<signal name="response" handler="_on_infobar_response" swapped="no"/> <signal name="response" handler="_on_infobar_response" swapped="no"/>
<child internal-child="action_area"> <child internal-child="action_area">
<object class="GtkButtonBox"> <object class="GtkButtonBox">
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="layout_style">end</property> <property name="layout-style">end</property>
<child> <child>
<placeholder/> <placeholder/>
</child> </child>
...@@ -44,13 +44,13 @@ ...@@ -44,13 +44,13 @@
</child> </child>
<child internal-child="content_area"> <child internal-child="content_area">
<object class="GtkBox"> <object class="GtkBox">
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="icon_name">dialog-information-symbolic</property> <property name="icon-name">dialog-information-symbolic</property>
<property name="icon_size">3</property> <property name="icon_size">3</property>
</object> </object>
<packing> <packing>
...@@ -62,10 +62,10 @@ ...@@ -62,10 +62,10 @@
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Start a new chat, join a group chat or search for new group chats globally. You can also enter an XMPP address.</property> <property name="label" translatable="yes">Start a new chat, join a group chat or search for new group chats globally. You can also enter an XMPP address.</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<property name="max_width_chars">46</property> <property name="max-width-chars">46</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
...@@ -91,25 +91,26 @@ ...@@ -91,25 +91,26 @@
<child> <child>
<object class="GtkBox" id="box"> <object class="GtkBox" id="box">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="border_width">18</property> <property name="border-width">18</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<object class="GtkSearchEntry" id="search_entry"> <object class="GtkSearchEntry" id="search_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="has_focus">True</property> <property name="has-focus">True</property>
<property name="is_focus">True</property> <property name="is-focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="primary_icon_name">edit-find-symbolic</property> <property name="primary-icon-name">edit-find-symbolic</property>
<property name="primary_icon_activatable">False</property> <property name="primary-icon-activatable">False</property>
<property name="primary_icon_sensitive">False</property> <property name="primary-icon-sensitive">False</property>
<property name="placeholder-text" translatable="yes">Search…</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
...@@ -117,30 +118,104 @@ ...@@ -117,30 +118,104 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkToggleButton" id="filter_bar_toggle">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Filter Chats</property>
<property name="halign">end</property>
<signal name="toggled" handler="_on_filter_bar_toggled" swapped="no"/>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">feather-filter-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child> <child>
<object class="GtkToggleButton" id="global_search_toggle"> <object class="GtkToggleButton" id="global_search_toggle">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="tooltip_text" translatable="yes">Global Group Chat Search</property> <property name="tooltip-text" translatable="yes">Global Group Chat Search</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="relief">half</property> <property name="relief">half</property>
<signal name="toggled" handler="_on_global_search_toggle" swapped="no"/> <signal name="toggled" handler="_on_global_search_toggle" swapped="no"/>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="icon_name">feather-globe-symbolic</property> <property name="icon-name">feather-globe-symbolic</property>
</object> </object>
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRevealer" id="filter_bar_revealer">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="transition-duration">100</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<child>
<object class="GtkToggleButton" id="filter_chats">
<property name="label" translatable="yes">Chats</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="active">True</property>
<signal name="toggled" handler="_on_filter_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="filter_groupchats">
<property name="label" translatable="yes">Group Chats</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="active">True</property>
<signal name="toggled" handler="_on_filter_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="linked"/>
</style>
</object>
</child>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
...@@ -150,20 +225,20 @@ ...@@ -150,20 +225,20 @@
<child> <child>
<object class="GtkScrolledWindow" id="scrolledwindow"> <object class="GtkScrolledWindow" id="scrolledwindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="hscrollbar_policy">never</property> <property name="hscrollbar-policy">never</property>
<property name="shadow_type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkViewport"> <object class="GtkViewport">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox" id="listbox"> <object class="GtkListBox" id="listbox">
<property name="name">StartChatListBox</property> <property name="name">StartChatListBox</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="selection_mode">browse</property> <property name="selection-mode">browse</property>
<property name="activate_on_single_click">False</property> <property name="activate-on-single-click">False</property>
</object> </object>
</child> </child>
</object> </object>
...@@ -190,12 +265,12 @@ ...@@ -190,12 +265,12 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkSpinner" id="spinner"> <object class="GtkSpinner" id="spinner">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
...@@ -216,21 +291,21 @@ ...@@ -216,21 +291,21 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">12</property> <property name="spacing">12</property>
<property name="homogeneous">True</property> <property name="homogeneous">True</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="valign">end</property> <property name="valign">end</property>
<property name="icon_name">dialog-error</property> <property name="icon-name">dialog-error</property>
<property name="icon_size">6</property> <property name="icon_size">6</property>
</object> </object>
<packing> <packing>
...@@ -242,7 +317,7 @@ ...@@ -242,7 +317,7 @@
<child> <child>
<object class="GtkLabel" id="error_label"> <object class="GtkLabel" id="error_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="justify">center</property> <property name="justify">center</property>
<property name="wrap">True</property> <property name="wrap">True</property>
...@@ -267,16 +342,16 @@ ...@@ -267,16 +342,16 @@
<object class="GtkButton"> <object class="GtkButton">
<property name="label" translatable="yes">_Back</property> <property name="label" translatable="yes">_Back</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="use_underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="_on_back_clicked" swapped="no"/> <signal name="clicked" handler="_on_back_clicked" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack_type">end</property> <property name="pack-type">end</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
...@@ -292,7 +367,7 @@ ...@@ -292,7 +367,7 @@
<child> <child>
<object class="GtkBox" id="info_box"> <object class="GtkBox" id="info_box">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
...@@ -301,11 +376,11 @@ ...@@ -301,11 +376,11 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkBox" id="join_box"> <object class="GtkBox" id="join_box">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<placeholder/> <placeholder/>
</child> </child>
...@@ -313,10 +388,10 @@ ...@@ -313,10 +388,10 @@
<object class="GtkButton" id="join_button"> <object class="GtkButton" id="join_button">
<property name="label" translatable="yes">_Join</property> <property name="label" translatable="yes">_Join</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="use_underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="_on_join_clicked" swapped="no"/> <signal name="clicked" handler="_on_join_clicked" swapped="no"/>
<style> <style>
<class name="suggested-action"/> <class name="suggested-action"/>
...@@ -325,7 +400,7 @@ ...@@ -325,7 +400,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack_type">end</property> <property name="pack-type">end</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
...@@ -336,7 +411,7 @@ ...@@ -336,7 +411,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack_type">end</property> <property name="pack-type">end</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
...@@ -344,10 +419,10 @@ ...@@ -344,10 +419,10 @@
<object class="GtkButton"> <object class="GtkButton">
<property name="label" translatable="yes">_Back</property> <property name="label" translatable="yes">_Back</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="use_underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="_on_back_clicked" swapped="no"/> <signal name="clicked" handler="_on_back_clicked" swapped="no"/>
</object> </object>
<packing> <packing>
...@@ -360,7 +435,7 @@ ...@@ -360,7 +435,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack_type">end</property> <property name="pack-type">end</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
...@@ -376,13 +451,13 @@ ...@@ -376,13 +451,13 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">6</property> <property name="spacing">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Select Account</property> <property name="label" translatable="yes">Select Account</property>
<property name="justify">center</property> <property name="justify">center</property>
<property name="wrap">True</property> <property name="wrap">True</property>
...@@ -400,18 +475,18 @@ ...@@ -400,18 +475,18 @@
<child> <child>
<object class="GtkScrolledWindow"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="hscrollbar_policy">never</property> <property name="hscrollbar-policy">never</property>
<property name="shadow_type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkTreeView" id="account_view"> <object class="GtkTreeView" id="account_view">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="model">account_store</property> <property name="model">account_store</property>
<property name="headers_visible">False</property> <property name="headers-visible">False</property>
<property name="enable_search">False</property> <property name="enable-search">False</property>
<property name="show_expanders">False</property> <property name="show-expanders">False</property>
<signal name="row-activated" handler="_on_select_clicked" swapped="no"/> <signal name="row-activated" handler="_on_select_clicked" swapped="no"/>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection"/>
...@@ -454,16 +529,16 @@ ...@@ -454,16 +529,16 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="homogeneous">True</property> <property name="homogeneous">True</property>
<child> <child>
<object class="GtkButton"> <object class="GtkButton">
<property name="label" translatable="yes">_Back</property> <property name="label" translatable="yes">_Back</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="use_underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="_on_back_clicked" swapped="no"/> <signal name="clicked" handler="_on_back_clicked" swapped="no"/>
</object> </object>
<packing> <packing>
...@@ -476,10 +551,10 @@ ...@@ -476,10 +551,10 @@
<object class="GtkButton"> <object class="GtkButton">
<property name="label" translatable="yes">_Select</property> <property name="label" translatable="yes">_Select</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="receives_default">True</property> <property name="receives-default">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="use_underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="_on_select_clicked" swapped="no"/> <signal name="clicked" handler="_on_select_clicked" swapped="no"/>
<style> <style>
<class name="suggested-action"/> <class name="suggested-action"/>
...@@ -495,7 +570,7 @@ ...@@ -495,7 +570,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack_type">end</property> <property name="pack-type">end</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
...@@ -511,7 +586,7 @@ ...@@ -511,7 +586,7 @@
</object> </object>
<object class="GtkBox" id="placeholder"> <object class="GtkBox" id="placeholder">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
...@@ -519,8 +594,8 @@ ...@@ -519,8 +594,8 @@
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="icon_name">avatar-default-symbolic</property> <property name="icon-name">avatar-default-symbolic</property>
<property name="icon_size">6</property> <property name="icon_size">6</property>
<style> <style>
<class name="dim-label"/> <class name="dim-label"/>
...@@ -535,12 +610,12 @@ ...@@ -535,12 +610,12 @@
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">No contacts found <property name="label" translatable="yes">No contacts found
You can also type an XMPP address</property> You can also type an XMPP address</property>
<property name="justify">center</property> <property name="justify">center</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<property name="max_width_chars">35</property> <property name="max-width-chars">35</property>
<style> <style>
<class name="dim-label"/> <class name="dim-label"/>
</style> </style>
......
gajim/data/icons/hicolor/16x16/devices/feather-filter-symbolic.symbolic.png

273 B

gajim/data/icons/hicolor/32x32/devices/feather-filter-symbolic.symbolic.png

485 B

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="feather feather-filter"
version="1.1"
id="svg4"
sodipodi:docname="feather-filter-symbolic.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="998"
id="namedview6"
showgrid="false"
inkscape:zoom="34.291667"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1;opacity:1"
d="M 2 2 A 1.0001 1.0001 0 0 0 1.2363281 3.6464844 L 9 12.826172 L 9 19 A 1.0001 1.0001 0 0 0 9.5527344 19.894531 L 13.552734 21.894531 A 1.0001 1.0001 0 0 0 15 21 L 15 12.826172 L 22.763672 3.6464844 A 1.0001 1.0001 0 0 0 22 2 L 2 2 z M 4.15625 4 L 19.84375 4 L 13.236328 11.814453 A 1.0001 1.0001 0 0 0 13 12.460938 L 13 19.382812 L 11 18.382812 L 11 12.460938 A 1.0001 1.0001 0 0 0 10.763672 11.814453 L 4.15625 4 z "
id="polygon2" />
</svg>
...@@ -283,6 +283,13 @@ def _on_infobar_response(self, _widget, response): ...@@ -283,6 +283,13 @@ def _on_infobar_response(self, _widget, response):
self._ui.infobar.set_revealed(False) self._ui.infobar.set_revealed(False)
app.settings.set('show_help_start_chat', False) app.settings.set('show_help_start_chat', False)
def _on_filter_bar_toggled(self, toggle_button):
active = toggle_button.get_active()
self._ui.filter_bar_revealer.set_reveal_child(active)
def _on_filter_toggled(self, _toggle_button):
self._ui.listbox.invalidate_filter()
def _start_new_chat(self, row): def _start_new_chat(self, row):
if row.new: if row.new:
try: try:
...@@ -406,6 +413,8 @@ def _on_global_search_toggle(self, button): ...@@ -406,6 +413,8 @@ def _on_global_search_toggle(self, button):
self._ui.search_entry.grab_focus() self._ui.search_entry.grab_focus()
image_style_context = button.get_children()[0].get_style_context() image_style_context = button.get_children()[0].get_style_context()
if button.get_active(): if button.get_active():
self._ui.filter_bar_toggle.set_active(False)
self._ui.filter_bar_toggle.set_sensitive(False)
image_style_context.add_class('selected-color') image_style_context.add_class('selected-color')
self._set_listbox(self._global_search_listbox) self._set_listbox(self._global_search_listbox)
if self._ui.search_entry.get_text(): if self._ui.search_entry.get_text():
...@@ -413,6 +422,7 @@ def _on_global_search_toggle(self, button): ...@@ -413,6 +422,7 @@ def _on_global_search_toggle(self, button):
self._remove_new_jid_row() self._remove_new_jid_row()
self._ui.listbox.invalidate_filter() self._ui.listbox.invalidate_filter()
else: else:
self._ui.filter_bar_toggle.set_sensitive(True)
self._ui.search_entry.set_text('') self._ui.search_entry.set_text('')
image_style_context.remove_class('selected-color') image_style_context.remove_class('selected-color')
self._set_listbox(self._ui.listbox) self._set_listbox(self._ui.listbox)
...@@ -495,6 +505,14 @@ def _filter_func(self, row, _user_data): ...@@ -495,6 +505,14 @@ def _filter_func(self, row, _user_data):
search_text = self._ui.search_entry.get_text().lower() search_text = self._ui.search_entry.get_text().lower()
search_text_list = search_text.split() search_text_list = search_text.split()
row_text = row.get_search_text().lower() row_text = row.get_search_text().lower()
show_chats = self._ui.filter_chats.get_active()
show_groupchats = self._ui.filter_groupchats.get_active()
if row.groupchat and not show_groupchats:
return False
if not row.groupchat and not show_chats:
return False
for text in search_text_list: for text in search_text_list:
if text not in row_text: if text not in row_text:
GLib.timeout_add(50, self.select_first_row) GLib.timeout_add(50, self.select_first_row)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment