mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-27 01:55:20 +03:00
Allow seeing connection details when conn disconnected, just desensitive all the add wizards.
This commit is contained in:
parent
f6b1590817
commit
7e31d56262
@ -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()
|
||||
|
@ -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
|
||||
# -------------------------
|
||||
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user