""" *************************************************************************** ScriptEdit.py --------------------- Date : April 2013 Copyright : (C) 2013 by Alexander Bruy Email : alexander dot bruy at gmail dot com *************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * *************************************************************************** """ __author__ = "Alexander Bruy" __date__ = "April 2013" __copyright__ = "(C) 2013, Alexander Bruy" from qgis.PyQt.QtCore import Qt from qgis.PyQt.QtGui import QKeySequence from qgis.PyQt.QtWidgets import QShortcut from qgis.gui import QgsCodeEditorPython from qgis.PyQt.Qsci import QsciScintilla class ScriptEdit(QgsCodeEditorPython): def __init__(self, parent=None): super().__init__(parent) self.initShortcuts() def initShortcuts(self): (ctrl, shift) = (self.SCMOD_CTRL << 16, self.SCMOD_SHIFT << 16) # Disable some shortcuts self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("D") + ctrl) self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("L") + ctrl) self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("L") + ctrl + shift) self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("T") + ctrl) # self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("Z") + ctrl) # self.SendScintilla(QsciScintilla.SCI_CLEARCMDKEY, ord("Y") + ctrl) # Use Ctrl+Space for autocompletion self.shortcutAutocomplete = QShortcut( QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Space), self ) self.shortcutAutocomplete.setContext(Qt.ShortcutContext.WidgetShortcut) self.shortcutAutocomplete.activated.connect(self.autoComplete)