aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmniTroid <davidskoland@gmail.com>2017-04-06 02:13:36 +0200
committerOmniTroid <davidskoland@gmail.com>2017-04-06 02:13:36 +0200
commitb15214b739d480c49ed14203f768fea884074f60 (patch)
tree932e69fe914eb61d585141cfcd456abc5228ba1e
parente03869a5720f47920ce78fcff1b04870759721e9 (diff)
added color customization to music list and started adding to fonts
-rw-r--r--aoapplication.h1
-rw-r--r--courtroom.cpp56
-rw-r--r--courtroom.h2
-rw-r--r--text_file_functions.cpp29
4 files changed, 74 insertions, 14 deletions
diff --git a/aoapplication.h b/aoapplication.h
index b08bea6d..f4ebb922 100644
--- a/aoapplication.h
+++ b/aoapplication.h
@@ -113,6 +113,7 @@ public:
QPoint get_button_spacing(QString p_identifier, QString p_file);
pos_size_type get_element_dimensions(QString p_identifier, QString p_file);
int get_font_size(QString p_identifier, QString p_file);
+ QColor get_color(QString p_identifier, QString p_file);
QString read_char_ini(QString p_char, QString p_search_line, QString target_tag, QString terminator_tag);
QString get_char_side(QString p_char);
QString get_showname(QString p_char);
diff --git a/courtroom.cpp b/courtroom.cpp
index 439ae29a..4af4d205 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -10,6 +10,7 @@
#include <QDebug>
#include <QScrollBar>
#include <QRegExp>
+#include <QBrush>
Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
{
@@ -325,8 +326,6 @@ void Courtroom::set_widgets()
ui_vp_legacy_desk->hide();
set_size_and_pos(ui_vp_showname, "showname");
- ui_vp_showname->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
- "color: white;");
set_size_and_pos(ui_vp_message, "message");
ui_vp_message->setTextInteractionFlags(Qt::NoTextInteraction);
@@ -521,9 +520,8 @@ void Courtroom::set_widgets()
void Courtroom::set_fonts()
{
- QString design_file = "courtroom_fonts.ini";
+ set_font(ui_vp_showname, "showname");
- set_font(ui_vp_showname, ao_app->get_font_size("showname", design_file));
/*
int id = QFontDatabase::addApplicationFont(":/resource/fonts/Ace-Attorney.ttf");
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
@@ -531,16 +529,43 @@ void Courtroom::set_fonts()
monospace.setPointSize(ao_app->get_font_size("message", design_file));
ui_vp_message->setFont(monospace);
*/
- set_font(ui_vp_message, ao_app->get_font_size("message", design_file));
- set_font(ui_ic_chatlog, ao_app->get_font_size("ic_chatlog", design_file));
- set_font(ui_ms_chatlog, ao_app->get_font_size("ms_chatlog", design_file));
- set_font(ui_server_chatlog, ao_app->get_font_size("server_chatlog", design_file));
- set_font(ui_music_list, ao_app->get_font_size("music_list", design_file));
+ set_font(ui_vp_message, "message");
+ set_font(ui_ic_chatlog, "ic_chatlog");
+ set_font(ui_ms_chatlog, "ms_chatlog");
+ set_font(ui_server_chatlog, "server_chatlog");
+ set_font(ui_music_list, "music_list");
+
+
+
+
}
-void Courtroom::set_font(QWidget *widget, int weight)
+void Courtroom::set_font(QWidget *widget, QString p_identifier)
{
- widget->setFont(QFont("Sans", weight));
+ QString design_file = "courtroom_fonts.ini";
+ int f_weight = ao_app->get_font_size(p_identifier, design_file);
+ QString class_name = widget->metaObject()->className();
+
+ widget->setFont(QFont("Sans", f_weight));
+
+ QColor f_color = ao_app->get_color(p_identifier + "_color", design_file);\
+
+ 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); }";
+
+ qDebug() << "style_sheet_string: " << style_sheet_string;
+
+ //widget->setStyleSheet(style_sheet_string);
+
+ ui_ic_chatlog->setStyleSheet("QPlainTextEdit { background-color: rgba(0, 0, 0, 0);"
+ "color: rgba(" +
+ QString::number(f_color.red()) + ", " +
+ QString::number(f_color.green()) + ", " +
+ QString::number(f_color.blue()) + ", 255); }");
+
}
void Courtroom::set_window_title(QString p_title)
@@ -713,6 +738,11 @@ void Courtroom::list_music()
{
ui_music_list->clear();
+ QString f_file = "courtroom_design.ini";
+
+ QBrush found_brush(ao_app->get_color("found_song_color", f_file));
+ QBrush missing_brush(ao_app->get_color("missing_song_color", f_file));
+
int n_listed_songs = 0;
for (int n_song = 0 ; n_song < music_list.size() ; ++n_song)
@@ -726,9 +756,9 @@ void Courtroom::list_music()
QString song_path = ao_app->get_base_path() + "sounds/music/" + i_song.toLower();
if (file_exists(song_path))
- ui_music_list->item(n_listed_songs)->setBackground(Qt::green);
+ ui_music_list->item(n_listed_songs)->setBackground(found_brush);
else
- ui_music_list->item(n_listed_songs)->setBackground(Qt::red);
+ ui_music_list->item(n_listed_songs)->setBackground(missing_brush);
++n_listed_songs;
}
diff --git a/courtroom.h b/courtroom.h
index f83b6247..a74117ec 100644
--- a/courtroom.h
+++ b/courtroom.h
@@ -42,7 +42,7 @@ public:
void append_music(QString f_music){music_list.append(f_music);}
void set_widgets();
- void set_font(QWidget *widget, int weight);
+ void set_font(QWidget *widget, QString p_identifier);
void set_fonts();
void set_window_title(QString p_title);
void set_size_and_pos(QWidget *p_widget, QString p_identifier);
diff --git a/text_file_functions.cpp b/text_file_functions.cpp
index 8f6fa617..f80e1b36 100644
--- a/text_file_functions.cpp
+++ b/text_file_functions.cpp
@@ -6,6 +6,7 @@
#include <QStringList>
#include <QVector>
#include <QDebug>
+#include <QColor>
QString AOApplication::read_config(QString searchline)
{
@@ -266,6 +267,34 @@ int AOApplication::get_font_size(QString p_identifier, QString p_file)
return f_result.toInt();
}
+QColor AOApplication::get_color(QString p_identifier, QString p_file)
+{
+ QString design_ini_path = get_theme_path() + p_file;
+ QString default_path = get_default_theme_path() + p_file;
+ QString f_result = read_design_ini(p_identifier, design_ini_path);
+
+ QColor return_color(255, 255, 255);
+
+ if (f_result == "")
+ {
+ f_result = read_design_ini(p_identifier, default_path);
+
+ if (f_result == "")
+ return return_color;
+ }
+
+ QStringList color_list = f_result.split(",");
+
+ if (color_list.size() < 3)
+ return return_color;
+
+ return_color.setRed(color_list.at(0).toInt());
+ return_color.setGreen(color_list.at(1).toInt());
+ return_color.setBlue(color_list.at(2).toInt());
+
+ return return_color;
+}
+
//returns whatever is to the right of "search_line =" within target_tag and terminator_tag, trimmed
//returns the empty string if the search line couldnt be found
QString AOApplication::read_char_ini(QString p_char, QString p_search_line, QString target_tag, QString terminator_tag)