Editor, MiniEditor: added capability to configure the subline indentation for wrapped lines.

Tue, 05 Mar 2019 19:50:32 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 05 Mar 2019 19:50:32 +0100
changeset 6842
c83dcb7c6147
parent 6841
43af1e698c9d
child 6843
5e1afd1577b9

Editor, MiniEditor: added capability to configure the subline indentation for wrapped lines.

Preferences/ConfigurationPages/EditorStylesPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/EditorStylesPage.ui file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
QScintilla/Editor.py file | annotate | diff | comparison | revisions
QScintilla/MiniEditor.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
--- a/Preferences/ConfigurationPages/EditorStylesPage.py	Tue Mar 05 19:00:06 2019 +0100
+++ b/Preferences/ConfigurationPages/EditorStylesPage.py	Tue Mar 05 19:50:32 2019 +0100
@@ -72,6 +72,18 @@
                 self.tr("Indicator in Line Number Margin"),
                 QsciScintilla.WrapFlagInMargin)
         
+        self.wrapIndentComboBox.addItem(
+            self.tr("Fixed Amount"), QsciScintilla.WrapIndentFixed)
+        self.wrapIndentComboBox.addItem(
+            self.tr("Aligned to First Line"), QsciScintilla.WrapIndentSame)
+        self.wrapIndentComboBox.addItem(
+            self.tr("Aligned to First Line plus One"),
+            QsciScintilla.WrapIndentIndented)
+        if QSCINTILLA_VERSION() >= 0x020B00:
+            self.wrapIndentComboBox.addItem(
+                self.tr("Aligned to First Line plus Two"),
+                QsciScintilla.WrapIndentDeeplyIndented)
+        
         if QSCINTILLA_VERSION() < 0x020800:
             self.caretlineAlwaysVisibleCheckBox.hide()
         
@@ -155,6 +167,9 @@
         self.wrapVisualComboBox.setCurrentIndex(
             self.wrapVisualComboBox.findData(
                 Preferences.getEditor("WrapVisualFlag")))
+        self.wrapIndentComboBox.setCurrentIndex(
+            self.wrapIndentComboBox.findData(
+                Preferences.getEditor("WrapIndentMode")))
         
         self.edgeModeCombo.setCurrentIndex(
             self.edgeModes.index(Preferences.getEditor("EdgeMode")))
@@ -321,6 +336,9 @@
             "WrapVisualFlag", self.wrapVisualComboBox.itemData(
                 self.wrapVisualComboBox.currentIndex()))
         Preferences.setEditor(
+            "WrapIndentMode", self.wrapIndentComboBox.itemData(
+                self.wrapIndentComboBox.currentIndex()))
+        Preferences.setEditor(
             "EdgeMode", self.edgeModes[self.edgeModeCombo.currentIndex()])
         Preferences.setEditor(
             "EdgeColumn", self.edgeLineColumnSlider.value())
--- a/Preferences/ConfigurationPages/EditorStylesPage.ui	Tue Mar 05 19:00:06 2019 +0100
+++ b/Preferences/ConfigurationPages/EditorStylesPage.ui	Tue Mar 05 19:50:32 2019 +0100
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>655</width>
-    <height>2772</height>
+    <height>2891</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_9">
@@ -939,6 +939,20 @@
            </property>
           </widget>
          </item>
+         <item row="2" column="0">
+          <widget class="QLabel" name="label_18">
+           <property name="text">
+            <string>Indentation:</string>
+           </property>
+          </widget>
+         </item>
+         <item row="2" column="1">
+          <widget class="QComboBox" name="wrapIndentComboBox">
+           <property name="toolTip">
+            <string>Select, how wrapped lines are indented</string>
+           </property>
+          </widget>
+         </item>
         </layout>
        </widget>
       </item>
@@ -2020,6 +2034,7 @@
   <tabstop>eolCheckBox</tabstop>
   <tabstop>wrapModeComboBox</tabstop>
   <tabstop>wrapVisualComboBox</tabstop>
+  <tabstop>wrapIndentComboBox</tabstop>
   <tabstop>edgeModeCombo</tabstop>
   <tabstop>edgeLineColumnSlider</tabstop>
   <tabstop>edgeBackgroundColorButton</tabstop>
--- a/Preferences/__init__.py	Tue Mar 05 19:00:06 2019 +0100
+++ b/Preferences/__init__.py	Tue Mar 05 19:50:32 2019 +0100
@@ -401,6 +401,7 @@
         "UseMonospacedFont": False,
         "WrapLongLinesMode": QsciScintilla.WrapNone,
         "WrapVisualFlag": QsciScintilla.WrapFlagNone,
+        "WrapIndentMode": QsciScintilla.WrapIndentFixed,
         "WarnFilesize": 512,
         "ClearBreaksOnClose": True,
         "StripTrailingWhitespace": False,
@@ -2175,8 +2176,8 @@
                  "AutoSpellCheckChunkSize", "SpellCheckingMinWordSize",
                  "PostScriptLevel", "EOLMode", "ZoomFactor", "WhitespaceSize",
                  "OnlineSyntaxCheckInterval", "OnlineChangeTraceInterval",
-                 "WrapLongLinesMode", "WrapVisualFlag", "CallTipsPosition",
-                 "VirtualSpaceOptions"]:
+                 "WrapLongLinesMode", "WrapVisualFlag", "WrapIndentMode",
+                 "CallTipsPosition", "VirtualSpaceOptions"]:
         return int(prefClass.settings.value(
             "Editor/" + key, prefClass.editorDefaults[key]))
     elif key in ["AdditionalOpenFilters", "AdditionalSaveFilters",
--- a/QScintilla/Editor.py	Tue Mar 05 19:00:06 2019 +0100
+++ b/QScintilla/Editor.py	Tue Mar 05 19:50:32 2019 +0100
@@ -4355,6 +4355,7 @@
         wrapVisualFlag = Preferences.getEditor("WrapVisualFlag")
         self.setWrapMode(Preferences.getEditor("WrapLongLinesMode"))
         self.setWrapVisualFlags(wrapVisualFlag, wrapVisualFlag)
+        self.setWrapIndentMode(Preferences.getEditor("WrapIndentMode"))
         
         self.zoomTo(Preferences.getEditor("ZoomFactor"))
         
--- a/QScintilla/MiniEditor.py	Tue Mar 05 19:00:06 2019 +0100
+++ b/QScintilla/MiniEditor.py	Tue Mar 05 19:50:32 2019 +0100
@@ -2675,6 +2675,8 @@
         wrapVisualFlag = Preferences.getEditor("WrapVisualFlag")
         self.__textEdit.setWrapMode(Preferences.getEditor("WrapLongLinesMode"))
         self.__textEdit.setWrapVisualFlags(wrapVisualFlag, wrapVisualFlag)
+        self.__textEdit.setWrapIndentMode(
+            Preferences.getEditor("WrapIndentMode"))
         
         self.searchIndicator = QsciScintilla.INDIC_CONTAINER
         self.__textEdit.indicatorDefine(
--- a/changelog	Tue Mar 05 19:00:06 2019 +0100
+++ b/changelog	Tue Mar 05 19:50:32 2019 +0100
@@ -4,6 +4,7 @@
 - bug fixes
 - Editor
   -- added extended regular expression support (C++11) as of QScintilla 2.11.0
+  -- added capability to configure the subline indentation for wrapped lines
 - Email
   -- changed the Google Mail interface to not use obsoleted packages anymore
 - Multi Project

eric ide

mercurial