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:
authornicoco <nicoco@nicoco.fr>2023-10-02 00:07:48 +0300
committerPhilipp Hörist <philipp@hoerist.com>2023-11-28 23:17:52 +0300
commita2d9eabca7e29c88836f631c9ae8d0830800eea3 (patch)
tree55e7218e2d65a96fa4adf517342d183a1c0ed0c4
parentf469dfe9b9c821ca36757d61293690f3b2816a2a (diff)
feat: StartChat: Show contact tooltip on avatar
-rw-r--r--gajim/gtk/start_chat.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/gajim/gtk/start_chat.py b/gajim/gtk/start_chat.py
index ba82ee037..42c7d1732 100644
--- a/gajim/gtk/start_chat.py
+++ b/gajim/gtk/start_chat.py
@@ -55,6 +55,7 @@ from gajim.gtk.chat_filter import ChatFilter
from gajim.gtk.groupchat_info import GroupChatInfoScrolled
from gajim.gtk.groupchat_nick import NickChooser
from gajim.gtk.menus import get_start_chat_row_menu
+from gajim.gtk.tooltips import ContactTooltip
from gajim.gtk.util import AccountBadge
from gajim.gtk.util import GajimPopover
from gajim.gtk.util import get_icon_name
@@ -787,6 +788,10 @@ class ContactRow(Gtk.ListBoxRow):
image.set_size_request(AvatarSize.CHAT, AvatarSize.CHAT)
grid.add(image)
+ self._tooltip = ContactTooltip()
+ image.set_has_tooltip(True)
+ image.connect('query-tooltip', self._on_query_tooltip)
+
box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0)
box.set_hexpand(True)
@@ -820,8 +825,6 @@ class ContactRow(Gtk.ListBoxRow):
self.status_label.get_style_context().add_class('dim-label')
box.add(self.status_label)
- grid.set_tooltip_text(str(jid))
-
grid.add(box)
self._grid = grid
@@ -831,6 +834,18 @@ class ContactRow(Gtk.ListBoxRow):
self.add(eventbox)
self.show_all()
+ def _on_query_tooltip(self,
+ _img: Gtk.Image,
+ _x_coord: int,
+ _y_coord: int,
+ _keyboard_mode: bool,
+ tooltip: Gtk.Tooltip) -> bool:
+ if not isinstance(self.contact, BareContact):
+ return False
+ v, widget = self._tooltip.get_tooltip(self.contact)
+ tooltip.set_custom(widget)
+ return v
+
def _popup_menu(self,
_widget: Gtk.EventBox,
event: Gdk.EventButton