[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