Daniel Brötzmann pushed to branch master at gajim / gajim
Commits: b8e51144 by wurstsalat at 2023-05-23T21:20:34+02:00 imprv: ChatBanner: Add share instructions
- - - - -
3 changed files:
- gajim/data/gui/chat_banner.ui - gajim/gtk/builder.pyi - gajim/gtk/chat_banner.py
Changes:
===================================== gajim/data/gui/chat_banner.ui ===================================== @@ -10,6 +10,23 @@ <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="share_instructions"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="justify">center</property> + <property name="wrap">True</property> + <property name="max-width-chars">24</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> <child> <object class="GtkImage" id="qr_code_image"> <property name="visible">True</property> @@ -23,8 +40,18 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">0</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkSeparator"> + <property name="visible">True</property> + <property name="can-focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> </packing> </child> <child> @@ -74,7 +101,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">1</property> + <property name="position">3</property> </packing> </child> <style>
===================================== gajim/gtk/builder.pyi ===================================== @@ -188,8 +188,9 @@ class CertificateBuilder(Builder):
class ChatBannerBuilder(Builder): share_popover: Gtk.Popover - qr_code_image: Gtk.Image jid_label: Gtk.Label + share_instructions: Gtk.Label + qr_code_image: Gtk.Image banner_box: Gtk.Box avatar_image: Gtk.Image chat_menu_button: Gtk.MenuButton
===================================== gajim/gtk/chat_banner.py ===================================== @@ -343,6 +343,13 @@ def _get_share_uri(self) -> str: return self._client.get_module('OMEMO').compose_trust_uri(jid)
def _on_share_clicked(self, _button: Gtk.Button) -> None: + assert self._contact is not None + if self._contact.is_groupchat: + share_text = _('Scan this QR code to join %s.') + else: + share_text = _('Scan this QR code to add %s to your contact list.') + self._ui.share_instructions.set_text(share_text % self._contact.name) + # Generate QR code on demand (i.e. not when switching chats) self._ui.qr_code_image.set_from_pixbuf( generate_qr_code(self._get_share_uri()))
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/b8e51144fef2e96d67c0aa6f82246f16b...