mirror of https://github.com/OpenTTD/OpenTTD
(svn r18902) -Fix [FS#3559]: the default button for the advanced settings didn't work
parent
afcce5ed90
commit
299d405680
|
@ -1643,7 +1643,7 @@ struct GameSettingsWindow : Window {
|
||||||
|
|
||||||
this->valuewindow_entry = pe;
|
this->valuewindow_entry = pe;
|
||||||
SetDParam(0, value);
|
SetDParam(0, value);
|
||||||
ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, 100, this, CS_NUMERAL, QSF_NONE);
|
ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, 100, this, CS_NUMERAL, QSF_ENABLE_DEFAULT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1659,22 +1659,29 @@ struct GameSettingsWindow : Window {
|
||||||
|
|
||||||
virtual void OnQueryTextFinished(char *str)
|
virtual void OnQueryTextFinished(char *str)
|
||||||
{
|
{
|
||||||
|
/* The user pressed cancel */
|
||||||
|
if (str == NULL) return;
|
||||||
|
|
||||||
|
assert(this->valuewindow_entry != NULL);
|
||||||
|
assert((this->valuewindow_entry->flags & SEF_KIND_MASK) == SEF_SETTING_KIND);
|
||||||
|
const SettingDesc *sd = this->valuewindow_entry->d.entry.setting;
|
||||||
|
|
||||||
|
int32 value;
|
||||||
if (!StrEmpty(str)) {
|
if (!StrEmpty(str)) {
|
||||||
assert(this->valuewindow_entry != NULL);
|
value = atoi(str);
|
||||||
assert((this->valuewindow_entry->flags & SEF_KIND_MASK) == SEF_SETTING_KIND);
|
|
||||||
const SettingDesc *sd = this->valuewindow_entry->d.entry.setting;
|
|
||||||
int32 value = atoi(str);
|
|
||||||
|
|
||||||
/* Save the correct currency-translated value */
|
/* Save the correct currency-translated value */
|
||||||
if (sd->desc.flags & SGF_CURRENCY) value /= _currency->rate;
|
if (sd->desc.flags & SGF_CURRENCY) value /= _currency->rate;
|
||||||
|
} else {
|
||||||
if ((sd->desc.flags & SGF_PER_COMPANY) != 0) {
|
value = (int32)sd->desc.def;
|
||||||
SetCompanySetting(this->valuewindow_entry->d.entry.index, value);
|
|
||||||
} else {
|
|
||||||
SetSettingValue(this->valuewindow_entry->d.entry.index, value);
|
|
||||||
}
|
|
||||||
this->SetDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((sd->desc.flags & SGF_PER_COMPANY) != 0) {
|
||||||
|
SetCompanySetting(this->valuewindow_entry->d.entry.index, value);
|
||||||
|
} else {
|
||||||
|
SetSettingValue(this->valuewindow_entry->d.entry.index, value);
|
||||||
|
}
|
||||||
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnResize()
|
virtual void OnResize()
|
||||||
|
|
Loading…
Reference in New Issue