Fixes the text of menu_buttons being 1 pixel too high. Seems this is a relic from 2016 and me tweaking the
formula to try and get things more centered in buttons... But in that case, adjustments shuld probably be
directly made to buttons, not here.
Instead of having the preferences dialog make a copy of all advanced preference config objects (and sorting them)
every time you invoke it, this adds a new advanced_manager class instantiated once in game_launcher (not sure if
that's the best place for it, though) that parses and handles the options. Allows me to greatly clean up the
preferences dialog code.
Back when link awareness was first added (https://github.com/wesnoth/wesnoth/pull/300), this key was added
globally to label definitions alongside link_color. This had the unintended side effect of making *all* labels
link aware, leading to issues such as being able to open a do-you-want-to-open prompt from an instance of the
same ad-infinitum.
This became an active issue after 213453e6cf78371360471ac4d110602aafecd9f3, since now that labels could capture
focus if link_aware was true - which it always was for most labels - labels in toggle panels would always
grab mouse_motion events and no longer allow their parent toggle panels to gain their hovered states. That
appears to be in keeping with the design of GUI2, and a further evaluation of that issue is needed at a later
time. However, the fact remains that almost every single label was marked as link-aware, even when in almost every
case that was not the desired behavior.
This change move the link_aware config option to individual label and scroll_label instances. The following uses
had this explicitly enabled:
- Addon license prompt
- Addon descriptions
- Campaign descriptions
- The Server Info popup
- The chatbox
Previously, I was handling updating the label alpha in the set_text_alpha function, which meant it needed
to be called from the builder in order for that variable to be properly set on a newly constructed label.
This properly adds it to the update_canvas and changes set_text_alpha to match the other setter formats
that require canvas updates.
This also moves gui2:🏷️:can_mouse_focus()'s declaration to a
section that makes more sense for it to be in. Thanks to jyrkive for
pointing out the existence of this method.