[Scummvm-git-logs] scummvm master -> d255fbe671f6d5f7effa99988131dd92845b8b5b
sev-
noreply at scummvm.org
Sun Dec 25 15:11:31 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
60ff6984ff GUI: Move keymap descriptions to the left if there isn't enough room
d255fbe671 GUI: Ensure that all keymap widgets fit within the scroll container
Commit: 60ff6984ff74a658475bbbdbefce2e636df440b0
https://github.com/scummvm/scummvm/commit/60ff6984ff74a658475bbbdbefce2e636df440b0
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-12-25T16:11:27+01:00
Commit Message:
GUI: Move keymap descriptions to the left if there isn't enough room
Changed paths:
backends/keymapper/remap-widget.cpp
diff --git a/backends/keymapper/remap-widget.cpp b/backends/keymapper/remap-widget.cpp
index a94451b27f3..57fbf0b18ed 100644
--- a/backends/keymapper/remap-widget.cpp
+++ b/backends/keymapper/remap-widget.cpp
@@ -114,29 +114,35 @@ void RemapWidget::reflowActionWidgets() {
Keymap *previousKeymap = nullptr;
for (uint i = 0; i < _actions.size(); i++) {
- uint x;
-
ActionRow &row = _actions[i];
if (previousKeymap != row.keymap) {
previousKeymap = row.keymap;
// Insert a keymap separator
- x = 2 * spacing + keyButtonWidth;
+ uint descriptionX = 2 * spacing + keyButtonWidth;
+ uint resetX = getWidth() - spacing - resetButtonWidth;
KeymapTitleRow keymapTitle = _keymapSeparators[row.keymap];
if (keymapTitle.descriptionText) {
- int descriptionWidth = getWidth() - x - spacing - resetButtonWidth - spacing;
- descriptionWidth = MAX(0, descriptionWidth);
-
- keymapTitle.descriptionText->resize(x, y + textYOff, descriptionWidth, kLineHeight, false);
- keymapTitle.resetButton->resize(x + descriptionWidth, y, resetButtonWidth, buttonHeight, false);
+ int descriptionWidth = resetX - descriptionX - spacing;
+ int descriptionFullWidth = g_gui.getStringWidth(keymapTitle.descriptionText->getLabel());
+
+ if (descriptionWidth < descriptionFullWidth) {
+ descriptionX -= (descriptionFullWidth - descriptionWidth);
+ descriptionWidth = descriptionFullWidth;
+ } else if (descriptionWidth < 0) {
+ descriptionWidth = 0;
+ }
+
+ keymapTitle.descriptionText->resize(descriptionX, y + textYOff, descriptionWidth, kLineHeight, false);
+ keymapTitle.resetButton->resize(resetX, y, resetButtonWidth, buttonHeight, false);
}
y += buttonHeight + spacing;
}
- x = spacing;
+ uint x = spacing;
row.keyButton->resize(x, y, keyButtonWidth, buttonHeight, false);
Commit: d255fbe671f6d5f7effa99988131dd92845b8b5b
https://github.com/scummvm/scummvm/commit/d255fbe671f6d5f7effa99988131dd92845b8b5b
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-12-25T16:11:27+01:00
Commit Message:
GUI: Ensure that all keymap widgets fit within the scroll container
Changed paths:
backends/keymapper/remap-widget.cpp
diff --git a/backends/keymapper/remap-widget.cpp b/backends/keymapper/remap-widget.cpp
index 57fbf0b18ed..fe15a30231d 100644
--- a/backends/keymapper/remap-widget.cpp
+++ b/backends/keymapper/remap-widget.cpp
@@ -104,7 +104,7 @@ void RemapWidget::reflowActionWidgets() {
int spacing = g_gui.xmlEval()->getVar("Globals.KeyMapper.Spacing");
int keyButtonWidth = g_gui.xmlEval()->getVar("Globals.KeyMapper.ButtonWidth");
int resetButtonWidth = g_gui.xmlEval()->getVar("Globals.KeyMapper.ResetWidth");
- int labelWidth = getWidth() - (spacing + keyButtonWidth + spacing);
+ int labelWidth = widgetsBoss()->getWidth() - (spacing + keyButtonWidth + spacing);
labelWidth = MAX(0, labelWidth);
uint textYOff = (buttonHeight - kLineHeight) / 2;
@@ -121,7 +121,7 @@ void RemapWidget::reflowActionWidgets() {
// Insert a keymap separator
uint descriptionX = 2 * spacing + keyButtonWidth;
- uint resetX = getWidth() - spacing - resetButtonWidth;
+ uint resetX = widgetsBoss()->getWidth() - spacing - resetButtonWidth;
KeymapTitleRow keymapTitle = _keymapSeparators[row.keymap];
if (keymapTitle.descriptionText) {
More information about the Scummvm-git-logs
mailing list