MP/Lobby: some more player list-related cleanup

- Improved display
- Removed unused pointer member in helper
- Removed unnecessary extra tree clear step
This commit is contained in:
Charles Dang 2021-07-30 23:27:45 -04:00
parent d661187a8f
commit ceafd6faa3
3 changed files with 9 additions and 28 deletions

View File

@ -213,27 +213,27 @@
[/column] [/column]
[column] [column]
grow_factor = 1 grow_factor = 0
horizontal_grow = true border = "all"
border = "top,bottom,right"
border_size = 5 border_size = 5
[label] [label]
id = "tree_view_node_label" id = "tree_view_node_label"
definition = "default_small" definition = "gold_small"
[/label] [/label]
[/column] [/column]
[column] [column]
grow_factor = 0 grow_factor = 1
horizontal_grow = true horizontal_grow = true
border = "top,bottom,right" border = "all"
border_size = 5 border_size = 5
[label] [label]
id = "player_count" id = "player_count"
definition = "default_small" definition = "gold_small"
text_alignment = "right"
[/label] [/label]
[/column] [/column]

View File

@ -41,26 +41,13 @@ player_list_helper::sub_list::sub_list(tree_view* parent_tree, const std::string
root->unfold(); root->unfold();
} }
tree_label = find_widget<label>(root, "tree_view_node_label", false, true);
label_player_count = find_widget<label>(root, "player_count", false, true); label_player_count = find_widget<label>(root, "player_count", false, true);
assert(tree_label);
assert(label_player_count); assert(label_player_count);
} }
void player_list_helper::sub_list::update_player_count_label() void player_list_helper::sub_list::update_player_count_label()
{ {
assert(root); label_player_count->set_label(std::to_string(root->count_children()));
assert(label_player_count);
/**
* @todo Make sure setting visible resizes the widget.
*
* It doesn't work here since invalidate_layout is blocked, but the
* widget should also be able to handle it itself. Once done the
* setting of the label text can also be removed.
*/
label_player_count->set_label((formatter() << "(" << root->count_children() << ")").str());
} }
namespace namespace
@ -77,12 +64,7 @@ struct update_pod
void player_list_helper::update(std::vector<mp::user_info>& user_info) void player_list_helper::update(std::vector<mp::user_info>& user_info)
{ {
unsigned scrollbar_position = tree->get_vertical_scrollbar_item_position(); const unsigned scrollbar_position = tree->get_vertical_scrollbar_item_position();
for(auto& list : player_lists) {
list.root->clear();
}
std::array<update_pod, std::tuple_size<decltype(player_lists)>::value> inputs{}; std::array<update_pod, std::tuple_size<decltype(player_lists)>::value> inputs{};
for(auto& user : user_info) { for(auto& user : user_info) {

View File

@ -49,7 +49,6 @@ private:
tree_view_node* root; tree_view_node* root;
label* tree_label;
label* label_player_count; label* label_player_count;
}; };