[Scummvm-git-logs] scummvm master -> 6a4e2b26946f58ac4af4d84851ce927c28a85550

sev- noreply at scummvm.org
Fri Apr 14 12:10:28 UTC 2023


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
337960dc5f JANITORIAL: Remove trailing whitespaces in editable.cpp
4d10720b5e GUI: Do not modify inversion directly in editable widget
bf0845a1d6 GUI: Modify inversion only if text selection is not disabled
6a4e2b2694 GUI: Disable text selection in list widget


Commit: 337960dc5f1b599d922698942a620b66875a8f33
    https://github.com/scummvm/scummvm/commit/337960dc5f1b599d922698942a620b66875a8f33
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-04-14T14:10:20+02:00

Commit Message:
JANITORIAL: Remove trailing whitespaces in editable.cpp

Changed paths:
    gui/widgets/editable.cpp


diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp
index 0dc11f7ac9e..d09c75214e8 100644
--- a/gui/widgets/editable.cpp
+++ b/gui/widgets/editable.cpp
@@ -119,7 +119,7 @@ void EditableWidget::handleTickle() {
 void EditableWidget::handleMouseDown(int x, int y, int button, int clickCount) {
 	if (!isEnabled())
 		return;
-	
+
 	_isDragging = true;
 	// Select all text incase of double press
 	if (clickCount > 1) {
@@ -129,7 +129,7 @@ void EditableWidget::handleMouseDown(int x, int y, int button, int clickCount) {
 		markAsDirty();
 		return;
 	}
-	
+
 	// Clear any selection
 	if (_selOffset != 0 && !_shiftPressed)
 		clearSelection();
@@ -266,7 +266,7 @@ bool EditableWidget::handleKeyDown(Common::KeyState state) {
 		} else if (deleteIndex >= 0 && _selOffset != 0) {
 			int selBegin = _selCaretPos;
 			int selEnd = _selCaretPos + _selOffset;
-			if (selBegin > selEnd) 
+			if (selBegin > selEnd)
 				SWAP(selBegin, selEnd);
 			_editString.erase(selBegin, selEnd - selBegin);
 			setCaretPos(caretVisualPos(selBegin));
@@ -360,7 +360,7 @@ bool EditableWidget::handleKeyDown(Common::KeyState state) {
 				if (_selOffset != 0) {
 					int selBegin = _selCaretPos;
 					int selEnd = _selCaretPos + _selOffset;
-					if (selBegin > selEnd) 
+					if (selBegin > selEnd)
 						SWAP(selBegin, selEnd);
 					_editString.replace(selBegin, selEnd - selBegin, text);
 					setCaretPos(caretVisualPos(selBegin));
@@ -449,7 +449,7 @@ void EditableWidget::defaultKeyDownHandler(Common::KeyState &state, bool &dirty,
 		if (_selCaretPos >= 0) {
 			int selBegin = _selCaretPos;
 			int selEnd = _selCaretPos + _selOffset;
-			if (selBegin > selEnd) 
+			if (selBegin > selEnd)
 				SWAP(selBegin, selEnd);
 			_editString.replace(selBegin, selEnd - selBegin, Common::U32String(state.ascii));
 			if(_editString.size() > 0)


Commit: 4d10720b5e362145360c2841c5cb5b384b503210
    https://github.com/scummvm/scummvm/commit/4d10720b5e362145360c2841c5cb5b384b503210
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-04-14T14:10:20+02:00

Commit Message:
GUI: Do not modify inversion directly in editable widget

Changed paths:
    gui/widgets/editable.cpp


diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp
index d09c75214e8..e8d7f9ec06e 100644
--- a/gui/widgets/editable.cpp
+++ b/gui/widgets/editable.cpp
@@ -544,11 +544,14 @@ void EditableWidget::drawCaret(bool erase) {
 		// EditTextWidget uses that but not ListWidget. Thus, one should check
 		// whether we can unify the drawing in the text area first to avoid
 		// possible glitches due to different methods used.
-		_inversion = (_selOffset < 0) ? ThemeEngine::kTextInversionFocus : ThemeEngine::kTextInversionNone;
+
+		ThemeEngine::TextInversionState inversion = _inversion;
+		inversion = (_selOffset < 0) ? ThemeEngine::kTextInversionFocus : ThemeEngine::kTextInversionNone;
+
 		width = MIN(editRect.width() - caretOffset, width);
 		if (width > 0) {
 			g_gui.theme()->drawText(Common::Rect(x, y, x + width, y + editRect.height()), character,
-			                        _state, _drawAlign, _inversion, 0, false, _font,
+			                        _state, _drawAlign, inversion, 0, false, _font,
 			                        ThemeEngine::kFontColorNormal, true, _textDrawableArea);
 		}
 	}


Commit: bf0845a1d62f268b4750d92144077819223cb889
    https://github.com/scummvm/scummvm/commit/bf0845a1d62f268b4750d92144077819223cb889
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-04-14T14:10:20+02:00

Commit Message:
GUI: Modify inversion only if text selection is not disabled

Changed paths:
    gui/widgets/editable.cpp


diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp
index e8d7f9ec06e..be6f450bb21 100644
--- a/gui/widgets/editable.cpp
+++ b/gui/widgets/editable.cpp
@@ -546,7 +546,9 @@ void EditableWidget::drawCaret(bool erase) {
 		// possible glitches due to different methods used.
 
 		ThemeEngine::TextInversionState inversion = _inversion;
-		inversion = (_selOffset < 0) ? ThemeEngine::kTextInversionFocus : ThemeEngine::kTextInversionNone;
+
+		if (!_disableSelection)
+			inversion = (_selOffset < 0) ? ThemeEngine::kTextInversionFocus : ThemeEngine::kTextInversionNone;
 
 		width = MIN(editRect.width() - caretOffset, width);
 		if (width > 0) {


Commit: 6a4e2b26946f58ac4af4d84851ce927c28a85550
    https://github.com/scummvm/scummvm/commit/6a4e2b26946f58ac4af4d84851ce927c28a85550
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-04-14T14:10:20+02:00

Commit Message:
GUI: Disable text selection in list widget

Changed paths:
    gui/widgets/list.cpp


diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp
index bebb92d210c..be184a2364b 100644
--- a/gui/widgets/list.cpp
+++ b/gui/widgets/list.cpp
@@ -58,6 +58,9 @@ ListWidget::ListWidget(Dialog *boss, const Common::String &name, const Common::U
 	// The item is selected, thus _bgcolor is used to draw the caret and _textcolorhi to erase it
 	_caretInverse = true;
 
+	// Disable text selection
+	_disableSelection = true;
+
 	// FIXME: This flag should come from widget definition
 	_editable = true;
 
@@ -97,6 +100,9 @@ ListWidget::ListWidget(Dialog *boss, int x, int y, int w, int h, bool scale, con
 	// The item is selected, thus _bgcolor is used to draw the caret and _textcolorhi to erase it
 	_caretInverse = true;
 
+	// Disable text selection
+	_disableSelection = true;
+
 	// FIXME: This flag should come from widget definition
 	_editable = true;
 




More information about the Scummvm-git-logs mailing list