Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwurstsalat <mailtrash@posteo.de>2022-09-30 00:01:19 +0300
committerwurstsalat <mailtrash@posteo.de>2022-09-30 00:01:58 +0300
commit81436bee717700bab968dc27f1ab6193509538c6 (patch)
tree289ca6b0531e785157759e7cc3016f633228df8e
parentcaec3515b229d5f8754694994f8dbeaae3d14ee5 (diff)
perf: SearchView: Update calendar only if widget is visible
This avoids unnecessary database queries when switching chats
-rw-r--r--gajim/gtk/chat_page.py6
-rw-r--r--gajim/gtk/search_view.py9
2 files changed, 9 insertions, 6 deletions
diff --git a/gajim/gtk/chat_page.py b/gajim/gtk/chat_page.py
index a1def675c..3d9ea6542 100644
--- a/gajim/gtk/chat_page.py
+++ b/gajim/gtk/chat_page.py
@@ -155,7 +155,10 @@ class ChatPage(Gtk.Box):
jid: JID) -> None:
self._chat_stack.show_chat(account, jid)
- self._search_view.set_context(account, jid)
+
+ if self._search_revealer.get_reveal_child():
+ self._search_view.set_context(account, jid)
+
self.emit('chat-selected', workspace_id, account, jid)
def _on_chat_unselected(self, _chat_list_stack: ChatListStack) -> None:
@@ -170,7 +173,6 @@ class ChatPage(Gtk.Box):
self._search_view.set_context(self._chat_control.contact.account,
self._chat_control.contact.jid)
- self._search_view.clear()
self._search_revealer.set_reveal_child(True)
self._search_view.set_focus()
diff --git a/gajim/gtk/search_view.py b/gajim/gtk/search_view.py
index 0768d2254..ae6d5e458 100644
--- a/gajim/gtk/search_view.py
+++ b/gajim/gtk/search_view.py
@@ -78,11 +78,10 @@ class SearchView(Gtk.Box):
app.ged.register_event_handler('account-disabled',
ged.GUI1,
self._on_account_state)
- self._update_calendar()
self.show_all()
def _on_account_state(self, _event: Any) -> None:
- self.clear()
+ self._clear()
@staticmethod
def _header_func(row: ResultRow, before: ResultRow) -> None:
@@ -100,9 +99,9 @@ class SearchView(Gtk.Box):
def _on_hide_clicked(self, _button: Gtk.Button) -> None:
self.emit('hide-search')
- self.clear()
+ self._clear()
- def clear(self) -> None:
+ def _clear(self) -> None:
self._ui.search_entry.set_text('')
self._clear_results()
@@ -357,6 +356,8 @@ class SearchView(Gtk.Box):
def set_focus(self) -> None:
self._ui.search_entry.grab_focus()
+ self._clear()
+ self._update_calendar()
def set_context(self, account: Optional[str], jid: Optional[JID]) -> None:
self._account = account