--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/QScintilla/KeySequenceTranslator.py Sat May 15 18:45:04 2021 +0200 @@ -0,0 +1,135 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing functions to map QScintilla keyboard commands to +QKeySequence standard keys. +""" + +from PyQt5.QtGui import QKeySequence +from PyQt5.Qsci import QsciScintilla + +__all__ = ["s2qTranslate"] + +Scintilla2QKeySequence = { + QsciScintilla.SCI_CHARLEFT: QKeySequence.StandardKey.MoveToPreviousChar, + QsciScintilla.SCI_CHARRIGHT: QKeySequence.StandardKey.MoveToNextChar, + QsciScintilla.SCI_LINEUP: QKeySequence.StandardKey.MoveToPreviousLine, + QsciScintilla.SCI_LINEDOWN: QKeySequence.StandardKey.MoveToNextLine, + QsciScintilla.SCI_WORDPARTLEFT: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDPARTRIGHT: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDLEFT: QKeySequence.StandardKey.MoveToNextWord, + QsciScintilla.SCI_WORDRIGHT: QKeySequence.StandardKey.MoveToPreviousWord, + QsciScintilla.SCI_VCHOME: QKeySequence.StandardKey.MoveToStartOfLine, + QsciScintilla.SCI_HOMEDISPLAY: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEEND: QKeySequence.StandardKey.MoveToEndOfLine, + QsciScintilla.SCI_LINESCROLLDOWN: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINESCROLLUP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_PARAUP: QKeySequence.StandardKey.MoveToStartOfBlock, + QsciScintilla.SCI_PARADOWN: QKeySequence.StandardKey.MoveToEndOfBlock, + QsciScintilla.SCI_PAGEUP: QKeySequence.StandardKey.MoveToPreviousPage, + QsciScintilla.SCI_PAGEDOWN: QKeySequence.StandardKey.MoveToNextPage, + QsciScintilla.SCI_DOCUMENTSTART: + QKeySequence.StandardKey.MoveToStartOfDocument, + QsciScintilla.SCI_DOCUMENTEND: + QKeySequence.StandardKey.MoveToEndOfDocument, + QsciScintilla.SCI_TAB: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_BACKTAB: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_CHARLEFTEXTEND: + QKeySequence.StandardKey.SelectPreviousChar, + QsciScintilla.SCI_CHARRIGHTEXTEND: QKeySequence.StandardKey.SelectNextChar, + QsciScintilla.SCI_LINEUPEXTEND: + QKeySequence.StandardKey.SelectPreviousLine, + QsciScintilla.SCI_LINEDOWNEXTEND: QKeySequence.StandardKey.SelectNextLine, + QsciScintilla.SCI_WORDPARTLEFTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDPARTRIGHTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDLEFTEXTEND: + QKeySequence.StandardKey.SelectPreviousWord, + QsciScintilla.SCI_WORDRIGHTEXTEND: QKeySequence.StandardKey.SelectNextWord, + QsciScintilla.SCI_VCHOMEEXTEND: QKeySequence.StandardKey.SelectStartOfLine, + QsciScintilla.SCI_LINEENDEXTEND: QKeySequence.StandardKey.SelectEndOfLine, + QsciScintilla.SCI_PARAUPEXTEND: + QKeySequence.StandardKey.SelectStartOfBlock, + QsciScintilla.SCI_PARADOWNEXTEND: + QKeySequence.StandardKey.SelectEndOfBlock, + QsciScintilla.SCI_PAGEUPEXTEND: + QKeySequence.StandardKey.SelectPreviousPage, + QsciScintilla.SCI_PAGEDOWNEXTEND: QKeySequence.StandardKey.SelectNextPage, + QsciScintilla.SCI_DOCUMENTSTARTEXTEND: + QKeySequence.StandardKey.SelectStartOfDocument, + QsciScintilla.SCI_DOCUMENTENDEXTEND: + QKeySequence.StandardKey.SelectEndOfDocument, + QsciScintilla.SCI_DELETEBACK: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_DELETEBACKNOTLINE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_CLEAR: QKeySequence.StandardKey.Delete, + QsciScintilla.SCI_DELWORDLEFT: QKeySequence.StandardKey.DeleteStartOfWord, + QsciScintilla.SCI_DELWORDRIGHT: QKeySequence.StandardKey.DeleteEndOfWord, + QsciScintilla.SCI_DELLINELEFT: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_DELLINERIGHT: QKeySequence.StandardKey.DeleteEndOfLine, + QsciScintilla.SCI_NEWLINE: QKeySequence.StandardKey.InsertLineSeparator, + QsciScintilla.SCI_LINEDELETE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEDUPLICATE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINETRANSPOSE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINECUT: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINECOPY: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_EDITTOGGLEOVERTYPE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEENDDISPLAY: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEENDDISPLAYEXTEND: + QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_FORMFEED: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_CANCEL: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEDOWNRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEUPRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_CHARLEFTRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_CHARRIGHTRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_VCHOMERECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEENDRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_PAGEUPRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_PAGEDOWNRECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_SELECTIONDUPLICATE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_SCROLLTOSTART: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_SCROLLTOEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_VERTICALCENTRECARET: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDRIGHTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDRIGHTENDEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDLEFTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_WORDLEFTENDEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOME: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOMEEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOMERECTEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOMEDISPLAYEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOMEWRAP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_HOMEWRAPEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_VCHOMEWRAP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_VCHOMEWRAPEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEENDWRAP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEENDWRAPEXTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_STUTTEREDPAGEUP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_STUTTEREDPAGEUPEXTEND: + QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_STUTTEREDPAGEDOWN: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_STUTTEREDPAGEDOWNEXTEND: + QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_DELWORDRIGHTEND: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_MOVESELECTEDLINESUP: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_MOVESELECTEDLINESDOWN: + QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LOWERCASE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_UPPERCASE: QKeySequence.StandardKey.UnknownKey, + QsciScintilla.SCI_LINEDELETE: QKeySequence.StandardKey.DeleteCompleteLine, + QsciScintilla.SCI_DELETEBACK: QKeySequence.StandardKey.Backspace, +} + + +def s2qTranslate(scintillaCommand): + """ + Function to translate a QScintilla command to a QKeySequence. + + @param scintillaCommand QScintilla command + @type int + @return Qt key sequence + @rtype QKeySequence.StandardKey + """ + return Scintilla2QKeySequence[scintillaCommand]