[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))