On Fri, Oct 31, 2014 at 09:15:00AM -0700, Brian C. Lane wrote:
When there is an error we tell the user to click done again to exit.
If
they do anything else the state needs to be cleared. We already call
clear_errors from all these places in order to reset the error bar, so
add clearing of the done clicked state.
Since do_check also clears errors, set the state to True *after* an
error has been found.
Ack.
Resolves: rhbz#1158609
NOTE: Previous version broke double done click because save_right_side calls
clear_errors
---
pyanaconda/ui/gui/spokes/custom.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py
index 9daf9d1..1985c91 100644
--- a/pyanaconda/ui/gui/spokes/custom.py
+++ b/pyanaconda/ui/gui/spokes/custom.py
@@ -2176,6 +2176,8 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
return bool(self._error == "")
def on_back_clicked(self, button):
+ # Preserve back_clicked across save_right_side since it calls clear_errors
+ back_already_clicked = self._back_already_clicked
# First, save anything from the currently displayed mountpoint.
self._save_right_side(self._current_selector)
@@ -2187,8 +2189,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
# If back has been clicked on once already and no other changes made on the
screen,
# run the storage check now. This handles displaying any errors in the info
bar.
- if not self._back_already_clicked:
- self._back_already_clicked = True
+ if not back_already_clicked:
new_luks = [d for d in self.__storage.devices
if d.format.type == "luks" and not d.format.exists]
@@ -2208,6 +2209,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
luks.format.passphrase = self.passphrase
if not self._do_check():
+ self._back_already_clicked = True
return
if len(self.__storage.devicetree.findActions()) > 0:
@@ -3109,6 +3111,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
def clear_errors(self):
self._error = None
self.clear_info()
+ self._back_already_clicked = False
# This callback is for the button that just resets the UI to anaconda's
# current understanding of the disk layout.
--
1.9.3
_______________________________________________
anaconda-patches mailing list
anaconda-patches(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches