Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9272
Modified Files: Tag: devel_0_39 desire.tk Log Message: fixed bugs in reading and writing of .pdrc
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.297 retrieving revision 1.1.2.298 diff -C2 -d -r1.1.2.297 -r1.1.2.298 *** desire.tk 8 Aug 2006 10:26:39 -0000 1.1.2.297 --- desire.tk 8 Aug 2006 16:22:47 -0000 1.1.2.298 *************** *** 4944,4954 **** listbox $f.a.list -width 33 -height 10 -yscrollcommand "$f.a.yscroll set" \ -activestyle none -xscrollcommand "$f.a.xscroll set" ! foreach line $_($self:$name) {$f.a.list insert end $line} ! # save the listbox path at _($self:$name) instead ! set _($self:$name) $f.a.list scrollbar $f.a.yscroll -command "$f.a.list yview" scrollbar $f.a.xscroll -command "$f.a.list xview" -orient horizontal ! pack $f.a.xscroll -side bottom -fill x pack $f.a.list -side left -fill both -expand 1 pack $f.a.yscroll -side left -fill y --- 4944,4955 ---- listbox $f.a.list -width 33 -height 10 -yscrollcommand "$f.a.yscroll set" \ -activestyle none -xscrollcommand "$f.a.xscroll set" ! #foreach line $@$name {$f.a.list insert end $line} ! foreach line $_($self:$name) {$f.a.list insert end $line} ;# bug in objective.tcl ! # save the listbox path at @$name instead ! set @$name $f.a.list scrollbar $f.a.yscroll -command "$f.a.list yview" scrollbar $f.a.xscroll -command "$f.a.list xview" -orient horizontal ! pack $f.a.xscroll -side bottom -fill x pack $f.a.list -side left -fill both -expand 1 pack $f.a.yscroll -side left -fill y *************** *** 4960,4966 **** entry $f.b.entry.add -width 15 -borderwidth 5 -relief ridge ! bind $f.b.entry.add <Return> "$self entry_set2listbox $f.a.list $f.b.entry.add" pack $f.b.entry.add -side left ! button $f.b.entry.3 -command "$self entry_set2listbox $f.a.list $f.b.entry.add" -text "add" -width 6 balloon $f.b.entry.3 "add the name you typed to the list" pack $f.b.entry.3 -side left --- 4961,4967 ---- entry $f.b.entry.add -width 15 -borderwidth 5 -relief ridge ! bind $f.b.entry.add <Return> "$self lib_add $f" pack $f.b.entry.add -side left ! button $f.b.entry.3 -command "$self lib_add $f" -text "add" -width 6 balloon $f.b.entry.3 "add the name you typed to the list" pack $f.b.entry.3 -side left *************** *** 5019,5023 **** #catch {$f.label configure -width 45 -anchor e} if {!$no_max_label} { ! catch {$f.label configure -width $_($self:max_label) -anchor e} } } --- 5020,5024 ---- #catch {$f.label configure -width 45 -anchor e} if {!$no_max_label} { ! catch {$f.label configure -width $_($self:max_label) -anchor e} } } *************** *** 5186,5189 **** --- 5187,5191 ---- def PagedDialog dir_select {listbox} { set dir [tk_chooseDirectory -initialdir ~ -title "Choose a directory" -parent .$self] + if {$dir == ""} {return} $listbox insert end $dir $listbox yview end *************** *** 5191,5199 **** }
! def PagedDialog entry_set2listbox {listbox entry} { set var [$entry get] if {$var != ""} {$listbox insert end $var} $listbox yview end ! focus .$self }
--- 5193,5204 ---- }
! def PagedDialog lib_add {f} { ! set listbox $f.a.list ! set entry $f.b.entry.add set var [$entry get] if {$var != ""} {$listbox insert end $var} $listbox yview end ! $entry delete 0 end ! focus $entry }
*************** *** 5320,5325 **** set fd [open $cmdline(rcfilename) "RDONLY CREAT"] #set contents [split [string map {"\n" " "} [read $fd]] " "] ! set contents [split [read $fd] "\n"] close $fd foreach {type names} $pdrc_options { switch $type { --- 5325,5334 ---- set fd [open $cmdline(rcfilename) "RDONLY CREAT"] #set contents [split [string map {"\n" " "} [read $fd]] " "] ! set contents {} ! foreach line [split [read $fd] "\n"] { ! if {[string index $line 0] != "#"} {lappend contents $line} ! } close $fd + set contents [concat [join $contents " "]] ;# concat casts to list type (faster) foreach {type names} $pdrc_options { switch $type { *************** *** 5334,5339 **** set i 0 ! foreach line $contents { ! foreach {op setting} $line { if {![info exists pdrc_options_h($op)]} { error "unknown option: $op" --- 5343,5350 ---- set i 0 ! while {$i < [llength $contents]} { ! set op [lindex $contents $i] ! puts "op ::: $op" ! if {[string length $op]==0} {break} if {![info exists pdrc_options_h($op)]} { error "unknown option: $op" *************** *** 5341,5371 **** mset {type name} $pdrc_options_h($op) switch $type { ! folders {lappend @$name [lindex $line 1]} ! libraries {lappend @$name [lindex $line 1]} ! files {incr i; lappend @$name [lindex $contents $i]} ! radio {set @$name $line} ! #void {set @$name 1} ! default {set @$name [lindex $contents 1]} ! } } ! } - - #while {$i < [llength $contents]} { - # set op [lindex $contents $i] - # puts "op ::: $op" - # if {[string length $op]==0} {break} - # if {![info exists pdrc_options_h($op)]} { - # error "unknown option: $op" - # } - # mset {type name} $pdrc_options_h($op) - # switch $type { - # folders {incr i; lappend @$name [lindex $contents $i]} - # files {incr i; lappend @$name [lindex $contents $i]} - # void {set @$name 1} - # default {incr i; set @$name [lindex $contents $i]} - # } - # incr i - #} }
--- 5352,5364 ---- mset {type name} $pdrc_options_h($op) switch $type { ! folders {incr i; lappend @$name [lindex $contents $i]} ! libraries {incr i; lappend @$name [lindex $contents $i]} ! files {incr i; lappend @$name [lindex $contents $i]} ! radio { set @$name [lindex $contents $i]} ! void { set @$name 1} ! default {incr i; set @$name [lindex $contents $i]} } ! incr i } }
*************** *** 5373,5376 **** --- 5366,5370 ---- global pdrc_options pdrc_options_h cmdline set fd [open $cmdline(rcfilename) w] + #set fd stdout; puts "WOULD SAVE:" foreach {type names} $pdrc_options { switch $type { *************** *** 5378,5397 **** default {set name [lindex [split $names |] 0]} } ! set v $@$name switch $type { ! folders {foreach item [$v get 0 [$v size]] {puts $fd "$name $item"}} ! libraries {foreach item [$v get 0 [$v size]] {puts $fd "$name $item"}} ! #files {foreach x $v {puts $fd "$name $x"}} ! #void {if {[string length $v]} {if {$v} {puts $fd $name}}} #radio {if {$v} {set t [lindex $names $v]; puts [split $t |]}} ! radio {puts $fd "$v"} default {if {[string length $v]} {puts $fd "$name $v"}} } } close $fd } def* ServerPrefsDialog default {} { } ! def ServerPrefsDialog init {} { global pdrc_options $self read --- 5372,5393 ---- default {set name [lindex [split $names |] 0]} } ! #set v $@$name ! set v $_($self:$name) ;# bug in objective.tcl ? switch $type { ! folders {foreach item $v {puts $fd "$name $item"}} ! libraries {foreach item $v {puts $fd "$name $item"}} ! #files {foreach item $v {puts $fd "$name $item"}} ! void {if {$v != ""} {if {$v} {puts $fd $name}}} #radio {if {$v} {set t [lindex $names $v]; puts [split $t |]}} ! radio {puts $fd "$v"} default {if {[string length $v]} {puts $fd "$name $v"}} } } close $fd + # puts "THE END" } def* ServerPrefsDialog default {} { } ! def* ServerPrefsDialog init {} { global pdrc_options $self read