aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aoapplication.cpp7
-rw-r--r--aoapplication.h3
-rw-r--r--lobby.cpp24
-rw-r--r--lobby.h5
-rw-r--r--packet_distribution.cpp9
5 files changed, 36 insertions, 12 deletions
diff --git a/aoapplication.cpp b/aoapplication.cpp
index 70aeb152..bf734343 100644
--- a/aoapplication.cpp
+++ b/aoapplication.cpp
@@ -100,3 +100,10 @@ void AOApplication::add_favorite_server(int p_server)
write_to_serverlist_txt(server_line);
}
+
+void AOApplication::loading_cancelled()
+{
+ destruct_courtroom();
+
+ w_lobby->hide_loading_overlay();
+}
diff --git a/aoapplication.h b/aoapplication.h
index c9daf86d..a63ec417 100644
--- a/aoapplication.h
+++ b/aoapplication.h
@@ -96,6 +96,9 @@ private:
QVector<server_type> server_list;
QVector<server_type> favorite_list;
+
+public slots:
+ void loading_cancelled();
};
#endif // AOAPPLICATION_H
diff --git a/lobby.cpp b/lobby.cpp
index feeff23e..37091146 100644
--- a/lobby.cpp
+++ b/lobby.cpp
@@ -29,7 +29,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
ui_chatname = new QLineEdit(this);
ui_chatmessage = new QLineEdit(this);
ui_loading_background = new AOImage(this, ao_app);
- ui_loading_label = new QLabel(ui_loading_background);
+ ui_loading_text = new QTextEdit(ui_loading_background);
ui_progress_bar = new QProgressBar(ui_loading_background);
ui_cancel = new AOButton(ui_loading_background, ao_app);
@@ -44,6 +44,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
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_chatmessage, SIGNAL(returnPressed()), this, SLOT(on_chatfield_return_pressed()));
+ connect(ui_cancel, SIGNAL(clicked()), ao_app, SLOT(loading_cancelled()));
set_widgets();
}
@@ -104,17 +105,19 @@ void Lobby::set_widgets()
ui_loading_background->set_image("loadingbackground.png");
ui_loading_background->resize(m_lobby_width, m_lobby_height);
- set_size_and_pos(ui_loading_label, "loading_label");
- ui_loading_label->setFont(QFont("Arial", 20, QFont::Bold));
- ui_loading_label->setStyleSheet("color: rgba(255, 128, 0, 255);"
- "qproperty-alignment: AlignCenter;");
- ui_loading_label->setText("Loading");
+ set_size_and_pos(ui_loading_text, "loading_label");
+ ui_loading_text->setFont(QFont("Arial", 20, QFont::Bold));
+ ui_loading_text->setReadOnly(true);
+ ui_loading_text->setAlignment(Qt::AlignCenter);
+ ui_loading_text->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
+ "color: rgba(255, 128, 0, 255);");
+ ui_loading_text->append("Loading");
set_size_and_pos(ui_progress_bar, "progress_bar");
set_size_and_pos(ui_cancel, "cancel");
ui_cancel->setText("Cancel");
- //ui_loading_background->hide();
+ ui_loading_background->hide();
}
@@ -142,6 +145,13 @@ void Lobby::set_size_and_pos(QWidget *p_widget, QString p_identifier)
p_widget->resize(design_ini_result.width, design_ini_result.height);
}
+void Lobby::set_loading_text(QString p_text)
+{
+ ui_loading_text->clear();
+ ui_loading_text->setAlignment(Qt::AlignCenter);
+ ui_loading_text->append(p_text);
+}
+
void Lobby::on_public_servers_clicked()
{
ui_public_servers->set_image("publicservers_selected.png");
diff --git a/lobby.h b/lobby.h
index 0481ebd6..8f9b5ea6 100644
--- a/lobby.h
+++ b/lobby.h
@@ -26,6 +26,9 @@ public:
void list_favorites();
void append_chatmessage(QString p_message_line);
void set_player_count(int players_online, int max_players);
+ void set_loading_text(QString p_text);
+ void show_loading_overlay(){ui_loading_background->show();}
+ void hide_loading_overlay(){ui_loading_background->hide();}
~Lobby();
@@ -59,7 +62,7 @@ private:
QLineEdit *ui_chatmessage;
AOImage *ui_loading_background;
- QLabel *ui_loading_label;
+ QTextEdit *ui_loading_text;
QProgressBar *ui_progress_bar;
AOButton *ui_cancel;
diff --git a/packet_distribution.cpp b/packet_distribution.cpp
index 014919b1..84ace315 100644
--- a/packet_distribution.cpp
+++ b/packet_distribution.cpp
@@ -141,6 +141,9 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
construct_courtroom();
+ w_lobby->show_loading_overlay();
+ w_lobby->set_loading_text("Loading");
+
AOPacket *f_packet = new AOPacket("askchar2#%");
send_server_packet(f_packet);
}
@@ -166,12 +169,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
f_char.description = sub_elements.at(1);
++loaded_chars;
- qDebug() << "loaded_chars" << loaded_chars;
- w_courtroom->append_char(f_char);
+ w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size));
-
- qDebug() << f_contents.at(n_element + 1);
+ w_courtroom->append_char(f_char);
}
if (loaded_chars < char_list_size)