[gedit-plugins] joinlines: use view.get_visual_line_offset now that it is public



commit 34277c872b3474ba9a9857d882fe71f1d8f51ed9
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Jul 20 18:05:36 2014 +0200

    joinlines: use view.get_visual_line_offset now that it is public

 plugins/joinlines/joinlines.py |   28 ++++++++--------------------
 1 files changed, 8 insertions(+), 20 deletions(-)
---
diff --git a/plugins/joinlines/joinlines.py b/plugins/joinlines/joinlines.py
index c41e5ec..62eb57d 100644
--- a/plugins/joinlines/joinlines.py
+++ b/plugins/joinlines/joinlines.py
@@ -29,6 +29,7 @@ try:
 except:
     _ = lambda s: s
 
+
 class JoinLinesAppActivatable(GObject.Object, Gedit.AppActivatable):
     app = GObject.property(type=Gedit.App)
 
@@ -66,10 +67,9 @@ class JoinLinesWindowActivatable(GObject.Object, Gedit.WindowActivatable):
 
     def do_update_state(self):
         view = self.window.get_active_view()
-        self.window.lookup_action("joinlines").set_enabled(view is not None and \
-                                                           view.get_editable())
-        self.window.lookup_action("splitlines").set_enabled(view is not None and \
-                                                            view.get_editable())
+        enable = view is not None and view.get_editable()
+        self.window.lookup_action("joinlines").set_enabled(enable)
+        self.window.lookup_action("splitlines").set_enabled(enable)
 
     def join_lines(self):
         view = self.window.get_active_view()
@@ -81,6 +81,7 @@ class JoinLinesWindowActivatable(GObject.Object, Gedit.WindowActivatable):
         if view and hasattr(view, "join_lines_view_activatable"):
             view.join_lines_view_activatable.split_lines()
 
+
 class JoinLinesViewActivatable(GObject.Object, Gedit.ViewActivatable):
 
     view = GObject.property(type=Gedit.View)
@@ -214,8 +215,8 @@ class JoinLinesViewActivatable(GObject.Object, Gedit.ViewActivatable):
 
                 doc.delete(previous_word_end, current_word_start)
 
-                line_offset = get_line_offset(current_word_start, tabwidth) + word_length
-                if line_offset > width - 1:
+                line_offset = self.view.get_visual_line_offset(current_word_start)
+                if line_offset + word_length > width - 1:
                     doc.insert(current_word_start, '\n' + indent)
                 else:
                     doc.insert(current_word_start, ' ')
@@ -228,20 +229,6 @@ class JoinLinesViewActivatable(GObject.Object, Gedit.ViewActivatable):
         doc.delete_mark(end_mark)
         doc.end_user_action()
 
-def get_line_offset(text_iter, tabwidth):
-    offset_iter = text_iter.copy()
-    offset_iter.set_line_offset(0)
-
-    line_offset = 0
-    while offset_iter.get_offset() < text_iter.get_offset():
-        char = offset_iter.get_char()
-        if char == '\t':
-            line_offset += tabwidth
-        else:
-            line_offset += 1
-        offset_iter.forward_char()
-
-    return line_offset
 
 def forward_to_word_start(text_iter):
     char = text_iter.get_char()
@@ -249,6 +236,7 @@ def forward_to_word_start(text_iter):
         text_iter.forward_char()
         char = text_iter.get_char()
 
+
 def forward_to_word_end(text_iter):
     char = text_iter.get_char()
     while ord(char) and (not (char in (' ', '\t', '\n', '\r'))):


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