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


Commits:
2a506967 by Philipp Hörist at 2024-10-03T00:18:36+02:00
refactor: Fix Server Info Dialog

- - - - -


2 changed files:

- gajim/data/gui/certificate.ui
- gajim/gtk/server_info.py


Changes:

=====================================
gajim/data/gui/certificate.ui
=====================================
@@ -356,7 +356,6 @@
         <child>
           <object class="GtkButton" id="copy_cert_info_button">
             <property name="focusable">1</property>
-            <property name="has-focus">1</property>
             <property name="tooltip-text" translatable="1">Copy Certificate 
Information</property>
             <property name="halign">end</property>
             <signal name="clicked" handler="_on_copy_cert_info_button_clicked" 
swapped="no"/>


=====================================
gajim/gtk/server_info.py
=====================================
@@ -64,7 +64,10 @@ def __init__(self, account: str) -> None:
         self.set_child(self._ui.server_info_notebook)
 
         self.connect('destroy', self._on_destroy)
-        # self.connect('key-press-event', self._on_key_press)
+
+        controller = Gtk.EventControllerKey()
+        controller.connect('key-pressed', self._on_key_pressed)
+        self.add_controller(controller)
 
         self.register_events([
             ('server-disco-received', ged.GUI1, self._server_disco_received),
@@ -91,6 +94,7 @@ def __init__(self, account: str) -> None:
         else:
             cert_box = CertificateBox(account, self._client.certificate)
             self._ui.cert_scrolled.set_child(cert_box)
+            self._ui.cert_scrolled.show()
 
         for feature in self._get_features():
             self._add_feature(feature)
@@ -104,9 +108,18 @@ def __init__(self, account: str) -> None:
     def _on_destroy(self, *args: Any) -> None:
         self._destroyed = True
 
-    def _on_key_press(self, _widget: Gtk.Widget, event: Any) -> None:
-        if event.keyval == Gdk.KEY_Escape:
+    def _on_key_pressed(
+        self,
+        _event_controller_key: Gtk.EventControllerKey,
+        keyval: int,
+        _keycode: int,
+        _state: Gdk.ModifierType
+    ) -> bool:
+        if keyval == Gdk.KEY_Escape:
             self.destroy()
+            return True
+        return False
+
 
     def _add_connection_info(self) -> None:
         # Connection type
@@ -325,7 +338,11 @@ def _on_clipboard_button_clicked(self, _widget: 
Gtk.Button) -> None:
             server_features += f'{feature.name}: {available} {additional}\n'
 
         clipboard_text = server_software + server_features
-        self._clipboard.set_text(clipboard_text, -1)
+
+        default_display = Gdk.Display.get_default()
+        if default_display is not None:
+            clipboard = default_display.get_clipboard()
+            clipboard.set(clipboard_text)
 
 
 class FeatureItem(Gtk.ListBoxRow):



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

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