diff --git a/src/virtManager/createpool.py b/src/virtManager/createpool.py index 8d185fcb4..c86cc35b3 100644 --- a/src/virtManager/createpool.py +++ b/src/virtManager/createpool.py @@ -268,12 +268,17 @@ class vmmCreatePool(vmmGObjectUI): return plist def show_options_by_pool(self): + def show_row(base, do_show): + self.widget(base + "-label").set_property("visible", do_show) + self.widget(base + "-box").set_property("visible", do_show) + src = hasattr(self._pool, "source_path") src_b = src and not self.conn.is_remote() tgt = hasattr(self._pool, "target_path") tgt_b = tgt and not self.conn.is_remote() host = hasattr(self._pool, "host") fmt = hasattr(self._pool, "formats") + builddef, buildsens = self.get_build_default() # Source path broswing is meaningless for net pools if self._pool.type in [Storage.StoragePool.TYPE_NETFS, @@ -281,13 +286,17 @@ class vmmCreatePool(vmmGObjectUI): Storage.StoragePool.TYPE_SCSI]: src_b = False + show_row("pool-target", tgt) + show_row("pool-source", src) + show_row("pool-hostname", host) + show_row("pool-format", fmt) + show_row("pool-build", buildsens) + self.widget("pool-target-button").set_sensitive(tgt_b) self.widget("pool-source-button").set_sensitive(src_b) - self.widget("pool-source-path").set_sensitive(src) - self.widget("pool-hostname").set_sensitive(host) - self.widget("pool-format").set_sensitive(fmt) - self.widget("pool-format").set_active(-1) + self.widget("pool-build").set_active(builddef) + self.widget("pool-format").set_active(-1) if fmt: self.populate_pool_format(getattr(self._pool, "formats")) self.widget("pool-format").set_active(0) @@ -440,9 +449,6 @@ class vmmCreatePool(vmmGObjectUI): self.widget("pool-target-path").child.set_text( self._pool.target_path) self.widget("pool-back").set_sensitive(True) - buildret = self.get_build_default() - self.widget("pool-build").set_sensitive(buildret[1]) - self.widget("pool-build").set_active(buildret[0]) self.widget("pool-finish").show() self.widget("pool-finish").grab_focus() self.widget("pool-forward").hide() @@ -501,7 +507,8 @@ class vmmCreatePool(vmmGObjectUI): return self.err.val_err(_("Pool Parameter Error"), str(e)) buildval = self.widget("pool-build").get_active() - buildsen = self.widget("pool-build").get_property("sensitive") + buildsen = (self.widget("pool-build").get_property("sensitive") and + self.widget("pool-build-box").get_property("visible")) if buildsen and buildval: ret = self.err.yes_no(_("Building a pool of this type will " "format the source device. Are you " diff --git a/src/vmm-create-pool.glade b/src/vmm-create-pool.glade index f55b2ac45..70c847e59 100644 --- a/src/vmm-create-pool.glade +++ b/src/vmm-create-pool.glade @@ -311,49 +311,13 @@ 5 2 6 - 4 - - True - True - GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK - - - - - 1 - 2 - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - True - False - True - True - - - - 1 - 2 - 4 - 5 - GTK_FILL - - - - - + True 1 + 8 B_uild Pool: True - pool-build 4 @@ -363,7 +327,7 @@ - + True 6 @@ -397,12 +361,11 @@ 2 3 4 - GTK_FILL - GTK_FILL + - + True 6 @@ -434,14 +397,14 @@ 1 2 - GTK_FILL - GTK_FILL + - + True 1 + 8 _Target Path: True pool-target-path @@ -452,12 +415,12 @@ - + True 1 + 8 F_ormat: True - pool-format 1 @@ -467,12 +430,12 @@ - + True 1 + 8 Host Na_me: True - pool-hostname 2 @@ -482,12 +445,62 @@ - + True - True - - - + 1 + 8 + _Source Path: + True + pool-source-path + + + 3 + 4 + GTK_FILL + + + + + + True + + + True + True + False + True + True + + + + 0 + + + + + 1 + 2 + 4 + 5 + GTK_FILL + + + + + + True + + + True + True + + + + + + 0 + + 1 @@ -498,17 +511,38 @@ - + True - 1 - _Source Path: - True - pool-source-path + + + True + True + GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK + + + + + False + 0 + + + + + True + + + + + + 1 + + - 3 - 4 - GTK_FILL + 1 + 2 + 1 + 2