Add UI button to stop a game.
This adds a button along side the kick/kickban/ban buttons to stop the game the selected user is in. Fixes #3635
This commit is contained in:
parent
2486094bca
commit
edf5765e7c
3 changed files with 40 additions and 1 deletions
|
@ -170,7 +170,7 @@
|
||||||
horizontal_alignment = "left"
|
horizontal_alignment = "left"
|
||||||
|
|
||||||
[label]
|
[label]
|
||||||
label = _ "Kick / ban reason:"
|
label = _ "Reason:"
|
||||||
[/label]
|
[/label]
|
||||||
[/column]
|
[/column]
|
||||||
|
|
||||||
|
@ -262,6 +262,18 @@
|
||||||
label = _ "Kick + Ban"
|
label = _ "Kick + Ban"
|
||||||
[/button]
|
[/button]
|
||||||
[/column]
|
[/column]
|
||||||
|
|
||||||
|
[column]
|
||||||
|
grow_factor = 0
|
||||||
|
border = "all"
|
||||||
|
border_size = 5
|
||||||
|
|
||||||
|
[button]
|
||||||
|
definition = "default"
|
||||||
|
id = "stopgame"
|
||||||
|
label = _ "Stop Game"
|
||||||
|
[/button]
|
||||||
|
[/column]
|
||||||
[/row]
|
[/row]
|
||||||
|
|
||||||
[/grid]
|
[/grid]
|
||||||
|
|
|
@ -96,6 +96,12 @@ void lobby_player_info::pre_show(window& window)
|
||||||
this,
|
this,
|
||||||
std::ref(window)));
|
std::ref(window)));
|
||||||
|
|
||||||
|
connect_signal_mouse_left_click(
|
||||||
|
find_widget<button>(&window, "stopgame", false),
|
||||||
|
std::bind(&lobby_player_info::stopgame_button_callback,
|
||||||
|
this,
|
||||||
|
std::ref(window)));
|
||||||
|
|
||||||
find_widget<label>(&window, "player_name", false).set_label(info_.name);
|
find_widget<label>(&window, "player_name", false).set_label(info_.name);
|
||||||
|
|
||||||
std::stringstream loc;
|
std::stringstream loc;
|
||||||
|
@ -204,6 +210,23 @@ void lobby_player_info::kick_ban_button_callback(window& w)
|
||||||
w.close();
|
w.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void lobby_player_info::stopgame_button_callback(window& w)
|
||||||
|
{
|
||||||
|
do_stopgame();
|
||||||
|
w.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void lobby_player_info::do_stopgame()
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << "stopgame " << info_.name;
|
||||||
|
if(!reason_->get_value().empty()) {
|
||||||
|
ss << " " << reason_->get_value();
|
||||||
|
}
|
||||||
|
|
||||||
|
chat_.send_command("query", ss.str());
|
||||||
|
}
|
||||||
|
|
||||||
void lobby_player_info::do_kick_ban(bool ban)
|
void lobby_player_info::do_kick_ban(bool ban)
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
|
|
|
@ -68,6 +68,10 @@ private:
|
||||||
|
|
||||||
void kick_ban_button_callback(window& w);
|
void kick_ban_button_callback(window& w);
|
||||||
|
|
||||||
|
void stopgame_button_callback(window& w);
|
||||||
|
|
||||||
|
void do_stopgame();
|
||||||
|
|
||||||
void do_kick_ban(bool ban);
|
void do_kick_ban(bool ban);
|
||||||
|
|
||||||
events::chat_handler& chat_;
|
events::chat_handler& chat_;
|
||||||
|
|
Loading…
Add table
Reference in a new issue