Daniel Brötzmann pushed to branch newcontrol at gajim / gajim
Commits:
ae457655 by wurstsalat at 2022-07-23T21:59:56+02:00
fix: Preserve primary clipboard throughout switching chats
- - - - -
1 changed file:
- gajim/gtk/chat_stack.py
Changes:
=====================================
gajim/gtk/chat_stack.py
=====================================
@@ -20,6 +20,7 @@
import sys
import logging
+from gi.repository import Gdk
from gi.repository import GLib
from gi.repository import Gio
from gi.repository import Gtk
@@ -97,6 +98,10 @@ def get_control_stack(self) -> ControlStack:
return self._control_stack
def show_chat(self, account: str, jid: JID) -> None:
+ # Store (preserve) primary clipboard and restore it after switching
+ clipboard = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY)
+ old_primary_clipboard = clipboard.wait_for_text()
+
if self._current_contact is not None:
self._current_contact.disconnect_all_from_obj(self)
@@ -151,6 +156,10 @@ def show_chat(self, account: str, jid: JID) -> None:
self.set_transition_type(Gtk.StackTransitionType.NONE)
self.set_visible_child_name('controls')
+
+ if old_primary_clipboard is not None:
+ GLib.idle_add(clipboard.set_text, old_primary_clipboard, -1)
+
GLib.idle_add(self._message_action_box.msg_textview.grab_focus)
def _on_room_password_required(self,
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/ae45765584c4a0ff321ea37aef49a92c8158e93a
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/ae45765584c4a0ff321ea37aef49a92c8158e93a
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits