mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
storagebrowser: If creating new VM, have new vol name be based on vm name.
This commit is contained in:
parent
0bf2924a33
commit
90732990e0
@ -1679,6 +1679,7 @@ class vmmCreate(gobject.GObject):
|
|||||||
if self.storage_browser == None:
|
if self.storage_browser == None:
|
||||||
self.storage_browser = vmmStorageBrowser(self.config, self.conn)
|
self.storage_browser = vmmStorageBrowser(self.config, self.conn)
|
||||||
|
|
||||||
|
self.storage_browser.set_vm_name(self.get_config_name())
|
||||||
self.storage_browser.set_finish_cb(callback)
|
self.storage_browser.set_finish_cb(callback)
|
||||||
self.storage_browser.set_browse_reason(reason)
|
self.storage_browser.set_browse_reason(reason)
|
||||||
self.storage_browser.show(self.conn)
|
self.storage_browser.show(self.conn)
|
||||||
|
@ -55,6 +55,7 @@ class vmmCreateVolume(gobject.GObject):
|
|||||||
_("An unexpected error occurred"))
|
_("An unexpected error occurred"))
|
||||||
self.topwin.hide()
|
self.topwin.hide()
|
||||||
|
|
||||||
|
self.name_hint = None
|
||||||
self.vol = None
|
self.vol = None
|
||||||
self.vol_class = Storage.StoragePool.get_volume_for_pool(parent_pool.get_type())
|
self.vol_class = Storage.StoragePool.get_volume_for_pool(parent_pool.get_type())
|
||||||
|
|
||||||
@ -92,6 +93,9 @@ class vmmCreateVolume(gobject.GObject):
|
|||||||
self.set_modal(False)
|
self.set_modal(False)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def set_name_hint(self, hint):
|
||||||
|
self.name_hint = hint
|
||||||
|
|
||||||
def set_modal(self, modal):
|
def set_modal(self, modal):
|
||||||
self.topwin.set_modal(bool(modal))
|
self.topwin.set_modal(bool(modal))
|
||||||
|
|
||||||
@ -100,8 +104,26 @@ class vmmCreateVolume(gobject.GObject):
|
|||||||
self.vol_class = Storage.StoragePool.get_volume_for_pool(self.parent_pool.get_type())
|
self.vol_class = Storage.StoragePool.get_volume_for_pool(self.parent_pool.get_type())
|
||||||
|
|
||||||
|
|
||||||
|
def default_vol_name(self):
|
||||||
|
if not self.name_hint:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
suffix = self.default_suffix()
|
||||||
|
try:
|
||||||
|
return Storage.StorageVolume.find_free_name(self.name_hint,
|
||||||
|
pool_object=self.parent_pool.pool,
|
||||||
|
suffix=suffix)
|
||||||
|
except:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
def default_suffix(self):
|
||||||
|
suffix = ""
|
||||||
|
if self.vol_class == Storage.FileVolume:
|
||||||
|
suffix = ".img"
|
||||||
|
return suffix
|
||||||
|
|
||||||
def reset_state(self):
|
def reset_state(self):
|
||||||
self.window.get_widget("vol-name").set_text("")
|
self.window.get_widget("vol-name").set_text(self.default_vol_name())
|
||||||
self.window.get_widget("vol-create").set_sensitive(False)
|
self.window.get_widget("vol-create").set_sensitive(False)
|
||||||
self.populate_vol_format()
|
self.populate_vol_format()
|
||||||
self.populate_vol_suffix()
|
self.populate_vol_suffix()
|
||||||
@ -137,7 +159,7 @@ class vmmCreateVolume(gobject.GObject):
|
|||||||
model.append([f, f])
|
model.append([f, f])
|
||||||
|
|
||||||
def populate_vol_suffix(self):
|
def populate_vol_suffix(self):
|
||||||
suffix = ""
|
suffix = self.default_suffix()
|
||||||
if self.vol_class == Storage.FileVolume:
|
if self.vol_class == Storage.FileVolume:
|
||||||
suffix = ".img"
|
suffix = ".img"
|
||||||
self.window.get_widget("vol-name-suffix").set_text(suffix)
|
self.window.get_widget("vol-name-suffix").set_text(suffix)
|
||||||
|
@ -61,6 +61,10 @@ class vmmStorageBrowser(gobject.GObject):
|
|||||||
# Add Volume wizard
|
# Add Volume wizard
|
||||||
self.addvol = None
|
self.addvol = None
|
||||||
|
|
||||||
|
# Name of VM we are choosing storage for, can be used to recommend
|
||||||
|
# volume name if creating
|
||||||
|
self.vm_name = None
|
||||||
|
|
||||||
# Arguments to pass to util.browse_local for local storage
|
# Arguments to pass to util.browse_local for local storage
|
||||||
self.browse_reason = None
|
self.browse_reason = None
|
||||||
self.local_args = {}
|
self.local_args = {}
|
||||||
@ -98,6 +102,9 @@ class vmmStorageBrowser(gobject.GObject):
|
|||||||
def set_local_arg(self, arg, val):
|
def set_local_arg(self, arg, val):
|
||||||
self.local_args[arg] = val
|
self.local_args[arg] = val
|
||||||
|
|
||||||
|
def set_vm_name(self, name):
|
||||||
|
self.vm_name = name
|
||||||
|
|
||||||
def set_initial_state(self):
|
def set_initial_state(self):
|
||||||
pool_list = self.window.get_widget("pool-list")
|
pool_list = self.window.get_widget("pool-list")
|
||||||
virtManager.host.init_pool_list(pool_list, self.pool_selected)
|
virtManager.host.init_pool_list(pool_list, self.pool_selected)
|
||||||
@ -253,6 +260,7 @@ class vmmStorageBrowser(gobject.GObject):
|
|||||||
else:
|
else:
|
||||||
self.addvol.set_parent_pool(pool)
|
self.addvol.set_parent_pool(pool)
|
||||||
self.addvol.set_modal(True)
|
self.addvol.set_modal(True)
|
||||||
|
self.addvol.set_name_hint(self.vm_name)
|
||||||
self.addvol.show()
|
self.addvol.show()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
self.show_err(_("Error launching volume wizard: %s") % str(e),
|
self.show_err(_("Error launching volume wizard: %s") % str(e),
|
||||||
|
Loading…
Reference in New Issue
Block a user