From: Ian Jackson Date: Fri, 3 Jul 2009 19:11:42 +0000 (+0100) Subject: more flexible approval UI X-Git-Tag: 1.9.2~58 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=commitdiff_plain;h=b0b0b88ed34882b5de7323e339f03a44af024d5f more flexible approval UI --- 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