summaryrefslogtreecommitdiff
path: root/src/wx/subtitle_panel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx/subtitle_panel.cc')
-rw-r--r--src/wx/subtitle_panel.cc22
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