This extends to a few other button labels used for replay control. While
checking if commit 46dbbc06c9 was fit for
backporting to 1.14 I found out that "Play" was already in use
exclusively for one of the replay control buttons (which means, no, it
can't be backported). This makes the disambiguation markers absolutely
necessary.
To give a more practical example of why this is a big deal, in Spanish,
"Play" would be translated as "Jugar" in the context of the Campaigns
menu, and "Reproducir" in the context of a replay (or movie). The
Spanish translation in fact already uses the latter in both 1.14 and
master.
[ci skip]
The strategy is two-fold. We move the rendering of the icon into the
battery status report where it can be disabled at runtime, and allow the
countdown/clock to move to the position of the battery status if the device
doesn't have a battery. I also moved rendering of the clock icon to the
time report to allow the icon to move together with the text.
I needed to change theme::status_ to store pointers to status items because
otherwise the countdown object loses its type when inserted to the map. And
to be able to use std::unique_ptr inside the theme class, I had to make the
class non-copyable and movable.
These were added with permission from shadowm, and were copied verbatim save for a small tweak to
the position of the menu button in the cutscene theme to get rid of the 3 pixel offset on the left
which had been corrected a few releases back in the default theme.
These were rendered unnecessary by 781276709d, which changed border rendering to use the terrain engine.
This also removes display::draw_border, which used the keys.
Since GUI1 widgets seem to rely on the given font size values in font.hpp
for their dimensions, those are unchanged. ThemeWML-provided sizes were adjusted,
and larger sizes assigned to elements that were too small with the new font.
Theme element rects were also adjusted as necessary.
Reverts a decision from commit 10b7cd63f5
in order to both make the Classic theme backportable to 1.12 and
eliminate an unnecessary complication for UMC.
At some point in the future, the Default theme will replace Classic when
the rumored UnitBox theme becomes the default, so I'd say naming its
directories "classic" makes sense, while the current Classic theme is
the "legacy" classic.
If we hadn't gotten stuck with Default using "classic" dirs in 1.12
there would be no need for any of this irritating nonsense.