Allow seeing connection details when conn disconnected, just desensitive all the add wizards.

This commit is contained in:
Cole Robinson 2008-09-18 10:33:53 -04:00
parent f6b1590817
commit 7e31d56262
3 changed files with 18 additions and 6 deletions

View File

@ -118,7 +118,8 @@ class vmmEngine(gobject.GObject):
def _do_connection_changed(self, connection):
if connection.get_state() == connection.STATE_ACTIVE:
if connection.get_state() == connection.STATE_ACTIVE or \
connection.get_state() == connection.STATE_CONNECTING:
return
hvuri = connection.get_uri()

View File

@ -29,6 +29,7 @@ import traceback
from virtinst import Storage
from virtManager.connection import vmmConnection
from virtManager.createnet import vmmCreateNetwork
from virtManager.createpool import vmmCreatePool
from virtManager.createvol import vmmCreateVolume
@ -158,6 +159,8 @@ class vmmHost(gobject.GObject):
self.conn.connect("pool-started", self.refresh_storage_pool)
self.conn.connect("pool-stopped", self.refresh_storage_pool)
self.conn.connect("state-changed", self.conn_state_changed)
self.window.signal_autoconnect({
"on_menu_file_close_activate": self.close,
"on_vmm_host_delete_event": self.close,
@ -181,9 +184,7 @@ class vmmHost(gobject.GObject):
})
self.conn.connect("resources-sampled", self.refresh_resources)
self.refresh_resources()
self.reset_pool_state()
self.reset_net_state()
self.reset_state()
def show(self):
# Update autostart value
@ -208,6 +209,12 @@ class vmmHost(gobject.GObject):
self.window.get_widget("config-autoconnect").get_active():
self.conn.toggle_autoconnect()
def reset_state(self):
self.refresh_resources()
self.reset_pool_state()
self.reset_net_state()
self.conn_state_changed()
def refresh_resources(self, ignore=None):
self.window.get_widget("performance-cpu").set_text("%d %%" % self.conn.cpu_time_percentage())
vm_memory = self.conn.pretty_current_memory()
@ -222,6 +229,11 @@ class vmmHost(gobject.GObject):
memory_vector.reverse()
self.memory_usage_graph.set_property("data_array", memory_vector)
def conn_state_changed(self, ignore1=None):
state = (self.conn.get_state() == vmmConnection.STATE_ACTIVE)
self.window.get_widget("net-add").set_sensitive(state)
self.window.get_widget("pool-add").set_sensitive(state)
# -------------------------
# Virtual Network functions
# -------------------------

View File

@ -668,10 +668,8 @@ class vmmManager(gobject.GObject):
self.window.get_widget("vm-open").set_sensitive(False)
if conn.get_state() == vmmConnection.STATE_DISCONNECTED:
self.window.get_widget("vm-delete").set_sensitive(True)
self.window.get_widget("menu_host_details").set_sensitive(False)
else:
self.window.get_widget("vm-delete").set_sensitive(False)
self.window.get_widget("menu_host_details").set_sensitive(True)
if conn.get_state() == vmmConnection.STATE_ACTIVE:
self.window.get_widget("vm-new").set_sensitive(True)
self.window.get_widget("menu_file_restore_saved").set_sensitive(True)
@ -680,6 +678,7 @@ class vmmManager(gobject.GObject):
self.window.get_widget("menu_file_restore_saved").set_sensitive(False)
self.window.get_widget("menu_edit_details").set_sensitive(False)
self.window.get_widget("menu_edit_delete").set_sensitive(False)
self.window.get_widget("menu_host_details").set_sensitive(True)
def popup_vm_menu(self, widget, event):
tuple = widget.get_path_at_pos(int(event.x), int(event.y))