[master 3/3] Do not add separators to the addon list when not needed

dashea installerbot-noreply at redhat.com
Wed Mar 25 21:39:13 UTC 2015


From: David Shea <dshea at redhat.com>

Move the separator logic into a property. When creating the addon list
used by row activation methods, check whether or not a separator was
needed by the addon store.
---
 pyanaconda/ui/gui/spokes/software.py | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py
index becae12..834dddd 100644
--- a/pyanaconda/ui/gui/spokes/software.py
+++ b/pyanaconda/ui/gui/spokes/software.py
@@ -36,7 +36,7 @@
 import logging
 log = logging.getLogger("anaconda")
 
-import sys
+import sys, copy
 
 __all__ = ["SoftwareSelectionSpoke"]
 
@@ -337,6 +337,12 @@ def _addAddon(self, grp):
         check.set_active(selected)
         self._add_row(self._addonListBox, name, desc, check, self.on_checkbox_toggled)
 
+    @property
+    def _addSep(self):
+        """ Whether the addon list contains a separator. """
+        return len(self.payload.environmentAddons[self.environment][0]) > 0 and \
+                len(self.payload.environmentAddons[self.environment][1]) > 0
+
     def refreshAddons(self):
         if self.environment and (self.environment in self.payload.environmentAddons):
             self._clear_listbox(self._addonListBox)
@@ -351,15 +357,12 @@ def refreshAddons(self):
             # state will be used. Otherwise, the add-on will be selected if it is a default
             # for this environment.
 
-            addSep = len(self.payload.environmentAddons[self.environment][0]) > 0 and \
-                     len(self.payload.environmentAddons[self.environment][1]) > 0
-
             for grp in self.payload.environmentAddons[self.environment][0]:
                 self._addAddon(grp)
 
             # This marks a separator in the view - only add it if there's both environment
             # specific and generic addons.
-            if addSep:
+            if self._addSep:
                 self._addonListBox.insert(Gtk.Separator(), -1)
 
             for grp in self.payload.environmentAddons[self.environment][1]:
@@ -373,9 +376,11 @@ def refreshAddons(self):
             self.clear_info()
 
     def _allAddons(self):
-        return self.payload.environmentAddons[self.environment][0] + \
-               [""] + \
-               self.payload.environmentAddons[self.environment][1]
+        addons = copy.copy(self.payload.environmentAddons[self.environment][0])
+        if self._addSep:
+            addons.append('')
+        addons += self.payload.environmentAddons[self.environment][1]
+        return addons
 
     def _get_selected_addons(self):
         retval = []


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


More information about the anaconda-patches mailing list