diff options
author | wurstsalat <mailtrash@posteo.de> | 2023-05-23 22:20:34 +0300 |
---|---|---|
committer | wurstsalat <mailtrash@posteo.de> | 2023-05-23 22:20:34 +0300 |
commit | b8e51144fef2e96d67c0aa6f82246f16b2ff0318 (patch) | |
tree | ab8987a47e983ea63c3e7f7f1f292d690259983e | |
parent | ae08c961da6b6b1866ae28c9d0983593fa408151 (diff) |
imprv: ChatBanner: Add share instructions
-rw-r--r-- | gajim/data/gui/chat_banner.ui | 33 | ||||
-rw-r--r-- | gajim/gtk/builder.pyi | 3 | ||||
-rw-r--r-- | gajim/gtk/chat_banner.py | 7 |
3 files changed, 39 insertions, 4 deletions
diff --git a/gajim/data/gui/chat_banner.ui b/gajim/data/gui/chat_banner.ui index b92657b54..9a070f697 100644 --- a/gajim/data/gui/chat_banner.ui +++ b/gajim/data/gui/chat_banner.ui @@ -11,6 +11,23 @@ <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> <property name="can-focus">False</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> diff --git a/gajim/gtk/builder.pyi b/gajim/gtk/builder.pyi index 17e3d6458..536011114 100644 --- a/gajim/gtk/builder.pyi +++ b/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 diff --git a/gajim/gtk/chat_banner.py b/gajim/gtk/chat_banner.py index b47c00d0b..0656a7fa6 100644 --- a/gajim/gtk/chat_banner.py +++ b/gajim/gtk/chat_banner.py @@ -343,6 +343,13 @@ class ChatBanner(Gtk.Box, EventHelper): 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())) |