[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: installer: Use default event handlers for "key-map" page.
From: |
Danny Milosavljevic |
Subject: |
01/01: installer: Use default event handlers for "key-map" page. |
Date: |
Tue, 4 Jul 2017 17:35:15 -0400 (EDT) |
dannym pushed a commit to branch wip-installer-2
in repository guix.
commit a860c28f139c23668b2d2c864da61c7f1d2d2250
Author: Danny Milosavljevic <address@hidden>
Date: Tue Jul 4 23:33:25 2017 +0200
installer: Use default event handlers for "key-map" page.
* gnu/system/installer/key-map.scm (key-map-page-mouse-handler): Delete
variable.
(key-map-page-key-handler): Delete variable.
(make-key-map): Use default event handlers.
---
gnu/system/installer/key-map.scm | 58 ++++++++++++----------------------------
1 file changed, 17 insertions(+), 41 deletions(-)
diff --git a/gnu/system/installer/key-map.scm b/gnu/system/installer/key-map.scm
index e62ba3c..18d7e35 100644
--- a/gnu/system/installer/key-map.scm
+++ b/gnu/system/installer/key-map.scm
@@ -24,6 +24,7 @@
#:use-module (gurses menu)
#:use-module (gurses buttons)
#:use-module (ncurses curses)
+ #:use-module (ice-9 match)
#:export (make-key-map))
@@ -34,8 +35,7 @@
(gettext "Keyboard Mapping")
key-map-page-refresh
0
- key-map-page-key-handler
- key-map-page-mouse-handler)))
+ #:activator key-map-page-activate-focused-item)))
(page-set-datum! page 'directory directory)
page))
@@ -47,46 +47,22 @@
(i (menu-get-current-item menu))
(directory (page-datum page 'directory))
(new-dir (string-append directory "/" i)))
- (if (eq? 'directory (stat:type (stat new-dir)))
- (let ((p (make-key-map page new-dir)))
- (page-pop) ; Don't go back to the current page!
- (page-enter p))
- (begin
- (system* "loadkeys" i)
- (set! key-map i)
- (page-leave)
- #f))))
-
-(define (key-map-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)
- (key-map-page-activate-focused-item page))
- status))
-
-(define (key-map-page-key-handler page ch)
- (let ((nav (page-datum page 'navigation))
- (menu (page-datum page 'menu))
- (directory (page-datum page 'directory)))
(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))
-
- ((and (select-key? ch)
- (menu-active menu))
- (key-map-page-activate-focused-item page)))
- (std-menu-key-handler menu ch)
- #f))
-
+ ((menu-active menu)
+ (if (eq? 'directory (stat:type (stat new-dir)))
+ (let ((p (make-key-map page new-dir)))
+ (page-pop) ; Don't go back to the current page!
+ (page-enter p))
+ (begin
+ (system* "loadkeys" i)
+ (set! key-map i)
+ (page-leave)
+ #f)))
+ (else ;buttons
+ (match (buttons-selected-symbol (page-datum page 'navigation))
+ ('cancel
+ (page-leave))
+ (_ 'ignored))))))
(define (key-map-page-refresh page)
(when (not (page-initialised? page))