GUI: Remove redundant redraw calls

When calling any of:

- Widget::setEnabled
- EditTextWidget::setEditString
- EditableWidget::setEditString
- StaticTextWidget::setLabel

there is no need to call neither GuiManager::scheduleTopDialogRedraw nor
Widget::markAsDirty afterwards -- they set up the call by themselves.

Also, refactor a couple of code blocks into calling just
GuiManager::redrawFull as it does the same thing.
This commit is contained in:
Miro Kropacek 2023-05-01 02:53:21 +02:00
parent f2166b8e8a
commit 6e4d7798f9
8 changed files with 9 additions and 44 deletions

View file

@ -63,7 +63,6 @@ void ChooserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
break;
case kListSelectionChangedCmd:
_chooseButton->setEnabled(item >= 0);
_chooseButton->markAsDirty();
break;
case kCloseCmd:
setResult(-1);

View file

@ -92,7 +92,6 @@ void FileBrowserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32
break;
case kListSelectionChangedCmd:
_fileName->setEditString(_fileList->getList().operator[](_fileList->getSelected()));
_fileName->markAsDirty();
break;
case kListItemActivatedCmd:
case kListItemDoubleClickedCmd:

View file

@ -180,38 +180,30 @@ void FluidSynthSettingsDialog::handleCommand(CommandSender *sender, uint32 cmd,
break;
case kChorusVoiceCountChangedCmd:
_chorusVoiceCountLabel->setLabel(Common::String::format("%d", _chorusVoiceCountSlider->getValue()));
_chorusVoiceCountLabel->markAsDirty();
break;
case kChorusLevelChangedCmd:
_chorusLevelLabel->setLabel(Common::String::format("%d", _chorusLevelSlider->getValue()));
_chorusLevelLabel->markAsDirty();
break;
case kChorusSpeedChangedCmd:
_chorusSpeedLabel->setLabel(Common::String::format("%d", _chorusSpeedSlider->getValue()));
_chorusSpeedLabel->markAsDirty();
break;
case kChorusDepthChangedCmd:
_chorusDepthLabel->setLabel(Common::String::format("%d", _chorusDepthSlider->getValue()));
_chorusDepthLabel->markAsDirty();
break;
case kActivateReverbCmd:
setReverbSettingsState(data);
break;
case kReverbRoomSizeChangedCmd:
_reverbRoomSizeLabel->setLabel(Common::String::format("%d", _reverbRoomSizeSlider->getValue()));
_reverbRoomSizeLabel->markAsDirty();
break;
case kReverbDampingChangedCmd:
_reverbDampingLabel->setLabel(Common::String::format("%d", _reverbDampingSlider->getValue()));
_reverbDampingLabel->markAsDirty();
break;
case kReverbWidthChangedCmd:
_reverbWidthLabel->setLabel(Common::String::format("%d", _reverbWidthSlider->getValue()));
_reverbWidthLabel->markAsDirty();
break;
case kReverbLevelChangedCmd:
_reverbLevelLabel->setLabel(Common::String::format("%d", _reverbLevelSlider->getValue()));
_reverbLevelLabel->markAsDirty();
break;
case kResetSettingsCmd: {
MessageDialog alert(_("Do you really want to reset all FluidSynth settings to their default values?"), _("Yes"), _("No"));

View file

@ -266,9 +266,7 @@ bool GuiManager::loadNewTheme(Common::String id, ThemeEngine::GraphicsMode gfx,
// We need to redraw immediately. Otherwise
// some other event may cause a widget to be
// redrawn before redraw() has been called.
_redrawStatus = kRedrawFull;
redraw();
_system->updateScreen();
redrawFull();
return true;
}
@ -731,9 +729,7 @@ void GuiManager::screenChange() {
// We need to redraw immediately. Otherwise
// some other event may cause a widget to be
// redrawn before redraw() has been called.
_redrawStatus = kRedrawFull;
redraw();
_system->updateScreen();
redrawFull();
#ifdef ENABLE_EVENTRECORDER
// Resume recording once GUI has redrawn

View file

@ -1312,18 +1312,10 @@ void LauncherSimple::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
void LauncherSimple::updateButtons() {
bool enable = (_list->getSelected() >= 0);
if (enable != _startButton->isEnabled()) {
_startButton->setEnabled(enable);
_startButton->markAsDirty();
}
if (enable != _editButton->isEnabled()) {
_editButton->setEnabled(enable);
_editButton->markAsDirty();
}
if (enable != _removeButton->isEnabled()) {
_removeButton->setEnabled(enable);
_removeButton->markAsDirty();
}
_startButton->setEnabled(enable);
_editButton->setEnabled(enable);
_removeButton->setEnabled(enable);
int item = _list->getSelected();
bool en = enable;
@ -1331,10 +1323,7 @@ void LauncherSimple::updateButtons() {
if (item >= 0)
en = !(Common::checkGameGUIOption(GUIO_NOLAUNCHLOAD, ConfMan.get("guioptions", _domains[item])));
if (en != _loadButton->isEnabled()) {
_loadButton->setEnabled(en);
_loadButton->markAsDirty();
}
_loadButton->setEnabled(en);
}
#pragma mark -
@ -1567,10 +1556,8 @@ void LauncherGrid::updateListing() {
void LauncherGrid::updateButtons() {
bool enable = (_grid->getSelected() >= 0);
if (enable != _removeButton->isEnabled()) {
_removeButton->setEnabled(enable);
_removeButton->markAsDirty();
}
_removeButton->setEnabled(enable);
}
void LauncherGrid::selectTarget(const Common::String &target) {

View file

@ -1097,11 +1097,9 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
case kClearShaderCmd:
_shader->setLabel(_c("None", "shader"));
_shaderClearButton->setEnabled(false);
g_gui.scheduleTopDialogRedraw();
break;
case kMidiGainChanged:
_midiGainLabel->setLabel(Common::String::format("%.2f", (double)_midiGainSlider->getValue() / 100.0));
_midiGainLabel->markAsDirty();
break;
case kMusicVolumeChanged: {
const int newValue = _musicVolumeSlider->getValue();
@ -1165,11 +1163,9 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
case kClearSoundFontCmd:
_soundFont->setLabel(_c("None", "soundfont"));
_soundFontClearButton->setEnabled(false);
g_gui.scheduleTopDialogRedraw();
break;
case kKbdMouseSpeedChanged:
_kbdMouseSpeedLabel->setLabel(_(kbdMouseSpeedLabels[_kbdMouseSpeedSlider->getValue()]));
_kbdMouseSpeedLabel->markAsDirty();
break;
case kJoystickDeadzoneChanged:
_joystickDeadzoneLabel->setValue(_joystickDeadzoneSlider->getValue());
@ -1192,8 +1188,6 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
_shaderClearButton->setEnabled(true);
else
_shaderClearButton->setEnabled(false);
g_gui.scheduleTopDialogRedraw();
}
break;
}

View file

@ -1005,7 +1005,6 @@ void PredictiveDialog::pressEditText() {
Common::strlcat(_predictiveResult, _currentWord.c_str(), sizeof(_predictiveResult));
_editText->setEditString(Common::convertToU32String(_predictiveResult));
//_editText->setCaretPos(_prefix.size() + _currentWord.size());
_editText->markAsDirty();
}
} // namespace GUI

View file

@ -156,7 +156,6 @@ void ShaderBrowserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
break;
case kListSelectionChangedCmd:
_fileName->setEditString(_fileList->getList().operator[](_fileList->getSelected()));
_fileName->markAsDirty();
break;
case kListItemActivatedCmd:
case kListItemDoubleClickedCmd: