Added label: rhel7-branch.
From: David Shea dshea@redhat.com
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.
(cherry picked from commit 30036a04f72da85ba38eb6c4690d078f0c22c27d)
Related: rhbz#1238797 --- pyanaconda/ui/gui/helpers.py | 1 - pyanaconda/ui/gui/hubs/__init__.py | 2 -- pyanaconda/ui/gui/spokes/custom.py | 20 -------------------- 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(+), 29 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 @@ def set_status(self, inputcheck): 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 cb24585..ab68893 100644 --- a/pyanaconda/ui/gui/hubs/__init__.py +++ b/pyanaconda/ui/gui/hubs/__init__.py @@ -222,12 +222,10 @@ def _updateContinue(self): 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 d36d147..783299e 100644 --- a/pyanaconda/ui/gui/spokes/custom.py +++ b/pyanaconda/ui/gui/spokes/custom.py @@ -680,7 +680,6 @@ def _try_replace_device(self, selector, removed_device, new_device_info, 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 @@ -700,7 +699,6 @@ def _try_replace_device(self, selector, removed_device, new_device_info, 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 @@ -761,7 +759,6 @@ def _handle_size_change(self, size, old_size, device, use_dev): self._error = e self.set_warning(_("Device resize request failed. " "<a href="">Click for details.</a>")) - self.window.show_all() else: _changed_size = True
@@ -835,7 +832,6 @@ def _do_reformat(self, device, mountpoint, label, changed_encryption, self._error = e self.set_warning(_("Device reformat request failed. " "<a href="">Click for details.</a>")) - self.window.show_all() else: # first, remove this selector from any old install page(s) new_selector = None @@ -963,7 +959,6 @@ def _save_right_side(self, selector): if error: self._error = error self.set_warning(self._error) - self.window.show_all() self._populate_right_side(selector) return
@@ -985,7 +980,6 @@ def _save_right_side(self, selector): if error: self._error = error self.set_warning(self._error) - self.window.show_all() self._populate_right_side(selector) return
@@ -1013,7 +1007,6 @@ def _save_right_side(self, selector): raid_level) if error: self.set_warning(error) - self.window.show_all() self._populate_right_side(selector) return
@@ -1527,7 +1520,6 @@ def _do_check(self):
# 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 == "" @@ -1635,7 +1627,6 @@ def _add_device(self, dev_info): 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 @@ -1646,12 +1637,10 @@ def _add_device(self, dev_info): self._error = e self.set_error(_("Failed to add new device. <a href="">Click for " "details.</a>")) - 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) @@ -1762,7 +1751,6 @@ def _destroy_device(self, device): self._error = e self.set_warning(_("Device removal request failed. <a href="">Click " "for details.</a>")) - self.window.show_all() return else: if is_logical_partition: @@ -1930,7 +1918,6 @@ def on_configure_clicked(self, button): 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: @@ -1989,7 +1976,6 @@ def run_container_editor(self, container=None, name=None): 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) @@ -1997,7 +1983,6 @@ def run_container_editor(self, container=None, name=None): 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 @@ -2258,20 +2243,17 @@ def _do_autopart(self): 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. <a href="">Click " "for details.</a>")) - self.window.show_all() else: self._devices = self._storage_playground.devices # mark all new containers for automatic size management @@ -2297,7 +2279,6 @@ def _do_autopart(self): self._error = messages self.set_error(_("Automatic partitioning failed. <a href="">Click " "for details.</a>")) - self.window.show_all()
def on_create_clicked(self, button, autopartTypeCombo): # Then do autopartitioning. We do not do any clearpart first. This is @@ -2591,7 +2572,6 @@ def on_unlock_clicked(self, *args): self._passphraseEntry.set_text("") self.set_warning(_("Failed to unlock encrypted block device. " "<a href="">Click for details.</a>")) - 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 c7b866b..ade2c0e 100644 --- a/pyanaconda/ui/gui/spokes/datetime_spoke.py +++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py @@ -1039,11 +1039,9 @@ def _set_date_time_setting_sensitive(self, sensitive): 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 a8660c8..a45b095 100644 --- a/pyanaconda/ui/gui/spokes/network.py +++ b/pyanaconda/ui/gui/spokes/network.py @@ -1477,7 +1477,6 @@ def on_back_clicked(self, button): 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) @@ -1547,7 +1546,6 @@ def _on_continue_clicked(self, window, user_data=None): 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 2b19eb7..1b320fc 100644 --- a/pyanaconda/ui/gui/spokes/storage.py +++ b/pyanaconda/ui/gui/spokes/storage.py @@ -523,7 +523,6 @@ def refresh(self): self.set_warning(_("Error checking storage configuration. <a href="">Click for details.</a>")) elif self.warnings: self.set_warning(_("Warning checking storage configuration. <a href="">Click for details.</a>")) - self.window.show_all()
def initialize(self): NormalSpoke.initialize(self) @@ -710,7 +709,6 @@ def on_summary_clicked(self, button):
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 7a1528a..5652283 100644 --- a/widgets/src/BaseWindow.c +++ b/widgets/src/BaseWindow.c @@ -602,6 +602,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; }
From: David Shea dshea@redhat.com
This message was moved to the wrong method somewhere in cherry-picking it back and forth.
Resolves: rhbz#1238797 --- pyanaconda/ui/gui/spokes/source.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py index 3a9fea8..849db83 100644 --- a/pyanaconda/ui/gui/spokes/source.py +++ b/pyanaconda/ui/gui/spokes/source.py @@ -844,6 +844,14 @@ def refresh(self): # that condition here too. self.on_protocol_changed(self._protocolComboBox)
+ if not nm.nm_is_connected(): + self._networkButton.set_sensitive(False) + self._networkBox.set_sensitive(False) + + self.clear_info() + self.set_warning(_("You need to configure the network to use a network installation source.")) + + def _setup_no_updates(self): """ Setup the state of the No Updates checkbox.
@@ -855,13 +863,6 @@ def _setup_no_updates(self): active = not self._mirror_active() or not self.payload.isRepoEnabled("updates") self._noUpdatesCheckbox.set_active(active)
- if not nm.nm_is_connected(): - self._networkButton.set_sensitive(False) - self._networkBox.set_sensitive(False) - - self.clear_info() - self.set_warning(_("You need to configure the network to use a network installation source.")) - @property def showable(self): return isinstance(self.payload, PackagePayload)
Looks good to me.
Added label: ACK.
Closed.
Pushed.
anaconda-patches@lists.fedorahosted.org