]> git.ipfire.org Git - people/ms/bricklayer.git/commitdiff
tui: Make progressbar optional for progress windows
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 8 May 2021 13:28:12 +0000 (13:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 8 May 2021 13:28:12 +0000 (13:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/python/tui/__init__.py

index 6e973eb4d9f34e0d6942800fc7ef3bd8c1433cbf..5fa8bbc49348b2a065ebdfb6e79a86d2e59b8da5 100644 (file)
@@ -192,20 +192,24 @@ class Tui(object):
 
 
 class ProgressWindow(object):
-       def __init__(self, tui, title, text, max_value=1, width=60, help=None):
+       def __init__(self, tui, title, text, max_value=0, width=60, help=None):
                self.tui = tui
 
                # Compose the window
                textbox = snack.TextboxReflowed(width, text)
 
                # Add the progressbar
-               scale = snack.Scale(width, total=max_value)
-               self.update_callback = scale.set
+               if max_value:
+                       scale = snack.Scale(width, total=max_value)
+                       self.update_callback = scale.set
+               else:
+                       scale = None
 
                # Create the grid
                self.grid = snack.GridFormHelp(tui.screen, title, help, 1, 3)
                self.grid.add(textbox, 0, 0, padding=(0, 0, 0, 1))
-               self.grid.add(scale, 0, 1, growx=1)
+               if scale:
+                       self.grid.add(scale, 0, 1, growx=1)
 
        def __enter__(self):
                # Render the window
@@ -213,7 +217,7 @@ class ProgressWindow(object):
                self.tui.refresh()
 
        def __exit__(self, type, value, traceback):
-               pass
+               self.tui.screen.popWindow()
 
        def update(self, value):
                """