[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