mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-26 08:55:13 +03:00
viewers: add explicit signal for desktop resize
this doesn't change any behavior, but it makes things cleaner by not overloading the size-allocate signal Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
f140ff1836
commit
fe09e8f47e
@ -763,7 +763,10 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
self._pointer_is_grabbed = False
|
||||
self.emit("change-title")
|
||||
|
||||
def _viewer_allocate_cb(self, src, req):
|
||||
def _viewer_size_allocate_cb(self, src, req):
|
||||
self._adjust_viewer_size()
|
||||
|
||||
def _viewer_desktop_resolution_changed_cb(self, src):
|
||||
self._adjust_viewer_size()
|
||||
|
||||
def _viewer_keyboard_grab_cb(self, src):
|
||||
@ -853,7 +856,9 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
self._viewer.connect("add-display-widget", self._viewer_add_display_cb)
|
||||
self._viewer.connect("pointer-grab", self._pointer_grabbed_cb)
|
||||
self._viewer.connect("pointer-ungrab", self._pointer_ungrabbed_cb)
|
||||
self._viewer.connect("size-allocate", self._viewer_allocate_cb)
|
||||
self._viewer.connect("size-allocate", self._viewer_size_allocate_cb)
|
||||
self._viewer.connect("desktop-resolution-changed",
|
||||
self._viewer_desktop_resolution_changed_cb)
|
||||
self._viewer.connect("keyboard-grab", self._viewer_keyboard_grab_cb)
|
||||
self._viewer.connect("keyboard-ungrab", self._viewer_keyboard_grab_cb)
|
||||
self._viewer.connect("connected", self._viewer_connected_cb)
|
||||
|
@ -56,6 +56,7 @@ class Viewer(vmmGObject):
|
||||
__gsignals__ = {
|
||||
"add-display-widget": (vmmGObject.RUN_FIRST, None, [object]),
|
||||
"size-allocate": (vmmGObject.RUN_FIRST, None, [object]),
|
||||
"desktop-resolution-changed": (vmmGObject.RUN_FIRST, None, []),
|
||||
"pointer-grab": (vmmGObject.RUN_FIRST, None, []),
|
||||
"pointer-ungrab": (vmmGObject.RUN_FIRST, None, []),
|
||||
"keyboard-grab": (vmmGObject.RUN_FIRST, None, []),
|
||||
@ -169,10 +170,13 @@ class Viewer(vmmGObject):
|
||||
|
||||
origres = self._desktop_resolution
|
||||
newres = (w, h)
|
||||
if origres != newres:
|
||||
log.debug("vm=%s resolution changed: orig=%s new=%s",
|
||||
self._vm.get_name(), origres, newres)
|
||||
if origres == newres:
|
||||
return # pragma: no cover
|
||||
|
||||
log.debug("vm=%s resolution changed: orig=%s new=%s",
|
||||
self._vm.get_name(), origres, newres)
|
||||
self._desktop_resolution = newres
|
||||
self.emit("desktop-resolution-changed")
|
||||
|
||||
def _get_desktop_resolution(self):
|
||||
ret = self._desktop_resolution or (0, 0)
|
||||
@ -321,7 +325,7 @@ class VNCViewer(Viewer):
|
||||
self._display.connect("vnc-auth-failure", self._auth_failure_cb)
|
||||
self._display.connect("vnc-initialized", self._connected_cb)
|
||||
self._display.connect("vnc-disconnected", self._disconnected_cb)
|
||||
self._display.connect("vnc-desktop-resize", self._desktop_resize)
|
||||
self._display.connect("vnc-desktop-resize", self._desktop_resize_cb)
|
||||
|
||||
self._display.show()
|
||||
|
||||
@ -341,9 +345,8 @@ class VNCViewer(Viewer):
|
||||
self._tunnels.unlock()
|
||||
self._emit_disconnected()
|
||||
|
||||
def _desktop_resize(self, src_ignore, w, h):
|
||||
def _desktop_resize_cb(self, src, w, h):
|
||||
self._set_desktop_resolution(w, h)
|
||||
self.emit("size-allocate", None)
|
||||
|
||||
def _auth_failure_cb(self, ignore, msg):
|
||||
log.debug("VNC auth failure. msg=%s", msg)
|
||||
|
Loading…
Reference in New Issue
Block a user