From: Carl Hetherington Date: Sat, 23 May 2020 20:59:39 +0000 (+0200) Subject: Layout tweaks for GTK3. X-Git-Tag: v2.15.76~7 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=87933c7b40c6035ca2aecd2bbc96428813ac9b38 Layout tweaks for GTK3. --- diff --git a/src/wx/controls.cc b/src/wx/controls.cc index e3f476c05..5651dc8f2 100644 --- a/src/wx/controls.cc +++ b/src/wx/controls.cc @@ -105,10 +105,17 @@ Controls::Controls (wxWindow* parent, shared_ptr viewer, bool editor _v_sizer->Add (h_sizer, 0, wxEXPAND | wxALL, 6); +#ifdef __WXGTK3__ + _frame_number->SetMinSize (wxSize(100, -1)); + _rewind_button->SetMinSize (wxSize(48, -1)); + _back_button->SetMinSize (wxSize(48, -1)); + _forward_button->SetMinSize (wxSize(48, -1)); +#else _frame_number->SetMinSize (wxSize (84, -1)); _rewind_button->SetMinSize (wxSize (32, -1)); _back_button->SetMinSize (wxSize (32, -1)); _forward_button->SetMinSize (wxSize (32, -1)); +#endif if (_eye) { _eye->Bind (wxEVT_CHOICE, boost::bind (&Controls::eye_changed, this)); diff --git a/src/wx/text_panel.cc b/src/wx/text_panel.cc index 8d404d8c5..0f84664a8 100644 --- a/src/wx/text_panel.cc +++ b/src/wx/text_panel.cc @@ -87,20 +87,26 @@ 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 wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1)); + _x_offset = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(spin_width, -1)); _x_offset_pc_label = new StaticText (this, _("%")); _y_offset_label = create_label (this, _("Y"), true); - _y_offset = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1)); + _y_offset = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(spin_width, -1)); _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 wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1)); + _x_scale = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(spin_width, -1)); _x_scale_pc_label = new StaticText (this, _("%")); _y_scale_label = create_label (this, S_("Coord|Y"), true); - _y_scale = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1)); + _y_scale = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(spin_width, -1)); _y_scale_pc_label = new StaticText (this, _("%")); _line_spacing_label = create_label (this, _("Line spacing"), true); diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc index 4be9a741f..ac744ddc9 100644 --- a/src/wx/video_panel.cc +++ b/src/wx/video_panel.cc @@ -83,8 +83,13 @@ VideoPanel::VideoPanel (ContentPanel* p) _crop_label = create_label (this, _("Crop"), true); +#ifdef __WXGTK3__ + int const crop_width = 128; + int const link_height = 64; +#else int const crop_width = 56; int const link_height = 28; +#endif _left_crop_label = create_label (this, _("Left"), true); _left_crop = new ContentSpinCtrl ( @@ -144,11 +149,14 @@ VideoPanel::VideoPanel (ContentPanel* p) wxClientDC dc (this); wxSize size = dc.GetTextExtent (wxT ("A quite long name")); +#ifdef __WXGTK3__ + size.SetWidth (size.GetWidth() + 64); +#endif size.SetHeight (-1); _scale_label = create_label (this, _("Scale"), true); _scale_fit = new wxRadioButton (this, wxID_ANY, _("to fit DCP")); - _scale_custom = new wxRadioButton (this, wxID_ANY, _("custom"), wxDefaultPosition, size); + _scale_custom = new wxRadioButton (this, wxID_ANY, _("custom")); _scale_custom_edit = new Button (this, _("Edit...")); _filters_label = create_label (this, _("Filters"), true); @@ -232,15 +240,29 @@ VideoPanel::add_to_grid () wxGridBagSizer* crop = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); add_label_to_sizer (crop, _left_crop_label, true, wxGBPosition (cr, 0)); _left_crop->add (crop, wxGBPosition (cr, 1)); +#ifdef __WXGTK3__ + crop->Add (_left_right_link, wxGBPosition(cr, 2), wxGBSpan(2, 1)); + ++cr; + add_label_to_sizer (crop, _right_crop_label, true, wxGBPosition(cr, 0)); + _right_crop->add (crop, wxGBPosition(cr, 1)); +#else crop->Add (_left_right_link, wxGBPosition(cr, 2)); add_label_to_sizer (crop, _right_crop_label, true, wxGBPosition (cr, 3)); _right_crop->add (crop, wxGBPosition (cr, 4)); +#endif ++cr; add_label_to_sizer (crop, _top_crop_label, true, wxGBPosition (cr, 0)); _top_crop->add (crop, wxGBPosition (cr, 1)); +#ifdef __WXGTK3__ + crop->Add (_top_bottom_link, wxGBPosition(cr, 2), wxGBSpan(2, 1)); + ++cr; + add_label_to_sizer (crop, _bottom_crop_label, true, wxGBPosition(cr, 0)); + _bottom_crop->add (crop, wxGBPosition(cr, 1)); +#else crop->Add (_top_bottom_link, wxGBPosition(cr, 2)); add_label_to_sizer (crop, _bottom_crop_label, true, wxGBPosition (cr, 3)); _bottom_crop->add (crop, wxGBPosition (cr, 4)); +#endif add_label_to_sizer (_grid, _crop_label, true, wxGBPosition(r, 0)); _grid->Add (crop, wxGBPosition(r, 1)); ++r; @@ -272,8 +294,8 @@ VideoPanel::add_to_grid () wxSizer* v = new wxBoxSizer (wxVERTICAL); v->Add (_scale_fit, 0, wxBOTTOM, 4); wxSizer* h = new wxBoxSizer (wxHORIZONTAL); - h->Add (_scale_custom, 1, wxRIGHT, 6); - h->Add (_scale_custom_edit, 0); + h->Add (_scale_custom, 1, wxRIGHT | wxALIGN_CENTER_VERTICAL, 6); + h->Add (_scale_custom_edit, 0, wxALIGN_CENTER_VERTICAL); v->Add (h, 0); _grid->Add (v, wxGBPosition(r, 1)); }