Blob Blame History Raw
From cc1814213ea3cf19208b950b857ba698e3ce15b1 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 10 Dec 2013 17:37:27 +0100
Subject: [RHEL-7.0 virt-manager PATCH] addhw: Fix FS UI for non-qemu

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1039829

(cherry picked from commit 1ce02cc7d954069ce87bc5b330dfddf8491a1121)
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
---
 ui/vmm-add-hardware.ui     | 259 +++++++++++++++++++++++----------------------
 virtManager/addhardware.py |  29 ++---
 2 files changed, 143 insertions(+), 145 deletions(-)

diff --git a/ui/vmm-add-hardware.ui b/ui/vmm-add-hardware.ui
index 875b4d7..1f1a92a 100644
--- a/ui/vmm-add-hardware.ui
+++ b/ui/vmm-add-hardware.ui
@@ -2337,29 +2337,13 @@ access in the guest.</property>
                                 <property name="can_focus">False</property>
                                 <property name="left_padding">24</property>
                                 <child>
-                                  <object class="GtkTable" id="table9">
+                                  <object class="GtkGrid" id="table9">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="n_rows">4</property>
-                                    <property name="n_columns">2</property>
-                                    <property name="column_spacing">12</property>
                                     <property name="row_spacing">6</property>
+                                    <property name="column_spacing">12</property>
                                     <child>
-                                      <object class="GtkLabel" id="label18">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">_Type:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-type-combo</property>
-                                      </object>
-                                      <packing>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHBox" id="hbox11">
+                                      <object class="GtkHBox" id="fs-type-box">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <child>
@@ -2390,28 +2374,13 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="fs-mode-title">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">_Mode:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-mode-combo</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="top_attach">0</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkHBox" id="hbox12">
+                                      <object class="GtkHBox" id="fs-mode-box">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <child>
@@ -2441,30 +2410,13 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="fs-driver-title">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">_Driver:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-driver-combo</property>
-                                      </object>
-                                      <packing>
                                         <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkHBox" id="hbox15">
+                                      <object class="GtkHBox" id="fs-driver-box">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <child>
@@ -2495,30 +2447,13 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="fs-wrpolicy-title">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">_Write Policy:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-wrpolicy-combo</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">3</property>
-                                        <property name="bottom_attach">4</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkHBox" id="hbox13">
+                                      <object class="GtkHBox" id="fs-wrpolicy-box">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <child>
@@ -2548,42 +2483,9 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">3</property>
-                                        <property name="bottom_attach">4</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="fs-source-title">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label">src labelll:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-source</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">4</property>
-                                        <property name="bottom_attach">5</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="label33">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">Ta_rget path:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">fs-target</property>
-                                      </object>
-                                      <packing>
-                                        <property name="top_attach">5</property>
-                                        <property name="bottom_attach">6</property>
-                                        <property name="x_options">GTK_FILL</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -2594,10 +2496,9 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">5</property>
-                                        <property name="bottom_attach">6</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -2612,16 +2513,12 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">6</property>
-                                        <property name="bottom_attach">7</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
                                       <object class="GtkHBox" id="hbox16">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
@@ -2656,10 +2553,120 @@ access in the guest.</property>
                                       </object>
                                       <packing>
                                         <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
                                         <property name="top_attach">4</property>
-                                        <property name="bottom_attach">5</property>
-                                        <property name="y_options">GTK_FILL</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label18">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Type:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-type-combo</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">0</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="fs-mode-title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Mode:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-mode-combo</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="fs-driver-title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Driver:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-driver-combo</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="fs-wrpolicy-title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Write Policy:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-wrpolicy-combo</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="fs-source-title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label">src labelll:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-source</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">4</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label33">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Ta_rget path:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">fs-target</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">5</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkAlignment" id="alignment20">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <placeholder/>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">6</property>
+                                        <property name="width">1</property>
+                                        <property name="height">1</property>
                                       </packing>
                                     </child>
                                   </object>
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
index f66e493..6851238 100644
--- a/virtManager/addhardware.py
+++ b/virtManager/addhardware.py
@@ -1250,30 +1250,21 @@ class vmmAddHardware(vmmGObjectUI):
         self.show_pair_combo("fs-wrpolicy", show_wrpolicy_combo)

     def change_fs_driver(self, src):
-        idx = src.get_active()
         fsdriver = None
-        modecombo = self.widget("fs-mode-combo")
-        modelabel1 = self.widget("fs-mode-title")
-        wrpcombo = self.widget("fs-wrpolicy-combo")
-        wrplabel1 = self.widget("fs-wrpolicy-title")
-
+        idx = src.get_active()
         if idx >= 0 and src.get_property("visible"):
             fsdriver = src.get_model()[idx][0]

-        if (fsdriver == virtinst.VirtualFilesystem.DRIVER_PATH or
-            fsdriver == virtinst.VirtualFilesystem.DRIVER_DEFAULT):
-            modecombo.set_property("visible", True)
-            modelabel1.set_property("visible", True)
-        else:
-            modecombo.set_property("visible", False)
-            modelabel1.set_property("visible", False)
+        show_mode = bool(
+            fsdriver == virtinst.VirtualFilesystem.DRIVER_PATH or
+            fsdriver == virtinst.VirtualFilesystem.DRIVER_DEFAULT)
+        self.widget("fs-mode-title").set_visible(show_mode)
+        self.widget("fs-mode-box").set_visible(show_mode)

-        if (fsdriver == virtinst.VirtualFilesystem.DRIVER_DEFAULT):
-            wrpcombo.set_property("visible", False)
-            wrplabel1.set_property("visible", False)
-        else:
-            wrpcombo.set_property("visible", True)
-            wrplabel1.set_property("visible", True)
+        show_wrpol = bool(
+            fsdriver and fsdriver != virtinst.VirtualFilesystem.DRIVER_DEFAULT)
+        self.widget("fs-wrpolicy-title").set_visible(show_wrpol)
+        self.widget("fs-wrpolicy-box").set_visible(show_wrpol)



-- 
1.8.5.2