[gedit-plugins] textsize: fix bug Ctrl + Scrollwheel (mouse wheel)



commit 3d5becb43d242766ec3c69d1ad9082f81eba730f
Author: George White <me galexite uk>
Date:   Fri Aug 4 09:29:01 2017 +0100

    textsize: fix bug Ctrl + Scrollwheel (mouse wheel)
    
    The textsize plugin now tries to keep the currently central line in the
    middle.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=760092

 plugins/textsize/textsize/viewactivatable.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/plugins/textsize/textsize/viewactivatable.py b/plugins/textsize/textsize/viewactivatable.py
index 5603840..db44c80 100644
--- a/plugins/textsize/textsize/viewactivatable.py
+++ b/plugins/textsize/textsize/viewactivatable.py
@@ -166,6 +166,12 @@ class TextSizeViewActivatable(GObject.Object, Gedit.ViewActivatable, Signals):
         if state != Gdk.ModifierType.CONTROL_MASK:
             return False
 
+        # Scroll to the keep the line in the centre of the screen anchored
+        visible_rect = self.view.get_visible_rect()
+        central_line_y = visible_rect.height / 2 + visible_rect.y
+        central_line_iter, _ = self.view.get_line_at_y(central_line_y)
+        self.view.scroll_to_iter(central_line_iter, 0, True, 0.5, 0.5)
+
         if event.direction == Gdk.ScrollDirection.UP:
             self.larger_text()
             return True


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]