From 10dea0a623097b7b562602df5d4a650aae880c7b Mon Sep 17 00:00:00 2001 From: Stanislav Ievlev Date: Wed, 18 Mar 2009 15:55:44 +0300 Subject: [PATCH] - redesign ui --- .../ui/net-eth/advanced/index.scm | 75 +++++++++++++++++++ alterator-net-eth/ui/net-eth/ajax.scm | 17 ++--- alterator-net-eth/ui/net-eth/index.html | 43 ++++++----- alterator-net-eth/ui/net-eth/index.scm | 63 ++++++---------- 4 files changed, 125 insertions(+), 73 deletions(-) create mode 100644 alterator-net-eth/ui/net-eth/advanced/index.scm diff --git a/alterator-net-eth/ui/net-eth/advanced/index.scm b/alterator-net-eth/ui/net-eth/advanced/index.scm new file mode 100644 index 0000000..d7986fa --- /dev/null +++ b/alterator-net-eth/ui/net-eth/advanced/index.scm @@ -0,0 +1,75 @@ +(document:surround "/std/frame") + +(define *name* (global 'name)) + +(define (wireless-interface) + (form-popup "/net-wifi/" 'interface *name*)) + +;;; Functions +(define (ui-read) + (catch/message + (lambda() + (let ((cmd (woo-read-first "/net-eth" 'name *name*))) + (form-update-enum "controlled" (woo-list "/net-eth/avail_controlled")) + (form-update-enum "hw_binding" (woo-list "/net-eth/avail_hw_bindings")) + (form-update-value "name" *name*) + (form-update-visibility "wireless" (woo-get-option cmd 'wireless)) + + (form-update-value-list '("controlled" "hw_binding") cmd))))) + +(define (ui-exit) + (document:end)) + +(define (ui-write) + (catch/message + (lambda() + (woo-write "/net-eth" + 'name *name* + 'hw_binding (form-value "hw_binding") + 'controlled (form-value "controlled")) + (ui-exit)))) + +;;; UI + +width 500 +height 300 + +(gridbox + columns "0;100" + margin "10" + + ;; + (label text (_ "Interface:") align "right") + (label name "name") + + ;; + (label text (_ "Controlled by:") align "right" name "controlled") + (combobox name "controlled") + + ;; + (label text (_ "Hardware binding:") align "right") + (combobox name "hw_binding") + + ;; + (spacer) + (button text (_ "Wireless settings...") + name "wireless" + align "left" + visibility #f) + + ;; + (label colspan 2) + + ;; + (hbox align "left" + colspan 2 + (button (_ "OK") name "ok") + (button (_ "Cancel") name "cancel"))) + +;; +(document:root + (when loaded + (ui-read) + (form-bind "wireless" "click" wireless-interface) + (form-bind "ok" "click" ui-write) + (form-bind "cancel" "click" ui-exit))) diff --git a/alterator-net-eth/ui/net-eth/ajax.scm b/alterator-net-eth/ui/net-eth/ajax.scm index d9bdd40..205915f 100644 --- a/alterator-net-eth/ui/net-eth/ajax.scm +++ b/alterator-net-eth/ui/net-eth/ajax.scm @@ -18,13 +18,9 @@ '("computer_name" "dns" "search") cmd) (form-update-value-list - '("adaptor" "ip" "mask" "default" "hw_binding" "controlled" "configuration") + '("adaptor" "ip" "mask" "default" "configuration") cmd) - (form-update-visibility - "wireless" - (woo-get-option cmd 'wireless)) - (update-configuration (woo-get-option cmd 'configuration)))) (define (write-interface name) @@ -33,10 +29,8 @@ 'name name (form-value-list '("language" "computer_name" "dns" "search" - "ip" "mask" "default" "hw_binding" "controlled" "configuration")))) + "ip" "mask" "default" "configuration")))) -(define (wireless-interface) - (form-replace (format #f "/net-wifi?iface=~A" (form-value "name")))) (define (update-interface) (or (catch/message @@ -47,10 +41,13 @@ (form-update-value "prev_name" name)))) (form-update-value "name" (form-value "prev_name")))) +(define (advanced-interface) + (form-replace (format #f "/net-eth/advanced?iface=~A" (form-value "name")))) + (define (init) - (read-interface "") + (read-interface (or (form-value "iface") "")) (form-update-value "prev_name" (form-value "name")) (form-bind "name" "change" update-interface) (form-bind "configuration" "change" (lambda() (update-configuration (form-value "configuration")))) - (form-bind "wireless" "click" wireless-interface)) + (form-bind "advanced" "click" advanced-interface)) diff --git a/alterator-net-eth/ui/net-eth/index.html b/alterator-net-eth/ui/net-eth/index.html index 48541e6..e5d35d2 100644 --- a/alterator-net-eth/ui/net-eth/index.html +++ b/alterator-net-eth/ui/net-eth/index.html @@ -11,17 +11,6 @@ Computer name: - -   - - - DNS servers: - - - - Search domains: - - @@ -33,7 +22,7 @@ - @@ -43,10 +32,6 @@