Make the 'why not' messages for VF a bit clearer.
authorCarl Hetherington <cth@carlh.net>
Thu, 9 Jan 2020 22:24:32 +0000 (23:24 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 9 Jan 2020 22:24:35 +0000 (23:24 +0100)
Before it sounded like just because we couldn't refer to (e.g.) the audio
we couldn't refer to any part of the DCP.

src/wx/audio_panel.cc
src/wx/content_sub_panel.cc
src/wx/content_sub_panel.h
src/wx/text_panel.cc
src/wx/video_panel.cc

index 183a3d4b9817ca8cfe89425e583eb69966f2cbcc..d066c11e25dd55aa7eae73d24f4e8b9f121b0bb0 100644 (file)
@@ -316,7 +316,13 @@ AudioPanel::setup_sensitivity ()
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_audio (_parent->film(), why_not);
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_audio (_parent->film(), why_not);
-       setup_refer_button (_reference, _reference_note, dcp, can_reference, why_not);
+       wxString cannot;
+       if (why_not.empty()) {
+               cannot = _("Cannot reference this DCP's audio.");
+       } else {
+               cannot = _("Cannot reference this DCP's audio: ") + std_to_wx(why_not);
+       }
+       setup_refer_button (_reference, _reference_note, dcp, can_reference, cannot);
 
        if (_reference->GetValue ()) {
                _gain->wrapped()->Enable (false);
 
        if (_reference->GetValue ()) {
                _gain->wrapped()->Enable (false);
index bdb365158c7e743e51506792ca4d2e7b078d5f9f..e4adc685b03fa11000bb23b25f1c0cb7cb625916 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
     This file is part of DCP-o-matic.
 
@@ -58,23 +58,19 @@ ContentSubPanel::config_changed (Config::Property p)
 }
 
 void
 }
 
 void
-ContentSubPanel::setup_refer_button (wxCheckBox* button, wxStaticText* note, shared_ptr<DCPContent> dcp, bool can_reference, string why_not) const
+ContentSubPanel::setup_refer_button (wxCheckBox* button, wxStaticText* note, shared_ptr<DCPContent> dcp, bool can_reference, wxString cannot) const
 {
        button->Enable (can_reference);
 
 {
        button->Enable (can_reference);
 
-       wxString s;
        if (dcp && !can_reference) {
        if (dcp && !can_reference) {
-               if (why_not.empty()) {
-                       s = _("Cannot reference this DCP.");
-               } else {
-                       s = _("Cannot reference this DCP: ") + std_to_wx(why_not);
-               }
+               note->SetLabel (cannot);
+       } else {
+               note->SetLabel (wxT(""));
        }
 
        }
 
-       note->SetLabel (s);
        note->Wrap (400);
 
        note->Wrap (400);
 
-       if (s.IsEmpty() || Config::instance()->interface_complexity() == Config::INTERFACE_SIMPLE) {
+       if (cannot.IsEmpty() || Config::instance()->interface_complexity() == Config::INTERFACE_SIMPLE) {
                note->Hide ();
        } else {
                note->Show ();
                note->Hide ();
        } else {
                note->Show ();
index 7f201ff488773fdd2bcb91246ad2b2ad72a99779..d5f502eeaf2a59608be487a9ccfb520feabb8d85 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
     This file is part of DCP-o-matic.
 
@@ -48,7 +48,7 @@ public:
 
 protected:
 
 
 protected:
 
-       void setup_refer_button (wxCheckBox* button, wxStaticText* note, boost::shared_ptr<DCPContent> dcp, bool can_reference, std::string why_not) const;
+       void setup_refer_button (wxCheckBox* button, wxStaticText* note, boost::shared_ptr<DCPContent> dcp, bool can_reference, wxString cannot) const;
        virtual void add_to_grid () = 0;
 
        ContentPanel* _parent;
        virtual void add_to_grid () = 0;
 
        ContentPanel* _parent;
index 27465ad6879ee6336db60bd5064e60842216f143..88857b0eb7b6a1acdbfc43054b70fb5ec687bd93 100644 (file)
@@ -523,7 +523,13 @@ TextPanel::setup_sensitivity ()
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_text (_parent->film(), _original_type, why_not);
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_text (_parent->film(), _original_type, why_not);
-       setup_refer_button (_reference, _reference_note, dcp, can_reference, why_not);
+       wxString cannot;
+       if (why_not.empty()) {
+               cannot = _("Cannot reference this DCP's subtitles or captions.");
+       } else {
+               cannot = _("Cannot reference this DCP's subtitles or captions: ") + std_to_wx(why_not);
+       }
+       setup_refer_button (_reference, _reference_note, dcp, can_reference, cannot);
 
        bool const reference = _reference->GetValue ();
 
 
        bool const reference = _reference->GetValue ();
 
index e1d9fcb123c1ffc31da68cc1fe050ad8586eeae1..6e237e0d2e3fbe4c2a4cec60179252431bb77587 100644 (file)
@@ -567,7 +567,13 @@ VideoPanel::setup_sensitivity ()
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_video (_parent->film(), why_not);
 
        string why_not;
        bool const can_reference = dcp && dcp->can_reference_video (_parent->film(), why_not);
-       setup_refer_button (_reference, _reference_note, dcp, can_reference, why_not);
+       wxString cannot;
+       if (why_not.empty()) {
+               cannot = _("Cannot reference this DCP's video.");
+       } else {
+               cannot = _("Cannot reference this DCP's video: ") + std_to_wx(why_not);
+       }
+       setup_refer_button (_reference, _reference_note, dcp, can_reference, cannot);
 
        bool const enable = !_reference->GetValue() && _use->GetValue();
 
 
        bool const enable = !_reference->GetValue() && _use->GetValue();