diff options
Diffstat (limited to 'src/wx/subtitle_panel.cc')
| -rw-r--r-- | src/wx/subtitle_panel.cc | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/wx/subtitle_panel.cc b/src/wx/subtitle_panel.cc index 21d6f8e5b..3198723a5 100644 --- a/src/wx/subtitle_panel.cc +++ b/src/wx/subtitle_panel.cc @@ -83,6 +83,10 @@ SubtitlePanel::SubtitlePanel (ContentPanel* p) add_label_to_sizer (s, this, _("%"), false); grid->Add (s); } + + add_label_to_sizer (grid, this, _("Language"), true); + _language = new wxTextCtrl (this, wxID_ANY); + grid->Add (_language, 1, wxEXPAND); add_label_to_sizer (grid, this, _("Stream"), true); _stream = new wxChoice (this, wxID_ANY); @@ -99,8 +103,9 @@ SubtitlePanel::SubtitlePanel (ContentPanel* p) _use->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&SubtitlePanel::use_toggled, this)); _x_offset->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::x_offset_changed, this)); _y_offset->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::y_offset_changed, this)); - _x_scale->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::x_scale_changed, this)); - _y_scale->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::y_scale_changed, this)); + _x_scale->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::x_scale_changed, this)); + _y_scale->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&SubtitlePanel::y_scale_changed, this)); + _language->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&SubtitlePanel::language_changed, this)); _stream->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&SubtitlePanel::stream_changed, this)); _view_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&SubtitlePanel::view_clicked, this)); } @@ -155,6 +160,8 @@ SubtitlePanel::film_content_changed (int property) checked_set (_x_scale, scs ? int (rint (scs->subtitle_x_scale() * 100)) : 100); } else if (property == SubtitleContentProperty::SUBTITLE_Y_SCALE) { checked_set (_y_scale, scs ? int (rint (scs->subtitle_y_scale() * 100)) : 100); + } else if (property == SubtitleContentProperty::SUBTITLE_LANGUAGE) { + checked_set (_language, scs ? scs->subtitle_language() : ""); } } @@ -198,6 +205,7 @@ SubtitlePanel::setup_sensitivity () _y_offset->Enable (any_subs > 0 && use); _x_scale->Enable (any_subs > 0 && use); _y_scale->Enable (any_subs > 0 && use); + _language->Enable (any_subs > 0 && use); _stream->Enable (ffmpeg_subs == 1); _view_button->Enable (subrip_or_dcp_subs == 1); } @@ -261,6 +269,15 @@ SubtitlePanel::y_scale_changed () } void +SubtitlePanel::language_changed () +{ + SubtitleContentList c = _parent->selected_subtitle (); + for (SubtitleContentList::iterator i = c.begin(); i != c.end(); ++i) { + (*i)->set_subtitle_language (wx_to_std (_language->GetValue())); + } +} + +void SubtitlePanel::content_selection_changed () { film_content_changed (FFmpegContentProperty::SUBTITLE_STREAMS); @@ -269,6 +286,7 @@ SubtitlePanel::content_selection_changed () film_content_changed (SubtitleContentProperty::SUBTITLE_Y_OFFSET); film_content_changed (SubtitleContentProperty::SUBTITLE_X_SCALE); film_content_changed (SubtitleContentProperty::SUBTITLE_Y_SCALE); + film_content_changed (SubtitleContentProperty::SUBTITLE_LANGUAGE); } void |
