Make overridden subtitle language option respect OK/Cancel.
authorCarl Hetherington <cth@carlh.net>
Sat, 15 Oct 2022 00:17:38 +0000 (02:17 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 15 Oct 2022 21:24:56 +0000 (23:24 +0200)
src/wx/content_advanced_dialog.cc
src/wx/content_advanced_dialog.h
src/wx/content_menu.cc

index ba2c3f43b67b2e2588388c7b62c0004776386b99..547b77bb31bf6710bd4a879ec42ecc2516b4bdaf 100644 (file)
@@ -139,7 +139,6 @@ ContentAdvancedDialog::ContentAdvancedDialog (wxWindow* parent, shared_ptr<Conte
        _set_video_frame_rate->Bind (wxEVT_BUTTON, bind(&ContentAdvancedDialog::set_video_frame_rate, this));
        _video_frame_rate->Bind (wxEVT_TEXT, boost::bind(&ContentAdvancedDialog::video_frame_rate_changed, this));
        _burnt_subtitle->Bind (wxEVT_CHECKBOX, boost::bind(&ContentAdvancedDialog::burnt_subtitle_changed, this));
-       _burnt_subtitle_language->Changed.connect (boost::bind(&ContentAdvancedDialog::burnt_subtitle_language_changed, this));
 
        setup_sensitivity ();
 }
@@ -245,10 +244,9 @@ ContentAdvancedDialog::burnt_subtitle_changed ()
 }
 
 
-void
-ContentAdvancedDialog::burnt_subtitle_language_changed ()
+optional<dcp::LanguageTag>
+ContentAdvancedDialog::burnt_subtitle_language() const
 {
-       DCPOMATIC_ASSERT (_content->video);
-       _content->video->set_burnt_subtitle_language (_burnt_subtitle_language->get());
+       return _burnt_subtitle_language->get();
 }
 
index 3c2454449b742c8addeda51f7b998544a35a5a04..93a90ba618180bbe7532d350444ab3fca928f17a 100644 (file)
@@ -19,6 +19,7 @@
 */
 
 
+#include <dcp/language_tag.h>
 #include <dcp/warnings.h>
 LIBDCP_DISABLE_WARNINGS
 #include <wx/wx.h>
@@ -45,6 +46,7 @@ public:
        }
 
        boost::optional<double> video_frame_rate() const;
+       boost::optional<dcp::LanguageTag> burnt_subtitle_language() const;
 
 private:
        void edit_filters ();
@@ -54,7 +56,6 @@ private:
        void video_frame_rate_changed ();
        void setup_sensitivity ();
        void burnt_subtitle_changed ();
-       void burnt_subtitle_language_changed ();
 
        std::shared_ptr<Content> _content;
        bool _filters_allowed = false;
index 3dfb2f28214409a406e11c25272bc45393501aca..cae56283bbfde0673f2dd716bbfb8b0e57248aff 100644 (file)
@@ -474,6 +474,7 @@ ContentMenu::advanced ()
 
        if (content->video) {
                content->video->set_use(!dialog->ignore_video());
+               content->video->set_burnt_subtitle_language(dialog->burnt_subtitle_language());
        }
 
        auto ffmpeg = dynamic_pointer_cast<FFmpegContent>(content);