From 8b44d4ae9599a90579c4fb974fab1704ace8d131 Mon Sep 17 00:00:00 2001 From: scatterflower Date: Sat, 15 Aug 2020 19:40:52 -0500 Subject: [PATCH 1/3] Only regenerate the area list once per ARUP packet --- include/courtroom.h | 1 - src/packet_distribution.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/include/courtroom.h b/include/courtroom.h index 182c2a6..e7a51d3 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -109,7 +109,6 @@ public: if (arup_locks.size() > place) arup_locks[place] = value; } - list_areas(); } void character_loading_finished(); diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index b543cfb..fd7453e 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -676,6 +676,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) w_courtroom->arup_modify(arup_type, n_element - 1, f_contents.at(n_element)); } + w_courtroom->list_areas(); } } else if (header == "IL") { From 102ca4d64143ecb9401fdb1627ada00194d58dd1 Mon Sep 17 00:00:00 2001 From: scatterflower Date: Sat, 15 Aug 2020 19:47:24 -0500 Subject: [PATCH 2/3] Create brushes for area list once --- include/courtroom.h | 8 ++++++++ src/courtroom.cpp | 17 ++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/include/courtroom.h b/include/courtroom.h index e7a51d3..f1cb026 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -457,6 +457,14 @@ private: QString current_background = "default"; QString current_side = ""; + QBrush free_brush; + QBrush lfp_brush; + QBrush casing_brush; + QBrush recess_brush; + QBrush rp_brush; + QBrush gaming_brush; + QBrush locked_brush; + AOMusicPlayer *music_player; AOSfxPlayer *sfx_player; AOSfxPlayer *objection_player; diff --git a/src/courtroom.cpp b/src/courtroom.cpp index 98b6a9c..54034f8 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -70,6 +70,14 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() ui_background = new AOImage(this, ao_app); + free_brush = *new QBrush(ao_app->get_color("area_free_color", "courtroom_design.ini")); + lfp_brush = *new QBrush(ao_app->get_color("area_lfp_color", "courtroom_design.ini")); + casing_brush = *new QBrush(ao_app->get_color("area_casing_color", "courtroom_design.ini")); + recess_brush = *new QBrush(ao_app->get_color("area_recess_color", "courtroom_design.ini")); + rp_brush = *new QBrush(ao_app->get_color("area_rp_color", "courtroom_design.ini")); + gaming_brush = *new QBrush(ao_app->get_color("area_gaming_color", "courtroom_design.ini")); + locked_brush = *new QBrush(ao_app->get_color("area_locked_color", "courtroom_design.ini")); + ui_viewport = new QWidget(this); ui_vp_background = new AOScene(ui_viewport, ao_app); ui_vp_speedlines = new AOMovie(ui_viewport, ao_app); @@ -1433,15 +1441,6 @@ void Courtroom::list_areas() ui_area_list->clear(); // ui_music_search->setText(""); - QString f_file = "courtroom_design.ini"; - - QBrush free_brush(ao_app->get_color("area_free_color", f_file)); - QBrush lfp_brush(ao_app->get_color("area_lfp_color", f_file)); - QBrush casing_brush(ao_app->get_color("area_casing_color", f_file)); - QBrush recess_brush(ao_app->get_color("area_recess_color", f_file)); - QBrush rp_brush(ao_app->get_color("area_rp_color", f_file)); - QBrush gaming_brush(ao_app->get_color("area_gaming_color", f_file)); - QBrush locked_brush(ao_app->get_color("area_locked_color", f_file)); int n_listed_areas = 0; From cd3ddfe16c423fede1164aa95a36b65caab100e4 Mon Sep 17 00:00:00 2001 From: scatterflower Date: Sun, 16 Aug 2020 07:21:49 -0500 Subject: [PATCH 3/3] Update brushes on theme reload --- src/courtroom.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/courtroom.cpp b/src/courtroom.cpp index 54034f8..0b0f622 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -70,14 +70,6 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() ui_background = new AOImage(this, ao_app); - free_brush = *new QBrush(ao_app->get_color("area_free_color", "courtroom_design.ini")); - lfp_brush = *new QBrush(ao_app->get_color("area_lfp_color", "courtroom_design.ini")); - casing_brush = *new QBrush(ao_app->get_color("area_casing_color", "courtroom_design.ini")); - recess_brush = *new QBrush(ao_app->get_color("area_recess_color", "courtroom_design.ini")); - rp_brush = *new QBrush(ao_app->get_color("area_rp_color", "courtroom_design.ini")); - gaming_brush = *new QBrush(ao_app->get_color("area_gaming_color", "courtroom_design.ini")); - locked_brush = *new QBrush(ao_app->get_color("area_locked_color", "courtroom_design.ini")); - ui_viewport = new QWidget(this); ui_vp_background = new AOScene(ui_viewport, ao_app); ui_vp_speedlines = new AOMovie(ui_viewport, ao_app); @@ -942,6 +934,14 @@ void Courtroom::set_widgets() ui_spectator->setToolTip(tr("Become a spectator. You won't be able to " "interact with the in-character screen.")); + free_brush = *new QBrush(ao_app->get_color("area_free_color", "courtroom_design.ini")); + lfp_brush = *new QBrush(ao_app->get_color("area_lfp_color", "courtroom_design.ini")); + casing_brush = *new QBrush(ao_app->get_color("area_casing_color", "courtroom_design.ini")); + recess_brush = *new QBrush(ao_app->get_color("area_recess_color", "courtroom_design.ini")); + rp_brush = *new QBrush(ao_app->get_color("area_rp_color", "courtroom_design.ini")); + gaming_brush = *new QBrush(ao_app->get_color("area_gaming_color", "courtroom_design.ini")); + locked_brush = *new QBrush(ao_app->get_color("area_locked_color", "courtroom_design.ini")); + refresh_evidence(); }