TBTR: Fix layout of top panel in RTL languages
This commit is contained in:
@@ -1919,7 +1919,7 @@ STR_TMPL_CONFIG_USEDEPOT :užij depo
|
|||||||
STR_TMPL_CONFIG_KEEPREMAINDERS :nech zbyt
|
STR_TMPL_CONFIG_KEEPREMAINDERS :nech zbyt
|
||||||
STR_TMPL_CONFIG_OLD_ONLY :jen staré
|
STR_TMPL_CONFIG_OLD_ONLY :jen staré
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :# vlaků k nahrazení:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :vlaků k nahrazení: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
||||||
|
@@ -1990,7 +1990,7 @@ STR_TMPL_SECTION_REFIT :{BLACK}Refit
|
|||||||
STR_TMPL_SECTION_DEPOT_VEHICLES :{BLACK}Depot vehicles
|
STR_TMPL_SECTION_DEPOT_VEHICLES :{BLACK}Depot vehicles
|
||||||
STR_TMPL_SECTION_WHEN :{BLACK}When
|
STR_TMPL_SECTION_WHEN :{BLACK}When
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :# trains to replace:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :Trains to replace: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
||||||
|
@@ -1925,7 +1925,7 @@ STR_TMPL_CONFIG_USEDEPOT :usar depósito
|
|||||||
STR_TMPL_CONFIG_KEEPREMAINDERS :conservar restos
|
STR_TMPL_CONFIG_KEEPREMAINDERS :conservar restos
|
||||||
STR_TMPL_CONFIG_OLD_ONLY :só o vello
|
STR_TMPL_CONFIG_OLD_ONLY :só o vello
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :# trenes a reemplazar:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :trenes a reemplazar: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
||||||
|
@@ -1680,7 +1680,7 @@ STR_TMPL_CONFIG_USEDEPOT :Depotnutzung
|
|||||||
STR_TMPL_CONFIG_KEEPREMAINDERS :Bereithaltung
|
STR_TMPL_CONFIG_KEEPREMAINDERS :Bereithaltung
|
||||||
STR_TMPL_CONFIG_OLD_ONLY :Nur alte
|
STR_TMPL_CONFIG_OLD_ONLY :Nur alte
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :# Züge zu ersetzen:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :Züge zu ersetzen: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
||||||
|
@@ -1926,7 +1926,7 @@ STR_TMPL_CONFIG_USEDEPOT :기지 사용
|
|||||||
STR_TMPL_CONFIG_KEEPREMAINDERS :놔두기
|
STR_TMPL_CONFIG_KEEPREMAINDERS :놔두기
|
||||||
STR_TMPL_CONFIG_OLD_ONLY :낡은 차량만
|
STR_TMPL_CONFIG_OLD_ONLY :낡은 차량만
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :교체할 열차 수:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :교체할 열차 수: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG} (x{NUM})
|
||||||
|
@@ -1815,7 +1815,7 @@ STR_TMPL_CONFIG_USEDEPOT :使用闲置
|
|||||||
STR_TMPL_CONFIG_KEEPREMAINDERS :保持原样
|
STR_TMPL_CONFIG_KEEPREMAINDERS :保持原样
|
||||||
STR_TMPL_CONFIG_OLD_ONLY :只换老的
|
STR_TMPL_CONFIG_OLD_ONLY :只换老的
|
||||||
|
|
||||||
STR_TMPL_NUM_TRAINS_NEED_RPL :# 要被替换的火车:
|
STR_TMPL_NUM_TRAINS_NEED_RPL :要被替换的火车: {SET_COLOUR}{COMMA}
|
||||||
|
|
||||||
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
STR_TMPL_CARGO_SUMMARY :{CARGO_LONG}
|
||||||
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG}(x{NUM})
|
STR_TMPL_CARGO_SUMMARY_MULTI :{CARGO_LONG}(x{NUM})
|
||||||
|
@@ -639,6 +639,8 @@ public:
|
|||||||
int y = r.top;
|
int y = r.top;
|
||||||
int max = std::min<int>(this->vscroll[0]->GetPosition() + this->vscroll[0]->GetCapacity(), (int)this->groups.size());
|
int max = std::min<int>(this->vscroll[0]->GetPosition() + this->vscroll[0]->GetCapacity(), (int)this->groups.size());
|
||||||
|
|
||||||
|
bool rtl = _current_text_dir == TD_RTL;
|
||||||
|
|
||||||
/* Then treat all groups defined by/for the current company */
|
/* Then treat all groups defined by/for the current company */
|
||||||
for (int i = this->vscroll[0]->GetPosition(); i < max; ++i) {
|
for (int i = this->vscroll[0]->GetPosition(); i < max; ++i) {
|
||||||
const Group *g = (this->groups)[i];
|
const Group *g = (this->groups)[i];
|
||||||
@@ -651,12 +653,20 @@ public:
|
|||||||
|
|
||||||
int text_y = y + WidgetDimensions::scaled.matrix.top;
|
int text_y = y + WidgetDimensions::scaled.matrix.top;
|
||||||
|
|
||||||
|
auto draw_text = [&](int left, int right, StringID str, TextColour colour, StringAlignment align) {
|
||||||
|
if (rtl) {
|
||||||
|
DrawString(r.left + (r.right - right), r.right - (left - r.left), text_y, str, colour, align);
|
||||||
|
} else {
|
||||||
|
DrawString(left, right, text_y, str, colour, align);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
int col1 = left + (2 * left + right) / 3;
|
int col1 = left + (2 * left + right) / 3;
|
||||||
int col2 = left + (left + 2 * right) / 3;
|
int col2 = left + (left + 2 * right) / 3;
|
||||||
|
|
||||||
SetDParam(0, g_id);
|
SetDParam(0, g_id);
|
||||||
StringID str = STR_GROUP_NAME;
|
StringID str = STR_GROUP_NAME;
|
||||||
DrawString(left + ScaleGUITrad(4 + this->indents[i] * 10), col1 - ScaleGUITrad(4), text_y, str, TC_BLACK);
|
draw_text(left + ScaleGUITrad(4 + this->indents[i] * 10), col1 - ScaleGUITrad(4), str, TC_BLACK, SA_LEFT);
|
||||||
|
|
||||||
const TemplateID tid = GetTemplateIDByGroupIDRecursive(g_id);
|
const TemplateID tid = GetTemplateIDByGroupIDRecursive(g_id);
|
||||||
const TemplateID tid_self = GetTemplateIDByGroupID(g_id);
|
const TemplateID tid_self = GetTemplateIDByGroupID(g_id);
|
||||||
@@ -664,7 +674,7 @@ public:
|
|||||||
/* Draw the template in use for this group, if there is one */
|
/* Draw the template in use for this group, if there is one */
|
||||||
int template_in_use = FindTemplateIndex(tid);
|
int template_in_use = FindTemplateIndex(tid);
|
||||||
if (tid != INVALID_TEMPLATE && tid_self == INVALID_TEMPLATE) {
|
if (tid != INVALID_TEMPLATE && tid_self == INVALID_TEMPLATE) {
|
||||||
DrawString (col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), text_y, STR_TMP_TEMPLATE_FROM_PARENT_GROUP, TC_SILVER, SA_HOR_CENTER);
|
draw_text(col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), STR_TMP_TEMPLATE_FROM_PARENT_GROUP, TC_SILVER, SA_HOR_CENTER);
|
||||||
} else if (template_in_use >= 0) {
|
} else if (template_in_use >= 0) {
|
||||||
const TemplateVehicle *tv = TemplateVehicle::Get(tid);
|
const TemplateVehicle *tv = TemplateVehicle::Get(tid);
|
||||||
SetDParam(1, template_in_use);
|
SetDParam(1, template_in_use);
|
||||||
@@ -674,20 +684,18 @@ public:
|
|||||||
SetDParam(0, STR_TMPL_NAME);
|
SetDParam(0, STR_TMPL_NAME);
|
||||||
SetDParamStr(2, tv->name);
|
SetDParamStr(2, tv->name);
|
||||||
}
|
}
|
||||||
DrawString (col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), text_y, STR_TMPL_GROUP_USES_TEMPLATE, TC_BLACK, SA_HOR_CENTER);
|
draw_text(col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), STR_TMPL_GROUP_USES_TEMPLATE, TC_BLACK, SA_HOR_CENTER);
|
||||||
} else if (tid != INVALID_TEMPLATE) { /* If there isn't a template applied from the current group, check if there is one for another rail type */
|
} else if (tid != INVALID_TEMPLATE) { /* If there isn't a template applied from the current group, check if there is one for another rail type */
|
||||||
DrawString (col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), text_y, STR_TMPL_TMPLRPL_EX_DIFF_RAILTYPE, TC_SILVER, SA_HOR_CENTER);
|
draw_text(col1 + ScaleGUITrad(4), col2 - ScaleGUITrad(4), STR_TMPL_TMPLRPL_EX_DIFF_RAILTYPE, TC_SILVER, SA_HOR_CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw the number of trains that still need to be treated by the currently selected template replacement */
|
/* Draw the number of trains that still need to be treated by the currently selected template replacement */
|
||||||
if (tid != INVALID_TEMPLATE) {
|
if (tid != INVALID_TEMPLATE) {
|
||||||
const TemplateVehicle *tv = TemplateVehicle::Get(tid);
|
const TemplateVehicle *tv = TemplateVehicle::Get(tid);
|
||||||
const uint num_trains = CountsTrainsNeedingTemplateReplacement(g_id, tv);
|
const uint num_trains = CountsTrainsNeedingTemplateReplacement(g_id, tv);
|
||||||
// Draw number
|
SetDParam(0, num_trains > 0 ? TC_ORANGE : TC_GREY);
|
||||||
SetDParam(0, num_trains);
|
SetDParam(1, num_trains);
|
||||||
int inner_right = DrawString(col2 + ScaleGUITrad(4), right - ScaleGUITrad(4), text_y, STR_JUST_INT, num_trains ? TC_ORANGE : TC_GREY, SA_RIGHT);
|
draw_text(col2 + ScaleGUITrad(4), right - ScaleGUITrad(4), STR_TMPL_NUM_TRAINS_NEED_RPL, num_trains > 0 ? TC_BLACK : TC_GREY, SA_RIGHT);
|
||||||
// Draw text
|
|
||||||
DrawString(col2 + ScaleGUITrad(4), inner_right - ScaleGUITrad(4), text_y, STR_TMPL_NUM_TRAINS_NEED_RPL, num_trains ? TC_BLACK : TC_GREY, SA_RIGHT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.matrix.Vertical();
|
y += FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.matrix.Vertical();
|
||||||
|
Reference in New Issue
Block a user