Implemented configuration tab in tiix

This commit is contained in:
Luxferre
2024-10-23 17:28:18 +03:00
parent 7c594acbf1
commit c474a15e4e
2 changed files with 49 additions and 14 deletions
+6 -6
View File
@@ -1,8 +1,8 @@
useragent "curl/7.54.1"
useragent "curl/7.54.2"
proxyhost ""
proxyport 0
proxyport "0"
tiix_font "Fira Code"
tiix_fontsize 12
tiix_fgcolor #eee
tiix_bgcolor #111
tiix_linkcolor cyan
tiix_fontsize "12"
tiix_fgcolor "#eee"
tiix_bgcolor "#111"
tiix_linkcolor "cyan"
+43 -8
View File
@@ -20,28 +20,34 @@ source [file join $appdir "tiipost.tcl"]
# populate general configuration
set cfg {}
set textfont TkFixedFont
set textfontsize 10
set tiix_font TkFixedFont
set tiix_fontsize 10
set tiix_fgcolor black
set tiix_bgcolor white
set tiix_linkcolor blue
set useragent ""
set proxyhost ""
set proxyport 0
set cfgfile [file join $appdir "config.txt"]
if {[file exists $cfgfile]} {
set cfg [readfile $cfgfile]
if {[dict exists $cfg useragent]} {
::http::config -useragent [dict get $cfg useragent]
set useragent [dict get $cfg useragent]
::http::config -useragent $useragent
}
if {[dict exists $cfg proxyhost]} {
::http::config -proxyhost [dict get $cfg proxyhost]
set proxyhost [dict get $cfg proxyhost]
::http::config -proxyhost $proxyhost
}
if {[dict exists $cfg proxyport]} {
::http::config -proxyport [dict get $cfg proxyport]
set proxyport [dict get $cfg proxyport]
::http::config -proxyport $proxyport
}
if {[dict exists $cfg tiix_font]} {
set textfont [dict get $cfg tiix_font]
set tiix_font [dict get $cfg tiix_font]
}
if {[dict exists $cfg tiix_fontsize]} {
set textfontsize [dict get $cfg tiix_fontsize]
set tiix_fontsize [dict get $cfg tiix_fontsize]
}
if {[dict exists $cfg tiix_fgcolor]} {
set tiix_fgcolor [dict get $cfg tiix_fgcolor]
@@ -55,7 +61,7 @@ if {[file exists $cfgfile]} {
}
# create the font
font create tiix_font -family "$textfont" -size $textfontsize -weight normal
font create tiix_font -family "$tiix_font" -size $tiix_fontsize -weight normal
# create the widget font
font create tiix_widget_font -family "sans-serif" -size 11
@@ -240,6 +246,7 @@ pack .infoframe.author -side right
grid .infoframe -row 1 -column 0 -sticky we
# Viewer widgets
ttk::frame .tabbar.r.addrframe
ttk::frame .tabbar.r.addrframe.f
ttk::frame .tabbar.r.addrframe.c
@@ -289,6 +296,7 @@ grid rowconfigure .tabbar.r 0 -weight 0
grid rowconfigure .tabbar.r 1 -weight 1
# Poster widgets
ttk::frame .tabbar.p.addrframe
ttk::label .tabbar.p.addrframe.el -text "Echo name"
ttk::combobox .tabbar.p.addrframe.echo -width 25 -textvariable tiix_post_echoname -postcommand {
@@ -371,6 +379,33 @@ grid columnconfigure .tabbar.p 0 -weight 1
grid rowconfigure .tabbar.p 0 -weight 0
grid rowconfigure .tabbar.p 1 -weight 1
# Configuration widgets
set rownum 0
dict for {cname cval} $cfg {
ttk::label .tabbar.c.cfglbl_$cname -text $cname
if {[string match *color $cname]} {
ttk::button .tabbar.c.cfgtxt_$cname -textvariable $cname -command "set $cname \[tk_chooseColor -initialcolor $cval -title {Choose color}\]"
} else {
ttk::entry .tabbar.c.cfgtxt_$cname -textvariable $cname
}
grid .tabbar.c.cfglbl_$cname -row $rownum -column 0 -sticky nsw -padx 5 -pady 5
grid .tabbar.c.cfgtxt_$cname -row $rownum -column 1 -sticky nswe -pady 5
incr rownum
}
ttk::button .tabbar.c.cfgsave -text "Save configuration" -command {
set answer [tk_messageBox -title "tiix config" -message "Save the config file?" -icon question -type yesno]
if {$answer eq "yes"} {
set cfgtext ""
dict for {cname cval} $cfg {
append cfgtext "$cname \"[set $cname]\"\n"
}
writefileln $cfgfile [string trim $cfgtext]
tk_messageBox -title "tiix config" -type ok -icon info -message "Configuration saved!" -detail "Restart tiix to see the changes"
}
}
grid .tabbar.c.cfgsave -row $rownum -column 0 -sticky nsw -padx 5
grid columnconfigure .tabbar.c 1 -weight 1
# Custom keybindings