ListView.st
changeset 5790 d9bc25103826
parent 5789 a6db617369e9
child 5793 9e9a7d1a966e
--- 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).
         ]