From: Carl Hetherington Date: Thu, 9 Jan 2020 22:24:32 +0000 (+0100) Subject: Make the 'why not' messages for VF a bit clearer. X-Git-Tag: v2.15.41~4 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=886e0f9d08a241bef5baf328beb08a0d6996ae14 Make the 'why not' messages for VF a bit clearer. 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. --- diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index 183a3d4b9..d066c11e2 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -316,7 +316,13 @@ AudioPanel::setup_sensitivity () 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); diff --git a/src/wx/content_sub_panel.cc b/src/wx/content_sub_panel.cc index bdb365158..e4adc685b 100644 --- a/src/wx/content_sub_panel.cc +++ b/src/wx/content_sub_panel.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -58,23 +58,19 @@ ContentSubPanel::config_changed (Config::Property p) } void -ContentSubPanel::setup_refer_button (wxCheckBox* button, wxStaticText* note, shared_ptr dcp, bool can_reference, string why_not) const +ContentSubPanel::setup_refer_button (wxCheckBox* button, wxStaticText* note, shared_ptr dcp, bool can_reference, wxString cannot) const { button->Enable (can_reference); - wxString s; 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); - 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 (); diff --git a/src/wx/content_sub_panel.h b/src/wx/content_sub_panel.h index 7f201ff48..d5f502eea 100644 --- a/src/wx/content_sub_panel.h +++ b/src/wx/content_sub_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -48,7 +48,7 @@ public: protected: - void setup_refer_button (wxCheckBox* button, wxStaticText* note, boost::shared_ptr dcp, bool can_reference, std::string why_not) const; + void setup_refer_button (wxCheckBox* button, wxStaticText* note, boost::shared_ptr dcp, bool can_reference, wxString cannot) const; virtual void add_to_grid () = 0; ContentPanel* _parent; diff --git a/src/wx/text_panel.cc b/src/wx/text_panel.cc index 27465ad68..88857b0eb 100644 --- a/src/wx/text_panel.cc +++ b/src/wx/text_panel.cc @@ -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); - 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 (); diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc index e1d9fcb12..6e237e0d2 100644 --- a/src/wx/video_panel.cc +++ b/src/wx/video_panel.cc @@ -567,7 +567,13 @@ VideoPanel::setup_sensitivity () 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();