Revert "libs: Update bundled QScintilla to version 2.13.3"

This reverts commit 6ddd4f019f since it
breaks AppImage builds. The newer version of QScintilla depends on Qt
5.11 which is not available in the Ubuntu 18.04 the AppImages use. We
also cannot just use the version of QScintilla available in the OS
instead of the bundled one for the AppImages as that is too old for our
purposes. It is probably best to just update to Ubuntu 20.04 for the
AppImage builds in April 2023 when 18.04 reaches its end of life.
This commit is contained in:
Martin Kleusberg
2023-02-18 16:16:58 +01:00
parent 6ddd4f019f
commit 90a15fde1a
355 changed files with 988 additions and 65810 deletions

View File

@@ -116,7 +116,7 @@ endif()
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libs/json)
if(NOT QSCINTILLA_FOUND)
add_subdirectory(libs/qscintilla/src)
add_subdirectory(libs/qscintilla/Qt4Qt5)
endif()
if(NOT QHexEdit_FOUND)
add_subdirectory(libs/qhexedit)

363
libs/DB4S_PATCH_05 Normal file
View File

@@ -0,0 +1,363 @@
--- QScintilla_gpl-2.10.8/Qt4Qt5/qscintilla.pro 2018-10-01 15:46:06.000000000 +0200
+++ qscintilla/Qt4Qt5/qscintilla.pro 2018-11-21 19:51:25.870248673 +0100
@@ -23,24 +23,12 @@
!win32:VERSION = 13.2.1
TEMPLATE = lib
-CONFIG += qt warn_off thread exceptions hide_symbols
-
-CONFIG(debug, debug|release) {
- mac: {
- TARGET = qscintilla2_qt$${QT_MAJOR_VERSION}_debug
- } else {
- win32: {
- TARGET = qscintilla2_qt$${QT_MAJOR_VERSION}d
- } else {
- TARGET = qscintilla2_qt$${QT_MAJOR_VERSION}
- }
- }
-} else {
- TARGET = qscintilla2_qt$${QT_MAJOR_VERSION}
-}
-
+TARGET = qscintilla2
+CONFIG += qt warn_off thread exceptions hide_symbols staticlib debug_and_release
INCLUDEPATH += . ../include ../lexlib ../src
+QMAKE_CXXFLAGS += -std=c++11
+
!CONFIG(staticlib) {
DEFINES += QSCINTILLA_MAKE_DLL
}
@@ -59,11 +47,6 @@
DEFINES += QT_NO_ACCESSIBILITY
}
-# For old versions of GCC.
-unix:!macx {
- CONFIG += c++11
-}
-
# Comment this in if you want the internal Scintilla classes to be placed in a
# Scintilla namespace rather than pollute the global namespace.
#DEFINES += SCI_NAMESPACE
@@ -97,69 +80,20 @@
HEADERS = \
./Qsci/qsciglobal.h \
- ./Qsci/qsciscintilla.h \
- ./Qsci/qsciscintillabase.h \
- ./Qsci/qsciabstractapis.h \
- ./Qsci/qsciapis.h \
./Qsci/qscicommand.h \
./Qsci/qscicommandset.h \
./Qsci/qscidocument.h \
- ./Qsci/qscilexer.h \
- ./Qsci/qscilexeravs.h \
- ./Qsci/qscilexerbash.h \
- ./Qsci/qscilexerbatch.h \
- ./Qsci/qscilexercmake.h \
- ./Qsci/qscilexercoffeescript.h \
- ./Qsci/qscilexercpp.h \
- ./Qsci/qscilexercsharp.h \
- ./Qsci/qscilexercss.h \
- ./Qsci/qscilexercustom.h \
- ./Qsci/qscilexerd.h \
- ./Qsci/qscilexerdiff.h \
- ./Qsci/qscilexeredifact.h \
- ./Qsci/qscilexerfortran.h \
- ./Qsci/qscilexerfortran77.h \
- ./Qsci/qscilexerhtml.h \
- ./Qsci/qscilexeridl.h \
- ./Qsci/qscilexerjava.h \
- ./Qsci/qscilexerjavascript.h \
- ./Qsci/qscilexerjson.h \
- ./Qsci/qscilexerlua.h \
- ./Qsci/qscilexermakefile.h \
- ./Qsci/qscilexermarkdown.h \
- ./Qsci/qscilexermatlab.h \
- ./Qsci/qscilexeroctave.h \
- ./Qsci/qscilexerpascal.h \
- ./Qsci/qscilexerperl.h \
- ./Qsci/qscilexerpostscript.h \
- ./Qsci/qscilexerpo.h \
- ./Qsci/qscilexerpov.h \
- ./Qsci/qscilexerproperties.h \
- ./Qsci/qscilexerpython.h \
- ./Qsci/qscilexerruby.h \
- ./Qsci/qscilexerspice.h \
- ./Qsci/qscilexersql.h \
- ./Qsci/qscilexertcl.h \
- ./Qsci/qscilexertex.h \
- ./Qsci/qscilexerverilog.h \
- ./Qsci/qscilexervhdl.h \
- ./Qsci/qscilexerxml.h \
- ./Qsci/qscilexeryaml.h \
- ./Qsci/qscimacro.h \
./Qsci/qsciprinter.h \
./Qsci/qscistyle.h \
./Qsci/qscistyledtext.h \
ListBoxQt.h \
- SciAccessibility.h \
- SciClasses.h \
SciNamespace.h \
- ScintillaQt.h \
../include/ILexer.h \
../include/Platform.h \
- ../include/Sci_Position.h \
../include/SciLexer.h \
../include/Scintilla.h \
../include/ScintillaWidget.h \
+ ../include/Sci_Position.h \
../lexlib/Accessor.h \
../lexlib/CharacterCategory.h \
../lexlib/CharacterSet.h \
@@ -170,7 +104,6 @@
../lexlib/LexerSimple.h \
../lexlib/OptionSet.h \
../lexlib/PropSetSimple.h \
- ../lexlib/StringCopy.h \
../lexlib/StyleContext.h \
../lexlib/SubStyles.h \
../lexlib/WordList.h \
@@ -184,15 +117,12 @@
../src/ContractionState.h \
../src/Decoration.h \
../src/Document.h \
- ../src/EditModel.h \
../src/Editor.h \
- ../src/EditView.h \
../src/ExternalLexer.h \
../src/FontQuality.h \
../src/Indicator.h \
../src/KeyMap.h \
../src/LineMarker.h \
- ../src/MarginView.h \
../src/Partitioning.h \
../src/PerLine.h \
../src/PositionCache.h \
@@ -205,7 +135,26 @@
../src/UnicodeFromUTF8.h \
../src/UniConversion.h \
../src/ViewStyle.h \
- ../src/XPM.h
+ ../src/XPM.h \
+ ../src/Position.h \
+ ../src/SparseVector.h \
+ ./Qsci/qsciscintilla.h \
+ ./Qsci/qsciscintillabase.h \
+ ./Qsci/qsciabstractapis.h \
+ ./Qsci/qsciapis.h \
+ ./Qsci/qscilexer.h \
+ ./Qsci/qscilexercustom.h \
+ ./Qsci/qscilexersql.h \
+ ./Qsci/qscilexerjson.h \
+ ./Qsci/qscilexerhtml.h \
+ ./Qsci/qscilexerxml.h \
+ ./Qsci/qscilexerjavascript.h \
+ ./Qsci/qscilexercpp.h \
+ ./Qsci/qscilexerpython.h \
+ ./Qsci/qscimacro.h \
+ SciClasses.h \
+ ScintillaQt.h \
+ SciAccessibility.h
SOURCES = \
qsciscintilla.cpp \
@@ -216,161 +165,28 @@
qscicommandset.cpp \
qscidocument.cpp \
qscilexer.cpp \
- qscilexeravs.cpp \
- qscilexerbash.cpp \
- qscilexerbatch.cpp \
- qscilexercmake.cpp \
- qscilexercoffeescript.cpp \
- qscilexercpp.cpp \
- qscilexercsharp.cpp \
- qscilexercss.cpp \
qscilexercustom.cpp \
- qscilexerd.cpp \
- qscilexerdiff.cpp \
- qscilexeredifact.cpp \
- qscilexerfortran.cpp \
- qscilexerfortran77.cpp \
+ qscilexersql.cpp \
+ qscilexerjson.cpp \
qscilexerhtml.cpp \
- qscilexeridl.cpp \
- qscilexerjava.cpp \
+ qscilexerxml.cpp \
qscilexerjavascript.cpp \
- qscilexerjson.cpp \
- qscilexerlua.cpp \
- qscilexermakefile.cpp \
- qscilexermarkdown.cpp \
- qscilexermatlab.cpp \
- qscilexeroctave.cpp \
- qscilexerpascal.cpp \
- qscilexerperl.cpp \
- qscilexerpostscript.cpp \
- qscilexerpo.cpp \
- qscilexerpov.cpp \
- qscilexerproperties.cpp \
+ qscilexercpp.cpp \
qscilexerpython.cpp \
- qscilexerruby.cpp \
- qscilexerspice.cpp \
- qscilexersql.cpp \
- qscilexertcl.cpp \
- qscilexertex.cpp \
- qscilexerverilog.cpp \
- qscilexervhdl.cpp \
- qscilexerxml.cpp \
- qscilexeryaml.cpp \
qscimacro.cpp \
qsciprinter.cpp \
qscistyle.cpp \
qscistyledtext.cpp \
- MacPasteboardMime.cpp \
- InputMethod.cpp \
- SciAccessibility.cpp \
+ MacPasteboardMime.cpp \
+ InputMethod.cpp \
SciClasses.cpp \
ListBoxQt.cpp \
PlatQt.cpp \
ScintillaQt.cpp \
- ../lexers/LexA68k.cpp \
- ../lexers/LexAbaqus.cpp \
- ../lexers/LexAda.cpp \
- ../lexers/LexAPDL.cpp \
- ../lexers/LexAsm.cpp \
- ../lexers/LexAsn1.cpp \
- ../lexers/LexASY.cpp \
- ../lexers/LexAU3.cpp \
- ../lexers/LexAVE.cpp \
- ../lexers/LexAVS.cpp \
- ../lexers/LexBaan.cpp \
- ../lexers/LexBash.cpp \
- ../lexers/LexBasic.cpp \
- ../lexers/LexBatch.cpp \
- ../lexers/LexBibTeX.cpp \
- ../lexers/LexBullant.cpp \
- ../lexers/LexCaml.cpp \
- ../lexers/LexCLW.cpp \
- ../lexers/LexCmake.cpp \
- ../lexers/LexCOBOL.cpp \
- ../lexers/LexCoffeeScript.cpp \
- ../lexers/LexConf.cpp \
- ../lexers/LexCPP.cpp \
- ../lexers/LexCrontab.cpp \
- ../lexers/LexCsound.cpp \
- ../lexers/LexCSS.cpp \
- ../lexers/LexD.cpp \
- ../lexers/LexDiff.cpp \
- ../lexers/LexDMAP.cpp \
- ../lexers/LexDMIS.cpp \
- ../lexers/LexECL.cpp \
- ../lexers/LexEDIFACT.cpp \
- ../lexers/LexEiffel.cpp \
- ../lexers/LexErlang.cpp \
- ../lexers/LexErrorList.cpp \
- ../lexers/LexEScript.cpp \
- ../lexers/LexFlagship.cpp \
- ../lexers/LexForth.cpp \
- ../lexers/LexFortran.cpp \
- ../lexers/LexGAP.cpp \
- ../lexers/LexGui4Cli.cpp \
- ../lexers/LexHaskell.cpp \
- ../lexers/LexHex.cpp \
- ../lexers/LexHTML.cpp \
- ../lexers/LexInno.cpp \
- ../lexers/LexJSON.cpp \
- ../lexers/LexKix.cpp \
- ../lexers/LexKVIrc.cpp \
- ../lexers/LexLaTeX.cpp \
- ../lexers/LexLisp.cpp \
- ../lexers/LexLout.cpp \
- ../lexers/LexLua.cpp \
- ../lexers/LexMagik.cpp \
- ../lexers/LexMake.cpp \
- ../lexers/LexMarkdown.cpp \
- ../lexers/LexMatlab.cpp \
- ../lexers/LexMetapost.cpp \
- ../lexers/LexMMIXAL.cpp \
- ../lexers/LexModula.cpp \
- ../lexers/LexMPT.cpp \
- ../lexers/LexMSSQL.cpp \
- ../lexers/LexMySQL.cpp \
- ../lexers/LexNimrod.cpp \
- ../lexers/LexNsis.cpp \
- ../lexers/LexNull.cpp \
- ../lexers/LexOpal.cpp \
- ../lexers/LexOScript.cpp \
- ../lexers/LexPascal.cpp \
- ../lexers/LexPB.cpp \
- ../lexers/LexPerl.cpp \
- ../lexers/LexPLM.cpp \
- ../lexers/LexPO.cpp \
- ../lexers/LexPOV.cpp \
- ../lexers/LexPowerPro.cpp \
- ../lexers/LexPowerShell.cpp \
- ../lexers/LexProgress.cpp \
- ../lexers/LexProps.cpp \
- ../lexers/LexPS.cpp \
- ../lexers/LexPython.cpp \
- ../lexers/LexR.cpp \
- ../lexers/LexRebol.cpp \
- ../lexers/LexRegistry.cpp \
- ../lexers/LexRuby.cpp \
- ../lexers/LexRust.cpp \
- ../lexers/LexScriptol.cpp \
- ../lexers/LexSmalltalk.cpp \
- ../lexers/LexSML.cpp \
- ../lexers/LexSorcus.cpp \
- ../lexers/LexSpecman.cpp \
- ../lexers/LexSpice.cpp \
+ SciAccessibility.cpp \
../lexers/LexSQL.cpp \
- ../lexers/LexSTTXT.cpp \
- ../lexers/LexTACL.cpp \
- ../lexers/LexTADS3.cpp \
- ../lexers/LexTAL.cpp \
- ../lexers/LexTCL.cpp \
- ../lexers/LexTCMD.cpp \
- ../lexers/LexTeX.cpp \
- ../lexers/LexTxt2tags.cpp \
- ../lexers/LexVB.cpp \
- ../lexers/LexVerilog.cpp \
- ../lexers/LexVHDL.cpp \
- ../lexers/LexVisualProlog.cpp \
- ../lexers/LexYAML.cpp \
+ ../lexers/LexJSON.cpp \
+ ../lexers/LexHTML.cpp \
../lexlib/Accessor.cpp \
../lexlib/CharacterCategory.cpp \
../lexlib/CharacterSet.cpp \
@@ -391,20 +207,20 @@
../src/ContractionState.cpp \
../src/Decoration.cpp \
../src/Document.cpp \
- ../src/EditModel.cpp \
../src/Editor.cpp \
+ ../src/EditModel.cpp \
../src/EditView.cpp \
../src/ExternalLexer.cpp \
../src/Indicator.cpp \
- ../src/KeyMap.cpp \
+ ../src/KeyMap.cpp \
../src/LineMarker.cpp \
../src/MarginView.cpp \
../src/PerLine.cpp \
../src/PositionCache.cpp \
- ../src/RESearch.cpp \
+ ../src/RESearch.cpp \
../src/RunStyles.cpp \
- ../src/ScintillaBase.cpp \
- ../src/Selection.cpp \
+ ../src/ScintillaBase.cpp \
+ ../src/Selection.cpp \
../src/Style.cpp \
../src/UniConversion.cpp \
../src/ViewStyle.cpp \

131
libs/DB4S_PATCH_06 Normal file
View File

@@ -0,0 +1,131 @@
--- QScintilla_gpl-2.10.8/src/Catalogue.cpp 2018-10-01 15:41:57.000000000 +0200
+++ qscintilla/src/Catalogue.cpp 2018-11-18 16:09:52.796704316 +0100
@@ -77,124 +77,10 @@
//++Autogenerated -- run scripts/LexGen.py to regenerate
//**\(\tLINK_LEXER(\*);\n\)
- LINK_LEXER(lmA68k);
- LINK_LEXER(lmAbaqus);
- LINK_LEXER(lmAda);
- LINK_LEXER(lmAPDL);
- LINK_LEXER(lmAs);
- LINK_LEXER(lmAsm);
- LINK_LEXER(lmAsn1);
- LINK_LEXER(lmASY);
- LINK_LEXER(lmAU3);
- LINK_LEXER(lmAVE);
- LINK_LEXER(lmAVS);
- LINK_LEXER(lmBaan);
- LINK_LEXER(lmBash);
- LINK_LEXER(lmBatch);
- LINK_LEXER(lmBibTeX);
- LINK_LEXER(lmBlitzBasic);
- LINK_LEXER(lmBullant);
- LINK_LEXER(lmCaml);
- LINK_LEXER(lmClw);
- LINK_LEXER(lmClwNoCase);
- LINK_LEXER(lmCmake);
- LINK_LEXER(lmCOBOL);
- LINK_LEXER(lmCoffeeScript);
- LINK_LEXER(lmConf);
- LINK_LEXER(lmCPP);
- LINK_LEXER(lmCPPNoCase);
- LINK_LEXER(lmCsound);
- LINK_LEXER(lmCss);
- LINK_LEXER(lmD);
- LINK_LEXER(lmDiff);
- LINK_LEXER(lmDMAP);
- LINK_LEXER(lmDMIS);
- LINK_LEXER(lmECL);
- LINK_LEXER(lmEDIFACT);
- LINK_LEXER(lmEiffel);
- LINK_LEXER(lmEiffelkw);
- LINK_LEXER(lmErlang);
- LINK_LEXER(lmErrorList);
- LINK_LEXER(lmESCRIPT);
- LINK_LEXER(lmF77);
- LINK_LEXER(lmFlagShip);
- LINK_LEXER(lmForth);
- LINK_LEXER(lmFortran);
- LINK_LEXER(lmFreeBasic);
- LINK_LEXER(lmGAP);
- LINK_LEXER(lmGui4Cli);
- LINK_LEXER(lmHaskell);
- LINK_LEXER(lmHTML);
- LINK_LEXER(lmIHex);
- LINK_LEXER(lmInno);
- LINK_LEXER(lmJSON);
- LINK_LEXER(lmKix);
- LINK_LEXER(lmKVIrc);
- LINK_LEXER(lmLatex);
- LINK_LEXER(lmLISP);
- LINK_LEXER(lmLiterateHaskell);
- LINK_LEXER(lmLot);
- LINK_LEXER(lmLout);
- LINK_LEXER(lmLua);
- LINK_LEXER(lmMagikSF);
- LINK_LEXER(lmMake);
- LINK_LEXER(lmMarkdown);
- LINK_LEXER(lmMatlab);
- LINK_LEXER(lmMETAPOST);
- LINK_LEXER(lmMMIXAL);
- LINK_LEXER(lmModula);
- LINK_LEXER(lmMSSQL);
- LINK_LEXER(lmMySQL);
- LINK_LEXER(lmNimrod);
- LINK_LEXER(lmNncrontab);
- LINK_LEXER(lmNsis);
- LINK_LEXER(lmNull);
- LINK_LEXER(lmOctave);
- LINK_LEXER(lmOpal);
- LINK_LEXER(lmOScript);
- LINK_LEXER(lmPascal);
- LINK_LEXER(lmPB);
- LINK_LEXER(lmPerl);
- LINK_LEXER(lmPHPSCRIPT);
- LINK_LEXER(lmPLM);
- LINK_LEXER(lmPO);
- LINK_LEXER(lmPOV);
- LINK_LEXER(lmPowerPro);
- LINK_LEXER(lmPowerShell);
- LINK_LEXER(lmProgress);
- LINK_LEXER(lmProps);
- LINK_LEXER(lmPS);
- LINK_LEXER(lmPureBasic);
- LINK_LEXER(lmPython);
- LINK_LEXER(lmR);
- LINK_LEXER(lmREBOL);
- LINK_LEXER(lmRegistry);
- LINK_LEXER(lmRuby);
- LINK_LEXER(lmRust);
- LINK_LEXER(lmScriptol);
- LINK_LEXER(lmSmalltalk);
- LINK_LEXER(lmSML);
- LINK_LEXER(lmSorc);
- LINK_LEXER(lmSpecman);
- LINK_LEXER(lmSpice);
- LINK_LEXER(lmSQL);
- LINK_LEXER(lmSrec);
- LINK_LEXER(lmSTTXT);
- LINK_LEXER(lmTACL);
- LINK_LEXER(lmTADS3);
- LINK_LEXER(lmTAL);
- LINK_LEXER(lmTCL);
- LINK_LEXER(lmTCMD);
- LINK_LEXER(lmTEHex);
- LINK_LEXER(lmTeX);
- LINK_LEXER(lmTxt2tags);
- LINK_LEXER(lmVB);
- LINK_LEXER(lmVBScript);
- LINK_LEXER(lmVerilog);
- LINK_LEXER(lmVHDL);
- LINK_LEXER(lmVisualProlog);
- LINK_LEXER(lmXML);
- LINK_LEXER(lmYAML);
+ LINK_LEXER(lmSQL);
+ LINK_LEXER(lmJSON);
+ LINK_LEXER(lmHTML);
+ LINK_LEXER(lmXML);
//--Autogenerated -- end of automatically generated section

View File

@@ -1,353 +0,0 @@
diff --git a/QScintilla_src-2.13.3/scintilla/src/Catalogue.cpp b/qscintilla/scintilla/src/Catalogue.cpp
index 1a5c3bc..a05c26e 100644
--- a/QScintilla_src-2.13.3/scintilla/src/Catalogue.cpp
+++ b/qscintilla/scintilla/src/Catalogue.cpp
@@ -72,131 +72,10 @@ int Scintilla_LinkLexers() {
//++Autogenerated -- run scripts/LexGen.py to regenerate
//**\(\tLINK_LEXER(\*);\n\)
- LINK_LEXER(lmA68k);
- LINK_LEXER(lmAbaqus);
- LINK_LEXER(lmAda);
- LINK_LEXER(lmAPDL);
- LINK_LEXER(lmAs);
- LINK_LEXER(lmAsm);
- LINK_LEXER(lmAsn1);
- LINK_LEXER(lmASY);
- LINK_LEXER(lmAU3);
- LINK_LEXER(lmAVE);
- LINK_LEXER(lmAVS);
- LINK_LEXER(lmBaan);
- LINK_LEXER(lmBash);
- LINK_LEXER(lmBatch);
- LINK_LEXER(lmBibTeX);
- LINK_LEXER(lmBlitzBasic);
- LINK_LEXER(lmBullant);
- LINK_LEXER(lmCaml);
- LINK_LEXER(lmClw);
- LINK_LEXER(lmClwNoCase);
- LINK_LEXER(lmCmake);
- LINK_LEXER(lmCOBOL);
- LINK_LEXER(lmCoffeeScript);
- LINK_LEXER(lmConf);
- LINK_LEXER(lmCPP);
- LINK_LEXER(lmCPPNoCase);
- LINK_LEXER(lmCsound);
- LINK_LEXER(lmCss);
- LINK_LEXER(lmD);
- LINK_LEXER(lmDiff);
- LINK_LEXER(lmDMAP);
- LINK_LEXER(lmDMIS);
- LINK_LEXER(lmECL);
- LINK_LEXER(lmEDIFACT);
- LINK_LEXER(lmEiffel);
- LINK_LEXER(lmEiffelkw);
- LINK_LEXER(lmErlang);
- LINK_LEXER(lmErrorList);
- LINK_LEXER(lmESCRIPT);
- LINK_LEXER(lmF77);
- LINK_LEXER(lmFlagShip);
- LINK_LEXER(lmForth);
- LINK_LEXER(lmFortran);
- LINK_LEXER(lmFreeBasic);
- LINK_LEXER(lmGAP);
- LINK_LEXER(lmGui4Cli);
- LINK_LEXER(lmHaskell);
- LINK_LEXER(lmHTML);
- LINK_LEXER(lmIHex);
- LINK_LEXER(lmIndent);
- LINK_LEXER(lmInno);
- LINK_LEXER(lmJSON);
- LINK_LEXER(lmKix);
- LINK_LEXER(lmKVIrc);
- LINK_LEXER(lmLatex);
- LINK_LEXER(lmLISP);
- LINK_LEXER(lmLiterateHaskell);
- LINK_LEXER(lmLot);
- LINK_LEXER(lmLout);
-#if !defined(SCINTILLA_QT)
- LINK_LEXER(lmLPeg);
-#endif
- LINK_LEXER(lmLua);
- LINK_LEXER(lmMagikSF);
- LINK_LEXER(lmMake);
- LINK_LEXER(lmMarkdown);
- LINK_LEXER(lmMatlab);
- LINK_LEXER(lmMaxima);
- LINK_LEXER(lmMETAPOST);
- LINK_LEXER(lmMMIXAL);
- LINK_LEXER(lmModula);
- LINK_LEXER(lmMSSQL);
- LINK_LEXER(lmMySQL);
- LINK_LEXER(lmNimrod);
- LINK_LEXER(lmNncrontab);
- LINK_LEXER(lmNsis);
- LINK_LEXER(lmNull);
- LINK_LEXER(lmOctave);
- LINK_LEXER(lmOpal);
- LINK_LEXER(lmOScript);
- LINK_LEXER(lmPascal);
- LINK_LEXER(lmPB);
- LINK_LEXER(lmPerl);
- LINK_LEXER(lmPHPSCRIPT);
- LINK_LEXER(lmPLM);
- LINK_LEXER(lmPO);
- LINK_LEXER(lmPOV);
- LINK_LEXER(lmPowerPro);
- LINK_LEXER(lmPowerShell);
- LINK_LEXER(lmProgress);
- LINK_LEXER(lmProps);
- LINK_LEXER(lmPS);
- LINK_LEXER(lmPureBasic);
- LINK_LEXER(lmPython);
- LINK_LEXER(lmR);
- LINK_LEXER(lmREBOL);
- LINK_LEXER(lmRegistry);
- LINK_LEXER(lmRuby);
- LINK_LEXER(lmRust);
- LINK_LEXER(lmSAS);
- LINK_LEXER(lmScriptol);
- LINK_LEXER(lmSmalltalk);
- LINK_LEXER(lmSML);
- LINK_LEXER(lmSorc);
- LINK_LEXER(lmSpecman);
- LINK_LEXER(lmSpice);
- LINK_LEXER(lmSQL);
- LINK_LEXER(lmSrec);
- LINK_LEXER(lmStata);
- LINK_LEXER(lmSTTXT);
- LINK_LEXER(lmTACL);
- LINK_LEXER(lmTADS3);
- LINK_LEXER(lmTAL);
- LINK_LEXER(lmTCL);
- LINK_LEXER(lmTCMD);
- LINK_LEXER(lmTEHex);
- LINK_LEXER(lmTeX);
- LINK_LEXER(lmTxt2tags);
- LINK_LEXER(lmVB);
- LINK_LEXER(lmVBScript);
- LINK_LEXER(lmVerilog);
- LINK_LEXER(lmVHDL);
- LINK_LEXER(lmVisualProlog);
- LINK_LEXER(lmXML);
- LINK_LEXER(lmYAML);
+ LINK_LEXER(lmSQL);
+ LINK_LEXER(lmJSON);
+ LINK_LEXER(lmHTML);
+ LINK_LEXER(lmXML);
//--Autogenerated -- end of automatically generated section
diff --git a/qscintilla/src/CMakeLists.txt b/qscintilla/src/CMakeLists.txt
new file mode 100644
index 0000000..267500d
--- /dev/null
+++ b/qscintilla/src/CMakeLists.txt
@@ -0,0 +1,207 @@
+cmake_minimum_required(VERSION 2.8.12.2)
+
+# Disable AUTOMOC because it cannot be made to work with QScintilla
+set(CMAKE_AUTOMOC OFF)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+find_package(Qt5 REQUIRED COMPONENTS PrintSupport Widgets)
+
+if(APPLE)
+ find_package(Qt5 REQUIRED COMPONENTS MacExtras)
+endif()
+
+add_definitions(-DSCINTILLA_QT)
+add_definitions(-DSCI_LEXER)
+
+set(QSCINTILLA_SRC
+ qsciscintilla.cpp
+ qsciscintillabase.cpp
+ qsciabstractapis.cpp
+ qsciapis.cpp
+ qscicommand.cpp
+ qscicommandset.cpp
+ qscidocument.cpp
+ qscilexer.cpp
+ qscilexercpp.cpp
+ qscilexerhtml.cpp
+ qscilexerjavascript.cpp
+ qscilexerjson.cpp
+ qscilexerpython.cpp
+ qscilexersql.cpp
+ qscilexerxml.cpp
+ qscimacro.cpp
+ qscistyle.cpp
+ qscistyledtext.cpp
+ InputMethod.cpp
+ ListBoxQt.cpp
+ MacPasteboardMime.cpp
+ PlatQt.cpp
+ SciAccessibility.cpp
+ SciClasses.cpp
+ ScintillaQt.cpp
+ ../scintilla/lexers/LexHTML.cpp
+ ../scintilla/lexers/LexJSON.cpp
+ ../scintilla/lexers/LexSQL.cpp
+ ../scintilla/lexlib/Accessor.cpp
+ ../scintilla/lexlib/CharacterCategory.cpp
+ ../scintilla/lexlib/CharacterSet.cpp
+ ../scintilla/lexlib/DefaultLexer.cpp
+ ../scintilla/lexlib/LexerBase.cpp
+ ../scintilla/lexlib/LexerModule.cpp
+ ../scintilla/lexlib/LexerNoExceptions.cpp
+ ../scintilla/lexlib/LexerSimple.cpp
+ ../scintilla/lexlib/PropSetSimple.cpp
+ ../scintilla/lexlib/StyleContext.cpp
+ ../scintilla/lexlib/WordList.cpp
+ ../scintilla/src/AutoComplete.cpp
+ ../scintilla/src/CallTip.cpp
+ ../scintilla/src/CaseConvert.cpp
+ ../scintilla/src/CaseFolder.cpp
+ ../scintilla/src/Catalogue.cpp
+ ../scintilla/src/CellBuffer.cpp
+ ../scintilla/src/CharClassify.cpp
+ ../scintilla/src/ContractionState.cpp
+ ../scintilla/src/DBCS.cpp
+ ../scintilla/src/Decoration.cpp
+ ../scintilla/src/Document.cpp
+ ../scintilla/src/EditModel.cpp
+ ../scintilla/src/Editor.cpp
+ ../scintilla/src/EditView.cpp
+ ../scintilla/src/ExternalLexer.cpp
+ ../scintilla/src/Indicator.cpp
+ ../scintilla/src/KeyMap.cpp
+ ../scintilla/src/LineMarker.cpp
+ ../scintilla/src/MarginView.cpp
+ ../scintilla/src/PerLine.cpp
+ ../scintilla/src/PositionCache.cpp
+ ../scintilla/src/RESearch.cpp
+ ../scintilla/src/RunStyles.cpp
+ ../scintilla/src/ScintillaBase.cpp
+ ../scintilla/src/Selection.cpp
+ ../scintilla/src/Style.cpp
+ ../scintilla/src/UniConversion.cpp
+ ../scintilla/src/ViewStyle.cpp
+ ../scintilla/src/XPM.cpp
+ qsciprinter.cpp
+)
+
+set(QSCINTILLA_HDR
+ ./Qsci/qsciglobal.h
+ ./Qsci/qsciscintilla.h
+ ./Qsci/qsciscintillabase.h
+ ./Qsci/qsciabstractapis.h
+ ./Qsci/qsciapis.h
+ ./Qsci/qscicommand.h
+ ./Qsci/qscicommandset.h
+ ./Qsci/qscidocument.h
+ ./Qsci/qscilexer.h
+ ./Qsci/qscilexercpp.h
+ ./Qsci/qscilexercustom.h
+ ./Qsci/qscilexerhtml.h
+ ./Qsci/qscilexerjavascript.h
+ ./Qsci/qscilexerjson.h
+ ./Qsci/qscilexerpython.h
+ ./Qsci/qscilexersql.h
+ ./Qsci/qscilexerxml.h
+ ./Qsci/qscimacro.h
+ ./Qsci/qscistyle.h
+ ./Qsci/qscistyledtext.h
+ ListBoxQt.h
+ SciAccessibility.h
+ SciClasses.h
+ ScintillaQt.h
+ ../scintilla/include/ILexer.h
+ ../scintilla/include/ILoader.h
+ ../scintilla/include/Platform.h
+ ../scintilla/include/Sci_Position.h
+ ../scintilla/include/SciLexer.h
+ ../scintilla/include/Scintilla.h
+ ../scintilla/include/ScintillaWidget.h
+ ../scintilla/lexlib/Accessor.h
+ ../scintilla/lexlib/CharacterCategory.h
+ ../scintilla/lexlib/CharacterSet.h
+ ../scintilla/lexlib/DefaultLexer.h
+ ../scintilla/lexlib/LexAccessor.h
+ ../scintilla/lexlib/LexerBase.h
+ ../scintilla/lexlib/LexerModule.h
+ ../scintilla/lexlib/LexerNoExceptions.h
+ ../scintilla/lexlib/LexerSimple.h
+ ../scintilla/lexlib/OptionSet.h
+ ../scintilla/lexlib/PropSetSimple.h
+ ../scintilla/lexlib/SparseState.h
+ ../scintilla/lexlib/StringCopy.h
+ ../scintilla/lexlib/StyleContext.h
+ ../scintilla/lexlib/SubStyles.h
+ ../scintilla/lexlib/WordList.h
+ ../scintilla/src/AutoComplete.h
+ ../scintilla/src/CallTip.h
+ ../scintilla/src/CaseConvert.h
+ ../scintilla/src/CaseFolder.h
+ ../scintilla/src/Catalogue.h
+ ../scintilla/src/CellBuffer.h
+ ../scintilla/src/CharClassify.h
+ ../scintilla/src/ContractionState.h
+ ../scintilla/src/DBCS.h
+ ../scintilla/src/Decoration.h
+ ../scintilla/src/Document.h
+ ../scintilla/src/EditModel.h
+ ../scintilla/src/Editor.h
+ ../scintilla/src/EditView.h
+ ../scintilla/src/ElapsedPeriod.h
+ ../scintilla/src/ExternalLexer.h
+ ../scintilla/src/FontQuality.h
+ ../scintilla/src/Indicator.h
+ ../scintilla/src/IntegerRectangle.h
+ ../scintilla/src/KeyMap.h
+ ../scintilla/src/LineMarker.h
+ ../scintilla/src/MarginView.h
+ ../scintilla/src/Partitioning.h
+ ../scintilla/src/PerLine.h
+ ../scintilla/src/Position.h
+ ../scintilla/src/PositionCache.h
+ ../scintilla/src/RESearch.h
+ ../scintilla/src/RunStyles.h
+ ../scintilla/src/ScintillaBase.h
+ ../scintilla/src/Selection.h
+ ../scintilla/src/SparseVector.h
+ ../scintilla/src/SplitVector.h
+ ../scintilla/src/Style.h
+ ../scintilla/src/UniConversion.h
+ ../scintilla/src/UniqueString.h
+ ../scintilla/src/ViewStyle.h
+ ../scintilla/src/XPM.h
+ ./Qsci/qsciprinter.h
+)
+
+set(QSCINTILLA_MOC_HDR
+ ./Qsci/qsciscintilla.h
+ ./Qsci/qsciscintillabase.h
+ ./Qsci/qsciabstractapis.h
+ ./Qsci/qsciapis.h
+ ./Qsci/qscilexer.h
+ ./Qsci/qscilexercustom.h
+ ./Qsci/qscilexersql.h
+ ./Qsci/qscilexerjson.h
+ ./Qsci/qscilexerhtml.h
+ ./Qsci/qscilexerxml.h
+ ./Qsci/qscilexerjavascript.h
+ ./Qsci/qscilexercpp.h
+ ./Qsci/qscilexerpython.h
+ ./Qsci/qscimacro.h
+ SciClasses.h
+ ScintillaQt.h
+)
+
+QT5_WRAP_CPP(QSCINTILLA_WRAP_MOC_HDR ${QSCINTILLA_MOC_HDR})
+
+add_library(qscintilla2 ${QSCINTILLA_SRC} ${QSCINTILLA_HDR} ${QSCINTILLA_MOC_HDR} ${QSCINTILLA_MOC} ${QSCINTILLA_WRAP_MOC_HDR})
+target_include_directories(qscintilla2 PRIVATE ../scintilla/include ../scintilla/lexlib ../scintilla/src)
+target_include_directories(qscintilla2 INTERFACE .)
+
+target_link_libraries(qscintilla2 Qt5::Widgets Qt5::PrintSupport)
+
+if (APPLE)
+ target_link_libraries(qscintilla2 Qt5::MacExtras)
+endif()
+
+add_library(QScintilla::QScintilla ALIAS qscintilla2)

View File

@@ -1,488 +1,5 @@
2022-04-25 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, qt/InputMethod.cpp:
Updates to the input method code to fix a problem with KDE on
Wayland.
[5b8465ba3664] [2.13.3] <2.13-maint>
2022-03-15 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.13.2 for changeset bb61ba6bf385
[6cdbcd2c2dad] <2.13-maint>
* NEWS, Python/project.py:
Fixed building from an sdist for iOS.
[bb61ba6bf385] [2.13.2] <2.13-maint>
2021-10-14 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.13.1 for changeset 0763a2d7a8c2
[90c834cc462d] <2.13-maint>
2021-10-12 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, designer/designer.pro, example/application.pro,
lib/README.doc, qt/qscintilla.pro:
Updated the .pro files and docs to cover multiple architecture
builds on macOS.
[0763a2d7a8c2] [2.13.1] <2.13-maint>
2021-09-08 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, qt/qscintilla.pro, qt/qsciscintilla.cpp:
Fixed the target used by findNext() after a call to replace().
[6d59f97850d7] <2.13-maint>
2021-06-26 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.13.0 for changeset 84da33178802
[95ec8d681eae]
2021-06-13 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, Python/sip/qsciscintillabase.sip:
Fixed the Python bindings of SendScintilla() so that a negative
value can be passed as the wParam argument (specifically
SC_CURSORNORMAL).
[84da33178802] [2.13.0]
2021-06-03 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, Python/sip/qsciprinter.sip, qt/qscintilla.pro,
qt/qsciprinter.cpp, qt/qsciprinter.h:
Added the new QsciPrinter::printRange() overload. The library
version number is now v15.1.0.
[4b18dcfe67c4]
* Merged the 2.12-maint branch.
[a33fcd321f79]
2021-05-20 Phil Thompson <phil@riverbankcomputing.com>
* qt/PlatQt.cpp:
Fixed the handling of explicit Qt font weights for Qt6.
[1dbb97147333] <2.12-maint>
2021-05-06 Phil Thompson <phil@riverbankcomputing.com>
* qt/qscintilla.pro:
Bumped the version number of the shared library.
[7b3f97fa852f] <2.12-maint>
* NEWS, qt/ListBoxQt.cpp:
Improved the appearence of the auto-completion popup.
[6d05cdc2c9c9] <2.12-maint>
2021-03-04 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.12.1 for changeset c1e9b5f091d6
[0e8a95ee3197] <2.12-maint>
* NEWS:
Released as v2.12.1.
[c1e9b5f091d6] [2.12.1] <2.12-maint>
* rb-product.toml:
Fixed the PyQt dependencies.
[c7af7dfff891] <2.12-maint>
2021-03-02 Phil Thompson <phil@riverbankcomputing.com>
* NEWS:
Updated the NEWS file.
[811ff4c9ffb2] <2.12-maint>
2021-02-27 Phil Thompson <phil@riverbankcomputing.com>
* Python/pyproject-qt5.toml, Python/pyproject-qt6.toml:
Fixed the project dependencies.
[f84410807305] <2.12-maint>
* rb-product, rb-product.toml:
Updated the product file.
[266fa5c4525a] <2.12-maint>
2021-02-22 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.12.0 for changeset 1cfa1f74a2a6
[a3df8b831652]
* NEWS:
Released as v2.12.0.
[1cfa1f74a2a6] [2.12.0]
* NEWS:
Updated the NEWS file.
[15c838b76bbb]
2021-02-21 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Fixed project.py so that it will use an embedded QScintilla library
when being built from an sdist.
[71cc17f4adb2]
* qt/qscintilla.pro:
Added missing .h files from qscintilla.pro.
[c932fdd83a5e]
2021-02-19 Phil Thompson <phil@riverbankcomputing.com>
* Python/pyproject-qt5.toml:
Reverted the name of the Qt5 Python bindings PyPI project because a
new name would cause significant problems.
[c318f3bd3474]
2021-02-18 Phil Thompson <phil@riverbankcomputing.com>
* Python/pyproject-qt5.toml, Python/pyproject-qt6.toml,
Python/sip/qsciscintillabase.sip:
Fixed the Python bindings for PyQt6.
[e48e4f400215]
* lib/README.doc:
Re-ordered the section in the main page of the docs.
[35fd189ea5da]
2021-02-17 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py, Python/pyproject-qt5.toml, Python/pyproject-
qt6.toml, Python/pyproject.toml, Python/sip/qscimod5.sip,
Python/sip/qscimod6.sip, Python/sip/qscimodcommon.sip,
lib/README.doc, qt/features/qscintilla2.prf,
qt/features_staticlib/qscintilla2.prf:
Update the building of the Python bindings from a full source
package.
[124c17880e06]
2021-02-15 Phil Thompson <phil@riverbankcomputing.com>
* lib/README.doc, lib/qscintilla.dxy:
Some documentation fixes.
[81cc3ac8a8df]
* qt/PlatQt.cpp:
Fixed a regression in building against Qt5.
[4e87186ec216]
* qt/InputMethod.cpp, qt/MacPasteboardMime.cpp, qt/PlatQt.cpp,
qt/SciAccessibility.cpp, qt/qsciapis.cpp, qt/qscicommandset.cpp,
qt/qsciglobal.h, qt/qscilexer.cpp, qt/qscimacro.cpp,
qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h,
qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp:
Initial port to Qt6.
[b88e78ec2ca3]
2021-02-14 Phil Thompson <phil@riverbankcomputing.com>
* Python/configure-old.py, Python/configure.py, Python/pyproject.toml,
Python/sip/qscimod4.sip, designer-Qt4Qt5/designer.pro, designer-
Qt4Qt5/qscintillaplugin.cpp, designer-Qt4Qt5/qscintillaplugin.h,
designer/designer.pro, designer/qscintillaplugin.cpp,
designer/qscintillaplugin.h, example-Qt4Qt5/application.pro,
example-Qt4Qt5/application.qrc, example-Qt4Qt5/images/copy.png,
example-Qt4Qt5/images/cut.png, example-Qt4Qt5/images/new.png,
example-Qt4Qt5/images/open.png, example-Qt4Qt5/images/paste.png,
example-Qt4Qt5/images/save.png, example-Qt4Qt5/main.cpp, example-
Qt4Qt5/mainwindow.cpp, example-Qt4Qt5/mainwindow.h,
example/application.pro, example/application.qrc,
example/images/copy.png, example/images/cut.png,
example/images/new.png, example/images/open.png,
example/images/paste.png, example/images/save.png, example/main.cpp,
example/mainwindow.cpp, example/mainwindow.h, lib/README.doc,
lib/ed.py, lib/pyproject.toml, qt/InputMethod.cpp, qt/ListBoxQt.cpp,
qt/MacPasteboardMime.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp,
qt/ScintillaQt.cpp, qt/qsciglobal.h, qt/qscintilla.pro,
qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:
Removed support for Qt4.
[dad7e9b4d62e]
* Merged the 2.11-maint branch.
[8c1814ec889a]
2020-11-23 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.6 for changeset c262a7a02f6d
[a12ce93c13bf] <2.11-maint>
* NEWS:
Released as v2.11.6.
[c262a7a02f6d] [2.11.6] <2.11-maint>
* NEWS:
Updated the NEWS file.
[0f32bcb43dd3] <2.11-maint>
2020-10-22 Phil Thompson <phil@riverbankcomputing.com>
* qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf,
qt/qscintilla.pro:
Fixes for building for iOS with recent versions of Qt.
[aea84882d372] <2.11-maint>
2020-10-20 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Added the --qsci-translations-dir option to sip-wheel.
[df77754750b3] <2.11-maint>
2020-10-19 Phil Thompson <phil@riverbankcomputing.com>
* qsci/api/python/Python-3.9.api:
Added the .api file for Python v3.9.
[bff51b8043e2] <2.11-maint>
* .hgignore:
Updated .hgignore for the current build naming convention.
[b659680b3f24] <2.11-maint>
2020-10-11 Phil Thompson <phil@riverbankcomputing.com>
* qt/qsciscintilla.cpp:
Fixed the display of non-latin1 call tips.
[f9fa57df2fbb] <2.11-maint>
2020-09-17 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py, lib/pyproject.toml:
Require PyQt-builder v1.6 as we no longer specify the sip module and
ABI.
[0e989cce12ea] <2.11-maint>
2020-08-22 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Set the name of the sip module explicitly.
[a6b6fd548cf3] <2.11-maint>
2020-06-30 Phil Thompson <phil@riverbankcomputing.com>
* example-Qt4Qt5/main.cpp, example-Qt4Qt5/mainwindow.cpp, example-
Qt4Qt5/mainwindow.h:
Updated the copyright notices on the example.
[8937c1d51479] <2.11-maint>
2020-06-09 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.5 for changeset 36bf61975fe2
[7e336947e75e] <2.11-maint>
* NEWS:
Released as v2.11.5.
[36bf61975fe2] [2.11.5] <2.11-maint>
* NEWS, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip:
Fixed the Python signatures of the QsciAbstractAPIs and QsciAPIs
ctors.
[80aeec9058bf] <2.11-maint>
2020-05-09 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py, lib/pyproject.toml:
The minimum ABI version is 12.8 which requires SIP v5.3.
[c0e8e2e7e485] <2.11-maint>
2020-04-11 Phil Thompson <phil@riverbankcomputing.com>
* lib/pyproject.toml:
We know that The Python binding swill be able to use SIP v6.
[4f1f5381fb69] <2.11-maint>
2020-04-10 Phil Thompson <phil@riverbankcomputing.com>
* NEWS:
Updated the NEWS file.
[2ef898e42a1e] <2.11-maint>
* Python/project.py, lib/pyproject.toml:
Include the bundled .api files in wheels.
[ded23cd63255] <2.11-maint>
2020-02-08 Phil Thompson <phil@riverbankcomputing.com>
* lib/pyproject.toml:
Fixed METADATA for commercial wheels.
[efc053939949] <2.11-maint>
2019-12-18 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.4 for changeset b9eb589b0dab
[3f3722aac2ad] <2.11-maint>
* NEWS:
Released as v2.11.4.
[b9eb589b0dab] [2.11.4] <2.11-maint>
* lib/pyproject.toml:
Fixed requires-dist for commercial wheels.
[53c08faf43ff] <2.11-maint>
2019-11-02 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.3 for changeset 989462577f67
[3f6d7cf0fc4b] <2.11-maint>
* NEWS:
Released as v2.11.3.
[989462577f67] [2.11.3] <2.11-maint>
* NEWS:
Updated the NEWS file.
[2075344b2124] <2.11-maint>
2019-10-03 Phil Thompson <phil@riverbankcomputing.com>
* lib/pyproject.toml:
Fixed the name of PEP 566.
[e435d3af1587] <2.11-maint>
* lib/pyproject.toml:
Requires PyQt-builder v1.
[9502a2b46a2b] <2.11-maint>
2019-10-01 Phil Thompson <phil@riverbankcomputing.com>
* lib/pyproject.toml:
Fixed the name of the PyQt-builder project.
[efe96da72b1f] <2.11-maint>
2019-09-23 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Fixes for changes in the sip v5 API.
[a79acd2cdd94] <2.11-maint>
2019-09-14 Phil Thompson <phil@riverbankcomputing.com>
* lib/pyproject.toml:
Added the requires-dist meta-data.
[941784a50fad] <2.11-maint>
2019-09-07 Phil Thompson <phil@riverbankcomputing.com>
* NEWS:
Updated the NEWS file.
[6c83ad469a4e] <2.11-maint>
* lib/pyproject.toml:
Temporarily set the version of PyQt-builder required to be v0.1.
[734461946ff0] <2.11-maint>
2019-09-06 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Fixes for relative path options.
[e7bc21d4cb25] <2.11-maint>
2019-09-05 Phil Thompson <phil@riverbankcomputing.com>
* Python/project.py:
Added the options to build the bindings from a locally installed
copy of the library.
[54094e26d201] <2.11-maint>
2019-09-04 Phil Thompson <phil@riverbankcomputing.com>
* Python/configure-old.py, Python/configure.py, Python/project.py,
designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro,
qt/qscintilla.pro:
Removed the code to change the install_name on macOS.
[c88922cb4dee] <2.11-maint>
* Python/configure.py, qt/qscintilla.pro:
Fixed the install_name of the .dylib on macOS so that it is relative
to @rpath.
[010c78f5da88] <2.11-maint>
* Python/config-tests/cfgtest_Qsci.cpp:
Fixed the configuration test.
[c00c4195e8fc] <2.11-maint>
* METADATA.in, Python/README, Python/config-tests/cfgtest_Qsci.cpp,
Python/configure-old.py, Python/configure.py, Python/project.py,
lib/README, lib/pyproject.toml, qt/qscintilla.pro:
Added support for sip-build.
[20e39552153c] <2.11-maint>
2019-08-30 Phil Thompson <phil@riverbankcomputing.com>
* METADATA.in, lib/README:
Updated the meta-data description.
[7681c13103f2] <2.11-maint>
2019-08-21 Phil Thompson <phil@riverbankcomputing.com>
* METADATA.in:
Updated the link to the docs for PyPI.
[ab14aecc07de] <2.11-maint>
2019-07-04 Phil Thompson <phil@riverbankcomputing.com>
* qt/qscilexercss.cpp:
Fixed the styling of CSS comments.
[9b2dd132b868] <2.11-maint>
2019-06-25 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.2 for changeset 9a9bab556970
[e39e215312b4] <2.11-maint>
* NEWS:
Released as v2.11.2.
[9a9bab556970] [2.11.2] <2.11-maint>
* qsci/api/python/Python-3.8.api:
Added the .api file for Python v3.8.
[4bc9c6baa011] <2.11-maint>
* NEWS:
Updated the NEWS file.
[38685401d592] <2.11-maint>
2019-05-31 Phil Thompson <phil@riverbankcomputing.com>
* qt/PlatQt.cpp:
Fixes to allow compilation with WASM.
[71be3fd818c8] <2.11-maint>
2019-05-15 Phil Thompson <phil@riverbankcomputing.com>
* qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp,
qt/qsciscintillabase.h:
Fixed selection-related issues on macOS (and probably Windows)
triggered by the use of additional selections.
[47aaec2fa37c] <2.11-maint>
2019-05-09 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,
qt/qsciscintilla.h:
QsciScintilla::findMatchingBrace() is now part of the public API.
[b1973ad12f82] <2.11-maint>
2019-03-13 Phil Thompson <phil@riverbankcomputing.com>
* NEWS, qt/qsciscintilla.cpp:
QsciScintilla::clear() now clears the undo history to be consistent
with Qt and setText().
[b013bbaed4a5] <2.11-maint>
2019-02-12 Phil Thompson <phil@riverbankcomputing.com>
* .hgtags:
Added tag 2.11.1 for changeset bebf741baff8
[c09e91f304b8] <2.11-maint>
* NEWS:
Released as v2.11.1.
[bebf741baff8] [2.11.1] <2.11-maint>

View File

@@ -1,53 +1,3 @@
v2.13.3 25th April 2022
- Bug fixes.
v2.13.2 15th March 2022
- Bug fixes that only affect iOS.
v2.13.1 12th October 2021
- Documented how to build for multiple architectures on macOS.
- Bug fixes.
v2.13.0 13th June 2021
- Added the QsciPrinter::printRange() overload that uses a supplied QPainter
to render the pages.
- Improved the appearence of the auto-completion popup.
- Bug fixes.
v2.12.1 4th March 2021
- Packaging bug fixes.
v2.12.0 23rd February 2021
- Added support for Qt6.
- Removed support for Qt4 and Qt5 earlier than v5.11.0.
- sdists are now provided.
v2.11.6 23rd November 2020
- Added the --qsci-translations-dir option to sip-wheel.
- Added the .api file for Python v3.9.
- Build system changes.
- Bug fixes.
v2.11.5 10th June 2020
- The bundled .api files are now included in Python wheels if the
QScintilla.api file is enabled.
- Bug fixes.
v2.11.4 19th December 2019
- An administrative release with no code changes.
v2.11.3 3rd November 2019
- Added support for SIP v5.
- On macOS the install name of the C++ library is now relative to @rpath.
v2.11.2 26th June 2019
- Added QsciScintilla::findMatchingBrace().
- QsciScintiila::clear() is no longer undoable and instead clears the undo
history.
- Added support for building with WASM.
- Added the .api file for Python v3.8.
- Bug fixes.
v2.11.1 14th February 2019
- There is a small (but potentially incompatible) change to the signature of
a QsciScintillaBase::SendScintilla() overload which may require an explicit

View File

@@ -0,0 +1,183 @@
cmake_minimum_required(VERSION 2.8.12.2)
# Disable AUTOMOC because it cannot be made to work with QScintilla
set(CMAKE_AUTOMOC OFF)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5 REQUIRED COMPONENTS PrintSupport Widgets)
if(APPLE)
find_package(Qt5 REQUIRED COMPONENTS MacExtras)
endif()
add_definitions(-DSCINTILLA_QT)
add_definitions(-DSCI_LEXER)
set(QSCINTILLA_SRC
qsciscintilla.cpp
qsciscintillabase.cpp
qsciabstractapis.cpp
qsciapis.cpp
qscicommand.cpp
qscicommandset.cpp
qscidocument.cpp
qscilexer.cpp
qscilexercustom.cpp
qscilexersql.cpp
qscilexerjson.cpp
qscilexerhtml.cpp
qscilexerxml.cpp
qscilexerjavascript.cpp
qscilexercpp.cpp
qscilexerpython.cpp
qscimacro.cpp
qsciprinter.cpp
qscistyle.cpp
qscistyledtext.cpp
MacPasteboardMime.cpp
InputMethod.cpp
SciClasses.cpp
ListBoxQt.cpp
PlatQt.cpp
ScintillaQt.cpp
SciAccessibility.cpp
../lexers/LexSQL.cpp
../lexers/LexJSON.cpp
../lexers/LexHTML.cpp
../lexlib/Accessor.cpp
../lexlib/CharacterCategory.cpp
../lexlib/CharacterSet.cpp
../lexlib/DefaultLexer.cpp
../lexlib/LexerBase.cpp
../lexlib/LexerModule.cpp
../lexlib/LexerNoExceptions.cpp
../lexlib/LexerSimple.cpp
../lexlib/PropSetSimple.cpp
../lexlib/StyleContext.cpp
../lexlib/WordList.cpp
../src/AutoComplete.cpp
../src/CallTip.cpp
../src/CaseConvert.cpp
../src/CaseFolder.cpp
../src/Catalogue.cpp
../src/CellBuffer.cpp
../src/CharClassify.cpp
../src/ContractionState.cpp
../src/Decoration.cpp
../src/Document.cpp
../src/Editor.cpp
../src/EditModel.cpp
../src/EditView.cpp
../src/ExternalLexer.cpp
../src/Indicator.cpp
../src/KeyMap.cpp
../src/LineMarker.cpp
../src/MarginView.cpp
../src/PerLine.cpp
../src/PositionCache.cpp
../src/RESearch.cpp
../src/RunStyles.cpp
../src/ScintillaBase.cpp
../src/Selection.cpp
../src/Style.cpp
../src/UniConversion.cpp
../src/ViewStyle.cpp
../src/XPM.cpp
)
set(QSCINTILLA_HDR
./Qsci/qsciglobal.h
./Qsci/qscicommand.h
./Qsci/qscicommandset.h
./Qsci/qscidocument.h
./Qsci/qsciprinter.h
./Qsci/qscistyle.h
./Qsci/qscistyledtext.h
ListBoxQt.h
SciNamespace.h
../include/ILexer.h
../include/Platform.h
../include/SciLexer.h
../include/Scintilla.h
../include/ScintillaWidget.h
../include/Sci_Position.h
../lexlib/Accessor.h
../lexlib/CharacterCategory.h
../lexlib/CharacterSet.h
../lexlib/DefaultLexer.h
../lexlib/LexAccessor.h
../lexlib/LexerBase.h
../lexlib/LexerModule.h
../lexlib/LexerNoExceptions.h
../lexlib/LexerSimple.h
../lexlib/OptionSet.h
../lexlib/PropSetSimple.h
../lexlib/StyleContext.h
../lexlib/SubStyles.h
../lexlib/WordList.h
../src/AutoComplete.h
../src/CallTip.h
../src/CaseConvert.h
../src/CaseFolder.h
../src/Catalogue.h
../src/CellBuffer.h
../src/CharClassify.h
../src/ContractionState.h
../src/Decoration.h
../src/Document.h
../src/Editor.h
../src/ExternalLexer.h
../src/FontQuality.h
../src/Indicator.h
../src/KeyMap.h
../src/LineMarker.h
../src/Partitioning.h
../src/PerLine.h
../src/PositionCache.h
../src/RESearch.h
../src/RunStyles.h
../src/ScintillaBase.h
../src/Selection.h
../src/SplitVector.h
../src/Style.h
../src/UnicodeFromUTF8.h
../src/UniConversion.h
../src/ViewStyle.h
../src/XPM.h
../src/Position.h
../src/SparseVector.h
)
set(QSCINTILLA_MOC_HDR
./Qsci/qsciscintilla.h
./Qsci/qsciscintillabase.h
./Qsci/qsciabstractapis.h
./Qsci/qsciapis.h
./Qsci/qscilexer.h
./Qsci/qscilexercustom.h
./Qsci/qscilexersql.h
./Qsci/qscilexerjson.h
./Qsci/qscilexerhtml.h
./Qsci/qscilexerxml.h
./Qsci/qscilexerjavascript.h
./Qsci/qscilexercpp.h
./Qsci/qscilexerpython.h
./Qsci/qscimacro.h
SciClasses.h
ScintillaQt.h
SciAccessibility.h
)
QT5_WRAP_CPP(QSCINTILLA_WRAP_MOC_HDR ${QSCINTILLA_MOC_HDR})
add_library(qscintilla2 ${QSCINTILLA_SRC} ${QSCINTILLA_HDR} ${QSCINTILLA_MOC_HDR} ${QSCINTILLA_MOC} ${QSCINTILLA_WRAP_MOC_HDR})
target_include_directories(qscintilla2 PRIVATE ../include ../lexlib ../src)
target_include_directories(qscintilla2 INTERFACE .)
target_link_libraries(qscintilla2 Qt5::Widgets Qt5::PrintSupport)
if (APPLE)
target_link_libraries(qscintilla2 Qt5::MacExtras)
endif()
add_library(QScintilla::QScintilla ALIAS qscintilla2)

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2021 Riverbank Computing Limited
// Copyright (c) 2017 Riverbank Computing Limited
// Copyright (c) 2011 Archaeopteryx Software, Inc.
// Copyright (c) 1990-2011, Scientific Toolworks, Inc.
//
@@ -137,45 +137,44 @@ void QsciScintillaBase::inputMethodEvent(QInputMethodEvent *event)
return;
}
bool initialCompose = false;
if (sci->pdoc->TentativeActive()) {
sci->pdoc->TentativeUndo();
} else {
// No tentative undo means start of this composition so
// Fill in any virtual spaces.
initialCompose = true;
sci->ClearBeforeTentativeStart();
}
sci->view.imeCaretBlockOverride = false;
if (!event->commitString().isEmpty()) {
const QString commitStr = event->commitString();
const int commitStrLen = commitStr.length();
const unsigned int commitStrLen = commitStr.length();
for (int i = 0; i < commitStrLen;) {
const int ucWidth = commitStr.at(i).isHighSurrogate() ? 2 : 1;
for (unsigned int i = 0; i < commitStrLen;) {
const unsigned int ucWidth = commitStr.at(i).isHighSurrogate() ? 2 : 1;
const QString oneCharUTF16 = commitStr.mid(i, ucWidth);
const QByteArray oneChar = textAsBytes(oneCharUTF16);
const int oneCharLen = oneChar.length();
sci->AddCharUTF(oneChar.data(), oneChar.length());
sci->AddCharUTF(oneChar.data(), oneCharLen);
i += ucWidth;
}
} else if (!event->preeditString().isEmpty()) {
const QString preeditStr = event->preeditString();
const int preeditStrLen = preeditStr.length();
if (preeditStrLen == 0) {
const unsigned int preeditStrLen = preeditStr.length();
if ((preeditStrLen == 0) || (preeditStrLen > MAXLENINPUTIME)) {
sci->ShowCaretAtCurrentPosition();
return;
}
if (initialCompose)
sci->ClearBeforeTentativeStart();
sci->pdoc->TentativeStart(); // TentativeActive() from now on.
std::vector<int> imeIndicator = MapImeIndicators(event);
const bool recording = sci->recordingMacro;
sci->recordingMacro = false;
for (unsigned int i = 0; i < preeditStrLen;) {
const unsigned int ucWidth = preeditStr.at(i).isHighSurrogate() ? 2 : 1;
const QString oneCharUTF16 = preeditStr.mid(i, ucWidth);
@@ -187,6 +186,7 @@ void QsciScintillaBase::inputMethodEvent(QInputMethodEvent *event)
DrawImeIndicator(sci, imeIndicator[i], oneCharLen);
i += ucWidth;
}
sci->recordingMacro = recording;
// Move IME carets.
int imeCaretPos = GetImeCaretPos(event);
@@ -205,7 +205,7 @@ void QsciScintillaBase::inputMethodEvent(QInputMethodEvent *event)
sci->view.imeCaretBlockOverride = true;
}
// Set candidate box position for Qt::ImCursorRectangle.
// Set candidate box position for Qt::ImMicroFocus.
preeditPos = sci->CurrentPosition();
sci->EnsureCaretVisible();
updateMicroFocus();
@@ -219,10 +219,12 @@ QVariant QsciScintillaBase::inputMethodQuery(Qt::InputMethodQuery query) const
int line = SendScintilla(SCI_LINEFROMPOSITION, pos);
switch (query) {
#if QT_VERSION >= 0x050000
case Qt::ImHints:
return QWidget::inputMethodQuery(query);
#endif
case Qt::ImCursorRectangle:
case Qt::ImMicroFocus:
{
int startPos = (preeditPos >= 0) ? preeditPos : pos;
Scintilla::Point pt = sci->LocationFromPosition(startPos);

View File

@@ -1,7 +1,7 @@
// This module implements the specialisation of QListBox that handles the
// Scintilla double-click callback.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -23,8 +23,6 @@
#include <stdlib.h>
#include <QApplication>
#include "SciClasses.h"
#include "Qsci/qsciscintilla.h"
@@ -81,22 +79,10 @@ Scintilla::PRectangle QsciListBoxQt::GetDesiredRect()
if (slb)
{
int rows = slb->count();
QSize sh = slb->sizeHint();
if (rows == 0 || rows > visible_rows)
rows = visible_rows;
int row_height = slb->sizeHintForRow(0);
int height = (rows * row_height) + (2 * slb->frameWidth());
int width = slb->sizeHintForColumn(0) + (2 * slb->frameWidth());
if (slb->count() > rows)
width += QApplication::style()->pixelMetric(
QStyle::PM_ScrollBarExtent);
rc.right = width;
rc.bottom = height;
rc.right = sh.width();
rc.bottom = sh.height();
}
return rc;
@@ -257,7 +243,11 @@ void QsciListBoxQt::RegisterRGBAImage(int type, int, int,
{
QPixmap pm;
#if QT_VERSION >= 0x040700
pm.convertFromImage(*reinterpret_cast<const QImage *>(pixelsImage));
#else
pm = QPixmap::fromImage(*reinterpret_cast<const QImage *>(pixelsImage));
#endif
xset.insert(type, pm);
}

View File

@@ -1,7 +1,7 @@
// This defines the specialisation of QListBox that handles the Scintilla
// double-click callback.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,8 +1,8 @@
// This module implements part of the support for rectangular selections on
// macOS. It is a separate file to avoid clashes between macOS and Scintilla
// OS/X. It is a separate file to avoid clashes between OS/X and Scintilla
// data types.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -22,7 +22,7 @@
#include <qglobal.h>
#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)
#if (QT_VERSION >= 0x040200 && QT_VERSION < 0x050000 && defined(Q_OS_MAC)) || (QT_VERSION >= 0x050200 && defined(Q_OS_OSX))
#include <QByteArray>
#include <QLatin1String>

View File

@@ -1,6 +1,6 @@
// This module implements the portability layer for the Qt port of Scintilla.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -25,20 +25,17 @@
#include <qapplication.h>
#include <qcursor.h>
#include <qdatetime.h>
#include <qdesktopwidget.h>
#include <qfont.h>
#include <qimage.h>
#include <qlibrary.h>
#include <qpainter.h>
#include <qpixmap.h>
#include <qpolygon.h>
#include <qscreen.h>
#include <qstring.h>
#include <qtextlayout.h>
#include <qwidget.h>
#if !defined(Q_OS_WASM)
#include <qlibrary.h>
#endif
#include "Platform.h"
#include "XPM.h"
@@ -98,34 +95,48 @@ void Font::Create(const FontParameters &fp)
strategy = QFont::PreferDefault;
}
f->setStyleStrategy(strategy);
f->setFamily(fp.faceName);
f->setPointSizeF(fp.size);
f->setItalic(fp.italic);
// Scintilla weights are between 1 and 100, Qt5 weights are between 0 and
// 99, and Qt6 weights match Scintilla. A negative weight is interpreted
// as an explicit Qt weight (ie. the back door).
#if QT_VERSION >= 0x060000
QFont::Weight qt_weight = static_cast<QFont::Weight>(abs(fp.weight));
#if defined(Q_OS_MAC) && QT_VERSION < 0x050000
#if QT_VERSION >= 0x040700
strategy = static_cast<QFont::StyleStrategy>(strategy | QFont::ForceIntegerMetrics);
#else
int qt_weight;
if (fp.weight < 0)
qt_weight = -fp.weight;
else if (fp.weight <= 200)
qt_weight = QFont::Light;
else if (fp.weight <= QsciScintillaBase::SC_WEIGHT_NORMAL)
qt_weight = QFont::Normal;
else if (fp.weight <= 600)
qt_weight = QFont::DemiBold;
else if (fp.weight <= 850)
qt_weight = QFont::Bold;
else
qt_weight = QFont::Black;
#warning "Correct handling of QFont metrics requires Qt v4.7.0 or later"
#endif
#endif
f->setWeight(qt_weight);
f->setStyleStrategy(strategy);
// If name of the font begins with a '-', assume, that it is an XLFD.
if (fp.faceName[0] == '-')
{
f->setRawName(fp.faceName);
}
else
{
f->setFamily(fp.faceName);
f->setPointSizeF(fp.size);
// See if the Qt weight has been passed via the back door. Otherwise
// map Scintilla weights to Qt weights ensuring that the SC_WEIGHT_*
// values get mapped to the correct QFont::Weight values.
int qt_weight;
if (fp.weight < 0)
qt_weight = -fp.weight;
else if (fp.weight <= 200)
qt_weight = QFont::Light;
else if (fp.weight <= QsciScintillaBase::SC_WEIGHT_NORMAL)
qt_weight = QFont::Normal;
else if (fp.weight <= 600)
qt_weight = QFont::DemiBold;
else if (fp.weight <= 850)
qt_weight = QFont::Bold;
else
qt_weight = QFont::Black;
f->setWeight(qt_weight);
f->setItalic(fp.italic);
}
fid = f;
}
@@ -264,9 +275,14 @@ void SurfaceImpl::InitPixMap(int width, int height, Surface *sid, WindowID wid)
{
Release();
#if QT_VERSION >= 0x050100
int dpr = PWindow(wid)->devicePixelRatio();
QPixmap *pixmap = new QPixmap(width * dpr, height * dpr);
pixmap->setDevicePixelRatio(dpr);
#else
QPixmap *pixmap = new QPixmap(width, height);
Q_UNUSED(wid);
#endif
pd = pixmap;
@@ -380,9 +396,8 @@ void SurfaceImpl::RoundedRectangle(PRectangle rc, ColourDesired fore,
painter->setPen(convertQColor(fore));
painter->setBrush(convertQColor(back));
painter->drawRoundedRect(
QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),
25, 25, Qt::RelativeSize);
painter->drawRoundRect(
QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top));
}
void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize,
@@ -405,9 +420,9 @@ void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize,
const int radius = (cornerSize ? 25 : 0);
painter->drawRoundedRect(
painter->drawRoundRect(
QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),
radius, radius, Qt::RelativeSize);
radius, radius);
}
void SurfaceImpl::GradientRectangle(PRectangle rc,
@@ -470,12 +485,14 @@ void SurfaceImpl::Copy(PRectangle rc, Point from, Surface &surfaceSource)
qreal width = rc.right - rc.left;
qreal height = rc.bottom - rc.top;
#if QT_VERSION >= 0x050100
qreal dpr = pm->devicePixelRatio();
x *= dpr;
y *= dpr;
width *= dpr;
height *= dpr;
#endif
painter->drawPixmap(QPointF(rc.left, rc.top), *pm,
QRectF(x, y, width, height));
@@ -613,7 +630,7 @@ void SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len,
XYPOSITION SurfaceImpl::WidthText(Font &font_, const char *s, int len)
{
return metrics(font_).horizontalAdvance(convertText(s, len));
return metrics(font_).width(convertText(s, len));
}
@@ -639,7 +656,11 @@ XYPOSITION SurfaceImpl::Height(Font &font_)
XYPOSITION SurfaceImpl::AverageCharWidth(Font &font_)
{
#if QT_VERSION >= 0x040200
return metrics(font_).averageCharWidth();
#else
return metrics(font_).width('n');
#endif
}
void SurfaceImpl::SetClip(PRectangle rc)
@@ -831,7 +852,7 @@ void Window::SetCursor(Cursor curs)
PRectangle Window::GetMonitorRect(Point pt)
{
QPoint qpt = PWindow(wid)->mapToGlobal(QPoint(pt.x, pt.y));
QRect qr = QApplication::screenAt(qpt)->availableGeometry();
QRect qr = QApplication::desktop()->availableGeometry(qpt);
qpt = PWindow(wid)->mapFromGlobal(qr.topLeft());
return PRectangle(qpt.x(), qpt.y(), qpt.x() + qr.width(), qpt.y() + qr.height());
@@ -871,43 +892,31 @@ class DynamicLibraryImpl : public DynamicLibrary
public:
DynamicLibraryImpl(const char *modulePath)
{
#if !defined(Q_OS_WASM)
m = new QLibrary(modulePath);
m->load();
#endif
}
virtual ~DynamicLibraryImpl()
{
#if !defined(Q_OS_WASM)
if (m)
delete m;
#endif
}
virtual Function FindFunction(const char *name)
{
#if !defined(Q_OS_WASM)
if (m)
return (Function)m->resolve(name);
#endif
return 0;
}
virtual bool IsValid()
{
#if !defined(Q_OS_WASM)
return m && m->isLoaded();
#else
return false;
#endif
}
private:
#if !defined(Q_OS_WASM)
QLibrary* m;
#endif
};
DynamicLibrary *DynamicLibrary::Load(const char *modulePath)

View File

@@ -1,6 +1,6 @@
// This module defines interface to the QsciAbstractAPIs class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module defines interface to the QsciAPIs class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciCommand class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciCommandSet class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciDocument class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module defines various things common to all of the Scintilla Qt port.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -24,14 +24,8 @@
#include <qglobal.h>
#define QSCINTILLA_VERSION 0x020d03
#define QSCINTILLA_VERSION_STR "2.13.3"
// We only support Qt v5.11 and later.
#if QT_VERSION < 0x050b00
#error "Qt v5.11.0 or later is required"
#endif
#define QSCINTILLA_VERSION 0x020b01
#define QSCINTILLA_VERSION_STR "2.11.1"
// Define QSCINTILLA_MAKE_DLL to create a QScintilla shared library, or

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexer class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerCPP class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerCustom class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerHTML class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerJavaScript class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerJSON class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerPython class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerSQL class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciLexerXML class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This defines the interface to the QsciMacro class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module defines interface to the QsciPrinter class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -64,7 +64,7 @@ public:
//! area of the page that will be used to draw the text. This should be
//! modified if it is necessary to reserve space for any customised text or
//! graphics. By default the area is relative to the printable area of the
//! page. Use QPrinter::setFullPage() before calling printRange() if you
//! page. Use QPrinter::setFullPage() because calling printRange() if you
//! want to try and print over the whole page. \a pagenr is the number of
//! the page. The first page is numbered 1.
virtual void formatPage(QPainter &painter, bool drawing, QRect &area,
@@ -81,19 +81,11 @@ public:
//! \sa magnification()
virtual void setMagnification(int magnification);
//! Print a range of lines from the Scintilla instance \a qsb using the
//! supplied QPainter \a painter. \a from is the first line to print and a
//! negative value signifies the first line of text. \a to is the last
//! line to print and a negative value signifies the last line of text.
//! true is returned if there was no error.
virtual int printRange(QsciScintillaBase *qsb, QPainter &painter,
int from = -1, int to = -1);
//! Print a range of lines from the Scintilla instance \a qsb using a
//! default QPainter. \a from is the first line to print and a negative
//! value signifies the first line of text. \a to is the last line to
//! print and a negative value signifies the last line of text. true is
//! returned if there was no error.
//! Print a range of lines from the Scintilla instance \a qsb. \a from is
//! the first line to print and a negative value signifies the first line
//! of text. \a to is the last line to print and a negative value
//! signifies the last line of text. true is returned if there was no
//! error.
virtual int printRange(QsciScintillaBase *qsb, int from = -1, int to = -1);
//! Return the line wrap mode used when printing. The default is

View File

@@ -1,7 +1,7 @@
// This module defines the "official" high-level API of the Qt port of
// Scintilla.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -842,13 +842,6 @@ public:
//! \sa cancelFind(), findFirst(), findFirstInSelection(), replace()
virtual bool findNext();
//! Find a brace and it's match. \a brace is updated with the position of
//! the brace and will be -1 if there is none. \a is updated with the
//! position of the matching brace and will be -1 if there is none.
//! \a mode specifies how braces are matched. true is returned if the
//! current position is inside a pair of braces.
bool findMatchingBrace(long &brace, long &other, BraceMatch mode);
//! Returns the number of the first visible line.
//!
//! \sa setFirstVisibleLine()
@@ -2224,6 +2217,7 @@ private:
void setEnabledColors(int style, QColor &fore, QColor &back);
void braceMatch();
bool findMatchingBrace(long &brace, long &other, BraceMatch mode);
long checkBrace(long pos, int brace_style, bool &colonMode);
void gotoMatchingBrace(bool select);

View File

@@ -1,6 +1,6 @@
// This class defines the "official" low-level API.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -3862,6 +3862,7 @@ protected:
private slots:
void handleVSb(int value);
void handleHSb(int value);
void handleSelection();
private:
// This is needed to allow QsciScintillaQt to emit this class's signals.
@@ -3873,7 +3874,9 @@ private:
int preeditPos;
int preeditNrBytes;
QString preeditString;
#if QT_VERSION >= 0x050000
bool clickCausedFocus;
#endif
void connectHorizontalScrollBar();
void connectVerticalScrollBar();

View File

@@ -1,6 +1,6 @@
// This module defines interface to the QsciStyle class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module defines interface to the QsciStyledText class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// The implementation of the class that implements accessibility support.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -528,8 +528,7 @@ QRect QsciAccessibleScintillaBase::characterRect(int offset) const
int style = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, position);
QFontMetrics metrics(fontForStyle(style));
QRect rect(x_vport, y_vport, metrics.horizontalAdvance(ch),
metrics.height());
QRect rect(x_vport, y_vport, metrics.width(ch), metrics.height());
rect.moveTo(sb->viewport()->mapToGlobal(rect.topLeft()));
return rect;

View File

@@ -1,6 +1,6 @@
// The definition of the class that implements accessibility support.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,7 +1,7 @@
// The implementation of various Qt version independent classes used by the
// rest of the port.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -129,7 +129,11 @@ QsciSciListBox::QsciSciListBox(QWidget *parent, QsciListBoxQt *lbx_)
// to be that the following works. However it might now work because of a
// change in Qt so we only enable it for recent versions in order to
// reduce the risk of breaking something that works with earlier versions.
#if QT_VERSION >= 0x040500
setWindowFlags(Qt::ToolTip|Qt::WindowStaysOnTopHint);
#else
setWindowFlags(Qt::Tool|Qt::FramelessWindowHint);
#endif
// This may not be needed.
setFocusProxy(parent);

View File

@@ -1,7 +1,7 @@
// The definition of various Qt version independent classes used by the rest of
// the port.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -0,0 +1,35 @@
// Support for building the Scintilla code in the Scintilla namespace using the
// -DSCI_NAMESPACE compiler flag.
//
// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#ifndef _SCINAMESPACE_H
#define _SCINAMESPACE_H
#ifdef SCI_NAMESPACE
#define QSCI_SCI_NAMESPACE(name) Scintilla::name
#define QSCI_BEGIN_SCI_NAMESPACE namespace Scintilla {
#define QSCI_END_SCI_NAMESPACE };
#else
#define QSCI_SCI_NAMESPACE(name) name
#define QSCI_BEGIN_SCI_NAMESPACE
#define QSCI_END_SCI_NAMESPACE
#endif
#endif

View File

@@ -1,6 +1,6 @@
// The implementation of the Qt specific subclass of ScintillaBase.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -137,10 +137,6 @@ QsciScintillaQt::~QsciScintillaQt()
// Initialise the instance.
void QsciScintillaQt::Initialise()
{
// This signal is only ever emitted for systems that have a separate
// selection (ie. X11).
connect(QApplication::clipboard(), SIGNAL(selectionChanged()), this,
SLOT(onSelectionChanged()));
}
@@ -162,7 +158,11 @@ void QsciScintillaQt::StartDrag()
QDrag *qdrag = new QDrag(qsb);
qdrag->setMimeData(mimeSelection(drag));
#if QT_VERSION >= 0x040300
Qt::DropAction action = qdrag->exec(Qt::MoveAction | Qt::CopyAction, Qt::MoveAction);
#else
Qt::DropAction action = qdrag->start(Qt::MoveAction);
#endif
// Remove the dragged text if it was a move to another widget or
// application.
@@ -573,15 +573,17 @@ void QsciScintillaQt::AddToPopUp(const char *label, int cmd, bool enabled)
}
// Claim the (primary) selection.
// Claim the selection.
void QsciScintillaQt::ClaimSelection()
{
QClipboard *cb = QApplication::clipboard();
bool isSel = !sel.Empty();
if (cb->supportsSelection())
if (isSel)
{
if (isSel)
QClipboard *cb = QApplication::clipboard();
// If we support X11 style selection then make it available now.
if (cb->supportsSelection())
{
Scintilla::SelectionText text;
@@ -589,14 +591,12 @@ void QsciScintillaQt::ClaimSelection()
if (text.Data())
cb->setMimeData(mimeSelection(text), QClipboard::Selection);
}
primarySelection = true;
}
else
{
primarySelection = false;
}
primarySelection = true;
}
else
primarySelection = false;
#if !defined(QT_NO_ACCESSIBILITY)
QsciAccessibleScintillaBase::selectionChanged(qsb, isSel);
@@ -606,14 +606,12 @@ void QsciScintillaQt::ClaimSelection()
}
// Unclaim the (primary) selection.
void QsciScintillaQt::onSelectionChanged()
// Unclaim the selection.
void QsciScintillaQt::UnclaimSelection()
{
bool new_primary = QApplication::clipboard()->ownsSelection();
if (primarySelection != new_primary)
if (primarySelection)
{
primarySelection = new_primary;
primarySelection = false;
qsb->viewport()->update();
}
}

View File

@@ -1,6 +1,6 @@
// The definition of the Qt specific subclass of ScintillaBase.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -106,7 +106,6 @@ protected:
private slots:
void onIdle();
void onSelectionChanged();
private:
void Initialise();

View File

@@ -1,7 +1,9 @@
QT += widgets
!ios:QT += printsupport
macx:lessThan(QT_MAJOR_VERSION, 6) {
QT += macextras
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets printsupport
greaterThan(QT_MINOR_VERSION, 1) {
macx:QT += macextras
}
}
DEFINES += QSCINTILLA_DLL

View File

@@ -1,6 +1,6 @@
// This module implements the QsciAbstractAPIs class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciAPIs class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -20,8 +20,6 @@
#include <stdlib.h>
#include <algorithm>
#include "Qsci/qsciapis.h"
#include <QApplication>
@@ -602,8 +600,14 @@ void QsciAPIs::autoCompletionSelected(const QString &selection)
owords = path.mid(1, path.length() - 2);
}
origin = std::lower_bound(prep->raw_apis.begin(), prep->raw_apis.end(),
owords);
origin = qLowerBound(prep->raw_apis, owords);
/*
* There is a bug somewhere, either in qLowerBound() or QList (or in GCC as
* it seems to be Linux specific and the Qt code is the same on all
* platforms) that the following line seems to fix. Note that it is
* actually the call to detach() within begin() that is the important bit.
*/
prep->raw_apis.begin();
origin_len = owords.length();
}

View File

@@ -1,6 +1,6 @@
// This module implements the QsciCommand class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciCommandSet class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -885,12 +885,14 @@ QsciCommandSet::~QsciCommandSet()
bool QsciCommandSet::readSettings(QSettings &qs, const char *prefix)
{
bool rc = true;
QString skey;
for (int i = 0; i < cmds.count(); ++i)
{
QsciCommand *cmd = cmds.at(i);
QString skey = QString("%1/keymap/c%2/").arg(prefix).arg(static_cast<int>(cmd->command()));
skey.sprintf("%s/keymap/c%d/", prefix,
static_cast<int>(cmd->command()));
int key;
bool ok;
@@ -922,12 +924,14 @@ bool QsciCommandSet::readSettings(QSettings &qs, const char *prefix)
bool QsciCommandSet::writeSettings(QSettings &qs, const char *prefix)
{
bool rc = true;
QString skey;
for (int i = 0; i < cmds.count(); ++i)
{
QsciCommand *cmd = cmds.at(i);
QString skey = QString("%1/keymap/c%2/").arg(prefix).arg(static_cast<int>(cmd->command()));
skey.sprintf("%s/keymap/c%d/", prefix,
static_cast<int>(cmd->command()));
// Write the key.
qs.setValue(skey + "key", cmd->key());

View File

@@ -1,6 +1,6 @@
// This module implements the QsciDocument class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexer class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -367,7 +367,7 @@ bool QsciLexer::readSettings(QSettings &qs,const char *prefix)
if (description(i).isEmpty())
continue;
key = QString("%1/%2/style%3/").arg(prefix).arg(language()).arg(i);
key.sprintf("%s/%s/style%d/",prefix,language(),i);
// Read the foreground colour.
full_key = key + "color";
@@ -454,7 +454,7 @@ bool QsciLexer::readSettings(QSettings &qs,const char *prefix)
}
// Read the properties.
key = QString("%1/%2/properties/").arg(prefix).arg(language());
key.sprintf("%s/%s/properties/",prefix,language());
if (!readProperties(qs,key))
rc = false;
@@ -462,7 +462,7 @@ bool QsciLexer::readSettings(QSettings &qs,const char *prefix)
refreshProperties();
// Read the rest.
key = QString("%1/%2/").arg(prefix).arg(language());
key.sprintf("%s/%s/",prefix,language());
// Read the default foreground colour.
full_key = key + "defaultcolor";
@@ -569,7 +569,7 @@ bool QsciLexer::writeSettings(QSettings &qs,const char *prefix) const
QColor c;
key = QString("%1/%2/style%3/").arg(prefix).arg(language()).arg(i);
key.sprintf("%s/%s/style%d/",prefix,language(),i);
// Write the foreground colour.
c = color(i);
@@ -607,13 +607,13 @@ bool QsciLexer::writeSettings(QSettings &qs,const char *prefix) const
}
// Write the properties.
key = QString("%1/%2/properties/").arg(prefix).arg(language());
key.sprintf("%s/%s/properties/",prefix,language());
if (!writeProperties(qs,key))
rc = false;
// Write the rest.
key = QString("%1/%2/").arg(prefix).arg(language());
key.sprintf("%s/%s/",prefix,language());
// Write the default foreground colour.
num = (defColor.red() << 16) | (defColor.green() << 8) | defColor.blue();

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerCPP class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerCustom class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerHTML class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerJavaScript class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerJSON class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerPython class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerSQL class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciLexerXML class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciMacro class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -183,8 +183,9 @@ QString QsciMacro::save() const
ms += ' ';
unsigned len = (*it).text.size();
QString m;
ms += QString("%1 %2 %3").arg((*it).msg).arg((*it).wParam).arg(len);
ms += m.sprintf("%u %lu %u", (*it).msg, (*it).wParam, len);
if (len)
{
@@ -208,10 +209,13 @@ QString QsciMacro::save() const
unsigned char ch = *cp++;
if (ch == '\\' || ch == '"' || ch <= ' ' || ch >= 0x7f)
ms += QString("\\%1").arg(static_cast<uint>(ch), 2, 16,
QLatin1Char('0'));
{
QString buf;
ms += buf.sprintf("\\%02x", ch);
}
else
ms += static_cast<char>(ch);
ms += ch;
}
}
}

View File

@@ -1,6 +1,6 @@
// This module implements the QsciPrinter class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -48,9 +48,8 @@ void QsciPrinter::formatPage(QPainter &, bool, QRect &, int)
}
// Print a range of lines to a printer using a supplied QPainter.
int QsciPrinter::printRange(QsciScintillaBase *qsb, QPainter &painter,
int from, int to)
// Print a range of lines to a printer.
int QsciPrinter::printRange(QsciScintillaBase *qsb, int from, int to)
{
// Sanity check.
if (!qsb)
@@ -88,14 +87,14 @@ int QsciPrinter::printRange(QsciScintillaBase *qsb, QPainter &painter,
if (startPos >= endPos)
return false;
QPainter painter(this);
bool reverse = (pageOrder() == LastPageFirst);
bool needNewPage = false;
int nr_copies = supportsMultipleCopies() ? 1 : copyCount();
qsb -> SendScintilla(QsciScintillaBase::SCI_SETPRINTMAGNIFICATION,mag);
qsb -> SendScintilla(QsciScintillaBase::SCI_SETPRINTWRAPMODE,wrap);
for (int i = 1; i <= nr_copies; ++i)
for (int i = 1; i <= numCopies(); ++i)
{
// If we are printing in reverse page order then remember the start
// position of each page.
@@ -171,15 +170,6 @@ int QsciPrinter::printRange(QsciScintillaBase *qsb, QPainter &painter,
}
// Print a range of lines to a printer using a default QPainter.
int QsciPrinter::printRange(QsciScintillaBase *qsb, int from, int to)
{
QPainter painter(this);
return printRange(qsb, painter, from, to);
}
// Set the print magnification in points.
void QsciPrinter::setMagnification(int magnification)
{

View File

@@ -2,7 +2,7 @@
// Scintilla. It is modelled on QTextEdit - a method of the same name should
// behave in the same way.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -1914,10 +1914,7 @@ void QsciScintilla::replace(const QString &replaceStr)
findState.endpos_orig += (len - orig_len);
if (findState.forward)
{
findState.startpos = start + len;
findState.endpos += (len - orig_len);
}
}
@@ -2466,8 +2463,9 @@ void QsciScintilla::clear()
{
bool ro = ensureRW();
SendScintilla(SCI_BEGINUNDOACTION);
SendScintilla(SCI_CLEARALL);
SendScintilla(SCI_EMPTYUNDOBUFFER);
SendScintilla(SCI_ENDUNDOACTION);
setReadOnly(ro);
}
@@ -3643,7 +3641,7 @@ long QsciScintilla::checkBrace(long pos, int brace_style, bool &colonMode)
// Find a brace and it's match. Return true if the current position is inside
// a pair of braces.
bool QsciScintilla::findMatchingBrace(long &brace, long &other, BraceMatch mode)
bool QsciScintilla::findMatchingBrace(long &brace, long &other,BraceMatch mode)
{
bool colonMode = false;
int brace_style = (lex.isNull() ? -1 : lex->braceStyle());
@@ -4383,10 +4381,7 @@ void QsciScintilla::wheelEvent(QWheelEvent *e)
if ((e->modifiers() & zoom_modifier) != 0)
{
QPoint ad = e->angleDelta();
int delta = (qAbs(ad.x()) > qAbs(ad.y())) ? ad.x() : ad.y();
if (delta > 0)
if (e->delta() > 0)
zoomIn();
else
zoomOut();

View File

@@ -1,6 +1,6 @@
// This module implements the "official" low-level API.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
@@ -36,6 +36,7 @@
#include <QPaintEvent>
#include <QScrollBar>
#include <QStyle>
#include <QTextCodec>
#include "SciAccessibility.h"
#include "ScintillaQt.h"
@@ -79,15 +80,17 @@ static const QLatin1String mimeTextPlain("text/plain");
static const QLatin1String mimeRectangularWin("MSDEVColumnSelect");
static const QLatin1String mimeRectangular("text/x-qscintilla-rectangular");
#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)
#if (QT_VERSION >= 0x040200 && QT_VERSION < 0x050000 && defined(Q_OS_MAC)) || (QT_VERSION >= 0x050200 && defined(Q_OS_OSX))
extern void initialiseRectangularPasteboardMime();
#endif
// The ctor.
QsciScintillaBase::QsciScintillaBase(QWidget *parent)
: QAbstractScrollArea(parent), preeditPos(-1), preeditNrBytes(0),
clickCausedFocus(false)
: QAbstractScrollArea(parent), preeditPos(-1), preeditNrBytes(0)
#if QT_VERSION >= 0x050000
, clickCausedFocus(false)
#endif
{
#if !defined(QT_NO_ACCESSIBILITY)
QsciAccessibleScintillaBase::initialise();
@@ -100,8 +103,12 @@ QsciScintillaBase::QsciScintillaBase(QWidget *parent)
setFocusPolicy(Qt::WheelFocus);
setAttribute(Qt::WA_KeyCompression);
setAttribute(Qt::WA_InputMethodEnabled);
#if QT_VERSION >= 0x050100
setInputMethodHints(
Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText|Qt::ImhMultiLine);
#elif QT_VERSION >= 0x040600
setInputMethodHints(Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText);
#endif
viewport()->setBackgroundRole(QPalette::Base);
viewport()->setMouseTracking(true);
@@ -109,7 +116,7 @@ QsciScintillaBase::QsciScintillaBase(QWidget *parent)
triple_click.setSingleShot(true);
#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)
#if (QT_VERSION >= 0x040200 && QT_VERSION < 0x050000 && defined(Q_OS_MAC)) || (QT_VERSION >= 0x050200 && defined(Q_OS_OSX))
initialiseRectangularPasteboardMime();
#endif
@@ -124,6 +131,11 @@ QsciScintillaBase::QsciScintillaBase(QWidget *parent)
lexersLinked = true;
}
QClipboard *cb = QApplication::clipboard();
if (cb->supportsSelection())
connect(cb, SIGNAL(selectionChanged()), SLOT(handleSelection()));
// Add it to the pool.
poolList.append(this);
}
@@ -314,7 +326,11 @@ void QsciScintillaBase::contextMenuEvent(QContextMenuEvent *e)
void QsciScintillaBase::focusInEvent(QFocusEvent *e)
{
sci->SetFocusState(true);
#if QT_VERSION >= 0x050000
clickCausedFocus = (e->reason() == Qt::MouseFocusReason);
#endif
QAbstractScrollArea::focusInEvent(e);
}
@@ -353,6 +369,14 @@ bool QsciScintillaBase::focusNextPrevChild(bool next)
}
// Handle the selection changing.
void QsciScintillaBase::handleSelection()
{
if (!QApplication::clipboard()->ownsSelection())
sci->UnclaimSelection();
}
// Handle key presses.
void QsciScintillaBase::keyPressEvent(QKeyEvent *e)
{
@@ -584,7 +608,7 @@ void QsciScintillaBase::mousePressEvent(QMouseEvent *e)
sci->RightButtonDownWithModifiers(pt, clickTime,
QsciScintillaQt::ModifierFlags(shift, ctrl, alt));
}
else if (e->button() == Qt::MiddleButton)
else if (e->button() == Qt::MidButton)
{
QClipboard *cb = QApplication::clipboard();
@@ -617,6 +641,7 @@ void QsciScintillaBase::mouseReleaseEvent(QMouseEvent *e)
QsciScintillaQt::ModifierFlags(false, ctrl, false));
}
#if QT_VERSION >= 0x050000
if (!sci->pdoc->IsReadOnly() && !sci->PointInSelMargin(pt) && qApp->autoSipEnabled())
{
QStyle::RequestSoftwareInputPanel rsip = QStyle::RequestSoftwareInputPanel(style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
@@ -626,6 +651,7 @@ void QsciScintillaBase::mouseReleaseEvent(QMouseEvent *e)
}
clickCausedFocus = false;
#endif
}

View File

@@ -1,6 +1,6 @@
// This module implements the QsciStyle class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

View File

@@ -1,6 +1,6 @@
// This module implements the QsciStyledText class.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
// Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//

2
libs/qscintilla/README Normal file
View File

@@ -0,0 +1,2 @@
All the documentation for QScintilla for Qt v4 and Qt v5 (including
installation instructions) can be found in doc/html-Qt4Qt5/index.html.

Some files were not shown because too many files have changed in this diff Show More