X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=pctb%2Fdictionary-manager;h=c1e983b6b35e7c65d2ea9223f4413b5c52936b22;hb=8848415eea8db3c206dbc138732ff56ba51e83c6;hp=9cbdb78f4984cb003c2d79e288b190521f1cf57e;hpb=e46a25ff6f743a98282a391eba00443b6d2742fa;p=ypp-sc-tools.web-live.git diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index 9cbdb78..c1e983b 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -25,9 +25,10 @@ # sponsored by Three Rings. -# ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict-test/pctb /home/ftp/users/ijackson/pctb/test # ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict/pctb /home/ftp/users/ijackson/pctb +# ./dictionary-manager --approve-updates ijackson@login.chiark.greenend.org.uk /home/ijackson/things/ypp-sc-tools.pctb-dict-test/pctb /home/ftp/users/ijackson/pctb/test + # ./dictionary-manager --approve-updates '' . . @@ -41,6 +42,9 @@ # if it wrote a byte to fd 4, it can take another question +set aadepth 2 + + #---------- library routines ---------- proc manyset {list args} { @@ -225,7 +229,7 @@ proc write_database {} { global reqkind database_fn database upvar #0 database_magic/$reqkind magic - set f [open $database_fn.new w] + set f [open $database_fn.tmp w] puts $f $magic write_database_header/$reqkind $f @@ -239,7 +243,7 @@ proc write_database {} { } puts $f "." close $f - file rename -force $database_fn.new $database_fn + file rename -force $database_fn.tmp $database_fn } proc select_database {dbname_spec} { @@ -284,7 +288,7 @@ proc required/char {} { label .selctx.title -text \ {Select match context for altering dictionary:} pack .selctx.title -side left - set new_context [lindex $unk_contexts 0] + set new_context {} set ci 0; foreach ctx [lsort [array names all_contexts]] { set all_contexts($ctx) $ci @@ -513,7 +517,7 @@ proc upload_status {} { } proc maybe_upload_entry {im def} { - global reqkind privacy_setting env dbname quiet + global reqkind privacy_setting env dbname quiet aadepth debug "DB-UPDATE PRIVACY $privacy_setting" if {!$privacy_setting} return @@ -522,6 +526,8 @@ proc maybe_upload_entry {im def} { set pl {} lappend pl dict $dbname + lappend pl version 3 + lappend pl depth $aadepth if {$privacy_setting>=2} { set pirate [string totitle $env(YPPSC_PIRATE)] @@ -689,9 +695,11 @@ proc char_read_pgm {f} { append o $ointerl } -# debug "DATA $o" - set data [exec pnmscale 1 << $o] - image create photo image/main -data $data + debug "DATA1 $o" + set tmpfile ./#dictimage#.tmp + exec pnmscale 1 << $o >$tmpfile + image create photo image/main -file $tmpfile + file delete $tmpfile } #---------- character set editor display ---------- @@ -723,7 +731,7 @@ proc startup_cursor {} { global glyphsdone unk_l unk_r set cur_already [expr {[llength $glyphsdone]/5-1}] - set cur_mode 1 ;# one of: 0 1 already text + set cur_mode 0 ;# one of: 0 1 already text set cur_0 $unk_l set cur_1 [expr {$unk_r+1}] @@ -764,7 +772,7 @@ proc recursor//01 {z1} { if {[lsearch -exact $okctxts $ctx] >= 0} { bind_key [string tolower $key] " [list set new_context $ctx] - recursor + char_start_define_text " } else { bind_key [string tolower $key] {} @@ -772,7 +780,7 @@ proc recursor//01 {z1} { lappend context_help $key } set context_help [list [join $context_help " "] \ - {Set match context for new glyph.}] + {Set match context for new glyph, confirm location, and start entry.}] bind_key space { othercursor } bind_leftright_q cur_$z1 0 [expr {$cols-1}] @@ -897,7 +905,7 @@ proc recursor {} { # $database($context 0x 0x...) = $hex -set database_magic/char {# ypp-sc-tools pctb font v2} +set database_magic/char "# ypp-sc-tools pctb font v3 depth=$aadepth" proc read_database_header/char {f} { global rows @@ -1133,10 +1141,10 @@ proc chop_counted {var} { } proc approve_decompose_data {specdata} { - global data + global data aadepth set data $specdata - regsub-data {^ypp-sc-tools dictionary update v2\n} {} + regsub-data "^ypp-sc-tools dictionary update v3 depth=$aadepth\\n" {} uplevel 1 chop_counted pirate uplevel 1 chop_counted caller uplevel 1 chop_counted dict @@ -1146,7 +1154,7 @@ proc approve_decompose_data {specdata} { uplevel 1 chop_counted key uplevel 1 chop_counted val - return [uplevel 1 {list $dict $def $image}] + return [uplevel 1 {list $dict $ctx $def $image}] } proc approve_compare {fd1 fd2} { @@ -1241,6 +1249,8 @@ proc approve_check_server {} { proc approve_confirm {} { global approve_ixes approve_entryhow + .ok configure -state disabled + update idletasks approve_check_server foreach ix $approve_ixes { set how $approve_entryhow($ix) @@ -1275,6 +1285,7 @@ proc approve_fetch_list {} { set approve_list [lsort -command approve_compare $approve_list] approve_show_page 0 + .ok configure -state normal } proc main/approve {} {