From b0b0b88ed34882b5de7323e339f03a44af024d5f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 3 Jul 2009 20:11:42 +0100 Subject: [PATCH] more flexible approval UI --- pctb/dictionary-manager | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index 5d8ea10..911cb63 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -1153,7 +1153,7 @@ proc string2unicodenames {str} { } proc approve_showentry {ix file specdata} { - global approve_ixes reqkind + global approve_ixes reqkind approve_entryhow approve_decompose_data $specdata @@ -1185,9 +1185,14 @@ proc approve_showentry {ix file specdata} { grid configure $wb-div -columnspan 5 -sticky ew -padx 5 } - frame $wb-act - button $wb-act.rej -text Reject -command [list approve_reject $ix] - pack $wb-act.rej + frame $wb-act -bd 2 -relief groove + set approve_entryhow($ix) approve + foreach how {approve reject defer} { + set w $wb-act.$how + radiobutton $w -variable approve_entryhow($ix) \ + -text [string totitle $how] -value $how + pack $w -side left + } grid $wb-def $wb-image $wb-xinfo $wb-act $wb-inf -padx 3 grid configure $wb-image -ipadx 3 -ipady 3 -sticky w @@ -1216,16 +1221,18 @@ proc approve_check_server {} { must_gets_exactly_server ok } -proc approve_reject {ix} { +proc approve_confirm {} { + global approve_ixes approve_entryhow approve_check_server - approve_approve_reject_one $ix 0 - approve_fetch_list -} - -proc approve_these {} { - global approve_ixes - approve_check_server - foreach ix $approve_ixes { approve_approve_reject_one $ix 1 } + foreach ix $approve_ixes { + set how $approve_entryhow($ix) + switch -exact $how { + approve { approve_approve_reject_one $ix 1 } + reject { approve_approve_reject_one $ix 0 } + defer { } + default { error $how? } + } + } approve_fetch_list } @@ -1279,7 +1286,7 @@ proc main/approve {} { label .title -text {} frame .app -bd 2 -relief groove - button .ok -text "Approve These" -command approve_these + button .ok -text "Confirm" -command approve_confirm pack .title .app -side top pack .left -side left pack .right -side right -- 2.30.2