diff options
-rw-r--r-- | pyanaconda/ui/gui/spokes/custom.py | 19 | ||||
-rw-r--r-- | pyanaconda/ui/gui/spokes/lib/accordion.py | 15 |
2 files changed, 16 insertions, 18 deletions
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py index bb7269773..13fa160a5 100644 --- a/pyanaconda/ui/gui/spokes/custom.py +++ b/pyanaconda/ui/gui/spokes/custom.py @@ -797,7 +797,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): """ Add an entry for device to the new install Page. """ page = self._accordion._find_by_title(self.translated_new_install_name).get_child() devices = [device] - if not hasattr(page, "_members"): + if page.members: # remove the CreateNewPage and replace it with a regular Page expander = self._accordion._find_by_title(self.translated_new_install_name) expander.remove(expander.get_child()) @@ -820,10 +820,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): """ Update all btrfs selectors' size properties. """ # we're only updating selectors in the new root. problem? page = self._accordion._find_by_title(self.translated_new_install_name).get_child() - if not hasattr(page, "_members"): - return - - for selector in page._members: + for selector in page.members: if selector._device.type.startswith("btrfs"): selectorFromDevice(selector._device, selector=selector) @@ -1242,14 +1239,14 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): # first, remove this selector from any old install page(s) new_selector = None for page in self._accordion.allPages: - for _selector in getattr(page, "_members", []): + for _selector in page.members: if _selector._device in (device, old_device): if page.pageTitle == self.translated_new_install_name: new_selector = _selector continue page.removeSelector(_selector) - if not page._members: + if not page.members: log.debug("removing empty page %s" % page.pageTitle) self._accordion.removePage(page.pageTitle) @@ -1824,14 +1821,14 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): page = self._accordion.currentPage() log.debug("show first mountpoint: %s" % getattr(page, "pageTitle", None)) - if getattr(page, "_members", []): + if page.members: if mountpoint: - for member in page._members: + for member in page.members: if member.get_property("mountpoint") == mountpoint: self.on_selector_clicked(member) break else: - self.on_selector_clicked(page._members[0]) + self.on_selector_clicked(page.members[0]) else: self._current_selector = None @@ -1879,7 +1876,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): return if dialog.deleteAll: - for dev in [s._device for s in page._members]: + for dev in [s._device for s in page.members]: self._destroy_device(dev) else: self._destroy_device(device) diff --git a/pyanaconda/ui/gui/spokes/lib/accordion.py b/pyanaconda/ui/gui/spokes/lib/accordion.py index d0d1a835f..464febed3 100644 --- a/pyanaconda/ui/gui/spokes/lib/accordion.py +++ b/pyanaconda/ui/gui/spokes/lib/accordion.py @@ -130,7 +130,7 @@ class Accordion(Gtk.Box): @property def allSelectors(self): - return [s for p in self.allPages for s in getattr(p, "_members", [])] + return [s for p in self.allPages for s in p.members] def currentPage(self): for e in self._expanders: @@ -194,7 +194,7 @@ class Page(Gtk.Box): self._systemBox.add(self._make_category_label(_("SYSTEM"))) self.add(self._systemBox) - self._members = [] + self.members = [] self.pageTitle = title def _make_category_label(self, name): @@ -208,7 +208,7 @@ class Page(Gtk.Box): selector = selectorFromDevice(device, mountpoint=mountpoint) selector.connect("button-press-event", self._onSelectorClicked, cb) selector.connect("key-release-event", self._onSelectorClicked, cb) - self._members.append(selector) + self.members.append(selector) if self._mountpointType(selector.props.mountpoint) == DATA_DEVICE: self._dataBox.add(selector) @@ -223,7 +223,7 @@ class Page(Gtk.Box): else: self._systemBox.remove(selector) - self._members.remove(selector) + self.members.remove(selector) def _mountpointType(self, mountpoint): if not mountpoint: @@ -253,7 +253,7 @@ class UnknownPage(Page): def __init__(self, title): # For this type of page, there's only one place to store members. Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6) - self._members = [] + self.members = [] self.pageTitle = title def addSelector(self, device, cb, mountpoint=""): @@ -261,14 +261,14 @@ class UnknownPage(Page): selector.connect("button-press-event", self._onSelectorClicked, cb) selector.connect("key-release-event", self._onSelectorClicked, cb) - self._members.append(selector) + self.members.append(selector) self.add(selector) return selector def removeSelector(self, selector): self.remove(selector) - self._members.remove(selector) + self.members.remove(selector) # This is a special Page that is displayed when no new installation has been automatically # created, and shows the user how to go about doing that. The intention is that an instance @@ -277,6 +277,7 @@ class UnknownPage(Page): class CreateNewPage(Page): def __init__(self, title, cb, partitionsToReuse=True): Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6) + self.members = [] self.pageTitle = title # Create a box where we store the "Here's how you create a new blah" info. |