guix-commits
[Top][All Lists]
Advanced

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

02/02: installer: Refresh config-window contents.


From: Danny Milosavljevic
Subject: 02/02: installer: Refresh config-window contents.
Date: Sun, 9 Jul 2017 20:25:15 -0400 (EDT)

dannym pushed a commit to branch wip-installer-2
in repository guix.

commit 2b2322714ad2aa333cebd85a9ce778333dbd2c5e
Author: Danny Milosavljevic <address@hidden>
Date:   Mon Jul 10 02:21:51 2017 +0200

    installer: Refresh config-window contents.
    
    * gnu/system/installer/page.scm (page-refresh): Refresh config-window 
contents.
    * gnu/system/installer/configure.scm (configure-page-init): Add
    config-window-port.
    * gnu/system/installer/format.scm (format-page-init): Add 
config-window-port.
    * gnu/system/installer/install.scm (install-page-init): Add 
config-window-port.
---
 gnu/system/installer/configure.scm |  7 ++++---
 gnu/system/installer/format.scm    |  1 +
 gnu/system/installer/install.scm   |  2 +-
 gnu/system/installer/page.scm      | 12 +++++++++---
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/gnu/system/installer/configure.scm 
b/gnu/system/installer/configure.scm
index 66593cd..19c241a 100644
--- a/gnu/system/installer/configure.scm
+++ b/gnu/system/installer/configure.scm
@@ -214,9 +214,10 @@
                          (getmaxy text-window)
                          0)))
 
-    (let ((p (make-window-port (inner config-window))))
-      (generate-guix-config p (getmaxx (inner config-window)))
-      (force-output p))
+    (let ((port (open-output-string)))
+      (generate-guix-config port (getmaxx (inner config-window)))
+      (force-output port)
+      (page-set-datum! p 'config-window-port port))
 
     (push-cursor (page-cursor-visibility p))
     (page-set-datum! p 'navigation buttons)
diff --git a/gnu/system/installer/format.scm b/gnu/system/installer/format.scm
index d1bfc95..100651d 100644
--- a/gnu/system/installer/format.scm
+++ b/gnu/system/installer/format.scm
@@ -167,5 +167,6 @@ match those uuids read from the respective partitions"
     (page-set-datum! p 'navigation buttons)
     (page-set-datum! p 'text-window text-window)
     (page-set-datum! p 'config-window config-window)
+    (page-set-datum! p 'config-window-port (open-output-string))
     (buttons-post buttons bwin)
     (buttons-select-by-symbol buttons 'cancel)))
diff --git a/gnu/system/installer/install.scm b/gnu/system/installer/install.scm
index a741552..765b283 100644
--- a/gnu/system/installer/install.scm
+++ b/gnu/system/installer/install.scm
@@ -149,7 +149,6 @@
     (install-page-init page)
     (page-set-initialised! page #t)))
 
-
 (define (install-page-init p)
   (let* ((s (page-surface p))
         (text-window (derwin
@@ -181,5 +180,6 @@
     (push-cursor (page-cursor-visibility p))
     (page-set-datum! p 'navigation buttons)
     (page-set-datum! p 'config-window (inner config-window))
+    (page-set-datum! p 'config-window-port (open-output-string))
     (buttons-post buttons bwin)))
 
diff --git a/gnu/system/installer/page.scm b/gnu/system/installer/page.scm
index 1aab0cd..1666dc2 100644
--- a/gnu/system/installer/page.scm
+++ b/gnu/system/installer/page.scm
@@ -320,6 +320,7 @@ If a form is used it's assumed that the menu is not used 
and vice versa."
             (buttons (page-datum p 'navigation))
             (menu (page-datum p 'menu))
             (config-window (page-datum p 'config-window))
+            (config-window-port (page-datum p 'config-window-port))
             (config-window-title (page-datum p 'config-window-title)))
         (if menu
           (begin
@@ -330,9 +331,14 @@ If a form is used it's assumed that the menu is not used 
and vice versa."
         (if form
           (form-refresh form))
         (if config-window
-          (boxed-window-decoration-refresh config-window
-                                           (or config-window-title
-                                               "Output")))
+          (begin
+            (boxed-window-decoration-refresh config-window
+                                             (or config-window-title
+                                                 "Output"))
+            (erase (inner config-window))
+            ; TODO scrolling...
+            (if config-window-port
+                (addstr (inner config-window) (get-output-string 
config-window-port)))))
         (move focused-window y x))))))
 
 (define (page-enter p)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]