Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
05184e42 by wurstsalat at 2022-05-31T16:23:47+02:00
imprv: Windows: Enable native emoji chooser
- - - - -
5 changed files:
- gajim/gtk/application.py
- gajim/gtk/controls/base.py
- gajim/gtk/conversation/plain_widget.py
- gajim/gtk/message_input.py
- gajim/gtk/preferences.py
Changes:
=====================================
gajim/gtk/application.py
=====================================
@@ -232,7 +232,9 @@ def _startup(self, _application: GajimApplication) -> None:
idle.Monitor.set_interval(app.settings.get('autoawaytime') * 60,
app.settings.get('autoxatime') * 60)
- if sys.platform in ('win32', 'darwin'):
+ if sys.platform == 'darwin':
+ # TODO: Remove if colored emoji rendering works well on
+ # Windows and MacOS
from gajim.gui.emoji_chooser import emoji_chooser
emoji_chooser.load()
=====================================
gajim/gtk/controls/base.py
=====================================
@@ -491,7 +491,9 @@ def delegate_action(self, action: str) -> int:
return Gdk.EVENT_STOP
if action == 'show-emoji-chooser':
- if sys.platform in ('win32', 'darwin'):
+ if sys.platform == 'darwin':
+ # TODO: Remove if colored emoji rendering works well on
+ # Windows and MacOS
self.xml.emoticons_button.get_popover().show()
return Gdk.EVENT_STOP
self.msg_textview.emit('insert-emoji')
@@ -1297,7 +1299,9 @@ def set_emoticon_popover(self) -> None:
if not app.settings.get('emoticons_theme'):
return
- if sys.platform in ('win32', 'darwin'):
+ if sys.platform == 'darwin':
+ # TODO: Remove if colored emoji rendering works well on
+ # Windows and MacOS
emoji_chooser.text_widget = self.msg_textview
self.xml.emoticons_button.set_popover(emoji_chooser)
return
=====================================
gajim/gtk/conversation/plain_widget.py
=====================================
@@ -17,6 +17,7 @@
from typing import Any
import logging
+import sys
from gi.repository import Gtk
from gi.repository import Pango
@@ -52,15 +53,17 @@ def __init__(self, account: str, selectable: bool) -> None:
self._account = account
- # We use a Gtk.Textview on Windows and MacOS, since there is no support
- # for rendering color fonts (Emojis) on Windows/MacOS yet, see:
- # https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/244
+ # We use a Gtk.Textview on MacOS, since there is no support
+ # for rendering color fonts (Emojis) on MacOS yet, see:
+ # https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/289
# https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/9
- # if app.settings.get('dev_use_message_label'):
- # self._text_widget = MessageLabel(self._account, selectable)
- # else:
- # self._text_widget = MessageTextview(self._account)
- self._text_widget = MessageLabel(self._account, selectable)
+ if sys.platform == 'darwin':
+ if app.settings.get('dev_use_message_label'):
+ self._text_widget = MessageLabel(self._account, selectable)
+ else:
+ self._text_widget = MessageTextview(self._account)
+ else:
+ self._text_widget = MessageLabel(self._account, selectable)
self.add(self._text_widget)
def add_content(self, block: PlainBlock) -> None:
=====================================
gajim/gtk/message_input.py
=====================================
@@ -19,6 +19,8 @@
from typing import Any
+import sys
+
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GdkPixbuf
@@ -222,6 +224,10 @@ def apply_formatting(self, formatting: str) -> None:
buf.get_iter_at_offset(end_offset + 2))
def replace_emojis(self) -> None:
+ if sys.platform != 'darwin':
+ # TODO: Remove if colored emoji rendering works well on MacOS
+ return
+
theme = app.settings.get('emoticons_theme')
if not theme or theme == 'font':
return
=====================================
gajim/gtk/preferences.py
=====================================
@@ -116,7 +116,9 @@ def __init__(self) -> None:
self._ui.connect_signals(self)
self.show_all()
- if sys.platform not in ('win32', 'darwin'):
+ if sys.platform != 'darwin':
+ # TODO: Remove if colored emoji rendering works well on
+ # Windows and MacOS
self._ui.emoji.hide()
def get_ui(self):
@@ -701,7 +703,9 @@ def _on_dark_theme(value: str, *args: Any) -> None:
class Emoji(PreferenceBox):
def __init__(self, *args: Any) -> None:
- if sys.platform not in ('win32', 'darwin'):
+ if sys.platform != 'darwin':
+ # TODO: Remove if colored emoji rendering works well on
+ # Windows and MacOS
PreferenceBox.__init__(self, [])
return
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/05184e4292fb6b027f33bbe14ea59fcc07832deb
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/05184e4292fb6b027f33bbe14ea59fcc07832deb
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits