QScintilla/Editor.py

changeset 2640
dedcd4f987e0
parent 2632
94121e2f55b9
child 2643
e870fc2b4819
--- a/QScintilla/Editor.py	Sun Apr 28 15:38:35 2013 +0200
+++ b/QScintilla/Editor.py	Wed May 01 14:47:38 2013 +0200
@@ -271,6 +271,7 @@
         
         # configure the margins
         self.__setMarginsDisplay()
+        self.linesChanged.connect(self.__resizeLinenoMargin)
         
         self.marginClicked.connect(self.__marginClicked)
         
@@ -3823,8 +3824,7 @@
         linenoMargin = Preferences.getEditor("LinenoMargin")
         self.setMarginLineNumbers(self.__linenoMargin, linenoMargin)
         if linenoMargin:
-            self.setMarginWidth(self.__linenoMargin,
-                                ' ' + '8' * Preferences.getEditor("LinenoWidth"))
+            self.__resizeLinenoMargin()
         else:
             self.setMarginWidth(self.__linenoMargin, 0)
         
@@ -3846,7 +3846,15 @@
         else:
             self.setMarginWidth(self.__foldMargin, 0)
             self.setFolding(QsciScintilla.NoFoldStyle, self.__foldMargin)
-        
+    
+    def __resizeLinenoMargin(self):
+        """
+        Private slot to resize the line numbers margin.
+        """
+        linenoMargin = Preferences.getEditor("LinenoMargin")
+        if linenoMargin:
+            self.setMarginWidth(self.__linenoMargin, '8' * (len(str(self.lines())) + 1))
+    
     def __setTextDisplay(self):
         """
         Private method to configure the text display.

eric ide

mercurial