Don't show an error when cancelling subtitle analysis.
[dcpomatic.git] / src / wx / text_panel.h
index 7a7b7b504b3b95d41d3bb3621254adf9159064ce..eee5e916cb50248f9e48713d269fb77c70850101 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 #include "content_sub_panel.h"
+#include "wx_ptr.h"
+
 
-class wxCheckBox;
+class CheckBox;
 class wxSpinCtrl;
+class LanguageTagWidget;
 class TextView;
 class FontsDialog;
+class SpinCtrl;
 class SubtitleAnalysis;
 
+
 class TextPanel : public ContentSubPanel
 {
 public:
        TextPanel (ContentPanel *, TextType t);
 
-       void film_changed (Film::Property);
-       void film_content_changed (int);
-       void content_selection_changed ();
+       void create () override;
+       void film_changed (Film::Property) override;
+       void film_content_changed (int) override;
+       void content_selection_changed () override;
 
 private:
        void use_toggled ();
@@ -45,7 +52,6 @@ private:
        void y_scale_changed ();
        void line_spacing_changed ();
        void dcp_track_changed ();
-       void language_changed ();
        void stream_changed ();
        void text_view_clicked ();
        void fonts_dialog_clicked ();
@@ -55,9 +61,11 @@ private:
        TextType current_type () const;
        void update_dcp_tracks ();
        void update_dcp_track_selection ();
-       void add_to_grid ();
+       void add_to_grid () override;
        void try_to_load_analysis ();
-       void analysis_finished ();
+       void analysis_finished(Job::Result result);
+       void language_changed ();
+       void language_is_additional_changed ();
 
        void setup_sensitivity ();
        void setup_visibility ();
@@ -65,47 +73,49 @@ private:
        void update_outline_subtitles_in_viewer ();
        void clear_outline_subtitles ();
 
-       wxCheckBox* _reference;
+       CheckBox* _reference;
        wxStaticText* _reference_note;
-       wxCheckBox* _outline_subtitles;
-       wxCheckBox* _use;
+       CheckBox* _outline_subtitles = nullptr;
+       CheckBox* _use;
        wxChoice* _type;
-       wxCheckBox* _burn;
+       CheckBox* _burn;
        wxStaticText* _offset_label;
        wxStaticText* _x_offset_label;
        wxStaticText* _x_offset_pc_label;
        wxStaticText* _y_offset_label;
        wxStaticText* _y_offset_pc_label;
-       wxSpinCtrl* _x_offset;
-       wxSpinCtrl* _y_offset;
+       SpinCtrl* _x_offset;
+       SpinCtrl* _y_offset;
        wxStaticText* _scale_label;
        wxStaticText* _x_scale_label;
        wxStaticText* _x_scale_pc_label;
        wxStaticText* _y_scale_label;
        wxStaticText* _y_scale_pc_label;
-       wxSpinCtrl* _x_scale;
-       wxSpinCtrl* _y_scale;
+       SpinCtrl* _x_scale;
+       SpinCtrl* _y_scale;
        wxStaticText* _line_spacing_label;
        wxStaticText* _line_spacing_pc_label;
-       wxSpinCtrl* _line_spacing;
-       wxStaticText* _dcp_track_label;
-       wxChoice* _dcp_track;
-       wxStaticText* _language_label;
-       wxTextCtrl* _language;
+       SpinCtrl* _line_spacing;
+       wxStaticText* _dcp_track_label = nullptr;
+       wxChoice* _dcp_track = nullptr;
        wxStaticText* _stream_label;
        wxChoice* _stream;
        wxButton* _text_view_button;
-       TextView* _text_view;
+       wx_ptr<TextView> _text_view;
        wxButton* _fonts_dialog_button;
-       FontsDialog* _fonts_dialog;
+       wx_ptr<FontsDialog> _fonts_dialog;
        wxButton* _appearance_dialog_button;
        TextType _original_type;
+       wxStaticText* _language_label = nullptr;
+       LanguageTagWidget* _language = nullptr;
+       wxSizer* _language_sizer = nullptr;
+       wxChoice* _language_type = nullptr;
 
        int _outline_subtitles_row;
-       int _language_row;
+       int _ccap_track_or_language_row;
 
-       boost::weak_ptr<Content> _analysis_content;
+       std::weak_ptr<Content> _analysis_content;
        boost::signals2::scoped_connection _analysis_finished_connection;
-       boost::shared_ptr<SubtitleAnalysis> _analysis;
-       bool _loading_analysis;
+       std::shared_ptr<SubtitleAnalysis> _analysis;
+       bool _loading_analysis = false;
 };