Daniel Brötzmann pushed to branch newcontrol at gajim / gajim
Commits:
7425872e by wurstsalat at 2022-07-29T23:51:26+02:00
refactor: Move getting copy modifiers into separate methods
- - - - -
722220a1 by wurstsalat at 2022-07-29T23:52:02+02:00
fix: MessageRow: Accept CommonError for message errors
- - - - -
894ae581 by wurstsalat at 2022-07-29T23:59:52+02:00
refactor: BaseControl: Get room name directly for private chats
- - - - -
5 changed files:
- gajim/gtk/controls/base.py
- gajim/gtk/controls/private.py
- gajim/gtk/conversation/rows/message.py
- gajim/gtk/conversation/view.py
- gajim/gtk/util.py
Changes:
=====================================
gajim/gtk/controls/base.py
=====================================
@@ -32,7 +32,6 @@
import os
import logging
-import sys
import time
import uuid
@@ -61,6 +60,8 @@
from gajim.gui.conversation.view import ConversationView
from gajim.gui.conversation.scrolled import ScrolledView
from gajim.gui.conversation.jump_to_end_button import JumpToEndButton
+from gajim.gui.util import get_copy_modifier
+from gajim.gui.util import get_copy_modifier_keys
from gajim.gui.util import get_hardware_key_codes
from gajim.gui.builder import get_builder
from gajim.gui.util import set_urgency_hint
@@ -82,18 +83,12 @@
# So we match hardware keycodes instead of keyvals.
# Multiple hardware keycodes can trigger a keyval like Gdk.KEY_c.
KEYCODES_KEY_C = get_hardware_key_codes(Gdk.KEY_c)
-
-if sys.platform == 'darwin':
- COPY_MODIFIER = Gdk.ModifierType.META_MASK
- COPY_MODIFIER_KEYS = (Gdk.KEY_Meta_L, Gdk.KEY_Meta_R)
-else:
- COPY_MODIFIER = Gdk.ModifierType.CONTROL_MASK
- COPY_MODIFIER_KEYS = (Gdk.KEY_Control_L, Gdk.KEY_Control_R)
+COPY_MODIFIER = get_copy_modifier()
+COPY_MODIFIER_KEYS = get_copy_modifier_keys()
log = logging.getLogger('gajim.gui.controls.base')
-################################################################################
class BaseControl(ChatCommandProcessor, CommandTools, EventHelper):
"""
A base class containing a banner, ConversationView, MessageInputTextView
@@ -511,8 +506,10 @@ def _notify(self,
return
if self.is_privatechat:
+ room_contact = self._client.get_module('Contacts').get_contact(
+ self.contact.jid.bare)
msg_type = 'private-chat-message'
- title += f' (private in {self.room_name})'
+ title += f' (private in {room_contact.name})'
sound = 'first_message_received'
# Is it a history message? Don't want sound-floods when we join.
=====================================
gajim/gtk/controls/private.py
=====================================
@@ -61,10 +61,6 @@ def _connect_contact_signals(self) -> None:
# 'room-destroyed': self._on_room_destroyed,
})
- @property
- def room_name(self) -> str:
- return self._room_contact.name
-
def get_our_nick(self) -> str:
muc_data = self._client.get_module('MUC').get_muc_data(
self._room_contact.jid)
=====================================
gajim/gtk/conversation/rows/message.py
=====================================
@@ -15,6 +15,7 @@
from __future__ import annotations
from typing import Optional
+from typing import Union
from datetime import datetime
from datetime import timedelta
@@ -30,6 +31,7 @@
from nbxmpp.errors import StanzaError
from nbxmpp.modules.security_labels import Displaymarking
+from nbxmpp.structs import CommonError
from gajim.common import app
from gajim.common.const import AvatarSize
@@ -71,7 +73,7 @@ def __init__(self,
additional_data: Optional[AdditionalDataDict] = None,
display_marking: Optional[Displaymarking] = None,
marker: Optional[str] = None,
- error: Optional[StanzaError] = None,
+ error: Union[CommonError, StanzaError, None] = None,
encryption_enabled: bool = False,
log_line_id: Optional[int] = None) -> None:
=====================================
gajim/gtk/conversation/view.py
=====================================
@@ -31,6 +31,7 @@
from nbxmpp.errors import StanzaError
from nbxmpp.modules.security_labels import Displaymarking
+from nbxmpp.structs import CommonError
from nbxmpp.structs import MucSubject
from nbxmpp.protocol import JID
@@ -228,7 +229,8 @@ def add_message(self,
display_marking: Optional[Displaymarking] = None,
additional_data: Optional[AdditionalDataDict] = None,
marker: Optional[str] = None,
- error: Optional[StanzaError] = None) -> None:
+ error: Union[CommonError, StanzaError, None] = None
+ ) -> None:
if not timestamp:
timestamp = time.time()
=====================================
gajim/gtk/util.py
=====================================
@@ -23,6 +23,7 @@
import logging
import math
+import sys
import textwrap
from io import BytesIO
from importlib import import_module
@@ -358,6 +359,18 @@ def get_primary_accel_mod() -> Optional[Gdk.ModifierType]:
return Gtk.accelerator_parse('<Primary>')[1]
+def get_copy_modifier() -> Gdk.ModifierType:
+ if sys.platform == 'darwin':
+ return Gdk.ModifierType.META_MASK
+ return Gdk.ModifierType.CONTROL_MASK
+
+
+def get_copy_modifier_keys() -> tuple[int, int]:
+ if sys.platform == 'darwin':
+ return Gdk.KEY_Meta_L, Gdk.KEY_Meta_R
+ return Gdk.KEY_Control_L, Gdk.KEY_Control_R
+
+
def get_hardware_key_codes(keyval: int) -> list[int]:
display = Gdk.Display.get_default()
assert display is not None
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/b44ea8f393f19822e22c08a52236a75ccc89d0ea...894ae581a95e7e1c11257c0dfed12c302682159a
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/b44ea8f393f19822e22c08a52236a75ccc89d0ea...894ae581a95e7e1c11257c0dfed12c302682159a
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