mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-27 10:25:25 +03:00
Fix populating text box with storage browser selection in 'New VM' (bz 517263)
We were only properly setting the 'finish' callback for the first time the storage browser was launched. All subsequent runs would not enter anything in the associated text box.
This commit is contained in:
parent
2802745e3e
commit
0e59e69428
@ -80,7 +80,6 @@ class vmmAddHardware(gobject.GObject):
|
||||
_("An unexpected error occurred"))
|
||||
|
||||
self.storage_browser = None
|
||||
self._browse_cb_id = None
|
||||
|
||||
self._dev = None
|
||||
|
||||
@ -911,10 +910,8 @@ class vmmAddHardware(gobject.GObject):
|
||||
conn = self.vm.get_connection()
|
||||
if self.storage_browser == None:
|
||||
self.storage_browser = vmmStorageBrowser(self.config, conn, False)
|
||||
if self._browse_cb_id:
|
||||
self.storage_browser.disconnect(self._browse_cb_id)
|
||||
|
||||
self._browse_cb_id = self.storage_browser.connect("storage-browse-finish", set_storage_cb)
|
||||
self.storage_browser.set_finish_cb(set_storage_cb)
|
||||
self.storage_browser.local_args = { "dialog_name": dialog_name,
|
||||
"confirm_func": confirm_func,
|
||||
"browse_reason":
|
||||
|
@ -1644,8 +1644,9 @@ class vmmCreate(gobject.GObject):
|
||||
if self.storage_browser == None:
|
||||
self.storage_browser = vmmStorageBrowser(self.config, self.conn,
|
||||
is_media)
|
||||
self.storage_browser.connect("storage-browse-finish",
|
||||
callback)
|
||||
|
||||
self.storage_browser.set_finish_cb(callback)
|
||||
|
||||
if is_media:
|
||||
reason = self.config.CONFIG_DIR_MEDIA
|
||||
else:
|
||||
|
@ -47,6 +47,7 @@ class vmmStorageBrowser(gobject.GObject):
|
||||
self.config = config
|
||||
self.conn = conn
|
||||
self.conn_signal_ids = []
|
||||
self.finish_cb_id = None
|
||||
|
||||
self.topwin = self.window.get_widget("vmm-storage-browse")
|
||||
self.err = vmmErrorDialog(self.topwin,
|
||||
@ -89,6 +90,11 @@ class vmmStorageBrowser(gobject.GObject):
|
||||
self.addvol.close()
|
||||
return 1
|
||||
|
||||
def set_finish_cb(self, callback):
|
||||
if self.finish_cb_id:
|
||||
self.disconnect(self.finish_cb_id)
|
||||
self.finish_cb_id = self.connect("storage-browse-finish", callback)
|
||||
|
||||
def set_initial_state(self):
|
||||
pool_list = self.window.get_widget("pool-list")
|
||||
virtManager.host.init_pool_list(pool_list, self.pool_selected)
|
||||
|
Loading…
Reference in New Issue
Block a user