Several dialogs have Search boxes accompanying a central element, with
the boxes taking up a whole row of their own. For both aesthetic and
space allocation purposes it turns out to be more convenient to relocate
these boxes to the top right corner of the dialog to share room with the
dialog's caption.
This only applies to the Campaigns menu, Load Game, Create Unit, and
Recall Unit dialogs. The Recruit Unit dialog, interestingly enough,
already used this approach (an accident?).
Chat Log and the Add-ons Manager *could*, in theory, use this same
change, but they are a bit trickier because of the additional controls
attached to the Search box -- especially so in the Add-ons Manager's
case.
[ci skip]
This fixes situation when wmllint tried to add description=_"fireball"
to the following WML code:
[filter]
[filter_wml]
[not]
[attack]
name=fireball
[/attack]
[/not]
[/filter_wml]
[/filter]
Tags within [filter_wml] don't need to have all mandatory arguments
(like "description"), because:
1) they are temporary constructs and this description is never used,
2) such WML code expects that results will be filtered ONLY by name.
Adding description will remove results that have the same attack name
but different description.
When completing the tutorial, the preferences file's [completed_campaigns]
recorded that "" had been completed at difficulty NORMAL. This is an old
bug, unrelated to the other tutorial changes that I'm making, but would
cause problems if we want to change the UI based on whether the tutorial
has already been completed.
If a save directory from another version is found, a drop-down list of
directories is added below the filter box in the Load Game dialog.
Refactor save_index_class to allow instances for other directories.
Design idea: all new saves go in to the main save directory. Games can be
loaded from other directories, but those directories are treated as read-only.
When building an index for other directories, the index is kept in memory and
not written to disk - this results in some noticeable lag in the UI when
opening the other versions' directories, but not the usual save dir.
Changing the use of callbacks to NOTIFY_MODIFIED events (2adac53461b62d3) made it so the widget reference
passed to the callback was now a tree view node and not the tree view itself.