--- a/ListView.st Tue Jul 19 21:45:20 2016 +0200
+++ b/ListView.st Wed Jul 20 10:11:27 2016 +0200
@@ -2315,8 +2315,9 @@
"a key was pressed - handle page-keys here"
<resource: #keyboard (#PreviousPage #NextPage #HalfPageUp #HalfPageDown
- #BeginOfText #EndOfText
- #ScrollUp #ScrollDown )>
+ #BeginOfText #EndOfText
+ #ScrollUp #ScrollDown
+ #ZoomIn #ZoomOut)>
|n|
(key == #PreviousPage) ifTrue: [^ self pageUp].
@@ -2328,17 +2329,24 @@
(key == #EndOfText) ifTrue:[^ self scrollToBottom].
(key == #ScrollUp) ifTrue:[
- n := 1 + (self sensor compressKeyPressEventsWithKey:#ScrollUp).
- ^ self scrollUp:n
+ n := 1 + (self sensor compressKeyPressEventsWithKey:#ScrollUp).
+ ^ self scrollUp:n
].
(key == #ScrollDown) ifTrue:[
- n := 1 + (self sensor compressKeyPressEventsWithKey:#ScrollDown).
- ^ self scrollDown:n
+ n := 1 + (self sensor compressKeyPressEventsWithKey:#ScrollDown).
+ ^ self scrollDown:n
].
+ (key == #ZoomIn or:[key == #ZoomOut]) ifTrue:[ self keyboardZoom:(key == #ZoomIn) ].
super keyPress:key x:x y:y
!
+keyboardZoom:larger
+ "CTRL+/- zoom action"
+
+ self fontLargerOrSmaller:larger
+!
+
mapped
self stopAutoScroll.
super mapped
@@ -2351,16 +2359,16 @@
amount > 0 ifTrue:[
"/ delta := 1. mul := 1.
- delta := 0. mul := 1.2.
+ delta := 0. mul := 1.05.
] ifFalse:[
"/ delta := -1. mul := 1.
- delta := 0. mul := 0.8.
+ delta := 0. mul := 0.95.
].
font := gc font.
font sizeUnit ~~ #px ifTrue:[
oldSize := font size.
- newSize := ((oldSize + delta)* mul) max:2.
+ newSize := (((oldSize + delta)* mul) max:4) min:100.
newSize ~= oldSize ifTrue:[
self font:(font asSize:newSize).
]