mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
Remember VNC scaling setting for each VM.
Uses the newly added per-VM preference infrastructure
This commit is contained in:
parent
d9860d4a61
commit
b619961f29
@ -348,10 +348,10 @@ class vmmConfig:
|
|||||||
def on_console_scaling_changed(self, callback):
|
def on_console_scaling_changed(self, callback):
|
||||||
self.conf.notify_add(self.conf_dir + "/console/scaling", callback)
|
self.conf.notify_add(self.conf_dir + "/console/scaling", callback)
|
||||||
def get_console_scaling(self):
|
def get_console_scaling(self):
|
||||||
console_pref = self.conf.get_int(self.conf_dir + "/console/scaling")
|
ret = self.conf.get(self.conf_dir + "/console/scaling")
|
||||||
if console_pref == None:
|
if ret != None:
|
||||||
console_pref = 0
|
ret = ret.get_int()
|
||||||
return console_pref
|
return ret
|
||||||
def set_console_scaling(self, pref):
|
def set_console_scaling(self, pref):
|
||||||
self.conf.set_int(self.conf_dir + "/console/scaling", pref)
|
self.conf.set_int(self.conf_dir + "/console/scaling", pref)
|
||||||
|
|
||||||
|
@ -222,12 +222,9 @@ class vmmDetails(gobject.GObject):
|
|||||||
self.vncViewer.set_keyboard_grab(False)
|
self.vncViewer.set_keyboard_grab(False)
|
||||||
self.vncViewer.set_pointer_grab(True)
|
self.vncViewer.set_pointer_grab(True)
|
||||||
|
|
||||||
self.scale_type = self.config.get_console_scaling()
|
self.scale_type = self.vm.get_console_scaling()
|
||||||
|
self.vm.on_console_scaling_changed(self.refresh_scaling)
|
||||||
self.window.get_widget("details-menu-view-scale-always").set_active(self.scale_type == self.config.CONSOLE_SCALE_ALWAYS)
|
self.refresh_scaling()
|
||||||
self.window.get_widget("details-menu-view-scale-never").set_active(self.scale_type == self.config.CONSOLE_SCALE_NEVER)
|
|
||||||
self.window.get_widget("details-menu-view-scale-fullscreen").set_active(self.scale_type == self.config.CONSOLE_SCALE_FULLSCREEN)
|
|
||||||
self.update_scaling()
|
|
||||||
|
|
||||||
self.vncViewer.connect("vnc-pointer-grab", self.notify_grabbed)
|
self.vncViewer.connect("vnc-pointer-grab", self.notify_grabbed)
|
||||||
self.vncViewer.connect("vnc-pointer-ungrab", self.notify_ungrabbed)
|
self.vncViewer.connect("vnc-pointer-ungrab", self.notify_ungrabbed)
|
||||||
@ -432,6 +429,15 @@ class vmmDetails(gobject.GObject):
|
|||||||
else:
|
else:
|
||||||
self.vncViewer.set_keyboard_grab(False)
|
self.vncViewer.set_keyboard_grab(False)
|
||||||
|
|
||||||
|
def refresh_scaling(self,ignore1=None, ignore2=None, ignore3=None,
|
||||||
|
ignore4=None):
|
||||||
|
self.scale_type = self.vm.get_console_scaling()
|
||||||
|
self.window.get_widget("details-menu-view-scale-always").set_active(self.scale_type == self.config.CONSOLE_SCALE_ALWAYS)
|
||||||
|
self.window.get_widget("details-menu-view-scale-never").set_active(self.scale_type == self.config.CONSOLE_SCALE_NEVER)
|
||||||
|
self.window.get_widget("details-menu-view-scale-fullscreen").set_active(self.scale_type == self.config.CONSOLE_SCALE_FULLSCREEN)
|
||||||
|
|
||||||
|
self.update_scaling()
|
||||||
|
|
||||||
def set_scale_type(self, src):
|
def set_scale_type(self, src):
|
||||||
if not src.get_active():
|
if not src.get_active():
|
||||||
return
|
return
|
||||||
@ -443,6 +449,7 @@ class vmmDetails(gobject.GObject):
|
|||||||
elif src == self.window.get_widget("details-menu-view-scale-never"):
|
elif src == self.window.get_widget("details-menu-view-scale-never"):
|
||||||
self.scale_type = self.config.CONSOLE_SCALE_NEVER
|
self.scale_type = self.config.CONSOLE_SCALE_NEVER
|
||||||
|
|
||||||
|
self.vm.set_console_scaling(self.scale_type)
|
||||||
self.update_scaling()
|
self.update_scaling()
|
||||||
|
|
||||||
def update_scaling(self):
|
def update_scaling(self):
|
||||||
|
@ -203,6 +203,18 @@ class vmmDomain(gobject.GObject):
|
|||||||
self.lastStatus = status
|
self.lastStatus = status
|
||||||
self.emit("status-changed", status)
|
self.emit("status-changed", status)
|
||||||
|
|
||||||
|
# GConf specific wranglings
|
||||||
|
def set_console_scaling(self, value):
|
||||||
|
self.config.set_pervm(self.connection.get_uri(), self.uuid,
|
||||||
|
self.config.set_console_scaling, value)
|
||||||
|
def get_console_scaling(self):
|
||||||
|
return self.config.get_pervm(self.connection.get_uri(), self.uuid,
|
||||||
|
self.config.get_console_scaling)
|
||||||
|
def on_console_scaling_changed(self, cb):
|
||||||
|
self.config.listen_pervm(self.connection.get_uri(), self.uuid,
|
||||||
|
self.config.on_console_scaling_changed, cb)
|
||||||
|
|
||||||
|
|
||||||
def _sample_mem_stats_dummy(self, ignore):
|
def _sample_mem_stats_dummy(self, ignore):
|
||||||
return 0, 0
|
return 0, 0
|
||||||
|
|
||||||
|
@ -103,7 +103,10 @@ class vmmPreferences(gobject.GObject):
|
|||||||
self.window.get_widget("prefs-console-keygrab").set_active(self.config.get_console_keygrab())
|
self.window.get_widget("prefs-console-keygrab").set_active(self.config.get_console_keygrab())
|
||||||
def refresh_console_scaling(self,ignore1=None,ignore2=None,ignore3=None,
|
def refresh_console_scaling(self,ignore1=None,ignore2=None,ignore3=None,
|
||||||
ignore4=None):
|
ignore4=None):
|
||||||
self.window.get_widget("prefs-console-scaling").set_active(self.config.get_console_scaling())
|
val = self.config.get_console_scaling()
|
||||||
|
if val == None:
|
||||||
|
val = 0
|
||||||
|
self.window.get_widget("prefs-console-scaling").set_active(val)
|
||||||
|
|
||||||
def refresh_sound_local(self, ignore1=None, ignore2=None, ignore=None,
|
def refresh_sound_local(self, ignore1=None, ignore2=None, ignore=None,
|
||||||
ignore4=None):
|
ignore4=None):
|
||||||
|
Loading…
Reference in New Issue
Block a user