summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <jan.nijtmans@noemail.net>2013-06-28 11:17:14 (GMT)
committerjan.nijtmans <jan.nijtmans@noemail.net>2013-06-28 11:17:14 (GMT)
commitb2131c84660d210c0da2bdf89fb44c9d67fb224e (patch)
treedf73f45e23a41814b98ddc25fce584c3e93e4bdf
parent7cc18aa23f4cebdc711c675468866b483f7822e0 (diff)
downloadtk-b2131c84660d210c0da2bdf89fb44c9d67fb224e.zip
tk-b2131c84660d210c0da2bdf89fb44c9d67fb224e.tar.gz
tk-b2131c84660d210c0da2bdf89fb44c9d67fb224e.tar.bz2
Bug [2501278]: ttk::scale keyboard binding problem
FossilOrigin-Name: 3fec32a981aa335f1c3628308c691c45029b6d3f
-rw-r--r--ChangeLog5
-rw-r--r--library/ttk/scale.tcl5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d3b46a7..ef332bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-28 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * library/ttk/scale.tcl: [Bug 2501278]: ttk::scale keyboard binding
+ problem.
+
2012-06-07 Jan Nijtmans <nijtmans@users.sf.net>
* win/tkWinDialog.c: [Bug 1913750]: tk_chooseDirectory -initialdir
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}]
}