From: Carl Hetherington Date: Thu, 15 Mar 2018 23:47:50 +0000 (+0000) Subject: Missing files. X-Git-Tag: v2.13.1~6 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=dc87773c69beb0249c1d50841730a10a496b563a Missing files. --- diff --git a/src/lib/verify_dcp_job.cc b/src/lib/verify_dcp_job.cc new file mode 100644 index 000000000..0a54cabd0 --- /dev/null +++ b/src/lib/verify_dcp_job.cc @@ -0,0 +1,63 @@ +/* + Copyright (C) 2018 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "verify_dcp_job.h" +#include "content.h" + +#include "i18n.h" + +using std::string; +using std::vector; +using boost::shared_ptr; + +VerifyDCPJob::VerifyDCPJob (vector directories) + : Job (shared_ptr()) + , _directories (directories) +{ + +} + +string +VerifyDCPJob::name () const +{ + return _("Verify DCP"); +} + +string +VerifyDCPJob::json_name () const +{ + return N_("verify_dcp"); +} + +void +VerifyDCPJob::run () +{ + _notes = dcp::verify (_directories); + + bool failed = false; + BOOST_FOREACH (dcp::VerificationNote i, _notes) { + if (i.type() == dcp::VerificationNote::ERROR) { + failed = true; + } + } + + set_progress (1); + set_state (failed ? FINISHED_ERROR : FINISHED_OK); +} diff --git a/src/lib/verify_dcp_job.h b/src/lib/verify_dcp_job.h new file mode 100644 index 000000000..f61e44372 --- /dev/null +++ b/src/lib/verify_dcp_job.h @@ -0,0 +1,43 @@ +/* + Copyright (C) 2018 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "job.h" +#include +#include + +class Content; + +class VerifyDCPJob : public Job +{ +public: + VerifyDCPJob (std::vector directories); + + std::string name () const; + std::string json_name () const; + void run (); + + std::list notes () const { + return _notes; + } + +private: + std::vector _directories; + std::list _notes; +}; diff --git a/src/wx/verify_dcp_dialog.cc b/src/wx/verify_dcp_dialog.cc new file mode 100644 index 000000000..b1eea0fd2 --- /dev/null +++ b/src/wx/verify_dcp_dialog.cc @@ -0,0 +1,80 @@ +/* + Copyright (C) 2018 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "verify_dcp_dialog.h" +#include "wx_util.h" +#include +#include +#include + +using std::list; + +VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, list notes) + : wxDialog (parent, wxID_ANY, _("DCP verification")) +{ + wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL); + _text = new wxRichTextCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (400, 300), wxRE_READONLY); + sizer->Add (_text, 1, wxEXPAND | wxALL, 6); + + wxStdDialogButtonSizer* buttons = CreateStdDialogButtonSizer (0); + sizer->Add (CreateSeparatedSizer(buttons), wxSizerFlags().Expand().DoubleBorder()); + buttons->SetAffirmativeButton (new wxButton (this, wxID_OK)); + buttons->Realize (); + + SetSizer (sizer); + sizer->Layout (); + sizer->SetSizeHints (this); + + _text->GetCaret()->Hide (); + + if (notes.empty ()) { + _text->BeginStandardBullet (N_("standard/circle"), 1, 50); + _text->WriteText (_("DCP validates OK.")); + _text->EndStandardBullet (); + return; + } + + BOOST_FOREACH (dcp::VerificationNote i, notes) { + switch (i.type()) { + case dcp::VerificationNote::NOTE: + _text->BeginStandardBullet (N_("standard/circle"), 1, 50); + break; + case dcp::VerificationNote::WARNING: + _text->BeginStandardBullet (N_("standard/diamond"), 1, 50); + break; + case dcp::VerificationNote::ERROR: + _text->BeginSymbolBullet (N_("!"), 1, 50); + break; + } + + _text->WriteText (std_to_wx (i.note())); + _text->Newline (); + + switch (i.type()) { + case dcp::VerificationNote::NOTE: + case dcp::VerificationNote::WARNING: + _text->EndStandardBullet (); + break; + case dcp::VerificationNote::ERROR: + _text->EndSymbolBullet (); + break; + } + } +} diff --git a/src/wx/verify_dcp_dialog.h b/src/wx/verify_dcp_dialog.h new file mode 100644 index 000000000..1ecaf2d73 --- /dev/null +++ b/src/wx/verify_dcp_dialog.h @@ -0,0 +1,34 @@ +/* + Copyright (C) 2018 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include +#include +#include + +class wxRichTextCtrl; + +class VerifyDCPDialog : public wxDialog +{ +public: + VerifyDCPDialog (wxWindow* parent, std::list notes); + +private: + wxRichTextCtrl* _text; +};