guix-commits
[Top][All Lists]
Advanced

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

02/02: installer: Use default event handlers for "time-zone" page.


From: Danny Milosavljevic
Subject: 02/02: installer: Use default event handlers for "time-zone" page.
Date: Tue, 4 Jul 2017 18:55:51 -0400 (EDT)

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

commit cc4bf2efbad20841fedc3b8192214d74a913e159
Author: Danny Milosavljevic <address@hidden>
Date:   Wed Jul 5 00:54:12 2017 +0200

    installer: Use default event handlers for "time-zone" page.
    
    * gnu/system/installer/time-zone.scm (time-zone-page-mouse-handler): Delete
    variable.
    (time-zone-page-key-handler): Delete variable.
    (make-tz-browser): Use default event handlers.
---
 gnu/system/installer/time-zone.scm | 81 +++++++++++++-------------------------
 1 file changed, 27 insertions(+), 54 deletions(-)

diff --git a/gnu/system/installer/time-zone.scm 
b/gnu/system/installer/time-zone.scm
index a1365a7..e2aa0e2 100644
--- a/gnu/system/installer/time-zone.scm
+++ b/gnu/system/installer/time-zone.scm
@@ -34,8 +34,7 @@
                        (gettext "Time Zone")
                        time-zone-page-refresh
                         0
-                       time-zone-page-key-handler
-                       time-zone-page-mouse-handler)))
+                       #:activator time-zone-page-activate-focused-item)))
     (page-set-datum! page 'directory directory)
     page))
 
@@ -43,58 +42,32 @@
 (define my-buttons `((cancel  ,(M_ "Canc_el") #t)))
 
 (define (time-zone-page-activate-focused-item page)
-  (let* ((menu (page-datum page 'menu))
-         (i (menu-get-current-item menu))
-         (directory (page-datum page 'directory))
-         (new-dir (string-append directory "/" i))
-         (st (lstat new-dir)))
-    (if (and (file-exists? new-dir)
-             (eq? 'directory (stat:type st)))
-      (let ((p (make-tz-browser page new-dir)))
-        (page-set-datum! p 'stem
-           (if (page-datum page 'stem)
-             (string-append (page-datum page 'stem) "/" i)
-             i))
-        (page-pop)  ; Don't go back to the current page!
-        (page-enter p))
-      (begin
-        (set! time-zone
-          (if (page-datum page 'stem)
-            (string-append (page-datum page 'stem) "/" i)
-            i))
-        (page-leave)
-        #f))))
-
-(define (time-zone-page-mouse-handler page device-id x y z button-state)
-  (let* ((menu (page-datum page 'menu))
-         (status (std-menu-mouse-handler menu device-id x y z button-state)))
-    (if (eq? status 'activated)
-      (time-zone-page-activate-focused-item page))
-    status))
-
-(define (time-zone-page-key-handler page ch)
-  (let* ((nav  (page-datum page 'navigation))
-       (menu (page-datum page 'menu))
-       (directory (page-datum page 'directory))
-        (result (cond
-     ((eq? ch #\tab)
-      (cond
-       ((eqv? (buttons-selected nav) (1- (buttons-n-buttons nav)))
-       (buttons-unselect-all nav))
-
-       (else
-       (buttons-select-next nav))))
-
-     ((buttons-key-matches-symbol? nav ch 'cancel)
-      (page-leave)
-      'cancelled)
-
-     ((and (select-key? ch)
-           (menu-active menu))
-      (time-zone-page-activate-focused-item page)))))
-  (std-menu-key-handler menu ch)
-  result))
-
+  (let* ((menu (page-datum page 'menu)))
+    (cond
+     ((menu-active menu)
+      (let* ((i (menu-get-current-item menu))
+             (directory (page-datum page 'directory))
+             (new-dir (string-append directory "/" i))
+             (st (lstat new-dir)))
+        (if (and (file-exists? new-dir)
+                 (eq? 'directory (stat:type st)))
+          (let ((p (make-tz-browser page new-dir)))
+            (page-set-datum! p 'stem
+               (if (page-datum page 'stem)
+                 (string-append (page-datum page 'stem) "/" i)
+                 i))
+            (page-pop)  ; Don't go back to the current page!
+            (page-enter p))
+          (begin
+            (set! time-zone
+              (if (page-datum page 'stem)
+                (string-append (page-datum page 'stem) "/" i)
+                i))
+            (page-leave)
+            #f))))
+     (else ; buttons
+       (page-leave)
+       'cancelled))))
 
 (define (time-zone-page-refresh page)
   (when (not (page-initialised? page))



reply via email to

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