diff -r 328c9a177c64 -r 78d338b6d89f src/eric7/QScintilla/MiniEditor.py --- a/src/eric7/QScintilla/MiniEditor.py Mon Jul 15 16:40:23 2024 +0200 +++ b/src/eric7/QScintilla/MiniEditor.py Tue Jul 16 15:14:23 2024 +0200 @@ -35,11 +35,11 @@ from PyQt6.QtWidgets import ( QApplication, QDialog, - QHBoxLayout, QInputDialog, QLabel, QLineEdit, QMenu, + QSplitter, QVBoxLayout, QWhatsThis, QWidget, @@ -311,20 +311,16 @@ self.__searchReplaceWidget = SearchReplaceWidget(self, self) self.__sourceOutline = EditorOutlineView(self, populate=False) - self.__sourceOutline.setMaximumWidth( - Preferences.getEditor("SourceOutlineWidth") - ) - - hlayout = QHBoxLayout() - hlayout.setContentsMargins(0, 0, 0, 0) - hlayout.setSpacing(1) - hlayout.addWidget(self.__textEdit) - hlayout.addWidget(self.__sourceOutline) + + self.__splitter = QSplitter(Qt.Orientation.Horizontal) + self.__splitter.setChildrenCollapsible(False) + self.__splitter.addWidget(self.__textEdit) + self.__splitter.addWidget(self.__sourceOutline) centralWidget = QWidget() layout = QVBoxLayout() layout.setContentsMargins(1, 1, 1, 1) - layout.addLayout(hlayout) + layout.addWidget(self.__splitter) layout.addWidget(self.__searchReplaceWidget) centralWidget.setLayout(layout) self.setCentralWidget(centralWidget) @@ -394,6 +390,20 @@ self.languageChanged.connect(self.__editorChanged) self.editorRenamed.connect(self.__editorChanged) + self.__setupCompleted = False + + def show(self): + """ + Public method to show the editor window and complete the initial setup. + """ + super().show() + + if not self.__setupCompleted: + splitterWidth = self.__splitter.width() - self.__splitter.handleWidth() + outlineWidth = Preferences.getEditor("SourceOutlineWidth") + self.__splitter.setSizes([splitterWidth - outlineWidth, outlineWidth]) + self.__setupCompleted = True + def closeEvent(self, event): """ Protected method to handle the close event.