Put OV checkbox into advanced UI.
authorCarl Hetherington <cth@carlh.net>
Thu, 6 Sep 2018 22:14:53 +0000 (23:14 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 6 Sep 2018 22:14:53 +0000 (23:14 +0100)
src/wx/content_widget.h
src/wx/video_panel.cc

index 048a79253e21ac9fe4be2215ce4b7b54ccc0eadb..c4ae4d591aaa5d97a472953d4e06626e0236019e 100644 (file)
@@ -158,7 +158,7 @@ private:
 
        void set_single ()
        {
-               if (_wrapped->IsShown ()) {
+               if (_wrapped->IsShown() || !_sizer) {
                        return;
                }
 
@@ -171,7 +171,7 @@ private:
 
        void set_multiple ()
        {
-               if (_button->IsShown ()) {
+               if (_button->IsShown() || !_sizer) {
                        return;
                }
 
index 3204cae57da8f0510b8ecd64818064ac9307b6da..dc77bdc97cbf36d6306ef4aff2bd75ddfeb9148e 100644 (file)
@@ -74,21 +74,14 @@ scale_to_index (VideoContentScale scale)
 VideoPanel::VideoPanel (ContentPanel* p)
        : ContentSubPanel (p, _("Video"))
 {
-       wxBoxSizer* reference_sizer = new wxBoxSizer (wxVERTICAL);
-
        _reference = new wxCheckBox (this, wxID_ANY, _("Use this DCP's video as OV and make VF"));
-       reference_sizer->Add (_reference, 0, wxLEFT | wxRIGHT | wxTOP, DCPOMATIC_SIZER_GAP);
-
        _reference_note = new wxStaticText (this, wxID_ANY, _(""));
        _reference_note->Wrap (200);
-       reference_sizer->Add (_reference_note, 0, wxLEFT | wxRIGHT, DCPOMATIC_SIZER_GAP);
        wxFont font = _reference_note->GetFont();
        font.SetStyle(wxFONTSTYLE_ITALIC);
        font.SetPointSize(font.GetPointSize() - 1);
        _reference_note->SetFont(font);
 
-       _sizer->Add (reference_sizer);
-
        _grid = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
        _sizer->Add (_grid, 0, wxALL, 8);
 
@@ -237,11 +230,26 @@ VideoPanel::add_to_grid ()
 
        int r = 0;
 
+       _reference->Show (interface == Config::INTERFACE_FULL);
+       _reference_note->Show (interface == Config::INTERFACE_FULL);
+
+       if (interface == Config::INTERFACE_FULL) {
+               wxBoxSizer* reference_sizer = new wxBoxSizer (wxVERTICAL);
+               reference_sizer->Add (_reference, 0);
+               reference_sizer->Add (_reference_note, 0);
+               _grid->Add (reference_sizer, wxGBPosition(r, 0), wxGBSpan(1, 3));
+               ++r;
+       }
+
        add_label_to_sizer (_grid, _type_label, true, wxGBPosition(r, 0));
-       _frame_type->add (_grid, wxGBPosition (r, 1), wxGBSpan (1, 2));
+       _frame_type->add (_grid, wxGBPosition(r, 1), wxGBSpan(1, 2));
        ++r;
 
-       add_label_to_sizer (_grid, _crop_label, true, wxGBPosition(r, 0));
+       int flags = wxTOP;
+#ifdef __WXOSX__
+       flags |= wxALIGN_RIGHT;
+#endif
+       _grid->Add (_crop_label, wxGBPosition(r, 0), wxDefaultSpan, flags, DCPOMATIC_SIZER_Y_GAP / 2);
 
        int cr = 0;
        wxGridBagSizer* crop = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);