[ci skip]
* Improved leader list display
* Made dialog slightly wider to reduce likelihood of a horizontal scrollbar appearing.
Still not a perfect fix, but it's better.
This dropdown allows the player to sort add-ons by name, author, size,
download count, type, or the time of last update or original upload.
Sorting by the last two hasn't been possible in the GUI2 add-on manager
before.
Closes#1747.
* Flipped the arrow on the Update icon set to point downwards, since it's a download operation.
* Renamed existing small Update icon set Publish, and added downwards version to replace Update.
* Renamed all addon manager icons and their respective button definitions to be clearer.
* Moved unused small icon versions to their own subfolder.
* Added separate Publish inline button to image list. This is now used in all cases to publish,
regardless of whether the addon has been uploaded previously or not. Prior to this, the Install
button was used for non-published addons, and the Update one for published ones. This means the
* Refactor addon_list inline button setup to be clearer.
* Made inline Uninstall button display in all cases where an addon was installed, instead of just
INSTALLED and NSTALLED_UPGRADABLE. It will not display if a publishable addon has not been
published, however.
* Changed is_local check to match the ADDON_INSTALLED_LOCAL_ONLY. I figured this is a bit more
robust. TODO: do the same in the addon manager itself?
Art assets credit to @Lordbob
[ci skip]
This prevents private chat logs being saved in your preferences file. History isn't
currently working anyway, and it seems weird to be saving logs this way, especially
since it also records private messages.
This is also related to #1932. I fixed leader sprites being cropped in 41e674128f,
and that made sprites in MP Staging always scale to 72x72. However, large sprites like the
Fire Dragon's still drew at full size in MP Join Game since the damn tree nodes are being
recreated when new changes come in (a separate issue I need to fix). This change fixes the
size of leader sprites in both dialogs to 72x72 regardless of sprite size, so we're saved
any similar issues cropping up in the future even once I do fix the excessive node recreation
in MP Join Game.
Previously, MP Staging was using connect_engine::connected_users() to fill in the user list.
However, I noticed that the server was already sending the user list to all clients, including
the host, so I could unify the handling between Staging and Join Game by just using the server
data for both.
I've also added appropriate indicators for host, observer, and self in the list for both dialogs.
Additional host= and observer= status keys are sent by the server for that purpose.
I've also made the server dispatch the player list to the host when a game is created. This is
slightly redundant, since the host is the only player at that point, but it's easier than creating
a user config locally, or using connected_users(), not to mention easier to maintain.
The wesnothd::game::send_user_list function no longer exists early id `description_` is null.
No idea why it did that. It's not even used in the function. Anyway, it needed to be removed in
order for the above change to work.
Speaking of the host's copy of the player list, I haven't touched that. It's still needed for
managing things in the connect_engine. Might simplify things further in the future by delegating
more handling to the server, since it has a lot of the data needed already, but that's a different
project.
This reverts commit 556331ac3f.
Since the keys aren't working, the implementation shouldn't be in the
Git repository. Otherwise some poor soul will attempt to use them and
face additional work afterwards.
This is meant to be a cleaner replacement to the [size_lock] widget. Both keys are optional,
in which case the layout engine will assume dynamic sizing for that dimension. Dynamic sizing
will also occur if either the fixed with or height evaluates to 0 or less.
These have no effect in the GUI2 lobby, nor do I intend to make use of them (plus the lobby has
its own sort controls anyway). I'm assuming they were for the GUI1 lobby.
[ci skip]
This prevents status text from sometimes floating off to the left if the status label shrinks but
a relayout hasn't occurred. In that case, the label widget's area would be larger than needed for
the text, and since left-align is the default setting, the next text gets stuck weirdly aligned.
This was the equivalent of the Player Info dialog for the old GUI1 MP Lobby, and is now unused.
The new GUI2 lobby uses the aforementioned Player Info dialog. The functionality is basically
the same, though, except the send-private-message interface is more streamlined in the new lobby.
I did one of these about a year ago, but in the time since I realize it was honestly really crowded
and had some fundamental problems (for example, the listbox would get a horizontal scrollbar if a game
with a lot of mods was started).
This time around, I've focused on simplicity. The main changes:
* The minimap has been made 10 px larger. This was to accommodate the 5 px borders, so now the actual
map image is 72x72.
* Game name and scenario name have swapped places, and the latter is now larger.
* Game names are no longer colorized based on the number of vacant slots or whether you can observe
the game or not.
* The Turns/Slots label coloring has been toned down and been made larger. It is now either white
(game has started), green (vacant slots available), or yellow (vacant slots available for reloaded game).
* The Turns limit no longer displays "/-" for games with unlimited turns. Now you just get "Turn n".
* Due to 1bfa170856, proper names of all missing content is displayed. I also got rid of those
"Unknown Scenario"/"Unknown Campaign" labels in favor of a simple red-color game type token (S or C),
respectively.
* All game setting icons have been moved to a tooltip attached to an info icon, except those for
Password Required and Observes Allowed.
* The info icon will also change color (and its tooltip display a message) if the player need to download
additional content to join that game.
[ci skip]
This is necessary since addon_info::display_name escapes markup (see 88ebb72b98). Without this,
certain characters like "'" don't display properly. It might be worth revisiting this at some
point and only escape formatting in specific cases where it's used with markup-enabled widgets,
but this is a quick solution.
It looks only acceptable (=without scrollbars, with acceptable minimum size for th game list) with resulutions of at least 1100x900, while the 'default ' resolution looks already good at 1300x700 which is less tatal space then what the small_resolution needs, for anythign smaller than 1300x700 we will then just use the tiny resolution.
The old GUI1 addon manager displayed both local and published versions of the addon directly in the list
if the addon was upgradable or outdated on the server. It seems to have gotten lost in the transition, so
this restores it.
just liek the other fixes of this type this only 'reverts' multimenu buttons to the prviusly behaviour which is that the smallest resolution is only chosen for 600x800 resolutions, for other bigger resolutions like 601x801 the medium resolution is chosen.
Not sure why, but in some cases the overlay calculations were getting screwed up. This makes them use
the general centered image macro, with accompanying fallback safety checks.