Philipp Hörist pushed to branch master at gajim / gajim


Commits:
d828a0ea by Nicoco at 2023-10-15T19:32:04+00:00
feat: ChatBanner: Show contact tooltip when hovering the avatar

- - - - -


2 changed files:

- gajim/data/gui/chat_banner.ui
- gajim/gtk/chat_banner.py


Changes:

=====================================
gajim/data/gui/chat_banner.ui
=====================================
@@ -118,6 +118,8 @@
       <object class="GtkImage" id="avatar_image">
         <property name="visible">True</property>
         <property name="can-focus">False</property>
+        <property name="has-tooltip">True</property>
+        <signal name="query-tooltip" handler="_on_query_tooltip" swapped="no"/>
       </object>
       <packing>
         <property name="expand">False</property>


=====================================
gajim/gtk/chat_banner.py
=====================================
@@ -43,6 +43,7 @@
 from gajim.gtk.menus import get_private_chat_menu
 from gajim.gtk.menus import get_self_contact_menu
 from gajim.gtk.menus import get_singlechat_menu
+from gajim.gtk.tooltips import ContactTooltip
 from gajim.gtk.util import AccountBadge
 
 
@@ -276,6 +277,20 @@ def _update_avatar(self) -> None:
         assert isinstance(surface, cairo.ImageSurface)
         self._ui.avatar_image.set_from_surface(surface)
 
+        self._avatar_image_tooltip = ContactTooltip()
+
+    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
+        res, widget = self._avatar_image_tooltip.get_tooltip(self._contact)
+        tooltip.set_custom(widget)
+        return res
+
     def _update_visitor_button(self) -> None:
         if not isinstance(self._contact, GroupchatContact):
             self._ui.visitor_box.set_visible(False)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/d828a0eadb7af45de9887fa6f2d35cbf90c37c1b

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/d828a0eadb7af45de9887fa6f2d35cbf90c37c1b
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]

Reply via email to