Add option to use (or not) ISDCF names by default.
[dcpomatic.git] / src / wx / text_panel.cc
index a3e8a2c63be44fe039f58242fc6b9bb0e74a6b1b..7bbead30ccb91926004e34e4cf49a1c557ae55b3 100644 (file)
@@ -61,9 +61,16 @@ using boost::bind;
 TextPanel::TextPanel (ContentPanel* p, TextType t)
        : ContentSubPanel (p, std_to_wx(text_type_to_name(t)))
        , _original_type (t)
+{
+
+}
+
+
+void
+TextPanel::create ()
 {
        wxString refer = _("Use this DCP's subtitle as OV and make VF");
-       if (t == TextType::CLOSED_CAPTION) {
+       if (_original_type == TextType::CLOSED_CAPTION) {
                refer = _("Use this DCP's closed caption as OV and make VF");
        }
 
@@ -82,30 +89,24 @@ TextPanel::TextPanel (ContentPanel* p, TextType t)
 
        _burn = new CheckBox (this, _("Burn subtitles into image"));
 
-#ifdef __WXGTK3__
-       int const spin_width = 118;
-#else
-       int const spin_width = 56;
-#endif
-
        _offset_label = create_label (this, _("Offset"), true);
        _x_offset_label = create_label (this, _("X"), true);
-       _x_offset = new SpinCtrl (this, spin_width);
+       _x_offset = new SpinCtrl (this, DCPOMATIC_SPIN_CTRL_WIDTH);
        _x_offset_pc_label = new StaticText (this, _("%"));
        _y_offset_label = create_label (this, _("Y"), true);
-       _y_offset = new SpinCtrl (this, spin_width);
+       _y_offset = new SpinCtrl (this, DCPOMATIC_SPIN_CTRL_WIDTH);
        _y_offset_pc_label = new StaticText (this, _("%"));
 
        _scale_label = create_label (this, _("Scale"), true);
        _x_scale_label = create_label (this, _("X"), true);
-       _x_scale = new SpinCtrl (this, spin_width);
+       _x_scale = new SpinCtrl (this, DCPOMATIC_SPIN_CTRL_WIDTH);
        _x_scale_pc_label = new StaticText (this, _("%"));
        _y_scale_label = create_label (this, S_("Coord|Y"), true);
-       _y_scale = new SpinCtrl (this, spin_width);
+       _y_scale = new SpinCtrl (this, DCPOMATIC_SPIN_CTRL_WIDTH);
        _y_scale_pc_label = new StaticText (this, _("%"));
 
        _line_spacing_label = create_label (this, _("Line spacing"), true);
-       _line_spacing = new SpinCtrl (this, spin_width);
+       _line_spacing = new SpinCtrl (this, DCPOMATIC_SPIN_CTRL_WIDTH);
        _line_spacing_pc_label = new StaticText (this, _("%"));
 
        _stream_label = create_label (this, _("Stream"), true);
@@ -137,6 +138,8 @@ TextPanel::TextPanel (ContentPanel* p, TextType t)
 
        add_to_grid();
        content_selection_changed ();
+
+       _sizer->Layout ();
 }
 
 
@@ -171,7 +174,7 @@ TextPanel::setup_visibility ()
                        _language_type->Append (_("Main"));
                        _language_type->Append (_("Additional"));
                        _language_type->Bind (wxEVT_CHOICE, boost::bind(&TextPanel::language_is_additional_changed, this));
-                       _language_sizer->Add (_language_type, 0);
+                       _language_sizer->Add (_language_type, 0, wxALIGN_CENTER_VERTICAL | wxTOP, DCPOMATIC_CHOICE_TOP_PAD);
                        _grid->Add (_language_sizer, wxGBPosition(_ccap_track_or_language_row, 1), wxGBSpan(1, 2));
                        film_content_changed (TextContentProperty::LANGUAGE);
                        film_content_changed (TextContentProperty::LANGUAGE_IS_ADDITIONAL);
@@ -288,9 +291,9 @@ TextPanel::add_to_grid ()
        {
                auto s = new wxBoxSizer (wxHORIZONTAL);
 
-               s->Add (_text_view_button, 1, wxALL, DCPOMATIC_SIZER_GAP);
-               s->Add (_fonts_dialog_button, 1, wxALL, DCPOMATIC_SIZER_GAP);
-               s->Add (_appearance_dialog_button, 1, wxALL, DCPOMATIC_SIZER_GAP);
+               s->Add (_text_view_button, 0, wxALL, DCPOMATIC_SIZER_GAP);
+               s->Add (_fonts_dialog_button, 0, wxALL, DCPOMATIC_SIZER_GAP);
+               s->Add (_appearance_dialog_button, 0, wxALL, DCPOMATIC_SIZER_GAP);
 
                _grid->Add (s, wxGBPosition(r, 0), wxGBSpan(1, 2));
                ++r;
@@ -343,7 +346,7 @@ TextPanel::update_dcp_tracks ()
                /* XXX: don't display the "magic" track which has empty name and language;
                   this is a nasty hack (see also Film::closed_caption_tracks)
                */
-               if (!i.name.empty() || !i.language.empty()) {
+               if (!i.name.empty() || i.language) {
                        _dcp_track->Append (std_to_wx(i.summary()));
                }
        }