mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-03 13:47:18 +03:00
Add menu options to 'view manager' and 'quit' from the details window.
This commit is contained in:
parent
0f75898fc3
commit
b0eeecd738
@ -89,6 +89,10 @@ class vmmDetails(gobject.GObject):
|
||||
gobject.TYPE_NONE, (str, str)),
|
||||
"action-show-help": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, [str]),
|
||||
"action-exit-app": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, []),
|
||||
"action-view-manager": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, []),
|
||||
}
|
||||
|
||||
|
||||
@ -213,6 +217,7 @@ class vmmDetails(gobject.GObject):
|
||||
"on_close_details_clicked": self.close,
|
||||
"on_details_menu_close_activate": self.close,
|
||||
"on_vmm_details_delete_event": self.close,
|
||||
"on_details_menu_quit_activate": self.exit_app,
|
||||
|
||||
"on_control_run_clicked": self.control_vm_run,
|
||||
"on_control_shutdown_clicked": self.control_vm_shutdown,
|
||||
@ -228,6 +233,7 @@ class vmmDetails(gobject.GObject):
|
||||
"on_details_menu_screenshot_activate": self.control_vm_screenshot,
|
||||
"on_details_menu_graphics_activate": self.control_vm_console,
|
||||
"on_details_menu_view_toolbar_activate": self.toggle_toolbar,
|
||||
"on_details_menu_view_manager_activate": self.view_manager,
|
||||
|
||||
"on_details_pages_switch_page": self.switch_page,
|
||||
|
||||
@ -417,9 +423,10 @@ class vmmDetails(gobject.GObject):
|
||||
self.window.get_widget("details-toolbar").hide()
|
||||
|
||||
def show(self):
|
||||
if self.is_visible():
|
||||
return
|
||||
dialog = self.window.get_widget("vmm-details")
|
||||
if self.is_visible():
|
||||
dialog.present()
|
||||
return
|
||||
dialog.show_all()
|
||||
self.window.get_widget("overview-network-traffic-text").hide()
|
||||
self.window.get_widget("overview-network-traffic-label").hide()
|
||||
@ -458,11 +465,17 @@ class vmmDetails(gobject.GObject):
|
||||
self.engine.decrement_window_counter()
|
||||
return 1
|
||||
|
||||
def exit_app(self, src):
|
||||
self.emit("action-exit-app")
|
||||
|
||||
def is_visible(self):
|
||||
if self.window.get_widget("vmm-details").flags() & gtk.VISIBLE:
|
||||
return 1
|
||||
return 0
|
||||
|
||||
def view_manager(self, src):
|
||||
self.emit("action-view-manager")
|
||||
|
||||
def send_key(self, src):
|
||||
keys = None
|
||||
if src.get_name() == "details-menu-send-cad":
|
||||
|
@ -104,7 +104,7 @@ class vmmEngine(gobject.GObject):
|
||||
def _connect_cancelled(self, connect):
|
||||
self.windowConnect = None
|
||||
if len(self.connections.keys()) == 0:
|
||||
gtk.main_quit()
|
||||
self.exit_app()
|
||||
|
||||
|
||||
def _do_vm_removed(self, connection, hvuri, vmuuid):
|
||||
@ -185,6 +185,8 @@ class vmmEngine(gobject.GObject):
|
||||
self.show_console(uri, uuid)
|
||||
def _do_show_terminal(self, src, uri, uuid):
|
||||
self.show_serial_console(uri, uuid)
|
||||
def _do_show_manager(self, src):
|
||||
self.show_manager()
|
||||
def _do_refresh_console(self, src, uri, uuid):
|
||||
self.refresh_console(uri, uuid)
|
||||
def _do_refresh_terminal(self, src, uri, uuid):
|
||||
@ -203,6 +205,8 @@ class vmmEngine(gobject.GObject):
|
||||
self.shutdown_domain(src, uri, uuid)
|
||||
def _do_reboot_domain(self, src, uri, uuid):
|
||||
self.reboot_domain(src, uri, uuid)
|
||||
def _do_exit_app(self, src):
|
||||
self.exit_app()
|
||||
|
||||
def show_about(self):
|
||||
if self.windowAbout == None:
|
||||
@ -238,6 +242,9 @@ class vmmEngine(gobject.GObject):
|
||||
self.windowConnect.connect("cancelled", self._connect_cancelled)
|
||||
self.windowConnect.show()
|
||||
|
||||
def show_manager(self):
|
||||
self.windowManager.show()
|
||||
|
||||
def show_console(self, uri, uuid):
|
||||
win = self.show_details(uri, uuid)
|
||||
win.activate_console_page()
|
||||
@ -288,6 +295,8 @@ class vmmEngine(gobject.GObject):
|
||||
details.connect("action-run-domain", self._do_run_domain)
|
||||
details.connect("action-shutdown-domain", self._do_shutdown_domain)
|
||||
details.connect("action-reboot-domain", self._do_reboot_domain)
|
||||
details.connect("action-exit-app", self._do_exit_app)
|
||||
details.connect("action-view-manager", self._do_show_manager)
|
||||
except Exception, e:
|
||||
self.err.show_err(_("Error bringing up domain details: %s") % str(e),
|
||||
"".join(traceback.format_exc()))
|
||||
@ -315,6 +324,7 @@ class vmmEngine(gobject.GObject):
|
||||
self.windowManager.connect("action-connect", self._do_connect)
|
||||
self.windowManager.connect("action-refresh-console", self._do_refresh_console)
|
||||
self.windowManager.connect("action-refresh-terminal", self._do_refresh_terminal)
|
||||
self.windowManager.connect("action-exit-app", self._do_exit_app)
|
||||
return self.windowManager
|
||||
|
||||
def show_manager(self):
|
||||
@ -328,11 +338,13 @@ class vmmEngine(gobject.GObject):
|
||||
self.windows -= 1
|
||||
logging.debug("window counter decremented to %s" % self.windows)
|
||||
if self.windows <= 0:
|
||||
conns = self.connections.values()
|
||||
for conn in conns:
|
||||
conn["connection"].close()
|
||||
gtk.main_quit()
|
||||
self.exit_app()
|
||||
|
||||
def exit_app(self):
|
||||
conns = self.connections.values()
|
||||
for conn in conns:
|
||||
conn["connection"].close()
|
||||
gtk.main_quit()
|
||||
|
||||
def wait_for_open(self, uri):
|
||||
# Used to ensure connection fully starts before running
|
||||
|
@ -100,7 +100,9 @@ class vmmManager(gobject.GObject):
|
||||
"action-connect": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, [str]),
|
||||
"action-show-help": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, [str]),}
|
||||
gobject.TYPE_NONE, [str]),
|
||||
"action-exit-app": (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE, []),}
|
||||
|
||||
def __init__(self, config, engine):
|
||||
self.__gobject_init__()
|
||||
@ -285,11 +287,12 @@ class vmmManager(gobject.GObject):
|
||||
self.engine.connect("connection-removed", self._remove_connection)
|
||||
|
||||
def show(self):
|
||||
if not self.is_visible():
|
||||
win = self.window.get_widget("vmm-manager")
|
||||
win.show_all()
|
||||
win = self.window.get_widget("vmm-manager")
|
||||
if self.is_visible():
|
||||
win.present()
|
||||
self.engine.increment_window_counter()
|
||||
return
|
||||
win.show_all()
|
||||
self.engine.increment_window_counter()
|
||||
|
||||
def close(self, src=None, src2=None):
|
||||
if self.is_visible():
|
||||
@ -304,7 +307,7 @@ class vmmManager(gobject.GObject):
|
||||
return 0
|
||||
|
||||
def exit_app(self, src=None, src2=None):
|
||||
gtk.main_quit()
|
||||
self.emit("action-exit-app")
|
||||
|
||||
def new_connection(self, src=None):
|
||||
self.emit("action-show-connect")
|
||||
|
@ -34,6 +34,53 @@
|
||||
<property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
|
||||
<property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="file1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_File</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_file1_activate" last_modification_time="Fri, 13 Jun 2008 17:58:16 GMT"/>
|
||||
|
||||
<child>
|
||||
<widget class="GtkMenu" id="file1_menu">
|
||||
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="view_manager">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">View Manager</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_details_menu_view_manager_activate" last_modification_time="Fri, 13 Jun 2008 18:02:21 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separator15">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="close4">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-close</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_details_menu_close_activate" last_modification_time="Fri, 13 Jun 2008 18:02:21 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="quit3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-quit</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_details_menu_quit_activate" last_modification_time="Fri, 13 Jun 2008 18:02:31 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="virtual_machine1">
|
||||
<property name="visible">True</property>
|
||||
@ -127,21 +174,6 @@
|
||||
<signal name="activate" handler="on_details_menu_screenshot_activate" last_modification_time="Wed, 07 May 2008 15:38:34 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separator8">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="details-menu-close">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-close</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_details_menu_close_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
Loading…
x
Reference in New Issue
Block a user