mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-27 01:55:20 +03:00
console: Move _change_title behavior to vmwindow
This is where it conceptually belongs Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
95f363d634
commit
c0c704e1fa
@ -299,6 +299,7 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
__gsignals__ = {
|
||||
"page-changed": (vmmGObjectUI.RUN_FIRST, None, []),
|
||||
"leave-fullscreen": (vmmGObjectUI.RUN_FIRST, None, []),
|
||||
"change-title": (vmmGObjectUI.RUN_FIRST, None, []),
|
||||
}
|
||||
|
||||
def __init__(self, vm, builder, topwin):
|
||||
@ -308,8 +309,6 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
self.vm = vm
|
||||
self.top_box = self.widget("console-pages")
|
||||
self._pointer_is_grabbed = False
|
||||
self._change_title()
|
||||
self.vm.connect("state-changed", self._change_title)
|
||||
|
||||
# State for disabling modifiers when keyboard is grabbed
|
||||
self._accel_groups = Gtk.accel_groups_from_object(self.topwin)
|
||||
@ -379,20 +378,6 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
# Internal APIs #
|
||||
#################
|
||||
|
||||
def _change_title(self, ignore1=None):
|
||||
title = (_("%(vm-name)s on %(connection-name)s") % {
|
||||
"vm-name": self.vm.get_name_or_title(),
|
||||
"connection-name": self.vm.conn.get_pretty_desc(),
|
||||
})
|
||||
|
||||
if self._pointer_is_grabbed and self._viewer:
|
||||
keystr = self._viewer.console_get_grab_keys()
|
||||
keymsg = _("Press %s to release pointer.") % keystr
|
||||
|
||||
title = keymsg + " " + title
|
||||
|
||||
self.topwin.set_title(title)
|
||||
|
||||
def _disable_modifiers(self):
|
||||
if self._gtk_settings_accel is not None:
|
||||
return # pragma: no cover
|
||||
@ -780,11 +765,11 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
|
||||
def _pointer_grabbed(self, ignore):
|
||||
self._pointer_is_grabbed = True
|
||||
self._change_title()
|
||||
self.emit("change-title")
|
||||
|
||||
def _pointer_ungrabbed(self, ignore):
|
||||
self._pointer_is_grabbed = False
|
||||
self._change_title()
|
||||
self.emit("change-title")
|
||||
|
||||
def _viewer_allocate_cb(self, src, ignore):
|
||||
self.widget("console-gfx-scroll").queue_resize()
|
||||
@ -981,6 +966,10 @@ class vmmConsolePages(vmmGObjectUI):
|
||||
def vmwindow_close_viewer(self):
|
||||
return self._activate_vm_unavailable_page(
|
||||
_("Viewer disconnected."))
|
||||
def vmwindow_get_title_message(self):
|
||||
if self._pointer_is_grabbed and self._viewer:
|
||||
keystr = self._viewer.console_get_grab_keys()
|
||||
return _("Press %s to release pointer.") % keystr
|
||||
|
||||
def vmwindow_activate_default_console_page(self):
|
||||
return self._activate_default_console_page()
|
||||
|
@ -73,6 +73,8 @@ class vmmVMWindow(vmmGObjectUI):
|
||||
self._console.connect("page-changed", self._console_page_changed_cb)
|
||||
self._console.connect("leave-fullscreen",
|
||||
self._console_leave_fullscreen_cb)
|
||||
self._console.connect("change-title",
|
||||
self._console_change_title_cb)
|
||||
|
||||
self._snapshots = vmmSnapshotPage(self.vm, self.builder, self.topwin)
|
||||
self.widget("snapshot-placeholder").add(self._snapshots.top_box)
|
||||
@ -385,8 +387,21 @@ class vmmVMWindow(vmmGObjectUI):
|
||||
self.widget("details-vm-menu").get_submenu().change_run_text(text)
|
||||
self.widget("control-run").set_label(strip_text)
|
||||
|
||||
def _refresh_title(self):
|
||||
title = (_("%(vm-name)s on %(connection-name)s") % {
|
||||
"vm-name": self.vm.get_name_or_title(),
|
||||
"connection-name": self.vm.conn.get_pretty_desc(),
|
||||
})
|
||||
|
||||
grabmsg = self._console.vmwindow_get_title_message()
|
||||
if grabmsg:
|
||||
title = grabmsg + " " + title
|
||||
|
||||
self.topwin.set_title(title)
|
||||
|
||||
def _refresh_vm_state(self):
|
||||
vm = self.vm
|
||||
self._refresh_title()
|
||||
|
||||
self.widget("details-menu-view-toolbar").set_active(
|
||||
self.config.get_details_show_toolbar())
|
||||
@ -679,6 +694,9 @@ class vmmVMWindow(vmmGObjectUI):
|
||||
# This will trigger de-fullscreening in a roundabout way
|
||||
self.widget("control-fullscreen").set_active(False)
|
||||
|
||||
def _console_change_title_cb(self, src):
|
||||
self._refresh_title()
|
||||
|
||||
def _vm_state_changed_cb(self, src):
|
||||
self._refresh_vm_state()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user