summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/smallmap_gui.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp
index 611e767af..846fc1073 100644
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -1136,6 +1136,22 @@ public:
this->DrawWidgets();
}
+ /**
+ * Select a new map type.
+ * @param map_type New map type.
+ */
+ void SwitchMapType(SmallMapType map_type)
+ {
+ this->RaiseWidget(this->map_type + SM_WIDGET_CONTOUR);
+ this->map_type = map_type;
+ this->LowerWidget(this->map_type + SM_WIDGET_CONTOUR);
+
+ /* Hide Enable all/Disable all buttons if is not industry type small map */
+ this->GetWidget<NWidgetStacked>(SM_WIDGET_SELECTINDUSTRIES)->SetDisplayedPlane(this->map_type != SMT_INDUSTRY);
+
+ this->SetDirty();
+ }
+
virtual void OnClick(Point pt, int widget, int click_count)
{
switch (widget) {
@@ -1180,14 +1196,7 @@ public:
case SM_WIDGET_ROUTES: // Show transport routes
case SM_WIDGET_VEGETATION: // Show vegetation
case SM_WIDGET_OWNERS: // Show land owners
- this->RaiseWidget(this->map_type + SM_WIDGET_CONTOUR);
- this->map_type = (SmallMapType)(widget - SM_WIDGET_CONTOUR);
- this->LowerWidget(this->map_type + SM_WIDGET_CONTOUR);
-
- /* Hide Enable all/Disable all buttons if is not industry type small map */
- this->GetWidget<NWidgetStacked>(SM_WIDGET_SELECTINDUSTRIES)->SetDisplayedPlane(this->map_type != SMT_INDUSTRY);
-
- this->SetDirty();
+ this->SwitchMapType((SmallMapType)(widget - SM_WIDGET_CONTOUR));
SndPlayFx(SND_15_BEEP);
break;