details: Don't access console.viewer directly

Add accessors for everything details.py needs. Makes separation clearer
This commit is contained in:
Cole Robinson 2015-03-26 13:16:50 -04:00
parent 26abb5a2b5
commit 87c5094745
2 changed files with 16 additions and 5 deletions

View File

@ -766,6 +766,18 @@ class vmmConsolePages(vmmGObjectUI):
serial.terminal.get_property("has-focus")):
return True
def viewer_is_visible(self):
return bool(self.viewer and self.viewer.get_visible())
def viewer_has_usb_redirection(self):
return bool(self.viewer and self.viewer.has_usb_redirection())
def viewer_get_usb_widget(self):
return self.viewer.get_usb_widget()
def viewer_get_pixbuf(self):
return self.viewer.get_pixbuf()
def viewer_focus_changed(self, ignore1=None, ignore2=None):
force_accel = self.config.get_console_accels()

View File

@ -618,7 +618,7 @@ class vmmDetails(vmmGObjectUI):
return
self.topwin.hide()
if self.console.viewer and self.console.viewer.get_visible():
if self.console.viewer_is_visible():
try:
self.console.close_viewer()
except:
@ -1414,8 +1414,7 @@ class vmmDetails(vmmGObjectUI):
self.vm.get_connkey())
def control_vm_menu(self, src_ignore):
can_usb = bool(self.console.viewer and
self.console.viewer.has_usb_redirection() and
can_usb = bool(self.console.viewer_has_usb_redirection() and
self.vm.has_spicevmc_type_redirdev())
self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
@ -1466,7 +1465,7 @@ class vmmDetails(vmmGObjectUI):
ignore = src
spice_usbdev_dialog = self.err
spice_usbdev_widget = self.console.viewer.get_usb_widget()
spice_usbdev_widget = self.console.viewer_get_usb_widget()
if not spice_usbdev_widget:
self.err.show_err(_("Error initializing spice USB device widget"))
return
@ -1476,7 +1475,7 @@ class vmmDetails(vmmGObjectUI):
widget=spice_usbdev_widget)
def _take_screenshot(self):
image = self.console.viewer.get_pixbuf()
image = self.console.viewer_get_pixbuf()
metadata = {
'tEXt::Hypervisor URI': self.vm.conn.get_uri(),