Use a wxChoice for the text subtitle effect.
authorCarl Hetherington <cth@carlh.net>
Wed, 24 Aug 2016 20:57:19 +0000 (21:57 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 24 Aug 2016 20:57:19 +0000 (21:57 +0100)
src/wx/text_subtitle_appearance_dialog.cc
src/wx/text_subtitle_appearance_dialog.h

index 49c8920f6d820507e3d93829e52b11ad37675f72..d00dd2cf16ca6e4075fbe5b6d0b9455eb99a4ee1 100644 (file)
@@ -34,17 +34,8 @@ TextSubtitleAppearanceDialog::TextSubtitleAppearanceDialog (wxWindow* parent, sh
        _colour = new wxColourPickerCtrl (this, wxID_ANY);
        add (_colour);
 
-       wxRadioButton* no_effect = new wxRadioButton (this, wxID_ANY, _("No effect"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP);
-       add (no_effect);
-       add_spacer ();
-
-       _outline = new wxRadioButton (this, wxID_ANY, _("Outline"));
-       add (_outline);
-       add_spacer ();
-
-       _shadow = new wxRadioButton (this, wxID_ANY, _("Shadow"));
-       add (_shadow);
-       add_spacer ();
+       add (_("Effect"), true);
+       add (_effect = new wxChoice (this, wxID_ANY));
 
        add (_("Outline / shadow colour"), true);
        _effect_colour = new wxColourPickerCtrl (this, wxID_ANY);
@@ -60,9 +51,18 @@ TextSubtitleAppearanceDialog::TextSubtitleAppearanceDialog (wxWindow* parent, sh
 
        layout ();
 
+       _effect->Append (_("None"));
+       _effect->Append (_("Outline"));
+       _effect->Append (_("Shadow"));;
+
        _colour->SetColour (wxColour (_content->subtitle->colour().r, _content->subtitle->colour().g, _content->subtitle->colour().b));
-       _outline->SetValue (_content->subtitle->outline ());
-       _shadow->SetValue (_content->subtitle->shadow ());
+       if (_content->subtitle->outline()) {
+               _effect->SetSelection (1);
+       } else if (_content->subtitle->shadow()) {
+               _effect->SetSelection (2);
+       } else {
+               _effect->SetSelection (0);
+       }
        _effect_colour->SetColour (
                wxColour (_content->subtitle->effect_colour().r, _content->subtitle->effect_colour().g, _content->subtitle->effect_colour().b)
                );
@@ -75,8 +75,8 @@ TextSubtitleAppearanceDialog::apply ()
 {
        wxColour const c = _colour->GetColour ();
        _content->subtitle->set_colour (dcp::Colour (c.Red(), c.Green(), c.Blue()));
-       _content->subtitle->set_outline (_outline->GetValue ());
-       _content->subtitle->set_shadow (_shadow->GetValue ());
+       _content->subtitle->set_outline (_effect->GetSelection() == 1);
+       _content->subtitle->set_shadow (_effect->GetSelection() == 2);
        wxColour const ec = _effect_colour->GetColour ();
        _content->subtitle->set_effect_colour (dcp::Colour (ec.Red(), ec.Green(), ec.Blue()));
        _content->subtitle->set_fade_in (_fade_in->get (_content->active_video_frame_rate ()));
index 55fe51066b325d03a856fc4c8664aa8ef0589d4f..381b36ec7f63c4d765b7083c7c7bdfa43bea421f 100644 (file)
@@ -35,8 +35,7 @@ public:
 
 private:
        wxColourPickerCtrl* _colour;
-       wxRadioButton* _outline;
-       wxRadioButton* _shadow;
+       wxChoice* _effect;
        wxColourPickerCtrl* _effect_colour;
        Timecode<ContentTime>* _fade_in;
        Timecode<ContentTime>* _fade_out;