Allow configuration of default value of upload-to-TMS button.
authorCarl Hetherington <cth@carlh.net>
Tue, 16 Jan 2018 14:49:27 +0000 (14:49 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 16 Jan 2018 21:29:27 +0000 (21:29 +0000)
ChangeLog
src/lib/config.cc
src/lib/config.h
src/lib/film.cc
src/wx/full_config_dialog.cc

index e0e88418894f2b9f5893cd4912734e696cf6a9e7..7b4b8d28b6cbb0d267a918a1ca96043fdea4f973 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-16  Carl Hetherington  <cth@carlh.net>
+
+       * Allow configuration of default value of upload-to-TMS button.
+
 2018-01-15  Carl Hetherington  <cth@carlh.net>
 
        * Updated cs_CZ translation from Tomáš Begeni.
index 983fb69d8d8af2725c5bec70b28a32c298a202e2..9106a9559805f3689b97e782cbdd20ad47b5f64a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2017 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -101,6 +101,7 @@ Config::set_defaults ()
        _default_j2k_bandwidth = 100000000;
        _default_audio_delay = 0;
        _default_interop = true;
+       _default_upload_after_make_dcp = false;
        _mail_server = "";
        _mail_port = 25;
        _mail_user = "";
@@ -263,6 +264,7 @@ try
                _dcp_issuer = f.string_child ("DCPIssuer");
        }
 
+       _default_upload_after_make_dcp = f.optional_bool_child("DefaultUploadAfterMakeDCP").get_value_or (false);
        _dcp_creator = f.optional_string_child ("DCPCreator").get_value_or ("");
 
        if (version && version.get() >= 2) {
@@ -539,6 +541,7 @@ Config::write_config () const
        root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
        /* [XML] DCPIssuer Creator text to write into CPL files. */
        root->add_child("DCPCreator")->add_child_text (_dcp_creator);
+       root->add_child("DefaultUploadAfterMakeDCP")->add_child_text (_default_upload_after_make_dcp ? "1" : "0");
 
        /* [XML] ISDCFMetadata Default ISDCF metadata to use for new films; child tags are <code>&lt;ContentVersion&gt;</code>,
           <code>&lt;AudioLanguage&gt;</code>, <code>&lt;SubtitleLanguage&gt;</code>, <code>&lt;Territory&gt;</code>,
index 61d9c64e6baf17f6536a1d29d8b25ce109aa11e5..dae1924a86c50ea1948e65878f2cf1432a19d511 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2017 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -196,6 +196,10 @@ public:
                return _default_interop;
        }
 
+       bool default_upload_after_make_dcp () {
+               return _default_upload_after_make_dcp;
+       }
+
        void set_default_kdm_directory (boost::filesystem::path d) {
                if (_default_kdm_directory && _default_kdm_directory.get() == d) {
                        return;
@@ -487,6 +491,10 @@ public:
                maybe_set (_default_interop, i);
        }
 
+       void set_default_upload_after_make_dcp (bool u) {
+               maybe_set (_default_upload_after_make_dcp, u);
+       }
+
        void set_mail_server (std::string s) {
                maybe_set (_mail_server, s);
        }
@@ -753,6 +761,7 @@ private:
            the home directory will be offered.
        */
        boost::optional<boost::filesystem::path> _default_kdm_directory;
+       bool _default_upload_after_make_dcp;
        std::list<boost::shared_ptr<Cinema> > _cinemas;
        std::string _mail_server;
        int _mail_port;
index f57b6299dfd551cb99756ee4251fccf96747654c..361daa8b6c0e03114aaa1cb59ae4a9cf02af9d01 100644 (file)
@@ -151,7 +151,7 @@ Film::Film (optional<boost::filesystem::path> dir)
        , _audio_processor (0)
        , _reel_type (REELTYPE_SINGLE)
        , _reel_length (2000000000)
-       , _upload_after_make_dcp (false)
+       , _upload_after_make_dcp (Config::instance()->default_upload_after_make_dcp())
        , _state_version (current_state_version)
        , _dirty (false)
 {
index 35f6f1f23117994c7eae4692857f01a7fa24ddf2..ce3348c261f71fccad245186df03349136bc087a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2017 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -335,8 +335,12 @@ private:
 #else
                _kdm_directory = new wxDirPickerCtrl (_panel, wxDD_DIR_MUST_EXIST);
 #endif
+
                table->Add (_kdm_directory, 1, wxEXPAND);
 
+               _upload_after_make_dcp = new wxCheckBox (_panel, wxID_ANY, _("Default to enabling upload of DCP to TMS"));
+               table->Add (_upload_after_make_dcp, 1, wxEXPAND);
+
                _still_length->SetRange (1, 3600);
                _still_length->Bind (wxEVT_SPINCTRL, boost::bind (&DefaultsPage::still_length_changed, this));
 
@@ -377,6 +381,8 @@ private:
                _standard->Append (_("SMPTE"));
                _standard->Append (_("Interop"));
                _standard->Bind (wxEVT_CHOICE, boost::bind (&DefaultsPage::standard_changed, this));
+
+               _upload_after_make_dcp->Bind (wxEVT_CHECKBOX, boost::bind (&DefaultsPage::upload_after_make_dcp_changed, this));
        }
 
        void config_changed ()
@@ -416,6 +422,7 @@ private:
                checked_set (_dcp_audio_channels, locale_convert<string> (config->default_dcp_audio_channels()));
                checked_set (_audio_delay, config->default_audio_delay ());
                checked_set (_standard, config->default_interop() ? 1 : 0);
+               checked_set (_upload_after_make_dcp, config->default_upload_after_make_dcp());
        }
 
        void j2k_bandwidth_changed ()
@@ -489,6 +496,11 @@ private:
                Config::instance()->set_default_interop (_standard->GetSelection() == 1);
        }
 
+       void upload_after_make_dcp_changed ()
+       {
+               Config::instance()->set_default_upload_after_make_dcp (_upload_after_make_dcp->GetValue ());
+       }
+
        wxSpinCtrl* _j2k_bandwidth;
        wxSpinCtrl* _audio_delay;
        wxButton* _isdcf_metadata_button;
@@ -505,6 +517,7 @@ private:
        wxChoice* _dcp_content_type;
        wxChoice* _dcp_audio_channels;
        wxChoice* _standard;
+       wxCheckBox* _upload_after_make_dcp;
 };
 
 class EncodingServersPage : public StandardPage