guix-commits
[Top][All Lists]
Advanced

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

01/02: installer: Use default event handlers for "users" page.


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

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

commit 0f5cafa169938fbc0147760421dee217f68735b9
Author: Danny Milosavljevic <address@hidden>
Date:   Wed Jul 5 00:48:16 2017 +0200

    installer: Use default event handlers for "users" page.
    
    * gnu/system/installer/users.scm (users-page-mouse-handler): Delete 
variable.
    (users-page-key-handler): Delete variable.
    (make-users-page): Use default event handlers.
---
 gnu/system/installer/users.scm | 66 ++++++++++--------------------------------
 1 file changed, 16 insertions(+), 50 deletions(-)

diff --git a/gnu/system/installer/users.scm b/gnu/system/installer/users.scm
index b70aafd..8736f19 100644
--- a/gnu/system/installer/users.scm
+++ b/gnu/system/installer/users.scm
@@ -40,68 +40,34 @@
              title
              users-page-refresh
              0
-             users-page-key-handler
-             users-page-mouse-handler))
+             #:activator users-page-activate-focused-item))
 
 (define my-buttons `((add ,(M_ "_Add") #t)
                      (delete ,(M_ "_Delete") #t)
                      (continue ,(M_ "_Continue") #t)))
 
-(define (users-page-mouse-handler page device-id x y z button-state)
-  'ignored)
-
-(define (users-page-key-handler page ch)
+(define (users-page-activate-focused-item page)
   (let ((menu (page-datum page 'menu))
        (nav  (page-datum page 'navigation)))
-
     (cond
-     ((eq? ch #\tab)
-      (cond
-       ((menu-active menu)
-         (menu-set-active! menu #f)
-         (buttons-select nav 0))
-
-       ((eqv? (buttons-selected nav) (1- (buttons-n-buttons nav)))
-       (menu-set-active! menu #t)
-       (buttons-unselect-all nav))
-
-       (else
-       (buttons-select-next nav))))
-
-     ((eq? ch KEY_RIGHT)
-      (menu-set-active! menu #f)
-      (buttons-select-next nav))
-
-     ((eq? ch KEY_LEFT)
-      (menu-set-active! menu #f)
-      (buttons-select-prev nav))
-
-     ((eq? ch KEY_UP)
-      (buttons-unselect-all nav)
-      (menu-set-active! menu #t))
-
-     ((and (menu-active menu) (select-key? ch))
+     ((menu-active menu)
       (let* ((account  (menu-get-current-item menu)))
              (if account
                  (page-enter  (make-user-edit-page page  "Edit User" 
account)))))
 
-     ((buttons-key-matches-symbol? nav ch 'add)
-      (let* (
-            (next  (make-user-edit-page page  "Add New User" #f)))
-        (page-enter next)))
-
-     ((buttons-key-matches-symbol? nav ch 'continue)
-      (page-leave))
-
-     ((buttons-key-matches-symbol? nav ch 'delete)
-      (set! users (remove (lambda (user)
-                             (equal? user (menu-get-current-item menu)))
-                           users))
-      (page-set-initialised! page #f)))
-
-    (std-menu-key-handler menu ch))
-  #f)
-
+     (else
+      (match (buttons-selected-symbol nav)
+       ('add
+        (let* ((next  (make-user-edit-page page  "Add New User" #f)))
+          (page-enter next)))
+       ('continue
+        (page-leave))
+       ('delete
+        (set! users (remove (lambda (user)
+                              (equal? user (menu-get-current-item menu)))
+                            users))
+        (page-set-initialised! page #f))
+       (_ 'ignored))))))
 
 (define (users-page-refresh page)
   (when (not (page-initialised? page))



reply via email to

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