aboutsummaryrefslogtreecommitdiff
path: root/src/lobby.cpp
diff options
context:
space:
mode:
authorCrystalwarrior <varsash@gmail.com>2019-09-16 04:16:59 +0300
committerCrystalwarrior <varsash@gmail.com>2019-09-16 04:16:59 +0300
commit03ebad6bb6c922323b16b3ae6a701ddc34ba538b (patch)
treebff6dde51fcedde928a2b26d6a2ec42a67dc1c8b /src/lobby.cpp
parent6785f357622363edf73cb55763b730bcb0542229 (diff)
Add expanded style sheet support
Allow lobby fonts to happen
Diffstat (limited to 'src/lobby.cpp')
-rw-r--r--src/lobby.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/lobby.cpp b/src/lobby.cpp
index 6f257cec..7df2cdc5 100644
--- a/src/lobby.cpp
+++ b/src/lobby.cpp
@@ -153,6 +153,8 @@ void Lobby::set_widgets()
ui_loading_background->hide();
+ set_fonts();
+ set_stylesheets();
}
void Lobby::set_size_and_pos(QWidget *p_widget, QString p_identifier)
@@ -173,6 +175,66 @@ void Lobby::set_size_and_pos(QWidget *p_widget, QString p_identifier)
}
}
+void Lobby::set_fonts()
+{
+ set_font(ui_player_count, "player_count");
+ set_font(ui_description, "description");
+ set_font(ui_chatbox, "chatbox");
+ set_font(ui_chatname, "chatname");
+ set_font(ui_chatmessage, "chatmessage");
+ set_font(ui_loading_text, "loading_text");
+ set_font(ui_server_list, "server_list");
+}
+
+void Lobby::set_stylesheet(QWidget *widget, QString target_tag)
+{
+ QString f_file = "lobby_stylesheets.css";
+ QString style_sheet_string = ao_app->get_stylesheet(target_tag, f_file);
+ if (style_sheet_string != "")
+ widget->setStyleSheet(style_sheet_string);
+}
+
+void Lobby::set_stylesheets()
+{
+ set_stylesheet(ui_player_count, "[PLAYER COUNT]");
+ set_stylesheet(ui_description, "[DESCRIPTION]");
+ set_stylesheet(ui_chatbox, "[CHAT BOX]");
+ set_stylesheet(ui_chatname, "[CHAT NAME]");
+ set_stylesheet(ui_chatmessage, "[CHAT MESSAGE]");
+ set_stylesheet(ui_loading_text, "[LOADING TEXT]");
+ set_stylesheet(ui_server_list, "[SERVER LIST]");
+}
+
+void Lobby::set_font(QWidget *widget, QString p_identifier)
+{
+ QString design_file = "lobby_fonts.ini";
+ int f_weight = ao_app->get_font_size(p_identifier, design_file);
+ QString class_name = widget->metaObject()->className();
+ QString font_name = ao_app->get_font_name("font_" + p_identifier, design_file);
+ QFont font(font_name, f_weight);
+ bool use = static_cast<bool>(ao_app->get_font_size("use_custom_fonts", design_file));
+ if(use)
+ {
+ widget->setFont(font);
+ QColor f_color = ao_app->get_color(p_identifier + "_color", design_file);
+ bool bold = static_cast<bool>(ao_app->get_font_size(p_identifier + "_bold", design_file)); // is the font bold or not?
+ bool center = static_cast<bool>(ao_app->get_font_size(p_identifier + "_center", design_file)); // should it be centered?
+ QString is_bold = "";
+ if(bold) is_bold = "bold";
+ QString is_center = "";
+ if(center) is_center = "qproperty-alignment: AlignCenter;";
+ QString style_sheet_string = class_name + " { background-color: rgba(0, 0, 0, 0);\n" +
+ "color: rgba(" +
+ QString::number(f_color.red()) + ", " +
+ QString::number(f_color.green()) + ", " +
+ QString::number(f_color.blue()) + ", 255);\n" +
+ is_center + "\n" +
+ "font: " + is_bold + "; }";
+ widget->setStyleSheet(style_sheet_string);
+ }
+ return;
+}
+
void Lobby::set_loading_text(QString p_text)
{
ui_loading_text->clear();