mirror of https://gitee.com/cxasm/notepad--.git
核心编辑器组件升级到2.11
This commit is contained in:
parent
e39e6014ee
commit
ea55d37104
|
@ -358,7 +358,7 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac
|
||||||
DrawMinus(surface, centreX, centreY, blobSize, colourTail);
|
DrawMinus(surface, centreX, centreY, blobSize, colourTail);
|
||||||
|
|
||||||
surface->PenColour(colourHead);
|
surface->PenColour(colourHead);
|
||||||
surface->MoveTo(centreX, centreY + blobSize);
|
surface->MoveTo(centreX, centreY + blobSize + 1);
|
||||||
surface->LineTo(centreX, ircWhole.bottom);
|
surface->LineTo(centreX, ircWhole.bottom);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -369,7 +369,7 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac
|
||||||
DrawMinus(surface, centreX, centreY, blobSize, colourTail);
|
DrawMinus(surface, centreX, centreY, blobSize, colourTail);
|
||||||
|
|
||||||
surface->PenColour(colourHead);
|
surface->PenColour(colourHead);
|
||||||
surface->MoveTo(centreX, centreY + blobSize);
|
surface->MoveTo(centreX, centreY + blobSize + 1);
|
||||||
surface->LineTo(centreX, ircWhole.bottom);
|
surface->LineTo(centreX, ircWhole.bottom);
|
||||||
|
|
||||||
surface->PenColour(colourBody);
|
surface->PenColour(colourBody);
|
||||||
|
@ -440,7 +440,7 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SC_MARK_DOTDOTDOT:
|
case SC_MARK_DOTDOTDOT:
|
||||||
{
|
{
|
||||||
XYPOSITION right = static_cast<XYPOSITION>(centreX - 6);
|
XYPOSITION right = static_cast<XYPOSITION>(centreX - 6);
|
||||||
|
|
|
@ -252,11 +252,13 @@ QVariant QsciScintillaBase::inputMethodQuery(Qt::InputMethodQuery query) const
|
||||||
{
|
{
|
||||||
int paraStart = sci->pdoc->ParaUp(pos);
|
int paraStart = sci->pdoc->ParaUp(pos);
|
||||||
int paraEnd = sci->pdoc->ParaDown(pos);
|
int paraEnd = sci->pdoc->ParaDown(pos);
|
||||||
QVarLengthArray<char,1024> buffer(paraEnd - paraStart + 1);
|
|
||||||
|
|
||||||
// Sci_CharacterRange charRange;
|
if (paraEnd - paraStart <= 0)
|
||||||
// charRange.cpMin = paraStart;
|
{
|
||||||
// charRange.cpMax = paraEnd;
|
return "";
|
||||||
|
}
|
||||||
|
QByteArray buffer(paraEnd - paraStart + 1,0);
|
||||||
|
//QVarLengthArray<char,1024> buffer(paraEnd - paraStart + 1);
|
||||||
|
|
||||||
Sci_TextRange textRange;
|
Sci_TextRange textRange;
|
||||||
textRange.chrg.cpMin = paraStart;
|
textRange.chrg.cpMin = paraStart;
|
||||||
|
|
|
@ -1677,7 +1677,7 @@ public:
|
||||||
bool getHtmlHighLightTag();
|
bool getHtmlHighLightTag();
|
||||||
|
|
||||||
intptr_t searchInTarget(QByteArray& text2Find, size_t fromPos, size_t toPos) const;
|
intptr_t searchInTarget(QByteArray& text2Find, size_t fromPos, size_t toPos) const;
|
||||||
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! Appends the text \a text to the end of the text edit. Note that the
|
//! Appends the text \a text to the end of the text edit. Note that the
|
||||||
|
@ -2234,6 +2234,10 @@ protected:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//识别中文UTF8字符的情况。
|
||||||
|
virtual bool startAutoWordCompletion(AutoCompletionSource acs, bool checkThresh,
|
||||||
|
bool choose_single);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void handleCallTipClick(int dir);
|
void handleCallTipClick(int dir);
|
||||||
void handleCharAdded(int charadded);
|
void handleCharAdded(int charadded);
|
||||||
|
@ -2292,7 +2296,7 @@ private:
|
||||||
int visLevels = 0, int level = -1);
|
int visLevels = 0, int level = -1);
|
||||||
void setFoldMarker(int marknr, int mark = SC_MARK_EMPTY);
|
void setFoldMarker(int marknr, int mark = SC_MARK_EMPTY);
|
||||||
void setLexerStyle(int style);
|
void setLexerStyle(int style);
|
||||||
|
|
||||||
void setEnabledColors(int style, QColor &fore, QColor &back);
|
void setEnabledColors(int style, QColor &fore, QColor &back);
|
||||||
|
|
||||||
void braceMatch();
|
void braceMatch();
|
||||||
|
|
|
@ -60,7 +60,7 @@ QColor QsciLexerJSON::defaultColor(int style) const
|
||||||
{
|
{
|
||||||
case UnclosedString:
|
case UnclosedString:
|
||||||
case Error:
|
case Error:
|
||||||
return QColor(0xff, 0xff, 0xff);
|
return QColor(0x0, 0x0, 0x0);
|
||||||
|
|
||||||
case Number:
|
case Number:
|
||||||
return QColor(0x00, 0x7f, 0x7f);
|
return QColor(0x00, 0x7f, 0x7f);
|
||||||
|
|
|
@ -261,6 +261,14 @@ void QsciScintilla::handleCharAdded(int ch)
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (isListActive() && ch > 0x80)
|
||||||
|
{
|
||||||
|
cancelList();
|
||||||
|
//不是ascii字符,是中文UTF8的情况。
|
||||||
|
//识别中文Utf8字符。
|
||||||
|
startAutoWordCompletion(acSource, false, use_single == AcusAlways);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle call tips.
|
// Handle call tips.
|
||||||
if (call_tips_style != CallTipsNone && !lex.isNull() && strchr("(),", ch) != NULL)
|
if (call_tips_style != CallTipsNone && !lex.isNull() && strchr("(),", ch) != NULL)
|
||||||
|
@ -282,8 +290,14 @@ void QsciScintilla::handleCharAdded(int ch)
|
||||||
startAutoCompletion(acSource, false, use_single == AcusAlways);
|
startAutoCompletion(acSource, false, use_single == AcusAlways);
|
||||||
else if (acThresh >= 1 && isWordCharacter(ch))
|
else if (acThresh >= 1 && isWordCharacter(ch))
|
||||||
startAutoCompletion(acSource, true, use_single == AcusAlways);
|
startAutoCompletion(acSource, true, use_single == AcusAlways);
|
||||||
|
else if(ch > 0x80)
|
||||||
|
{
|
||||||
|
//不是ascii字符,是中文UTF8的情况。
|
||||||
|
//识别中文Utf8字符。
|
||||||
|
startAutoWordCompletion(acSource, false, use_single == AcusAlways);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// See if a call tip is active.
|
// See if a call tip is active.
|
||||||
|
@ -786,6 +800,15 @@ void QsciScintilla::startAutoCompletion(AutoCompletionSource acs,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//放在子类中去完成。
|
||||||
|
bool QsciScintilla::startAutoWordCompletion(AutoCompletionSource acs,
|
||||||
|
bool checkThresh, bool choose_single)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Maintain the indentation of the previous line.
|
// Maintain the indentation of the previous line.
|
||||||
void QsciScintilla::maintainIndentation(char ch, long pos)
|
void QsciScintilla::maintainIndentation(char ch, long pos)
|
||||||
{
|
{
|
||||||
|
@ -1915,7 +1938,7 @@ bool QsciScintilla::doFind()
|
||||||
int QsciScintilla::simpleFind()
|
int QsciScintilla::simpleFind()
|
||||||
{
|
{
|
||||||
/*这里是会大于的,因为我在外面会零长查找时,会增加startPos的值。如果是向前,才这样处理*/
|
/*这里是会大于的,因为我在外面会零长查找时,会增加startPos的值。如果是向前,才这样处理*/
|
||||||
|
|
||||||
if (findState.forward && (findState.startpos >= findState.endpos)) {
|
if (findState.forward && (findState.startpos >= findState.endpos)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -3687,7 +3710,7 @@ void QsciScintilla::setStylesFont(const QFont &f, int style)
|
||||||
|
|
||||||
// Pass the Qt weight via the back door.
|
// Pass the Qt weight via the back door.
|
||||||
//SendScintilla(SCI_STYLESETWEIGHT, style, -f.weight());
|
//SendScintilla(SCI_STYLESETWEIGHT, style, -f.weight());
|
||||||
|
|
||||||
//20230712 发现粗体总是存在混淆,修改一个风格,会导致其余风格也被设置。于是注释掉上面的SCI_STYLESETWEIGHT
|
//20230712 发现粗体总是存在混淆,修改一个风格,会导致其余风格也被设置。于是注释掉上面的SCI_STYLESETWEIGHT
|
||||||
//使用下面的SCI_STYLESETBOLD取代后,发现问题解除。
|
//使用下面的SCI_STYLESETBOLD取代后,发现问题解除。
|
||||||
SendScintilla(SCI_STYLESETBOLD, style, f.bold());
|
SendScintilla(SCI_STYLESETBOLD, style, f.bold());
|
||||||
|
|
Loading…
Reference in New Issue