[master 2/8] Use named IDs for the filter type combo boxes.

dashea installerbot-noreply at redhat.com
Thu Apr 23 19:57:41 UTC 2015


From: David Shea <dshea at redhat.com>

This makes the combo box usage not dependent on the combo box order and
makes it all look a little less mysterious.
---
 pyanaconda/ui/gui/spokes/filter.glade | 30 +++++++--------
 pyanaconda/ui/gui/spokes/filter.py    | 69 +++++++++++++++++++++++------------
 2 files changed, 61 insertions(+), 38 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/filter.glade b/pyanaconda/ui/gui/spokes/filter.glade
index 73a7ff4..0d72766 100644
--- a/pyanaconda/ui/gui/spokes/filter.glade
+++ b/pyanaconda/ui/gui/spokes/filter.glade
@@ -157,9 +157,9 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <items>
-                                      <item translatable="yes">None</item>
-                                      <item translatable="yes">Port / Target / LUN #</item>
-                                      <item translatable="yes">Target WWID</item>
+                                      <item id="None" translatable="yes">None</item>
+                                      <item id="PTL" translatable="yes">Port / Target / LUN #</item>
+                                      <item id="WWID" translatable="yes">Target WWID</item>
                                     </items>
                                     <signal name="changed" handler="on_search_type_changed" swapped="no"/>
                                   </object>
@@ -566,10 +566,10 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <items>
-                                      <item translatable="yes">None</item>
-                                      <item translatable="yes">Vendor</item>
-                                      <item translatable="yes">Interconnect</item>
-                                      <item translatable="yes">WWID</item>
+                                      <item id="None" translatable="yes">None</item>
+                                      <item id="Vendor" translatable="yes">Vendor</item>
+                                      <item id="Interconnect" translatable="yes">Interconnect</item>
+                                      <item id="WWID" translatable="yes">WWID</item>
                                     </items>
                                     <signal name="changed" handler="on_multipath_type_changed" swapped="no"/>
                                   </object>
@@ -900,10 +900,10 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <items>
-                                      <item translatable="yes">None</item>
-                                      <item translatable="yes">Vendor</item>
-                                      <item translatable="yes">Interconnect</item>
-                                      <item translatable="yes">ID</item>
+                                      <item id="None" translatable="yes">None</item>
+                                      <item id="Vendor" translatable="yes">Vendor</item>
+                                      <item id="Interconnect" translatable="yes">Interconnect</item>
+                                      <item id="ID" translatable="yes">ID</item>
                                     </items>
                                     <signal name="changed" handler="on_other_type_combo_changed" swapped="no"/>
                                   </object>
@@ -1515,10 +1515,10 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <items>
-                                      <item translatable="yes">None</item>
-                                      <item translatable="yes">CCW</item>
-                                      <item translatable="yes">WWPN</item>
-                                      <item translatable="yes">LUN</item>
+                                      <item id="None" translatable="yes">None</item>
+                                      <item id="CCW" translatable="yes">CCW</item>
+                                      <item id="WWPN" translatable="yes">WWPN</item>
+                                      <item id="LUN" translatable="yes">LUN</item>
                                     </items>
                                     <signal name="changed" handler="on_z_type_combo_changed" swapped="no"/>
                                   </object>
diff --git a/pyanaconda/ui/gui/spokes/filter.py b/pyanaconda/ui/gui/spokes/filter.py
index c31ce3e..26cbbae 100644
--- a/pyanaconda/ui/gui/spokes/filter.py
+++ b/pyanaconda/ui/gui/spokes/filter.py
@@ -148,6 +148,11 @@ def _long_identifier(self, disk):
         return disk.name
 
 class SearchPage(FilterPage):
+    # Match these to searchTypeCombo ids in glade
+    SEARCH_TYPE_NONE = 'None'
+    SEARCH_TYPE_PORT_TARGET_LUN = 'PTL'
+    SEARCH_TYPE_WWID = 'WWID'
+
     def __init__(self, storage, builder):
         FilterPage.__init__(self, storage, builder)
         self.model = self.builder.get_object("searchModel")
@@ -161,7 +166,7 @@ def __init__(self, storage, builder):
         self._targetEntry = self.builder.get_object("searchTargetEntry")
 
     def setup(self, store, selectedNames, disks):
-        self._combo.set_active(0)
+        self._combo.set_active_id(self.SEARCH_TYPE_NONE)
         self._combo.emit("changed")
 
         ports = []
@@ -207,13 +212,13 @@ def _filter_func(self, device):
         if not self.filterActive:
             return True
 
-        filterBy = self._combo.get_active()
+        filterBy = self._combo.get_active_id()
 
-        if filterBy == 0:
+        if filterBy == self.SEARCH_TYPE_NONE:
             return True
-        elif filterBy == 1:
+        elif filterBy == self.SEARCH_TYPE_PORT_TARGET_LUN:
             return self._port_equal(device) and self._target_equal(device) and self._lun_equal(device)
-        elif filterBy == 2:
+        elif filterBy == self.SEARCH_TYPE_WWID:
             return self._wwidEntry.get_text() in getattr(device, "wwid", self._long_identifier(device))
 
     def visible_func(self, model, itr, *args):
@@ -222,6 +227,12 @@ def visible_func(self, model, itr, *args):
         return self._filter_func(device)
 
 class MultipathPage(FilterPage):
+    # Match these to multipathTypeCombo ids in glade
+    SEARCH_TYPE_NONE = 'None'
+    SEARCH_TYPE_VENDOR = 'Vendor'
+    SEARCH_TYPE_INTERCONNECT = 'Interconnect'
+    SEARCH_TYPE_WWID = 'WWID'
+
     def __init__(self, storage, builder):
         FilterPage.__init__(self, storage, builder)
         self.model = self.builder.get_object("multipathModel")
@@ -254,7 +265,7 @@ def setup(self, store, selectedNames, disks):
             if not disk.bus in interconnects:
                 interconnects.append(disk.bus)
 
-        self._combo.set_active(0)
+        self._combo.set_active_id(self.SEARCH_TYPE_NONE)
         self._combo.emit("changed")
 
         self.setupCombo(self._vendorCombo, vendors)
@@ -269,15 +280,15 @@ def _filter_func(self, device):
         if not self.filterActive:
             return True
 
-        filterBy = self._combo.get_active()
+        filterBy = self._combo.get_active_id()
 
-        if filterBy == 0:
+        if filterBy == self.SEARCH_TYPE_NONE:
             return True
-        elif filterBy == 1:
+        elif filterBy == self.SEARCH_TYPE_VENDOR:
             return device.vendor == self._vendorCombo.get_active_text()
-        elif filterBy == 2:
+        elif filterBy == self.SEARCH_TYPE_INTERCONNECT:
             return device.bus == self._icCombo.get_active_text()
-        elif filterBy == 3:
+        elif filterBy == self.SEARCH_TYPE_WWID:
             return self._wwidEntry.get_text() in device.wwid
 
     def visible_func(self, model, itr, *args):
@@ -289,6 +300,12 @@ def visible_func(self, model, itr, *args):
         return self.ismember(device) and self._filter_func(device)
 
 class OtherPage(FilterPage):
+    # Match these to otherTypeCombo ids in glade
+    SEARCH_TYPE_NONE = 'None'
+    SEARCH_TYPE_VENDOR = 'Vendor'
+    SEARCH_TYPE_INTERCONNECT = 'Interconnect'
+    SEARCH_TYPE_ID = 'ID'
+
     def __init__(self, storage, builder):
         FilterPage.__init__(self, storage, builder)
         self.model = self.builder.get_object("otherModel")
@@ -329,7 +346,7 @@ def setup(self, store, selectedNames, disks):
             if not disk.bus in interconnects:
                 interconnects.append(disk.bus)
 
-        self._combo.set_active(0)
+        self._combo.set_active_id(self.SEARCH_TYPE_NONE)
         self._combo.emit("changed")
 
         self.setupCombo(self._vendorCombo, vendors)
@@ -344,15 +361,15 @@ def _filter_func(self, device):
         if not self.filterActive:
             return True
 
-        filterBy = self._combo.get_active()
+        filterBy = self._combo.get_active_id()
 
-        if filterBy == 0:
+        if filterBy == self.SEARCH_TYPE_NONE:
             return True
-        elif filterBy == 1:
+        elif filterBy == self.SEARCH_TYPE_VENDOR:
             return device.vendor == self._vendorCombo.get_active_text()
-        elif filterBy == 2:
+        elif filterBy == self.SEARCH_TYPE_INTERCONNECT:
             return device.bus == self._icCombo.get_active_text()
-        elif filterBy == 3:
+        elif filterBy == self.SEARCH_TYPE_ID:
             for link in device.deviceLinks:
                 if "by-path" in link:
                     return self._idEntry.get_text().strip() in link
@@ -365,6 +382,12 @@ def visible_func(self, model, itr, *args):
         return self.ismember(device) and self._filter_func(device)
 
 class ZPage(FilterPage):
+    # Match these to zTypeCombo ids in glade
+    SEARCH_TYPE_NONE = 'None'
+    SEARCH_TYPE_CCW = 'CCW'
+    SEARCH_TYPE_WWPN = 'WWPN'
+    SEARCH_TYPE_LUN = 'LUN'
+
     def __init__(self, storage, builder):
         FilterPage.__init__(self, storage, builder)
         self.model = self.builder.get_object("zModel")
@@ -394,7 +417,7 @@ def setup(self, store, selectedNames, disks):
             wwpns = []
             luns = []
 
-            self._combo.set_active(0)
+            self._combo.set_active_id(self.SEARCH_TYPE_NONE)
             self._combo.emit("changed")
 
             for disk in disks:
@@ -421,15 +444,15 @@ def _filter_func(self, device):
         if not self.filterActive:
             return True
 
-        filterBy = self._combo.get_active()
+        filterBy = self._combo.get_active_id()
 
-        if filterBy == 0:
+        if filterBy == self.SEARCH_TYPE_NONE:
             return True
-        elif filterBy == 1:
+        elif filterBy == self.SEARCH_TYPE_CCW:
             return self._ccwEntry.get_text() in device.hba_id
-        elif filterBy == 2:
+        elif filterBy == self.SEARCH_TYPE_WWPN:
             return self._wwpnEntry.get_text() in device.wwpn
-        elif filterBy == 3:
+        elif filterBy == self.SEARCH_TYPE_LUN:
             return self._lunEntry.get_text() in device.fcp_lun
 
         return False


-- 
To view this commit on github, visit https://github.com/rhinstaller/anaconda/commit/07bff9ec78813f8cdb817e925f991f12cebdb6a0


More information about the anaconda-patches mailing list