mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-12-22 13:34:07 +03:00
gschema: Populate/Store previous container URLs
This commit is contained in:
parent
bf90eea463
commit
12962ece71
@ -153,6 +153,12 @@
|
||||
<schema id="org.virt-manager.virt-manager.urls"
|
||||
path="/org/virt-manager/virt-manager/urls/">
|
||||
|
||||
<key name="containers" type="as">
|
||||
<default>[]</default>
|
||||
<summary>Saved list of source URLs</summary>
|
||||
<description>Saved list of source URLs used to bootstrap OS containers</description>
|
||||
</key>
|
||||
|
||||
<key name="urls" type="as">
|
||||
<default>[]</default>
|
||||
<summary>Saved list of install URLs</summary>
|
||||
|
@ -549,11 +549,15 @@ class vmmConfig(object):
|
||||
del urls[len(urls) - 1]
|
||||
self.conf.set(gsettings_path, urls)
|
||||
|
||||
def add_container_url(self, url):
|
||||
self._url_add_helper("/urls/containers", url)
|
||||
def add_media_url(self, url):
|
||||
self._url_add_helper("/urls/urls", url)
|
||||
def add_iso_path(self, path):
|
||||
self._url_add_helper("/urls/isos", path)
|
||||
|
||||
def get_container_urls(self):
|
||||
return self.conf.get("/urls/containers")
|
||||
def get_media_urls(self):
|
||||
return self.conf.get("/urls/urls")
|
||||
def get_iso_paths(self):
|
||||
|
@ -288,17 +288,20 @@ class vmmCreate(vmmGObjectUI):
|
||||
text = uiutil.init_combo_text_column(conn_list, 1)
|
||||
text.set_property("ellipsize", Pango.EllipsizeMode.MIDDLE)
|
||||
|
||||
def set_model_list(widget_id):
|
||||
lst = self.widget(widget_id)
|
||||
model = Gtk.ListStore(str)
|
||||
lst.set_model(model)
|
||||
lst.set_entry_text_column(0)
|
||||
|
||||
# ISO media list
|
||||
iso_list = self.widget("install-iso-combo")
|
||||
iso_model = Gtk.ListStore(str)
|
||||
iso_list.set_model(iso_model)
|
||||
iso_list.set_entry_text_column(0)
|
||||
set_model_list("install-iso-combo")
|
||||
|
||||
# Lists for the install urls
|
||||
media_url_list = self.widget("install-url-combo")
|
||||
media_url_model = Gtk.ListStore(str)
|
||||
media_url_list.set_model(media_url_model)
|
||||
media_url_list.set_entry_text_column(0)
|
||||
set_model_list("install-url-combo")
|
||||
|
||||
# Lists for OS container bootstrap
|
||||
set_model_list("install-oscontainer-source-url-combo")
|
||||
|
||||
def sep_func(model, it, combo):
|
||||
ignore = combo
|
||||
@ -440,6 +443,9 @@ class vmmCreate(vmmGObjectUI):
|
||||
self.widget("install-oscontainer-source-insecure").set_active(False)
|
||||
self.widget("install-oscontainer-bootstrap").set_active(False)
|
||||
self.widget("install-oscontainer-auth-options").set_expanded(False)
|
||||
src_model = (self.widget("install-oscontainer-source-url-combo")
|
||||
.get_model())
|
||||
_populate_media_model(src_model, self.config.get_container_urls())
|
||||
|
||||
# Install VZ container from template
|
||||
self.widget("install-container-template").set_text("centos-7-x86_64")
|
||||
@ -1278,9 +1284,14 @@ class vmmCreate(vmmGObjectUI):
|
||||
return self.widget("install-oscontainer-bootstrap").get_active()
|
||||
|
||||
|
||||
def _get_config_oscontainer_source_url(self):
|
||||
return (self.widget("install-oscontainer-source-url-entry")
|
||||
.get_text().strip())
|
||||
def _get_config_oscontainer_source_url(self, store_media=False):
|
||||
src_url = (self.widget("install-oscontainer-source-url-entry")
|
||||
.get_text().strip())
|
||||
|
||||
if src_url and store_media:
|
||||
self.config.add_container_url(src_url)
|
||||
|
||||
return src_url
|
||||
|
||||
|
||||
def _get_config_oscontainer_source_username(self):
|
||||
@ -2133,6 +2144,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
|
||||
# Validation passed, store the install path (if there is one) in
|
||||
# gsettings
|
||||
self._get_config_oscontainer_source_url(store_media=True)
|
||||
self._get_config_local_media(store_media=True)
|
||||
self._get_config_url_info(store_media=True)
|
||||
return True
|
||||
|
Loading…
Reference in New Issue
Block a user