aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-12-12 10:08:59 +1100
committerNeil <nyamatongwe@gmail.com>2021-12-12 10:08:59 +1100
commit3483320184ed255bf3f11a2cd618b747b1af1ac4 (patch)
treecc6828d277a67b6c729952e53ae3ea6dbf2821b3
parent1df5b5bf8d2988f57d9fe9c5f6aa903c9de0fb4e (diff)
downloadscintilla-mirror-3483320184ed255bf3f11a2cd618b747b1af1ac4.tar.gz
Use types that adapt to 64-bit mode to avoid potential issues on huge documents.
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.cpp28
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.h4
2 files changed, 16 insertions, 16 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp
index 13945838d..fb7b8052e 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.cpp
+++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp
@@ -343,8 +343,8 @@ void ScintillaEditBase::mouseReleaseEvent(QMouseEvent *event)
if (event->button() == Qt::LeftButton)
sqt->ButtonUpWithModifiers(point, time.elapsed(), ModifiersOfKeyboard());
- int pos = send(SCI_POSITIONFROMPOINT, point.x, point.y);
- sptr_t line = send(SCI_LINEFROMPOSITION, pos);
+ const sptr_t pos = send(SCI_POSITIONFROMPOINT, point.x, point.y);
+ const sptr_t line = send(SCI_LINEFROMPOSITION, pos);
int modifiers = QApplication::keyboardModifiers();
emit textAreaClicked(line, modifiers);
@@ -452,11 +452,11 @@ bool ScintillaEditBase::IsHangul(const QChar qchar)
HangulJamoExtendedA || HangulJamoExtendedB;
}
-void ScintillaEditBase::MoveImeCarets(int offset)
+void ScintillaEditBase::MoveImeCarets(Scintilla::Position offset)
{
// Move carets relatively by bytes
for (size_t r=0; r < sqt->sel.Count(); r++) {
- int positionInsert = sqt->sel.Range(r).Start().Position();
+ const Sci::Position positionInsert = sqt->sel.Range(r).Start().Position();
sqt->sel.Range(r).caret.SetPosition(positionInsert + offset);
sqt->sel.Range(r).anchor.SetPosition(positionInsert + offset);
}
@@ -473,7 +473,7 @@ void ScintillaEditBase::DrawImeIndicator(int indicator, int len)
}
sqt->pdoc->DecorationSetCurrentIndicator(indicator);
for (size_t r=0; r< sqt-> sel.Count(); r++) {
- int positionInsert = sqt->sel.Range(r).Start().Position();
+ const Sci::Position positionInsert = sqt->sel.Range(r).Start().Position();
sqt->pdoc->DecorationFillRange(positionInsert - len, 1, len);
}
}
@@ -598,7 +598,7 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event)
// Move IME carets.
int imeCaretPos = GetImeCaretPos(event);
int imeEndToImeCaretU16 = imeCaretPos - preeditStrLen;
- int imeCaretPosDoc = sqt->pdoc->GetRelativePositionUTF16(sqt->CurrentPosition(), imeEndToImeCaretU16);
+ const Sci::Position imeCaretPosDoc = sqt->pdoc->GetRelativePositionUTF16(sqt->CurrentPosition(), imeEndToImeCaretU16);
MoveImeCarets(- sqt->CurrentPosition() + imeCaretPosDoc);
@@ -622,8 +622,8 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event)
QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const
{
- int pos = send(SCI_GETCURRENTPOS);
- int line = send(SCI_LINEFROMPOSITION, pos);
+ const Scintilla::Position pos = send(SCI_GETCURRENTPOS);
+ const Scintilla::Position line = send(SCI_LINEFROMPOSITION, pos);
switch (query) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
@@ -631,7 +631,7 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const
// ImMicroFocus. Its the same value (2) and same description.
case Qt::ImCursorRectangle:
{
- int startPos = (preeditPos >= 0) ? preeditPos : pos;
+ const Scintilla::Position startPos = (preeditPos >= 0) ? preeditPos : pos;
Point pt = sqt->LocationFromPosition(startPos);
int width = send(SCI_GETCARETWIDTH);
int height = send(SCI_TEXTHEIGHT, line);
@@ -640,7 +640,7 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const
#else
case Qt::ImMicroFocus:
{
- int startPos = (preeditPos >= 0) ? preeditPos : pos;
+ const Scintilla::Position startPos = (preeditPos >= 0) ? preeditPos : pos;
Point pt = sqt->LocationFromPosition(startPos);
int width = send(SCI_GETCARETWIDTH);
int height = send(SCI_TEXTHEIGHT, line);
@@ -661,14 +661,14 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const
case Qt::ImCursorPosition:
{
- int paraStart = sqt->pdoc->ParaUp(pos);
+ Scintilla::Position paraStart = sqt->pdoc->ParaUp(pos);
return pos - paraStart;
}
case Qt::ImSurroundingText:
{
- int paraStart = sqt->pdoc->ParaUp(pos);
- int paraEnd = sqt->pdoc->ParaDown(pos);
+ const Scintilla::Position paraStart = sqt->pdoc->ParaUp(pos);
+ const Scintilla::Position paraEnd = sqt->pdoc->ParaDown(pos);
QVarLengthArray<char,1024> buffer(paraEnd - paraStart + 1);
Sci_CharacterRange charRange{};
@@ -738,7 +738,7 @@ void ScintillaEditBase::notifyParent(NotificationData scn)
const bool added = FlagSet(scn.modificationType, ModificationFlags::InsertText);
const bool deleted = FlagSet(scn.modificationType, ModificationFlags::DeleteText);
- int length = send(SCI_GETTEXTLENGTH);
+ const Scintilla::Position length = send(SCI_GETTEXTLENGTH);
bool firstLineAdded = (added && length == 1) ||
(deleted && length == 0);
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.h b/qt/ScintillaEditBase/ScintillaEditBase.h
index f63ca7e0f..583810401 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.h
+++ b/qt/ScintillaEditBase/ScintillaEditBase.h
@@ -153,13 +153,13 @@ private:
QElapsedTimer time;
- int preeditPos;
+ Scintilla::Position preeditPos;
QString preeditString;
int wheelDelta;
static bool IsHangul(const QChar qchar);
- void MoveImeCarets(int offset);
+ void MoveImeCarets(Scintilla::Position offset);
void DrawImeIndicator(int indicator, int len);
static Scintilla::KeyMod ModifiersOfKeyboard();
};