|
|
|
@ -375,8 +375,15 @@ public:
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
|
|
|
|
|
const Company *c = Company::Get(_local_company);
|
|
|
|
|
SetDParam(0, c->settings.renew_keep_length ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
|
|
|
|
|
bool remove_wagon;
|
|
|
|
|
const Group *g = Group::GetIfValid(this->sel_group);
|
|
|
|
|
if (g != nullptr) {
|
|
|
|
|
remove_wagon = HasBit(g->flags, GroupFlags::GF_REPLACE_WAGON_REMOVAL);
|
|
|
|
|
} else {
|
|
|
|
|
const Company *c = Company::Get(_local_company);
|
|
|
|
|
remove_wagon = c->settings.renew_keep_length;
|
|
|
|
|
}
|
|
|
|
|
SetDParam(0, remove_wagon ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -528,9 +535,16 @@ public:
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
|
|
|
|
|
DoCommandP(0, GetCompanySettingIndex("company.renew_keep_length"), Company::Get(_local_company)->settings.renew_keep_length ? 0 : 1, CMD_CHANGE_COMPANY_SETTING);
|
|
|
|
|
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
|
|
|
|
|
const Group *g = Group::GetIfValid(this->sel_group);
|
|
|
|
|
if (g != nullptr) {
|
|
|
|
|
DoCommandP(0, this->sel_group | (GroupFlags::GF_REPLACE_WAGON_REMOVAL << 16), (HasBit(g->flags, GroupFlags::GF_REPLACE_WAGON_REMOVAL) ? 0 : 1) | (_ctrl_pressed << 1), CMD_SET_GROUP_FLAG);
|
|
|
|
|
} else {
|
|
|
|
|
// toggle renew_keep_length
|
|
|
|
|
DoCommandP(0, GetCompanySettingIndex("company.renew_keep_length"), Company::Get(_local_company)->settings.renew_keep_length ? 0 : 1, CMD_CHANGE_COMPANY_SETTING);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_RV_START_REPLACE: { // Start replacing
|
|
|
|
|
if (this->GetWidget<NWidgetLeaf>(widget)->ButtonHit(pt)) {
|
|
|
|
|