aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstonedDiscord <stoned@derpymail.org>2019-08-20 18:35:42 +0200
committerstonedDiscord <stoned@derpymail.org>2019-08-20 18:35:42 +0200
commit5807410b1dae61ba9307197f7d1ae04b8e55c378 (patch)
tree23222792b84ea329cd1d4ccc7e21e72740d2105e
parent177c56e2b8402cee95ae1ff1e042ddf2eabe52b6 (diff)
doubleclick to join a server
-rw-r--r--include/lobby.h3
-rw-r--r--src/lobby.cpp13
2 files changed, 16 insertions, 0 deletions
diff --git a/include/lobby.h b/include/lobby.h
index 19276a7d..4293ac36 100644
--- a/include/lobby.h
+++ b/include/lobby.h
@@ -75,6 +75,8 @@ private:
QProgressBar *ui_progress_bar;
AOButton *ui_cancel;
+ QModelIndex last_model;
+
void set_size_and_pos(QWidget *p_widget, QString p_identifier);
private slots:
@@ -89,6 +91,7 @@ private slots:
void on_connect_released();
void on_about_clicked();
void on_server_list_clicked(QModelIndex p_model);
+ void on_server_list_doubleclicked(QModelIndex p_model);
void on_chatfield_return_pressed();
};
diff --git a/src/lobby.cpp b/src/lobby.cpp
index c95fd49c..6f257cec 100644
--- a/src/lobby.cpp
+++ b/src/lobby.cpp
@@ -47,6 +47,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
connect(ui_connect, SIGNAL(released()), this, SLOT(on_connect_released()));
connect(ui_about, SIGNAL(clicked()), this, SLOT(on_about_clicked()));
connect(ui_server_list, SIGNAL(clicked(QModelIndex)), this, SLOT(on_server_list_clicked(QModelIndex)));
+ connect(ui_server_list, SIGNAL(activated(QModelIndex)), this, SLOT(on_server_list_doubleclicked(QModelIndex)));
connect(ui_chatmessage, SIGNAL(returnPressed()), this, SLOT(on_chatfield_return_pressed()));
connect(ui_cancel, SIGNAL(clicked()), ao_app, SLOT(loading_cancelled()));
@@ -282,9 +283,13 @@ void Lobby::on_about_clicked()
QMessageBox::about(this, "About", msg);
}
+//clicked on an item in the serverlist
void Lobby::on_server_list_clicked(QModelIndex p_model)
{
+ if (p_model != last_model)
+ {
server_type f_server;
+ last_model = p_model;
int n_server = p_model.row();
if (n_server < 0)
@@ -318,6 +323,14 @@ void Lobby::on_server_list_clicked(QModelIndex p_model)
ui_connect->setEnabled(false);
ao_app->net_manager->connect_to_server(f_server);
+ }
+}
+
+//doubleclicked on an item in the serverlist so we'll connect right away
+void Lobby::on_server_list_doubleclicked(QModelIndex p_model)
+{
+ on_server_list_clicked(p_model);
+ on_connect_released();
}
void Lobby::on_chatfield_return_pressed()