From 7e79023b09320738fb98f36c51d29422dcc70ec1 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 3 Oct 2024 11:06:47 -0400 Subject: [PATCH] viewers: Share most of _refresh_grab_keys implementation Signed-off-by: Cole Robinson --- virtManager/details/viewers.py | 74 +++++++++++++--------------------- 1 file changed, 28 insertions(+), 46 deletions(-) diff --git a/virtManager/details/viewers.py b/virtManager/details/viewers.py index ac2dfe10c..5ab828cbf 100644 --- a/virtManager/details/viewers.py +++ b/virtManager/details/viewers.py @@ -160,6 +160,27 @@ class Viewer(vmmGObject): def _get_grab_keys(self): return self._display.get_grab_keys().as_string() + def _refresh_grab_keys(self): + if not self._display: + return # pragma: no cover + + try: + keys = self.config.get_keys_combination() + if not keys: + return # pragma: no cover + + try: + keys = [int(k) for k in keys.split(',')] + except Exception: # pragma: no cover + log.debug("Error in grab_keys configuration in Gsettings", + exc_info=True) + return + + self._set_grab_keys(keys) + except Exception as e: # pragma: no cover + log.debug("Error when getting the grab keys combination: %s", + str(e)) + def _emit_disconnected(self, errdetails=None): ssherr = self._tunnels.get_err_output() self.emit("disconnected", errdetails, ssherr) @@ -203,7 +224,7 @@ class Viewer(vmmGObject): def _send_keys(self, keys): raise NotImplementedError() - def _refresh_grab_keys(self): + def _set_grab_keys(self, keys): raise NotImplementedError() def _open_host(self): @@ -399,30 +420,9 @@ class VNCViewer(Viewer): if self._display: return self._display.set_scaling(scaling) - def _get_grab_keys(self): - return self._display.get_grab_keys().as_string() - - def _refresh_grab_keys(self): - if not self._display: - return # pragma: no cover - - try: - keys = self.config.get_keys_combination() - if not keys: - return # pragma: no cover - - try: - keys = [int(k) for k in keys.split(',')] - except Exception: # pragma: no cover - log.debug("Error in grab_keys configuration in Gsettings", - exc_info=True) - return - - seq = GtkVnc.GrabSequence.new(keys) - self._display.set_grab_keys(seq) - except Exception as e: # pragma: no cover - log.debug("Error when getting the grab keys combination: %s", - str(e)) + def _set_grab_keys(self, keys): + seq = GtkVnc.GrabSequence.new(keys) + self._display.set_grab_keys(seq) def _send_keys(self, keys): return self._display.send_keys([Gdk.keyval_from_name(k) for k in keys]) @@ -693,27 +693,9 @@ class SpiceViewer(Viewer): def _is_open(self): return self._spice_session is not None - def _refresh_grab_keys(self): - if not self._display: - return # pragma: no cover - - try: - keys = self.config.get_keys_combination() - if not keys: - return # pragma: no cover - - try: - keys = [int(k) for k in keys.split(',')] - except Exception: # pragma: no cover - log.debug("Error in grab_keys configuration in Gsettings", - exc_info=True) - return - - seq = SpiceClientGtk.GrabSequence.new(keys) - self._display.set_grab_keys(seq) - except Exception as e: # pragma: no cover - log.debug("Error when getting the grab keys combination: %s", - str(e)) + def _set_grab_keys(self, keys): + seq = SpiceClientGtk.GrabSequence.new(keys) + self._display.set_grab_keys(seq) def _send_keys(self, keys): return self._display.send_keys([Gdk.keyval_from_name(k) for k in keys],