src/eric7/QScintilla/MiniEditor.py

branch
eric7
changeset 10849
78d338b6d89f
parent 10806
2f6df822e3b9
child 10876
ec224611090e
equal deleted inserted replaced
10848:328c9a177c64 10849:78d338b6d89f
33 QPrintPreviewDialog, 33 QPrintPreviewDialog,
34 ) 34 )
35 from PyQt6.QtWidgets import ( 35 from PyQt6.QtWidgets import (
36 QApplication, 36 QApplication,
37 QDialog, 37 QDialog,
38 QHBoxLayout,
39 QInputDialog, 38 QInputDialog,
40 QLabel, 39 QLabel,
41 QLineEdit, 40 QLineEdit,
42 QMenu, 41 QMenu,
42 QSplitter,
43 QVBoxLayout, 43 QVBoxLayout,
44 QWhatsThis, 44 QWhatsThis,
45 QWidget, 45 QWidget,
46 ) 46 )
47 47
309 309
310 self.srHistory = {"search": [], "replace": []} 310 self.srHistory = {"search": [], "replace": []}
311 self.__searchReplaceWidget = SearchReplaceWidget(self, self) 311 self.__searchReplaceWidget = SearchReplaceWidget(self, self)
312 312
313 self.__sourceOutline = EditorOutlineView(self, populate=False) 313 self.__sourceOutline = EditorOutlineView(self, populate=False)
314 self.__sourceOutline.setMaximumWidth( 314
315 Preferences.getEditor("SourceOutlineWidth") 315 self.__splitter = QSplitter(Qt.Orientation.Horizontal)
316 ) 316 self.__splitter.setChildrenCollapsible(False)
317 317 self.__splitter.addWidget(self.__textEdit)
318 hlayout = QHBoxLayout() 318 self.__splitter.addWidget(self.__sourceOutline)
319 hlayout.setContentsMargins(0, 0, 0, 0)
320 hlayout.setSpacing(1)
321 hlayout.addWidget(self.__textEdit)
322 hlayout.addWidget(self.__sourceOutline)
323 319
324 centralWidget = QWidget() 320 centralWidget = QWidget()
325 layout = QVBoxLayout() 321 layout = QVBoxLayout()
326 layout.setContentsMargins(1, 1, 1, 1) 322 layout.setContentsMargins(1, 1, 1, 1)
327 layout.addLayout(hlayout) 323 layout.addWidget(self.__splitter)
328 layout.addWidget(self.__searchReplaceWidget) 324 layout.addWidget(self.__searchReplaceWidget)
329 centralWidget.setLayout(layout) 325 centralWidget.setLayout(layout)
330 self.setCentralWidget(centralWidget) 326 self.setCentralWidget(centralWidget)
331 self.__searchReplaceWidget.hide() 327 self.__searchReplaceWidget.hide()
332 328
391 self.__sourceOutline.isSupportedLanguage(self.getLanguage()) 387 self.__sourceOutline.isSupportedLanguage(self.getLanguage())
392 ) 388 )
393 self.__changeTimer.timeout.connect(self.__sourceOutline.repopulate) 389 self.__changeTimer.timeout.connect(self.__sourceOutline.repopulate)
394 self.languageChanged.connect(self.__editorChanged) 390 self.languageChanged.connect(self.__editorChanged)
395 self.editorRenamed.connect(self.__editorChanged) 391 self.editorRenamed.connect(self.__editorChanged)
392
393 self.__setupCompleted = False
394
395 def show(self):
396 """
397 Public method to show the editor window and complete the initial setup.
398 """
399 super().show()
400
401 if not self.__setupCompleted:
402 splitterWidth = self.__splitter.width() - self.__splitter.handleWidth()
403 outlineWidth = Preferences.getEditor("SourceOutlineWidth")
404 self.__splitter.setSizes([splitterWidth - outlineWidth, outlineWidth])
405 self.__setupCompleted = True
396 406
397 def closeEvent(self, event): 407 def closeEvent(self, event):
398 """ 408 """
399 Protected method to handle the close event. 409 Protected method to handle the close event.
400 410

eric ide

mercurial