diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-06-28 11:17:14 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-06-28 11:17:14 (GMT) |
commit | f9f1a2f876bb42a6df81c015fd172104c83ef5cc (patch) | |
tree | df73f45e23a41814b98ddc25fce584c3e93e4bdf /library/ttk | |
parent | 9b14e0eed4e95ec5f312ec0967793be5b24431ab (diff) | |
download | tk-f9f1a2f876bb42a6df81c015fd172104c83ef5cc.zip tk-f9f1a2f876bb42a6df81c015fd172104c83ef5cc.tar.gz tk-f9f1a2f876bb42a6df81c015fd172104c83ef5cc.tar.bz2 |
Bug [2501278]: ttk::scale keyboard binding problem
Diffstat (limited to 'library/ttk')
-rw-r--r-- | library/ttk/scale.tcl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/library/ttk/scale.tcl b/library/ttk/scale.tcl index 23d08ed..4a534de 100644 --- a/library/ttk/scale.tcl +++ b/library/ttk/scale.tcl @@ -39,7 +39,7 @@ proc ttk::scale::Press {w x y} { switch -glob -- [$w identify $x $y] { *track - *trough { - set inc [expr {([$w get $x $y] <= [$w get]) ? -1 : 1}] + set inc [expr {([$w get $x $y] <= [$w get]) ^ ([$w cget -from] > [$w cget -to]) ? -1 : 1}] ttk::Repeatedly Increment $w $inc } *slider { @@ -84,5 +84,8 @@ proc ttk::scale::Release {w x y} { proc ttk::scale::Increment {w delta} { if {![winfo exists $w]} return + if {([$w cget -from] > [$w cget -to])} { + set delta [expr {-$delta}] + } $w set [expr {[$w get] + $delta}] } |