summaryrefslogtreecommitdiff
path: root/src/tools/dcpomatic_player.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-11-28 02:42:50 +0100
committerCarl Hetherington <cth@carlh.net>2020-11-29 23:00:40 +0100
commit0c56d4be9f49592eabec832381608ba75b453df4 (patch)
tree9116cc1ea990082aefaa7792a1aab4e9edbd740a /src/tools/dcpomatic_player.cc
parent64bd18216738052c150770561f8f78e13ca792b8 (diff)
Better progress reporting during DCP validation (#1812).v2.15.108
Diffstat (limited to 'src/tools/dcpomatic_player.cc')
-rw-r--r--src/tools/dcpomatic_player.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index 9fab8b588..d4e247d62 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -32,6 +32,7 @@
#include "wx/timer_display.h"
#include "wx/system_information_dialog.h"
#include "wx/player_stress_tester.h"
+#include "wx/verify_dcp_progress_dialog.h"
#include "lib/cross.h"
#include "lib/config.h"
#include "lib/util.h"
@@ -787,18 +788,15 @@ private:
shared_ptr<DCPContent> dcp = boost::dynamic_pointer_cast<DCPContent>(_film->content().front());
DCPOMATIC_ASSERT (dcp);
- JobManager* jm = JobManager::instance ();
- jm->add (shared_ptr<Job> (new VerifyDCPJob (dcp->directories())));
- bool const ok = display_progress (_("DCP-o-matic Player"), _("Verifying DCP"));
- if (!ok) {
+ shared_ptr<VerifyDCPJob> job (new VerifyDCPJob(dcp->directories()));
+ VerifyDCPProgressDialog* progress = new VerifyDCPProgressDialog(this, _("DCP-o-matic Player"));
+ bool const completed = progress->run (job);
+ progress->Destroy ();
+ if (!completed) {
return;
}
- DCPOMATIC_ASSERT (!jm->get().empty());
- shared_ptr<VerifyDCPJob> last = dynamic_pointer_cast<VerifyDCPJob> (jm->get().back());
- DCPOMATIC_ASSERT (last);
-
- VerifyDCPDialog* d = new VerifyDCPDialog (this, last);
+ VerifyDCPDialog* d = new VerifyDCPDialog (this, job);
d->ShowModal ();
d->Destroy ();
}