Use QgsCodeEditorWidget in python console script editor

This commit is contained in:
Nyall Dawson 2024-05-09 10:39:19 +10:00
parent 249cc6d591
commit 4854779200

View File

@ -32,7 +32,12 @@ from operator import itemgetter
from pathlib import Path from pathlib import Path
from qgis.core import Qgis, QgsApplication, QgsBlockingNetworkRequest, QgsSettings from qgis.core import Qgis, QgsApplication, QgsBlockingNetworkRequest, QgsSettings
from qgis.gui import QgsCodeEditorPython, QgsMessageBar from qgis.gui import (
QgsCodeEditorPython,
QgsCodeEditorWidget,
QgsMessageBar
)
from qgis.PyQt.Qsci import QsciScintilla from qgis.PyQt.Qsci import QsciScintilla
from qgis.PyQt.QtCore import QByteArray, QCoreApplication, QDir, QEvent, QFileInfo, QJsonDocument, QSize, Qt, QUrl from qgis.PyQt.QtCore import QByteArray, QCoreApplication, QDir, QEvent, QFileInfo, QJsonDocument, QSize, Qt, QUrl
from qgis.PyQt.QtGui import QKeySequence from qgis.PyQt.QtGui import QKeySequence
@ -574,6 +579,11 @@ class EditorTab(QWidget):
self._editor = Editor(editor_tab=self, self._editor = Editor(editor_tab=self,
console_widget=console_widget, console_widget=console_widget,
tab_widget=tab_widget) tab_widget=tab_widget)
self._editor_code_widget = QgsCodeEditorWidget(
self._editor
)
if filename: if filename:
if QFileInfo(filename).exists(): if QFileInfo(filename).exists():
self._editor.loadFile(filename, read_only) self._editor.loadFile(filename, read_only)
@ -591,7 +601,7 @@ class EditorTab(QWidget):
self.tabLayout = QGridLayout(self) self.tabLayout = QGridLayout(self)
self.tabLayout.setContentsMargins(0, 0, 0, 0) self.tabLayout.setContentsMargins(0, 0, 0, 0)
self.tabLayout.addWidget(self._editor) self.tabLayout.addWidget(self._editor_code_widget)
def modified(self, modified): def modified(self, modified):
self.tab_widget.tabModified(self, modified) self.tab_widget.tabModified(self, modified)