#include "aoevidencedisplay.h" #include "datatypes.h" #include "file_functions.h" #include "misc_functions.h" AOEvidenceDisplay::AOEvidenceDisplay(QWidget *p_parent, AOApplication *p_ao_app) : QLabel(p_parent) { ao_app = p_ao_app; evidence_icon = new QLabel(this); sfx_player = new AOSfxPlayer(this, ao_app); evidence_movie = new AOMovie(this, ao_app); connect(evidence_movie, SIGNAL(done()), this, SLOT(show_done())); } void AOEvidenceDisplay::show_evidence(QString p_evidence_image, bool is_left_side, int p_volume) { this->reset(); sfx_player->set_volume(p_volume); QString final_gif_path; QString gif_name; QString icon_identifier; if (is_left_side) { icon_identifier = "left_evidence_icon"; gif_name = "evidence_appear_left"; } else { icon_identifier = "right_evidence_icon"; gif_name = "evidence_appear_right"; } QString f_evidence_path = ao_app->get_evidence_path(p_evidence_image); QPixmap f_pixmap(f_evidence_path); pos_size_type icon_dimensions = ao_app->get_element_dimensions(icon_identifier, "courtroom_design.ini"); f_pixmap = f_pixmap.scaled(icon_dimensions.width, icon_dimensions.height); evidence_icon->setPixmap(f_pixmap); evidence_icon->resize(f_pixmap.size()); evidence_icon->move(icon_dimensions.x, icon_dimensions.y); evidence_movie->play(gif_name); sfx_player->play(ao_app->get_sfx("evidence_present")); } void AOEvidenceDisplay::reset() { sfx_player->stop(); evidence_movie->stop(); evidence_icon->hide(); this->clear(); } void AOEvidenceDisplay::show_done() { evidence_icon->show(); } QLabel *AOEvidenceDisplay::get_evidence_icon() { return evidence_icon; } void AOEvidenceDisplay::combo_resize(int w, int h) { QSize f_size(w, h); this->resize(f_size); evidence_movie->combo_resize(w, h); }