[PATCH 1/4] Allow getScreen methods to indicate the screen should be skipped.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is sometimes useful, like when we won't know until the screen is being
populated whether or not we actually want to display it.
---
 gui.py |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/gui.py b/gui.py
index 69559b9..4de661a 100755
--- a/gui.py
+++ b/gui.py
@@ -1352,7 +1352,7 @@ class InstallControlWindow:
         (file, className) = stepToClass[step]
         newScreenClass = None
 
-        while 1:
+        while True:
             try:
                 found = imputil.imp.find_module(file)
                 loaded = imputil.imp.load_module(className, found[0], found[1],
@@ -1386,8 +1386,18 @@ class InstallControlWindow:
         self.currentWindow = newScreenClass(ics)
 
         new_screen = self.currentWindow.getScreen(anaconda)
+
+        # If the getScreen method returned None, that means the screen did not
+        # want to be displayed for some reason and we should skip to the next
+        # step.  However, we do not want to remove the current step from the
+        # list as later events may cause the screen to be displayed.
         if not new_screen:
-            return
+            if self.anaconda.dispatch.dir == DISPATCH_FORWARD:
+                self.anaconda.dispatch.gotoNext()
+            else:
+                self.anaconda.dispatch.gotoPrev()
+
+            return self.setScreen()
 
         self.update (ics)
 
-- 
1.6.5.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux