From 815f4bd210fe3eacc9a0937411f1979726a6e4ee Mon Sep 17 00:00:00 2001 From: skomoroh Date: Sun, 5 Nov 2006 22:46:19 +0000 Subject: [PATCH] * misc improvements git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@86 efabe8c0-fbe8-4139-b769-b5e6d273206e --- MANIFEST.in | 3 +- data/tcl/menu8.4.tcl | 59 +++++----- data/themes/blue/blue.tcl | 153 +++++++++++++++++++++++++ data/themes/blue/blue/arrowdown-h.gif | Bin 0 -> 315 bytes data/themes/blue/blue/arrowdown-p.gif | Bin 0 -> 312 bytes data/themes/blue/blue/arrowdown.gif | Bin 0 -> 313 bytes data/themes/blue/blue/arrowleft-h.gif | Bin 0 -> 329 bytes data/themes/blue/blue/arrowleft-p.gif | Bin 0 -> 327 bytes data/themes/blue/blue/arrowleft.gif | Bin 0 -> 323 bytes data/themes/blue/blue/arrowright-h.gif | Bin 0 -> 330 bytes data/themes/blue/blue/arrowright-p.gif | Bin 0 -> 327 bytes data/themes/blue/blue/arrowright.gif | Bin 0 -> 324 bytes data/themes/blue/blue/arrowup-h.gif | Bin 0 -> 309 bytes data/themes/blue/blue/arrowup-p.gif | Bin 0 -> 313 bytes data/themes/blue/blue/arrowup.gif | Bin 0 -> 314 bytes data/themes/blue/blue/button-h.gif | Bin 0 -> 696 bytes data/themes/blue/blue/button-n.gif | Bin 0 -> 770 bytes data/themes/blue/blue/button-n.xcf | Bin 0 -> 1942 bytes data/themes/blue/blue/button-p.gif | Bin 0 -> 769 bytes data/themes/blue/blue/check-hc.gif | Bin 0 -> 254 bytes data/themes/blue/blue/check-hu.gif | Bin 0 -> 234 bytes data/themes/blue/blue/check-nc.gif | Bin 0 -> 249 bytes data/themes/blue/blue/check-nu.gif | Bin 0 -> 229 bytes data/themes/blue/blue/radio-hc.gif | Bin 0 -> 1098 bytes data/themes/blue/blue/radio-hu.gif | Bin 0 -> 626 bytes data/themes/blue/blue/radio-nc.gif | Bin 0 -> 389 bytes data/themes/blue/blue/radio-nu.gif | Bin 0 -> 401 bytes data/themes/blue/blue/sb-thumb-p.gif | Bin 0 -> 343 bytes data/themes/blue/blue/sb-thumb.gif | Bin 0 -> 316 bytes data/themes/blue/blue/sb-vthumb-p.gif | Bin 0 -> 333 bytes data/themes/blue/blue/sb-vthumb.gif | Bin 0 -> 308 bytes data/themes/blue/blue/slider-p.gif | Bin 0 -> 182 bytes data/themes/blue/blue/slider.gif | Bin 0 -> 182 bytes data/themes/blue/blue/vslider-p.gif | Bin 0 -> 183 bytes data/themes/blue/blue/vslider.gif | Bin 0 -> 283 bytes data/themes/blue/pkgIndex.tcl | 6 + pysollib/game.py | 2 +- pysollib/tile/soundoptionsdialog.py | 2 +- scripts/build.bat | 3 +- setup.py | 2 + 40 files changed, 196 insertions(+), 34 deletions(-) create mode 100644 data/themes/blue/blue.tcl create mode 100644 data/themes/blue/blue/arrowdown-h.gif create mode 100644 data/themes/blue/blue/arrowdown-p.gif create mode 100644 data/themes/blue/blue/arrowdown.gif create mode 100644 data/themes/blue/blue/arrowleft-h.gif create mode 100644 data/themes/blue/blue/arrowleft-p.gif create mode 100644 data/themes/blue/blue/arrowleft.gif create mode 100644 data/themes/blue/blue/arrowright-h.gif create mode 100644 data/themes/blue/blue/arrowright-p.gif create mode 100644 data/themes/blue/blue/arrowright.gif create mode 100644 data/themes/blue/blue/arrowup-h.gif create mode 100644 data/themes/blue/blue/arrowup-p.gif create mode 100644 data/themes/blue/blue/arrowup.gif create mode 100644 data/themes/blue/blue/button-h.gif create mode 100644 data/themes/blue/blue/button-n.gif create mode 100644 data/themes/blue/blue/button-n.xcf create mode 100644 data/themes/blue/blue/button-p.gif create mode 100644 data/themes/blue/blue/check-hc.gif create mode 100644 data/themes/blue/blue/check-hu.gif create mode 100644 data/themes/blue/blue/check-nc.gif create mode 100644 data/themes/blue/blue/check-nu.gif create mode 100644 data/themes/blue/blue/radio-hc.gif create mode 100644 data/themes/blue/blue/radio-hu.gif create mode 100644 data/themes/blue/blue/radio-nc.gif create mode 100644 data/themes/blue/blue/radio-nu.gif create mode 100644 data/themes/blue/blue/sb-thumb-p.gif create mode 100644 data/themes/blue/blue/sb-thumb.gif create mode 100644 data/themes/blue/blue/sb-vthumb-p.gif create mode 100644 data/themes/blue/blue/sb-vthumb.gif create mode 100644 data/themes/blue/blue/slider-p.gif create mode 100644 data/themes/blue/blue/slider.gif create mode 100644 data/themes/blue/blue/vslider-p.gif create mode 100644 data/themes/blue/blue/vslider.gif create mode 100644 data/themes/blue/pkgIndex.tcl diff --git a/MANIFEST.in b/MANIFEST.in index da71a05a..22416433 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -8,6 +8,8 @@ include pysol setup.py setup.cfg MANIFEST.in Makefile COPYING README include pysollib/*.py pysollib/tk/*.py pysollib/tile/*.py pysollib/pysolgtk/*.py include pysollib/games/*.py pysollib/games/special/*.py include pysollib/games/ultra/*.py pysollib/games/mahjongg/*.py +include data/tcl/*.tcl +graft data/themes include scripts/build.bat scripts/create_iss.py scripts/mahjongg_utils.py include scripts/all_games.py scripts/cardset_viewer.py #graft data/plugins @@ -17,7 +19,6 @@ include scripts/all_games.py scripts/cardset_viewer.py include docs/* graft data/html graft data/html-src -graft data/themes ## ## data - images ## diff --git a/data/tcl/menu8.4.tcl b/data/tcl/menu8.4.tcl index 91e96f36..438322a8 100644 --- a/data/tcl/menu8.4.tcl +++ b/data/tcl/menu8.4.tcl @@ -1,4 +1,5 @@ # this file from tkabber project +# http://www.jabberstudio.org/projects/tkabber/ namespace eval :: { @@ -44,13 +45,13 @@ set myMenuMotion 0 proc ::tk::MenuNextEntry {menu count} { global ::tk::Priv - if {[string equal [$menu index last] "none"]} { + if {[$menu index last] eq "none"} { return } set length [expr {[$menu index last]+1}] set quitAfter $length set active [$menu index active] - if {[string equal $active "none"]} { + if {$active eq "none"} { set i 0 } else { set i [expr {$active + $count}] @@ -69,7 +70,7 @@ proc ::tk::MenuNextEntry {menu count} { incr i -$length } if {[catch {$menu entrycget $i -state} state] == 0} { - if {[string compare $state "disabled"]} { + if {$state ne "disabled"} { break } } @@ -81,9 +82,9 @@ proc ::tk::MenuNextEntry {menu count} { } $menu activate $i ::tk::GenerateMenuSelect $menu - if {[string equal [$menu type $i] "cascade"]} { + if {[$menu type $i] eq "cascade"} { set cascade [$menu entrycget $i -menu] - if {[string equal [$menu cget -type] "menubar"] && [string compare $cascade ""]} { + if {[$menu cget -type] eq "menubar" && $cascade ne ""} { # Here we auto-post a cascade. This is necessary when # we traverse left/right in the menubar, but undesirable when # we traverse up/down in a menu. @@ -108,22 +109,22 @@ proc ::tk::MenuNextMenu {menu direction} { # First handle traversals into and out of cascaded menus. - if {[string equal $direction "right"]} { + if {$direction eq "right"} { set count 1 set parent [winfo parent $menu] set class [winfo class $parent] - if {[string equal [$menu type active] "cascade"]} { + if {[$menu type active] eq "cascade"} { $menu postcascade active set m2 [$menu entrycget active -menu] - if {[string compare $m2 ""]} { + if {$m2 ne ""} { ::tk::MenuFirstEntry $m2 } return } else { set parent [winfo parent $menu] - while {[string compare $parent "."]} { - if {[string equal [winfo class $parent] "Menu"] \ - && [string equal [$parent cget -type] "menubar"]} { + while {$parent ne "."} { + if {[winfo class $parent] eq "Menu" && \ + [$parent cget -type] eq "menubar"} { tk_menuSetFocus $parent ::tk::MenuNextEntry $parent 1 return @@ -134,8 +135,8 @@ proc ::tk::MenuNextMenu {menu direction} { } else { set count -1 set m2 [winfo parent $menu] - if {[string equal [winfo class $m2] "Menu"]} { - if {[string compare [$m2 cget -type] "menubar"]} { + if {[winfo class $m2] eq "Menu"} { + if {[$m2 cget -type] ne "menubar"} { $menu activate none ::tk::GenerateMenuSelect $menu tk_menuSetFocus $m2 @@ -155,8 +156,8 @@ proc ::tk::MenuNextMenu {menu direction} { # or previous menubutton, if that makes sense. set m2 [winfo parent $menu] - if {[string equal [winfo class $m2] "Menu"]} { - if {[string equal [$m2 cget -type] "menubar"]} { + if {[winfo class $m2] eq "Menu"} { + if {[$m2 cget -type] eq "menubar"} { tk_menuSetFocus $m2 ::tk::MenuNextEntry $m2 -1 return @@ -164,7 +165,7 @@ proc ::tk::MenuNextMenu {menu direction} { } set w $::tk::Priv(postedMb) - if {[string equal $w ""]} { + if {$w eq ""} { return } set buttons [winfo children [winfo parent $w]] @@ -178,13 +179,13 @@ proc ::tk::MenuNextMenu {menu direction} { incr i -$length } set mb [lindex $buttons $i] - if {[string equal [winfo class $mb] "Menubutton"] \ - && [string compare [$mb cget -state] "disabled"] \ - && [string compare [$mb cget -menu] ""] \ - && [string compare [[$mb cget -menu] index last] "none"]} { + if {[winfo class $mb] eq "Menubutton" \ + && [$mb cget -state] ne "disabled" \ + && [$mb cget -menu] ne "" \ + && [[$mb cget -menu] index last] ne "none"} { break } - if {[string equal $mb $w]} { + if {$mb eq $w} { return } incr i $count @@ -205,30 +206,30 @@ proc ::tk::MenuNextMenu {menu direction} { # menu - Name of the menu window (possibly empty). proc ::tk::MenuFirstEntry menu { - if {[string equal $menu ""]} { + if {$menu eq ""} { return } tk_menuSetFocus $menu - if {[string compare [$menu index active] "none"]} { + if {[$menu index active] ne "none"} { return } set last [$menu index last] - if {[string equal $last "none"]} { + if {$last eq "none"} { return } for {set i 0} {$i <= $last} {incr i} { if {([catch {set state [$menu entrycget $i -state]}] == 0) \ - && [string compare $state "disabled"]} { + && $state ne "disabled"} { #~$menu activate $i #~::tk::GenerateMenuSelect $menu # Only post the cascade if the current menu is a menubar; # otherwise, if the first entry of the cascade is a cascade, # we can get an annoying cascading effect resulting in a bunch of # menus getting posted (bug 676) - if {[string equal [$menu type $i] "cascade"] && \ - [string equal [$menu cget -type] "menubar"]} { + if {[$menu type $i] eq "cascade" && \ + [$menu cget -type] eq "menubar"} { set cascade [$menu entrycget $i -menu] - if {[string compare $cascade ""]} { + if {$cascade ne ""} { $menu postcascade $i ::tk::MenuFirstEntry $cascade } @@ -345,7 +346,7 @@ proc myMenuPostCascade {menu} { after cancel $myPriv(id) } } - if {[string equal [$menu cget -type] "menubar"]} { + if {[$menu cget -type] eq "menubar"} { $menu postcascade active } else { set myPriv(activeMenu) $menu diff --git a/data/themes/blue/blue.tcl b/data/themes/blue/blue.tcl new file mode 100644 index 00000000..e5c49470 --- /dev/null +++ b/data/themes/blue/blue.tcl @@ -0,0 +1,153 @@ +# blue.tcl - Copyright (C) 2004 Pat Thoyts +# +# blue.tcl,v 1.30 2005/12/13 23:04:25 patthoyts Exp +# +# + +namespace eval tile::theme::blue { + + package provide tile::theme::blue 0.7 + + variable I + array set I [tile::LoadImages \ + [file join [file dirname [info script]] blue] *.gif] + + variable colors + array set colors { + -frame "#6699cc" + -lighter "#bcd2e8" + -window "#e6f3ff" + -selectbg "#ffff33" + -selectfg "#000000" + -disabledfg "#666666" + } + + style theme create blue -settings { + + style configure . \ + -borderwidth 1 \ + -background $colors(-frame) \ + -fieldbackground $colors(-window) \ + -troughcolor $colors(-lighter) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + ; + style map . -foreground [list disabled $colors(-disabledfg)] + + ## Buttons. + # + style configure TButton -padding "10 0" + style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label + } + } + } + } + + style element create button image $I(button-n) \ + -map [list pressed $I(button-p) active $I(button-h)] \ + -border 4 -sticky ew + + style element create Checkbutton.indicator image $I(check-nu) \ + -width 24 -sticky w -map [list \ + {!disabled active selected} $I(check-hc) \ + {!disabled active} $I(check-hu) \ + {!disabled selected} $I(check-nc) ] + + style element create Radiobutton.indicator image $I(radio-nu) \ + -width 24 -sticky w -map [list \ + {!disabled active selected} $I(radio-hc) \ + {!disabled active} $I(radio-hu) \ + selected $I(radio-nc) ] + + style configure TMenubutton -relief raised -padding {10 2} + style configure TRadiobutton -padding 1 + style configure TCheckbutton -padding 1 + + ## Toolbar buttons. + # + style configure Toolbutton \ + -width 0 -relief flat -borderwidth 2 -padding 4 \ + -background $colors(-frame) -foreground #000000 ; + style map Toolbutton -background [list active $colors(-selectbg)] + style map Toolbutton -foreground [list active $colors(-selectfg)] + style map Toolbutton -relief { + disabled flat + selected sunken + pressed sunken + active raised + } + + ## Entry widgets. + # + style configure TEntry \ + -selectborderwidth 1 -padding 2 -insertwidth 2 -font TkTextFont + style configure TCombobox \ + -selectborderwidth 1 -padding 2 -insertwidth 2 -font TkTextFont + + ## Notebooks. + # + style configure TNotebook.Tab -padding {4 2 4 2} + style map TNotebook.Tab \ + -background \ + [list selected $colors(-frame) active $colors(-lighter)] \ + -padding [list selected {4 4 4 2}] + + ## Labelframes. + # + style configure TLabelframe -borderwidth 2 -relief groove + + ## Scrollbars. + # + style layout Vertical.TScrollbar { + Scrollbar.trough -children { + Scrollbar.uparrow -side top + Scrollbar.downarrow -side bottom + Scrollbar.uparrow -side bottom + Vertical.Scrollbar.thumb -side top -expand true -sticky ns + } + } + + style layout Horizontal.TScrollbar { + Scrollbar.trough -children { + Scrollbar.leftarrow -side left + Scrollbar.rightarrow -side right + Scrollbar.leftarrow -side right + Horizontal.Scrollbar.thumb -side left -expand true -sticky we + } + } + + style element create Horizontal.Scrollbar.thumb image $I(sb-thumb) \ + -map [list {pressed !disabled} $I(sb-thumb-p)] -border 3 + + style element create Vertical.Scrollbar.thumb image $I(sb-vthumb) \ + -map [list {pressed !disabled} $I(sb-vthumb-p)] -border 3 + + foreach dir {up down left right} { + style element create ${dir}arrow image $I(arrow${dir}) \ + -map [list \ + disabled $I(arrow${dir}) \ + pressed $I(arrow${dir}-p) \ + active $I(arrow${dir}-h)] \ + -border 1 -sticky {} + } + + ## Scales. + # + style element create Scale.slider \ + image $I(slider) -map [list {pressed !disabled} $I(slider-p)] + + style element create Vertical.Scale.slider \ + image $I(vslider) -map [list {pressed !disabled} $I(vslider-p)] + + style element create Horizontal.Progress.bar \ + image $I(sb-thumb) -border 2 + style element create Vertical.Progress.bar \ + image $I(sb-vthumb) -border 2 + + } +} + diff --git a/data/themes/blue/blue/arrowdown-h.gif b/data/themes/blue/blue/arrowdown-h.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c1be9d880958303c00527831b0c89de72766017 GIT binary patch literal 315 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNR!2O2`8d9=u z3)7o72B-+0SiI0cWcu0kl3g3PHk>=L?c!dexdECtUpwx&U+|5MPrrRb$&p)kT8f`W m=4GYEr$;q6WF)65$+u+&^Mu(e$ViHd3N!I}xY|21SOWk~x_R9I literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/arrowdown-p.gif b/data/themes/blue/blue/arrowdown-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..1cb36ec5543e8058defe8c6de4798ad1720baa44 GIT binary patch literal 312 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNj!2E<45>l+~ zhutxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0udVZGhrW7Dg@xdj=f_AOQJ^fi3L7{f7z~QnGFf z)0;O2s0f}|ywE^o`q}i7T^qPIoIA1Y;$EY<0h%{o8}90TbM|%wU*hxZ;>%}y)4Q`$ ioSs4mE>D8gL%U26=WpEMTMF8JY4M^8LR>GqPi>q literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/arrowleft-h.gif b/data/themes/blue/blue/arrowleft-h.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbc3db27567257c45c39d3d3cdfa140b76cb8382 GIT binary patch literal 329 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNc!2ARc9lqAK zB}Fr3w8SoGD4mipTNlB?bX&keE@6Y1V4Vfa1e27W0OxZPEu;ne`Bf*Kkm;Y#q0u0c z(2r8#EFu*)r2xJXW3!Jges(N)Rbk--`OY1VVw literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/arrowleft-p.gif b/data/themes/blue/blue/arrowleft-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..14d541b03e3411ca1f99b58ae3788ab550594c1f GIT binary patch literal 327 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNUztxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNQ!2ARc9lqAK zB}Fr3w8So~P&g%Fwk{(3+Q%1Vo%htxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNs!2ARc9lqAK zB}Fr3jKl(1N_GYCNZ(*%ns}B=rvF27w?MlrUx$>F+Zx5g9X6NT&aeu1#s&4iU=}YBoRG%GLww-ENPC}^Vk*Stxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNUztxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNg!2ARc9lqAK zB}Fr3jKl&MOLhhDNZ&YS+AV4!_ki7yr_4ej!^3c`n9Dsutxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNX!2O2`8d9>y z<{#L6FhXMz$CHZz5?wy(AzraD)6b^2-2RYsScD}h>R*~}R_XP-J;!gS@4ma|%IlX= ffjKq#(ajD1O~tPA8C|?Q;Z81Yt{$%TjttfSl+}7` literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/arrowup-p.gif b/data/themes/blue/blue/arrowup-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..20b6a824f42b0fd9e256f01547dc35fa5ea66ddc GIT binary patch literal 313 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0r61HbC(w3nLeUJ%bL&c#xkM*uoCXPk13A#oFF{ zVL^tCf*|M7rkfRfOotC~P7PY?tZObbGtBnk+u{ti^sC49f8Djtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0udVZGhrW7Dg@xdj=f_AOQJ^fi3*N{f7z~QnGFf z)0;O2s0f}|ywE^o`q}i7T^qPIoIA1Y;$EY)%!ITFe%BWw+8cs*(=CMii-*}@p-t~J2F@U09O6Dr2qf` literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/button-h.gif b/data/themes/blue/blue/button-h.gif new file mode 100644 index 0000000000000000000000000000000000000000..0947f43b9024931f4f444507adcd96a6a4827173 GIT binary patch literal 696 zcmZ?wbhEHbRA5kGIL5$`HuFq${vlo6G<}22gxb^b&0F*4oGqAt-p;KvuI#j(OMAhr zlckF$f&Tfg#3!}5zQYp=DfzTCOtdf%3tx_W7ox8II#-8o~| z-Ff@&85(6RKKNk8(MS6F8Ea2G-gM@vo?iO)^UwA4)Aw9@aq!x!V>jQNzWeUtgZIZT zKfU(&(9?#e|rDr=e!;hgwx>)x8P~P<|4;xr3_t*i z3kLRo4Gc}qEv;?s9i3g>369fZ25|ntCsUl zYvOa_7udXI>$dG%*EKl_3hmo};NYPHyBM5=MNXbNedg@xqfVk?m#z5H%6S=vhwnB-)M*G#+9qCu8!E)H_34E>g($h z4%fAY9d5h1Ipgvw+iK=necR;<9-o@4y$f&Tfg#3!}5zQYp=DfzTCOtdf%3tx_W7ox8II#-8o~| z-Ff@&85(6RKKNk8(MS6F8Ea2G-gM@vo?iO)^UwA4)Aw9@aq!x!V>jQNzWeUtgZIZT zKfU(&(9?#e|rDr=e!;hgwx>)x8P~P<|4;ym|3saO zQWHy3QxwWGOEMHfGEx=XJ$(ZhbQpjD6iE#1{~8#Ynp;}i+B-VCx)~Umn3*O{nmlDH z6Jsk2D;xXVdGi-6oXf%4!o|(Aa@FcJYgh4dH1jd>3vAoIW9P0NOf5`;LI)2WK63Q% z-ex9Ykuzt{oxgDIL=%&!*!3GXZ{5CmnSn|C;iJb-o<6xJA^Ga{o44=YGD$T{NPqqI z{m0KAFJ%7y`_I74^u~dsxxJY~SSx15goI7}0?J-g(%l!#7BHZ(DP7b4v7%4_}$uZg2N5czmi=`tbA~$%@af z?w$_U=Z!bb;gIv$vEkuC^8x{<3C``0k55qcuG`am{E?hp9RsJ*lFiT0FL2~n4B}v9 Z@?N1TIy0qZVm5>Oggx`tY6vh`0{~xe+U)=U literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/button-n.xcf b/data/themes/blue/blue/button-n.xcf new file mode 100644 index 0000000000000000000000000000000000000000..e38ed19e6107c0064d3f848e17c4dafe29bca95a GIT binary patch literal 1942 zcmY+FT})g>6vywqv{0?6Aly5T`@-WawP~s^ZrN2aJ~T1W#0Qd6Ty_?0VK=bYN@5_f zTGxlBN$ZA%rcHyXG=|uan$}92(u7LGHgsvFB9?9-6x{M5AE^*`=6cTD*>yeHGxMAO znR{mD+}+t=V^i35)X!Y3@o+!`b16qI0oQeCUIE|XJE>{tU}fOjz)Qi)!7IUwgOG~) zLrqPA<_L^6e9(NeB~TX$)Vq!}MjBinGz47lyu1HBjGEw>0%uv!eF!}oj!RnuhXejd zW2m_{5~>Z?MH*x%JDtF&Kus;ezN$*o;DcshQ*{$t&DhteXmfN57fJDakUA z_b*4s96pJf;r$BoY&vtikVCQIg*iF?Eyucd0T>+2z_>S+$0L$;sb9_0yBx+f)&6zd zOI4MclhQOi1DN5xmt)-vIdb~RJeE`Q8-2?e6-Jfnf*u`hr?1X`DA*EeYp%zkEF<)V z;8=DWe1~FuL(eIOPJ2F&cjoa6d0d>wF9Bn&tl=xfHPEtOtnB(A8GSP1Y}Ew}uihB^ zzh)$G>|>c4T1m^Os9^;xbFj8KTps401I%FD6K*rxc*MhWmZ_&l+pTs%QK#)4R)@mQ zW7aW+Uq-E{L_trG6N*leQ=Ha720^<>mlDsCv*K0ABxo<`Rn$lNM5WaFNxz~2GT@N= z3b`WO7R3;I!ZF zC5eJwCYK$;b94FyWDxFabD1yfMXtWS zYOeB`*MYaHt0vc;KHVtY;4`gI9KAYQzPIBf&SPK4E8@OH<`!#YWlY>k6eKdEKi(ZH zALG%{gpuIK?3k0)N0RLj6VX z?0>_{!1&()mc2{x4pUYL7iw-9xW|gJ_m0cai|`rEZ;KYY%oeBZ?bw*M7`C_Bq7$hP xNoqqm`Z-4fc85M}i*Imd4AuWAmeYEW&R|q&+wFg1Jw4rav2Db7cg+6C{uc(EzbpU% literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/button-p.gif b/data/themes/blue/blue/button-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..e819b1b9516f08eb362a06faab5cc73347204eb9 GIT binary patch literal 769 zcmZ?wbhEHbRA5kGIL5$`HuFqe*WQ$ACv9EZb#>G9_0#R#IunZ5-+T1t{g=?$YVS~DW>J3U(c4!af9%+M(ZsCe{)>-K-+g=V@{^HC!Gl*{?!WwOVqSFn z`R7~DJ{cHfT)g-8+T)MMFF(Eb;Juz+`susxj@^87@Y<_AmtN@Ur*A+1Twgz9)0wAh zPdr|6^pT-a*5ZQ?boJ8a?YlQ)*WKvWos+lU?%Q&+bHnwv)t6h=UTau>v3}*1s)c8( zmR+h?av^2PiIRoqOBY`(n03<5r9H0fbiw@dd2`OjH*Za-Jsq8YNZ%my|4;ym|3saO zQWHy3QxwWGOEMHfGEx=XJ$(ZhbQpjD6iE#1{~8#Ynp;}i+B=#VnL2yhnOP>Xuuhsf zZ8{rUD?110y!i_jF683o;pLmv%r79gcHR078`lY~Y!Vg`-MMS`p1r%oSX#s-jvPI9 z{KPTIgUwRX=Pz8mborvpnI>5|`P+By-n)NC;W`70;oO=OBw>+yaC=Pn*g zy`x=|HG)^gtlXs1J>4Mr)Ev#?7;bTk;#YT07C+~9(oNuy_1d!H;v#!?!H$DlR$g8n zFkg*Tq4_}1>WIx*cUP5aSxO}w?vnK`(>WxSad}nj>9DoDEq>;YPR;e+{w_v_qxi+$ z)7#g_@3RtkC*iYW!^6X^l>#pePc-z)Pf+%r=VNI!L7}BZLgLWQ&Cky-uoTuzT5@5c X_ljU)2d4)ei?44;J}oA~!C(ylK=;}E literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/check-hc.gif b/data/themes/blue/blue/check-hc.gif new file mode 100644 index 0000000000000000000000000000000000000000..b753aead9746368bf7c445ab48936afe6a0cc565 GIT binary patch literal 254 zcmZ?wbhEHb6k-r!XklP@|K(@-;)}PRf390`xpnQeo{cvc7#JpRyESX~-GvA4uQ>8> z{mIAM&OO_E>BW)juTI~2d+Fi(n@>MJc=hE!aX<%X9MC2q1_st<1%lzt& z3Utmld*7*8C!7~3!8SjDlE$%l>UWXkoV zvvCZ!bHtPV%%xwHgeUK3|HfNWt;g5G=g`{5)}hDW>(D!azrR;cK)_+z%$YL;^aSTG aShz?~PiWcl6)T1GnAWaazhSK+gEas(ZHGhv literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/check-hu.gif b/data/themes/blue/blue/check-hu.gif new file mode 100644 index 0000000000000000000000000000000000000000..74dbb799a2c3a59ce2dceba0a660ae5712acafc4 GIT binary patch literal 234 zcmZ?wbhEHb6k-r!XklPTn|bE_m!IW}FW!Fsxo*Yf*0tAqHr|-L?bfW_cNZSGzv9Tl z^(P;1JNInwr58u8zdC*A?WKqBZ$AC_;MEtPE@F@l0}z1hVqncrQ0PnX^U

EgR^SYJywz_lai+jiZI&5K$p{`~GeuGCt!_Q%HS zi&|^q^v*n2YK!~-So~X+5^poFeM>8AyAofIeNR7MUyl+$zx~u1Gp6$^3Cx?nV4;AL R;L>HwR|u-DR#RlK1^@v}VL<=@ literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/check-nu.gif b/data/themes/blue/blue/check-nu.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f360ffd621e45e90d84deb0de5b94ba803683a9 GIT binary patch literal 229 zcmZ?wbhEHb6k-r!XklQ`)lDm3e6eoD<<_;=dN$seyzSPk-FFurxWD4a!}TX0Z#(yF z@1++fYnFmSUy3JN#;SFV8hZ+KxF03l zudwTIdH>&`X@!H1R6py)#FIHzyo;Jkyw=LObgU^m?b;#qU_-?m0nKwSwnQmL?YRHp vhtrW2x8GN^tvLAp_kUg`zUG$JHa;c(uI`>*ekFm4lO|6QP@Ar%$Y2cs+*XAO literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/radio-hc.gif b/data/themes/blue/blue/radio-hc.gif new file mode 100644 index 0000000000000000000000000000000000000000..f7c21fb0c31f79f82417c7a3945c536697706663 GIT binary patch literal 1098 zcmd6m$x~AY0LC8_5tJ4|Tfu=*T809(B9=O)P#Q>~P;Eu5!~_NqLYBAWWf3qTWD!D! zG>usvd22e3N(v~#Aj;AtlaQC?4aBid4?Xn2p)=Z!M-QIb(*L5r`EK9u@Lj&I+FQ@@ zt`!1>zzYD7k~>2LCnHial9N;0LwHJtC*^n?Bw`T3LgZeO^1YTwg1#s;6GFV32)2P@ zo2W0WB%(?x0g)*=!AbF?0*`@M81k&a&LzY#k2>a5Kg?^~OB(En8V{l57D6W>W=Dpz zkZTpT&qEUoX!I(^oUqZQwo=2+z%aI|CBrJ3g(*(zOM){|$h`(n&nry60gXjGgbMrQ zJrYE!HmEJ`QDrOK10BQ%gIqp|P<^aH&fyMQ@Bu;d<}l zC>2yQahTqlnu0u=kbPc0?h#2)eoOm@mDNQ>#V5+jc=Zk9K8e<7H@JV&Q=3{krervX zNrN~Gdp2PEoJ{ZN>Xq^88*_7W^Yim-YEED76066oM)$0NS|4U&D8nJ%4a7dD7{4VN zgg@sCii?ZuK0SN2r(Zj6GkF8!^oEq+K!Sy_5bAsg-y{anv5Qy4=RRvV|82(*sM6cK z7W|>XAG+?3EB%~|+?Epw*cVZHAFI9(AV$|9GJ3Ulu=9#Y*xe@qRl{bx*>l%KJ=Xgp z8h=vhPs`~Yn20N9f*SXV)-kJ@oIwrKO5KFUV7oEpHM#Ga$rZzo;Sqma#iU>+Ehmx) zzNPYowAkv1>%pjVR)6cB!4)w17LDYp!M|t5)c%AFPr+1DNwO*;ti^vG!Pj-fnvPu8 z(?J~*8S%3S!zt)(kmOK`Rg+uS>6n&@tCWL1{%cXuP1+3%cabMd2@*>4}rma8Jsw{i-~FWl~kZdo0fwUTGc7Qz1f z5EKGzc0-r&q$y4H+fsr$Ic?Z2Q80; z7fN{Am%nnJ#M9CS-RoDPlBtWwzc2y&3hUa^rOnp7(q^pf64Bx~#?xn2dG57i)uPSG zDsSK$2IznJ$DfDiI_|W(tB3wNvhdwPS8flxFmqqHJit*c_kD}q>*mw>JG0QyrQWbH t<6s3`bZX%F{!`V`2V1q0K2KG50>1occVGI&&L_|K0*47WaO4nB|1U<3QJ4S# literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/radio-hu.gif b/data/themes/blue/blue/radio-hu.gif new file mode 100644 index 0000000000000000000000000000000000000000..a006630388efa1cc1bc541171e6d7109174631a6 GIT binary patch literal 626 zcmZ?wbhEHb6k-r!IL5$`HuFsStTUN&&SuO$lQrjT?!5Db3(prVypTWteD<7k#fvVK zFTGT~{BrHeD|IWc)U3EtvFuXG;)|KH&lW5=U%L2W&5Fw{Yp->0x-ntvt=`Qy+t**O zUv;H?>BXG6=W^zq>)Lo@`p&zH4nA0U?D48&kCz^PID60CzAd*J*Icbxez|MIjoEwe ztvmT-@8y@rZoWBj>+ON7uQs1~y70h*zOAg&VTUvED9bn^DwEoYz2*?X^J!}ZGLmosLctz34wbHnxd`|t0*^y2E{k1sxa|Mczm zr|-XCef)9j+2_O8U#~d&sDJCNqD2?7=bkHEaG__@&80^k-h27w{rBTH z-%j6oH)Y3d208*AkX@j-U|_%Az|hp((%RO{$kfHe+}^>$%Er#l#=+U!$~b|Gn}?T= zUqEo$j3yyr5m7O52?eM2Ny2`0|O^FueDE1?xY=l*&V`?@}g1-p#@zPOD{P_6u8G0 zRV}}~{rqz>kPgsjpihJt7}!=hG!%H~NOd-*eCiP4ndk5LK%zj1tF3vVgM>$Shoj=c z2m`S$m&68#F6lmY6{VR0Qm)WS(pI=USzYFDpSTEDTAVa~h-YZotF-rd_jaq`sZGpknC sH#WDn?{ey4Ehs7}tC;1In4FrPncd|a${ZdU9UJfVG$5|Z$&tYt0EJAb8vpZ>_(&lN7XP`>n1$NKBNn{Q6odaG{bmClVfrtG*q zXYalF`|npQz0|Vy+N5o_R~~z`_QaE_<(J#nU!S(~&eFpVH=cgF_1rTCDghmkIUv6< zux)c_DDcpc>TFE;)FHw%&)@NZM1c@jTk}E(36Jg$N5zE^24Y<txlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`KT+qR)Wnk16ovB4k_?5Aj8p}8Pu~Cr z#h)yUTnzRMIt)Mn@+<>e^nv@14k~S3OcO60&atwUzmVv>Hfp5|W7_GrdB#lL6+U9| zEK{~r&0WW#@?nRJouJFRAAja@y!`#YmXD9WrM0bvkBPUtr?=aMi+j@KDLgK0GiJ`3 O!DR0--__oc!5RQ9Jc3pL literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/sb-thumb.gif b/data/themes/blue/blue/sb-thumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9bfc0a7bea85fdbc85a6f76047bb3d8e332ac0f GIT binary patch literal 316 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNh!2ARc9lqAK zB}Fr3w8So~m|~a{u|8t;fsZe$_Q$p}IO)wk`KY7nY#6`lhaEC@f&uS-{MoCt;m7}m nI&mh6*0%OmNp|U;-o73gcDcz@rpn1H*t5GSx+>W_GFSruoqKva literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/sb-vthumb-p.gif b/data/themes/blue/blue/sb-vthumb-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..930d7fd9ffab76babca9f7b94db9b3c4f1ee9914 GIT binary patch literal 333 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`KT+qR)Wnk16ovB4k_?5Aj8p}8Pu~Cr z#h)yUTnzRMIt)Mn@+<>e;DPxGFC?T`+nX;e$goim| literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/sb-vthumb.gif b/data/themes/blue/blue/sb-vthumb.gif new file mode 100644 index 0000000000000000000000000000000000000000..060be5dd41c2783e36275958886606cdeaecedea GIT binary patch literal 308 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0mjI1uc-`PZmZl273k_1|R_WiGeNf!2O2`8d9=u z3)7o72B-+0SiI0cWcu0kl3g3PHu$aBa&fQG;pk1`Yh^Z0E7SlW|_=eZ^A7tW-l;lV13J9gSBs;&pt+pUUthqM2B#i z$$F;JbfM3Mt=29sXOFbmn!DYk!r-sT<1jF2y3pq|H*&<+>M}HN&))7dHgveX(b?tk zHaK@bKy>8n^#A|>A^8LW3IHDfEC2ui00{sN000Fu;3tfvAVv~pVVgIiD(edH+6qoB kJ9%o)y4xfO^vMK6^Z0E7SlW|_=eZ^A7tW-l;lV13J9gSBs;&pt+pUUthqM2B#i z$$F;JbfM3Mt=29sXOFbmn!DYk!r-sT<1jF2y3pq|H*&<+>M}HN&))7dHgveX(b?tk zHaK@bKy>8n^#A|>A^8LW3IHDfEC2ui00{sN000Fu;3tfvAbJ~SQBpLbD(edH+6qoB kJ9KJCJl(AqYfXs1mrr&Sx;~c+$`k!qq13DPq74B6JE?|FNB{r; literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/vslider-p.gif b/data/themes/blue/blue/vslider-p.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc37b31c3de9234f5b47fb99ff828e808da9f607 GIT binary patch literal 183 zcmV;o07(BwNk%w1VGaNZ0E7SlW|_=eZ^A7tW-l;lV13J9gSBs;&pt+pUUthqM2B#i z$$F;JbfM3Mt=29sXOFbmn!DYk!r-sT<1jF2y3pq|H*&<+>M}HN&))7dHgveX(b?tk zHaK@bKy>8n^#A|>A^8LW3IHDfEC2ui01f~N000Fv;3tgEXbN8{cx>xl>L$-LEMj=B ld$3^rz~F`_pcs!xo=C!MI&Ff8bV{{}NTrEDoBD(R06SCxQ5FCI literal 0 HcmV?d00001 diff --git a/data/themes/blue/blue/vslider.gif b/data/themes/blue/blue/vslider.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3745c7f6285242f01e5107ca992176c2e304e0a GIT binary patch literal 283 zcmZ?wbhEHbtxlk zOC<}>x30aWrsv2cb6P`u>Ry@1A~lR7oMA#7ah6&%E+YP{JnQ3W+glJUcCAA zqnSmyy+g^9H(&2PdXrGRUSB`m*0r61HbC(w3nLeUJ%bL&c#xkM*enjrPk2$lq2_)t zU$etv{srz}r?pW_ow~|SfAwIUwxMFrM=paGTW)FJ*>S&M%>n22w>LUHDp()G#>ij| E023ctd;kCd literal 0 HcmV?d00001 diff --git a/data/themes/blue/pkgIndex.tcl b/data/themes/blue/pkgIndex.tcl new file mode 100644 index 00000000..4facac70 --- /dev/null +++ b/data/themes/blue/pkgIndex.tcl @@ -0,0 +1,6 @@ +# Package index for tile demo pixmap themes. + +if {[file isdirectory [file join $dir blue]]} { + package ifneeded tile::theme::blue 0.7 \ + [list source [file join $dir blue.tcl]] +} diff --git a/pysollib/game.py b/pysollib/game.py index fb4719f7..5cf48df3 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -1018,7 +1018,7 @@ class Game: return if self.app.debug and not self.top.winfo_ismapped(): return - #self.top.busyUpdate() + ##self.top.busyUpdate() ##self.canvas.after(200) self.canvas.update_idletasks() old_a = self.app.opt.animations diff --git a/pysollib/tile/soundoptionsdialog.py b/pysollib/tile/soundoptionsdialog.py index cc1da11a..bba93f5f 100644 --- a/pysollib/tile/soundoptionsdialog.py +++ b/pysollib/tile/soundoptionsdialog.py @@ -155,7 +155,7 @@ class SoundOptionsDialog(MfxDialog): for n, t, v in self.samples: v.set(app.opt.sound_samples[n]) w = Tkinter.Checkbutton(frame, text=t, anchor='w', variable=v) - w.grid(row=row, column=col, sticky='ew') + w.grid(row=row, column=col, sticky='ew', padx=3, pady=1) if col == 1: col = 0 row += 1 diff --git a/scripts/build.bat b/scripts/build.bat index cc9ed4cf..084532b7 100755 --- a/scripts/build.bat +++ b/scripts/build.bat @@ -7,9 +7,8 @@ cp -r locale dist cp fc-solve.exe dist cp smpeg.dll ogg.dll vorbis.dll vorbisfile.dll dist python setup.py py2exe +cp -r d:\Python\tcl\tile0.7.8 dist\tcl cp -r data\music dist\data -rem rm -rf dist\tcl\tcl8.4\encoding -rem rm -rf dist\tcl\tk8.4\demos dist\tcl\tk8.4\images python scripts\create_iss.py "d:\Program Files\Inno Setup 5\ISCC.exe" setup.iss pause diff --git a/setup.py b/setup.py index 2c4c6475..6acd58d6 100644 --- a/setup.py +++ b/setup.py @@ -20,6 +20,8 @@ datas = [ 'sound', 'tiles', 'toolbar', + 'themes', + 'tcl', ] for s in file('MANIFEST.in'): if s.startswith('graft data/cardset-'):