diff options
| author | Neil <nyamatongwe@gmail.com> | 2021-12-12 10:55:47 +1100 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2021-12-12 10:55:47 +1100 | 
| commit | 426e511d60212c869ca40a3e4d053de636192f1d (patch) | |
| tree | daece317c119d400e04629388ed25fc0c883975b /qt/ScintillaEditBase/ScintillaEditBase.cpp | |
| parent | 3483320184ed255bf3f11a2cd618b747b1af1ac4 (diff) | |
| download | scintilla-mirror-426e511d60212c869ca40a3e4d053de636192f1d.tar.gz | |
Type harmonization between Scintilla and Qt types.
Fixes warnings from signed/unsigned, int/intptr_t, float/int.
Qt uses int for sizes instead of size_t.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp')
| -rw-r--r-- | qt/ScintillaEditBase/ScintillaEditBase.cpp | 45 | 
1 files changed, 23 insertions, 22 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index fb7b8052e..553be2dbb 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -339,11 +339,11 @@ void ScintillaEditBase::mousePressEvent(QMouseEvent *event)  void ScintillaEditBase::mouseReleaseEvent(QMouseEvent *event)  { -	Point point = PointFromQPoint(event->pos()); +	const QPoint point = event->pos();  	if (event->button() == Qt::LeftButton) -		sqt->ButtonUpWithModifiers(point, time.elapsed(), ModifiersOfKeyboard()); +		sqt->ButtonUpWithModifiers(PointFromQPoint(point), time.elapsed(), ModifiersOfKeyboard()); -	const sptr_t pos = send(SCI_POSITIONFROMPOINT, point.x, point.y); +	const sptr_t pos = send(SCI_POSITIONFROMPOINT, point.x(), point.y());  	const sptr_t line = send(SCI_LINEFROMPOSITION, pos);  	int modifiers = QApplication::keyboardModifiers(); @@ -440,7 +440,7 @@ void ScintillaEditBase::dropEvent(QDropEvent *event)  bool ScintillaEditBase::IsHangul(const QChar qchar)  { -	int unicode = (int)qchar.unicode(); +	unsigned int unicode = qchar.unicode();  	// Korean character ranges used for preedit chars.  	// http://www.programminginkorean.com/programming/hangul-in-unicode/  	const bool HangulJamo = (0x1100 <= unicode && unicode <= 0x11FF); @@ -558,10 +558,10 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event)  	if (!event->commitString().isEmpty()) {  		const QString &commitStr = event->commitString(); -		const unsigned int commitStrLen = commitStr.length(); +		const int commitStrLen = commitStr.length(); -		for (unsigned int i = 0; i < commitStrLen;) { -			const unsigned int ucWidth = commitStr.at(i).isHighSurrogate() ? 2 : 1; +		for (int i = 0; i < commitStrLen;) { +			const int ucWidth = commitStr.at(i).isHighSurrogate() ? 2 : 1;  			const QString oneCharUTF16 = commitStr.mid(i, ucWidth);  			const QByteArray oneChar = sqt->BytesForDocument(oneCharUTF16); @@ -571,7 +571,7 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event)  	} else if (!event->preeditString().isEmpty()) {  		const QString preeditStr = event->preeditString(); -		const unsigned int preeditStrLen = preeditStr.length(); +		const int preeditStrLen = preeditStr.length();  		if (preeditStrLen == 0) {  			sqt->ShowCaretAtCurrentPosition();  			return; @@ -583,8 +583,8 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event)  		std::vector<int> imeIndicator = MapImeIndicators(event); -		for (unsigned int i = 0; i < preeditStrLen;) { -			const unsigned int ucWidth = preeditStr.at(i).isHighSurrogate() ? 2 : 1; +		for (int i = 0; i < preeditStrLen;) { +			const int ucWidth = preeditStr.at(i).isHighSurrogate() ? 2 : 1;  			const QString oneCharUTF16 = preeditStr.mid(i, ucWidth);  			const QByteArray oneChar = sqt->BytesForDocument(oneCharUTF16);  			const int oneCharLen = oneChar.length(); @@ -632,18 +632,18 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const  		case Qt::ImCursorRectangle:  		{  			const Scintilla::Position startPos = (preeditPos >= 0) ? preeditPos : pos; -			Point pt = sqt->LocationFromPosition(startPos); -			int width = send(SCI_GETCARETWIDTH); -			int height = send(SCI_TEXTHEIGHT, line); -			return QRect(pt.x, pt.y, width, height); +			const Point pt = sqt->LocationFromPosition(startPos); +			const int width = static_cast<int>(send(SCI_GETCARETWIDTH)); +			const int height = static_cast<int>(send(SCI_TEXTHEIGHT, line)); +			return QRectF(pt.x, pt.y, width, height).toRect();  		}  #else  		case Qt::ImMicroFocus:  		{  			const Scintilla::Position startPos = (preeditPos >= 0) ? preeditPos : pos; -			Point pt = sqt->LocationFromPosition(startPos); -			int width = send(SCI_GETCARETWIDTH); -			int height = send(SCI_TEXTHEIGHT, line); +			const Point pt = sqt->LocationFromPosition(startPos); +			const int width = static_cast<int>(send(SCI_GETCARETWIDTH)); +			const int height = static_cast<int>(send(SCI_TEXTHEIGHT, line));  			return QRect(pt.x, pt.y, width, height);  		}  #endif @@ -651,11 +651,11 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const  		case Qt::ImFont:  		{  			char fontName[64]; -			int style = send(SCI_GETSTYLEAT, pos); -			int len = sends(SCI_STYLEGETFONT, style, fontName); -			int size = send(SCI_STYLEGETSIZE, style); -			bool italic = send(SCI_STYLEGETITALIC, style); -			int weight = send(SCI_STYLEGETBOLD, style) ? QFont::Bold : -1; +			const sptr_t style = send(SCI_GETSTYLEAT, pos); +			const int len = static_cast<int>(sends(SCI_STYLEGETFONT, style, fontName)); +			const int size = static_cast<int>(send(SCI_STYLEGETSIZE, style)); +			const bool italic = send(SCI_STYLEGETITALIC, style); +			const int weight = send(SCI_STYLEGETBOLD, style) ? QFont::Bold : -1;  			return QFont(QString::fromUtf8(fontName, len), size, weight, italic);  		} @@ -671,6 +671,7 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const  			const Scintilla::Position paraEnd = sqt->pdoc->ParaDown(pos);  			QVarLengthArray<char,1024> buffer(paraEnd - paraStart + 1); +			// This is limited to first 2GB of a document on Windows  			Sci_CharacterRange charRange{};  			charRange.cpMin = paraStart;  			charRange.cpMax = paraEnd;  | 
