Daniel Brötzmann pushed to branch emoji-completion-sorting at gajim / gajim
Commits:
4d053059 by Philipp Hörist at 2025-07-26T10:08:12+02:00
imprv: Main: Hide chat on escape
Fixes #12381
- - - - -
286806a8 by Philipp Hörist at 2025-07-26T10:09:25+02:00
imprv: Main: Make Escape close the window independent of chat setting
- - - - -
1d8acf6f by wurstsalat at 2025-07-26T16:09:31+02:00
imprv: Emoji completion: Sort emojis; improve search
Fixes #12382
- - - - -
2 changed files:
- gajim/gtk/completion/emoji.py
- gajim/gtk/main.py
Changes:
=====================================
gajim/gtk/completion/emoji.py
=====================================
@@ -8,6 +8,7 @@
from typing import cast
from typing import Final
+import locale
import logging
from gi.repository import Gdk
@@ -158,9 +159,17 @@ def parse_emoji_data(bytes_data: GLib.Bytes, loc: str) ->
Gio.ListStore:
)
store.append(item)
+ store.sort(_sort_short_name)
return store
+@staticmethod
+def _sort_short_name(
+ item1: EmojiCompletionListItem, item2: EmojiCompletionListItem
+) -> int:
+ return locale.strcoll(item1.short_name, item2.short_name)
+
+
class EmojiCompletionListItem(BaseCompletionListItem, GObject.Object):
__gtype_name__ = "EmojiCompletionListItem"
@@ -274,6 +283,7 @@ def __init__(self) -> None:
expression = Gtk.PropertyExpression.new(EmojiCompletionListItem, None,
"search")
self._string_filter = Gtk.StringFilter(expression=expression)
+ self._string_filter.set_match_mode(Gtk.StringFilterMatchMode.PREFIX)
self._filter_model = Gtk.FilterListModel(filter=self._string_filter)
self._model = Gtk.SliceListModel(
=====================================
gajim/gtk/main.py
=====================================
@@ -513,7 +513,12 @@ def _on_action(
self._chat_page.remove_chat(
control.contact.account, control.contact.jid
)
- return None
+ else:
+ workspace_id = self.get_active_workspace()
+ if workspace_id is not None:
+ app.window.activate_workspace(workspace_id)
+
+ return None
elif action_name == "close-chat":
self._chat_page.remove_chat(
@@ -521,7 +526,7 @@ def _on_action(
)
return None
- if action_name == "escape" and app.settings.get("escape_key_closes"):
+ if action_name == "escape":
self.close()
elif action_name == "restore-chat":
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/5347e2c9eefc0e5be87c01c100fe701dc115d29f...1d8acf6fe24f8e5543e3dea0eb25d4c037c14728
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/5347e2c9eefc0e5be87c01c100fe701dc115d29f...1d8acf6fe24f8e5543e3dea0eb25d4c037c14728
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]