aboutsummaryrefslogtreecommitdiff
path: root/src/aoevidencedisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/aoevidencedisplay.cpp')
-rw-r--r--src/aoevidencedisplay.cpp45
1 files changed, 15 insertions, 30 deletions
diff --git a/src/aoevidencedisplay.cpp b/src/aoevidencedisplay.cpp
index 3fde05aa..fef072ba 100644
--- a/src/aoevidencedisplay.cpp
+++ b/src/aoevidencedisplay.cpp
@@ -7,12 +7,12 @@
AOEvidenceDisplay::AOEvidenceDisplay(QWidget *p_parent, AOApplication *p_ao_app) : QLabel(p_parent)
{
ao_app = p_ao_app;
-
- evidence_movie = new QMovie(this);
evidence_icon = new QLabel(this);
sfx_player = new AOSfxPlayer(this, ao_app);
- connect(evidence_movie, SIGNAL(frameChanged(int)), this, SLOT(frame_change(int)));
+ 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)
@@ -47,36 +47,10 @@ void AOEvidenceDisplay::show_evidence(QString p_evidence_image, bool is_left_sid
evidence_icon->setPixmap(f_pixmap.scaled(evidence_icon->width(), evidence_icon->height(), Qt::IgnoreAspectRatio));
- QString f_default_gif_path = ao_app->get_image_suffix(ao_app->get_default_theme_path(gif_name));
- QString f_gif_path = ao_app->get_image_suffix(ao_app->get_theme_path(gif_name));
-
- if (file_exists(f_gif_path))
- final_gif_path = f_gif_path;
- else
- final_gif_path = f_default_gif_path;
-
- evidence_movie->setFileName(final_gif_path);
-
- this->setMovie(evidence_movie);
-
- evidence_movie->start();
+ evidence_movie->play(gif_name);
sfx_player->play(ao_app->get_sfx("evidence_present"));
}
-void AOEvidenceDisplay::frame_change(int p_frame)
-{
- if (p_frame == (evidence_movie->frameCount() - 1))
- {
- //we need this or else the last frame wont show
- delay(evidence_movie->nextFrameDelay());
-
- evidence_movie->stop();
- this->clear();
-
- evidence_icon->show();
- }
-}
-
void AOEvidenceDisplay::reset()
{
sfx_player->stop();
@@ -85,9 +59,20 @@ void AOEvidenceDisplay::reset()
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);
+}