The only calls to set_info, set_warning and set_error that were not immediately followed by a call to window.show_all() were bugs in that the info bar would not be shown. Move the call to show() into the widget, instead. --- pyanaconda/ui/gui/helpers.py | 1 - pyanaconda/ui/gui/hubs/__init__.py | 2 -- pyanaconda/ui/gui/spokes/custom.py | 22 ---------------------- pyanaconda/ui/gui/spokes/datetime_spoke.py | 2 -- pyanaconda/ui/gui/spokes/network.py | 2 -- pyanaconda/ui/gui/spokes/storage.py | 2 -- widgets/src/BaseWindow.c | 1 + 7 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/pyanaconda/ui/gui/helpers.py b/pyanaconda/ui/gui/helpers.py index 11b4b15..320f933 100644 --- a/pyanaconda/ui/gui/helpers.py +++ b/pyanaconda/ui/gui/helpers.py @@ -90,7 +90,6 @@ class GUISpokeInputCheckHandler(GUIInputCheckHandler): self.clear_info() if failed_check: self.set_warning(failed_check.check_status) - self.window.show_all()
# Implemented by GUIObject @abstractmethod diff --git a/pyanaconda/ui/gui/hubs/__init__.py b/pyanaconda/ui/gui/hubs/__init__.py index a418c19..7da5888 100644 --- a/pyanaconda/ui/gui/hubs/__init__.py +++ b/pyanaconda/ui/gui/hubs/__init__.py @@ -220,12 +220,10 @@ class Hub(GUIObject, common.Hub): if len(self._incompleteSpokes) == 0: if self._checker and not self._checker.check(): self.set_warning(self._checker.error_message) - self.window.show_all() else: msg = _("Please complete items marked with this icon before continuing to the next step.")
self.set_warning(msg) - self.window.show_all()
self._updateContinueButton()
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py index dd87a4d..2866011 100644 --- a/pyanaconda/ui/gui/spokes/custom.py +++ b/pyanaconda/ui/gui/spokes/custom.py @@ -691,7 +691,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._update_all_devices_in_selectors() self._error = e self.set_warning(_(DEVICE_CONFIGURATION_ERROR_MSG)) - self.window.show_all()
if not removed_device: # nothing more to do @@ -711,7 +710,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self.refresh() # this calls self.clear_errors self._error = e self.set_warning(_(UNRECOVERABLE_ERROR_MSG)) - self.window.show_all() return False
@ui_storage_logged @@ -777,7 +775,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = e self.set_warning(_("Device resize request failed. " "Click for details.")) - self.window.show_all() else: _changed_size = True
@@ -851,7 +848,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = e self.set_warning(_("Device reformat request failed. " "Click for details.")) - self.window.show_all() else: # first, remove this selector from any old install page(s) new_selector = None @@ -984,7 +980,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): if error: self._error = error self.set_warning(self._error) - self.window.show_all() self._populate_right_side(selector) return
@@ -1006,7 +1001,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): if error: self._error = error self.set_warning(self._error) - self.window.show_all() self._populate_right_side(selector) return
@@ -1034,7 +1028,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): raid_level) if error: self.set_warning(error) - self.window.show_all() self._populate_right_side(selector) return
@@ -1225,7 +1218,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): except ValueError as e: self._error = e self.set_error(_("Invalid device name: %s") % name) - self.window.show_all() else: new_name = use_dev.name log.debug("changing name of %s to %s", old_name, new_name) @@ -1597,7 +1589,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
# on_info_bar_clicked requires self._error to be set, so set it to the # list of all errors and warnings that storage checking found. - self.window.show_all() self._error = "\n".join(self.errors + self.warnings)
return self._error == "" @@ -1703,7 +1694,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self.set_info(_("Added new %(type)s to existing " "container %(name)s.") % {"type" : type_str, "name" : container.name}) - self.window.show_all() e = None
# the factory's error handling has replaced all of the devices @@ -1714,12 +1704,10 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = e self.set_error(_("Failed to add new device. Click for " "details.")) - self.window.show_all() except OverflowError as e: log.error("invalid size set for partition") self._error = e self.set_error(_("Invalid partition size set. Use a valid integer.")) - self.window.show_all()
def on_add_clicked(self, button): self._save_right_side(self._current_selector) @@ -1828,7 +1816,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = e self.set_warning(_("Device removal request failed. Click " "for details.")) - self.window.show_all() else: if is_logical_partition: self._storage_playground.removeEmptyExtendedPartitions() @@ -2000,7 +1987,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): if not disks: self._error = "No disks selected. Keeping previous disk set." self.set_info(self._error) - self.window.show_all() return
if set(disks) != self._device_disks: @@ -2059,7 +2045,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): if not disks: self._error = "No disks selected. Not saving changes." self.set_info(self._error) - self.window.show_all() return
log.debug("new container name: %s", name) @@ -2067,7 +2052,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = _("Volume Group name %s is already in use. Not " "saving changes.") % name self.set_info(self._error) - self.window.show_all() return
if (set(disks) != set(self._device_disks) or @@ -2125,7 +2109,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): except ValueError as e: self._error = e self.set_error(_("Invalid device name: %s") % self._device_container_name) - self.window.show_all() self._device_container_name = container_name self.on_update_settings_clicked(None) return @@ -2333,20 +2316,17 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): log.error("doAutoPartition failed: %s", e) self._error = e self.set_error(_("No disks selected.")) - self.window.show_all() except NotEnoughFreeSpaceError as e: # No handling should be required for this. log.error("doAutoPartition failed: %s", e) self._error = e self.set_error(_("Not enough free space on selected disks.")) - self.window.show_all() except (StorageError, BootLoaderError) as e: log.error("doAutoPartition failed: %s", e) self._reset_storage() self._error = e self.set_error(_("Automatic partitioning failed. Click " "for details.")) - self.window.show_all() else: self._devices = self._storage_playground.devices # mark all new containers for automatic size management @@ -2372,7 +2352,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._error = messages self.set_error(_("Automatic partitioning failed. Click " "for details.")) - self.window.show_all()
def on_create_clicked(self, button, autopartTypeCombo): # Then do autopartitioning. We do not do any clearpart first. This is @@ -2680,7 +2659,6 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker): self._passphraseEntry.set_text("") self.set_warning(_("Failed to unlock encrypted block device. " "Click for details")) - self.window.show_all() return
log.info("unlocked %s, now going to populate devicetree...", device.name) diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py index 703e8b8..1648c35 100644 --- a/pyanaconda/ui/gui/spokes/datetime_spoke.py +++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py @@ -1050,11 +1050,9 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke): def _show_no_network_warning(self): self.set_warning(_("You need to set up networking first if you "\ "want to use NTP")) - self.window.show_all()
def _show_no_ntp_server_warning(self): self.set_warning(_("You have no working NTP server configured")) - self.window.show_all()
def on_ntp_switched(self, switch, *args): if switch.get_active(): diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py index a26bdbf..4f34853 100644 --- a/pyanaconda/ui/gui/spokes/network.py +++ b/pyanaconda/ui/gui/spokes/network.py @@ -1446,7 +1446,6 @@ class NetworkSpoke(FirstbootSpokeMixIn, NormalSpoke): msg = _("Host name is not valid: %s") % error self.set_warning(msg) self.network_control_box.entry_hostname.grab_focus() - self.window.show_all() else: self.clear_info() NormalSpoke.on_back_clicked(self, button) @@ -1516,7 +1515,6 @@ class NetworkStandaloneSpoke(StandaloneSpoke): msg = _("Host name is not valid: %s") % error self.set_warning(msg) self.network_control_box.entry_hostname.grab_focus() - self.window.show_all() else: self.clear_info() StandaloneSpoke._on_continue_clicked(self, window, user_data) diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py index 4ecdfdc..455c394 100644 --- a/pyanaconda/ui/gui/spokes/storage.py +++ b/pyanaconda/ui/gui/spokes/storage.py @@ -519,7 +519,6 @@ class StorageSpoke(NormalSpoke, StorageChecker): self.set_warning(_("Error checking storage configuration. Click for details.")) elif self.warnings: self.set_warning(_("Warning checking storage configuration. Click for details.")) - self.window.show_all()
def initialize(self): NormalSpoke.initialize(self) @@ -691,7 +690,6 @@ class StorageSpoke(NormalSpoke, StorageChecker):
if self.data.bootloader.location == "none": self.set_warning(_("You have chosen to skip boot loader installation. Your system may not be bootable.")) - self.window.show_all() else: self.clear_info()
diff --git a/widgets/src/BaseWindow.c b/widgets/src/BaseWindow.c index a70f7cc..a9ce108 100644 --- a/widgets/src/BaseWindow.c +++ b/widgets/src/BaseWindow.c @@ -598,6 +598,7 @@ static void anaconda_base_window_set_info_bar(AnacondaBaseWindow *win, GtkMessag gtk_container_add(GTK_CONTAINER(content_area), label); gtk_info_bar_set_message_type(GTK_INFO_BAR(win->priv->info_bar), ty); gtk_widget_show(win->priv->info_bar); + gtk_widget_show(win->priv->event_box);
win->priv->info_shown = TRUE; }
On Fri, 2015-01-16 at 13:10 -0500, David Shea wrote:
The only calls to set_info, set_warning and set_error that were not immediately followed by a call to window.show_all() were bugs in that the info bar would not be shown. Move the call to show() into the widget, instead.
Big ACK!
anaconda-patches@lists.fedorahosted.org