diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/charselect.cpp | 7 | ||||
| -rw-r--r-- | src/courtroom.cpp | 105 | ||||
| -rw-r--r-- | src/path_functions.cpp | 71 |
3 files changed, 99 insertions, 84 deletions
diff --git a/src/charselect.cpp b/src/charselect.cpp index 7b9308a4..d57d7518 100644 --- a/src/charselect.cpp +++ b/src/charselect.cpp @@ -188,13 +188,6 @@ void Courtroom::char_clicked(int n_char) enter_courtroom(); set_courtroom_size(); } - - if (n_char != -1) { - ui_ic_chat_name->setPlaceholderText(char_list.at(n_char).name); - } - else { - ui_ic_chat_name->setPlaceholderText("Spectator"); - } } void Courtroom::put_button_in_place(int starting, int chars_on_this_page) diff --git a/src/courtroom.cpp b/src/courtroom.cpp index 54bb1f46..1c043789 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -70,6 +70,13 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() ui_vp_chatbox = new AOImage(this, ao_app); ui_vp_chatbox->setObjectName("ui_vp_chatbox"); + + ui_vp_sticker = new StickerLayer(this, ao_app); + ui_vp_sticker->set_play_once(false); + ui_vp_sticker->set_cull_image(false); + ui_vp_sticker->setAttribute(Qt::WA_TransparentForMouseEvents); + ui_vp_sticker->setObjectName("ui_vp_sticker"); + ui_vp_showname = new QLabel(ui_vp_chatbox); ui_vp_showname->setObjectName("ui_vp_showname"); ui_vp_showname->setAlignment(Qt::AlignLeft); @@ -173,17 +180,12 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() ui_ic_chat_message = new QLineEdit(this); ui_ic_chat_message->setFrame(false); - ui_ic_chat_message->setPlaceholderText(tr("Message")); + ui_ic_chat_message->setPlaceholderText(tr("Message in-character")); ui_ic_chat_message_filter = new AOLineEditFilter(); ui_ic_chat_message_filter->preserve_selection = true; ui_ic_chat_message->installEventFilter(ui_ic_chat_message_filter); ui_ic_chat_message->setObjectName("ui_ic_chat_message"); - ui_vp_sticker = new StickerLayer(ui_viewport, ao_app); - ui_vp_sticker->set_play_once(false); - ui_vp_sticker->setAttribute(Qt::WA_TransparentForMouseEvents); - ui_vp_sticker->setObjectName("ui_vp_sticker"); - ui_muted = new AOImage(ui_ic_chat_message, ao_app); ui_muted->hide(); ui_muted->setObjectName("ui_muted"); @@ -191,6 +193,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() ui_ooc_chat_message = new QLineEdit(this); ui_ooc_chat_message->setFrame(false); ui_ooc_chat_message->setObjectName("ui_ooc_chat_message"); + ui_ooc_chat_message->setPlaceholderText(tr("Message out-of-character")); ui_ooc_chat_name = new QLineEdit(this); ui_ooc_chat_name->setFrame(false); @@ -830,7 +833,7 @@ void Courtroom::set_widgets() ui_vp_message->y() + ui_vp_chatbox->y()); ui_vp_message->setTextInteractionFlags(Qt::NoTextInteraction); - ui_vp_sticker->move(0, 0); + ui_vp_sticker->move(ui_viewport->x(), ui_viewport->y()); ui_vp_sticker->combo_resize(ui_viewport->width(), ui_viewport->height()); @@ -1443,7 +1446,15 @@ void Courtroom::set_pos_dropdown(QStringList pos_dropdowns) ui_pos_dropdown->blockSignals(true); pos_dropdown_list = pos_dropdowns; ui_pos_dropdown->clear(); - ui_pos_dropdown->addItems(pos_dropdown_list); + for (int n = 0; n < pos_dropdown_list.size(); ++n) { + QString pos = pos_dropdown_list.at(n); + ui_pos_dropdown->addItem(pos); + QPixmap image = QPixmap(ao_app->get_image_suffix(ao_app->get_background_path(ao_app->get_pos_path(pos)))); + if (!image.isNull()) { + image = image.scaledToHeight(ui_pos_dropdown->iconSize().height()); + } + ui_pos_dropdown->setItemIcon(n, image); + } if (current_side != "" && !pos_dropdown_list.contains(current_side)) ui_pos_dropdown->setEditText(current_side); @@ -1545,9 +1556,12 @@ void Courtroom::update_character(int p_cid) } } - if (m_cid != -1) // there is no name at char_list -1, and we crash if we try - // to find one + if (m_cid != -1) { ui_ic_chat_name->setPlaceholderText(char_list.at(m_cid).name); + } + else { + ui_ic_chat_name->setPlaceholderText("Spectator"); + } ui_char_select_background->hide(); ui_ic_chat_message->setEnabled(m_cid != -1); ui_ic_chat_message->setFocus(); @@ -3754,73 +3768,10 @@ void Courtroom::play_sfx() ao_app->get_sfx_looping(current_char, current_emote) == "1"); } -void Courtroom::set_scene(QString f_desk_mod, QString f_side) +void Courtroom::set_scene(const QString f_desk_mod, const QString f_side) { - // witness is default if pos is invalid - QString f_background; - QString f_desk_image; - if (file_exists(ao_app->get_image_suffix(ao_app->get_background_path("witnessempty")))) { - f_background = "witnessempty"; - f_desk_image = "stand"; - } - else { - f_background = "wit"; - f_desk_image = "wit_overlay"; - } - - if (f_side == "def" && file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("defenseempty")))) { - f_background = "defenseempty"; - f_desk_image = "defensedesk"; - } - else if (f_side == "pro" && - file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("prosecutorempty")))) { - f_background = "prosecutorempty"; - f_desk_image = "prosecutiondesk"; - } - else if (f_side == "jud" && file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("judgestand")))) { - f_background = "judgestand"; - f_desk_image = "judgedesk"; - } - else if (f_side == "hld" && - file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("helperstand")))) { - f_background = "helperstand"; - f_desk_image = "helperdesk"; - } - else if (f_side == "hlp" && - file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("prohelperstand")))) { - f_background = "prohelperstand"; - f_desk_image = "prohelperdesk"; - } - else if (f_side == "jur" && file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("jurystand")))) { - f_background = "jurystand"; - f_desk_image = "jurydesk"; - } - else if (f_side == "sea" && - file_exists(ao_app->get_image_suffix( - ao_app->get_background_path("seancestand")))) { - f_background = "seancestand"; - f_desk_image = "seancedesk"; - } - - if (file_exists(ao_app->get_image_suffix( - ao_app->get_background_path(f_side)))) // Unique pos path - { - f_background = f_side; - f_desk_image = f_side + "_overlay"; - } - - QString desk_override = ao_app->read_design_ini("overlays/" + f_background, ao_app->get_background_path("design.ini")); - if (desk_override != "") - f_desk_image = desk_override; - - ui_vp_background->load_image(f_background); - ui_vp_desk->load_image(f_desk_image); + ui_vp_background->load_image(ao_app->get_pos_path(f_side)); + ui_vp_desk->load_image(ao_app->get_pos_path(f_side, true)); if (f_desk_mod == "0" || (f_desk_mod != "1" && @@ -5194,7 +5145,7 @@ void Courtroom::set_text_color_dropdown() ui_text_color->addItem(color_name); QPixmap pixmap(16, 16); pixmap.fill(color); - ui_text_color->setItemIcon(ui_text_color->count() - 1, QIcon(pixmap)); + ui_text_color->setItemIcon(ui_text_color->count() - 1, pixmap); color_row_to_number.append(c); } for (int c = 0; c < max_colors; ++c) { diff --git a/src/path_functions.cpp b/src/path_functions.cpp index ded1b675..575461f0 100644 --- a/src/path_functions.cpp +++ b/src/path_functions.cpp @@ -92,6 +92,77 @@ VPath AOApplication::get_default_background_path(QString p_file) return VPath("background/default/" + p_file); } +QString AOApplication::get_pos_path(const QString& pos, const bool desk) +{ + // witness is default if pos is invalid + QString f_background; + QString f_desk_image; + if (file_exists(get_image_suffix(get_background_path("witnessempty")))) { + f_background = "witnessempty"; + f_desk_image = "stand"; + } + else { + f_background = "wit"; + f_desk_image = "wit_overlay"; + } + + if (pos == "def" && file_exists(get_image_suffix( + get_background_path("defenseempty")))) { + f_background = "defenseempty"; + f_desk_image = "defensedesk"; + } + else if (pos == "pro" && + file_exists(get_image_suffix( + get_background_path("prosecutorempty")))) { + f_background = "prosecutorempty"; + f_desk_image = "prosecutiondesk"; + } + else if (pos == "jud" && file_exists(get_image_suffix( + get_background_path("judgestand")))) { + f_background = "judgestand"; + f_desk_image = "judgedesk"; + } + else if (pos == "hld" && + file_exists(get_image_suffix( + get_background_path("helperstand")))) { + f_background = "helperstand"; + f_desk_image = "helperdesk"; + } + else if (pos == "hlp" && + file_exists(get_image_suffix( + get_background_path("prohelperstand")))) { + f_background = "prohelperstand"; + f_desk_image = "prohelperdesk"; + } + else if (pos == "jur" && file_exists(get_image_suffix( + get_background_path("jurystand")))) { + f_background = "jurystand"; + f_desk_image = "jurydesk"; + } + else if (pos == "sea" && + file_exists(get_image_suffix( + get_background_path("seancestand")))) { + f_background = "seancestand"; + f_desk_image = "seancedesk"; + } + + if (file_exists(get_image_suffix( + get_background_path(pos)))) // Unique pos path + { + f_background = pos; + f_desk_image = pos + "_overlay"; + } + + QString desk_override = read_design_ini("overlays/" + f_background, get_background_path("design.ini")); + if (desk_override != "") { + f_desk_image = desk_override; +} + if (desk) { + return f_desk_image; + } + return f_background; +} + VPath AOApplication::get_evidence_path(QString p_file) { return VPath("evidence/" + p_file); |
