++r;
}
- add_label_to_grid_bag_sizer (grid, _panel, _("DCP Name"), true, wxGBPosition (r, 0));
- _dcp_name = new wxStaticText (_panel, wxID_ANY, wxT (""), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END);
- grid->Add (_dcp_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND);
+ /* wxST_ELLIPSIZE_MIDDLE works around a bug in GTK2 and/or wxWidgets, see
+ http://trac.wxwidgets.org/ticket/12539
+ */
+ _dcp_name = new wxStaticText (
+ _panel, wxID_ANY, wxT (""), wxDefaultPosition, wxDefaultSize,
+ wxALIGN_CENTRE_HORIZONTAL | wxST_NO_AUTORESIZE | wxST_ELLIPSIZE_MIDDLE
+ );
+
+ grid->Add (_dcp_name, wxGBPosition(r, 0), wxGBSpan (1, 2), wxALIGN_CENTER_VERTICAL | wxEXPAND);
++r;
add_label_to_grid_bag_sizer (grid, _panel, _("Content Type"), true, wxGBPosition (r, 0));
break;
case Film::RESOLUTION:
checked_set (_resolution, _film->resolution() == RESOLUTION_2K ? 0 : 1);
+ setup_container ();
setup_dcp_name ();
break;
case Film::J2K_BANDWIDTH:
break;
case Film::INTEROP:
checked_set (_standard, _film->interop() ? 1 : 0);
+ setup_dcp_name ();
break;
default:
break;
void
DCPPanel::film_content_changed (int property)
{
- if (property == FFmpegContentProperty::AUDIO_STREAM ||
+ if (property == FFmpegContentProperty::AUDIO_STREAMS ||
property == SubtitleContentProperty::USE_SUBTITLES ||
property == VideoContentProperty::VIDEO_SCALE) {
setup_dcp_name ();
if (i == ratios.end()) {
checked_set (_container, -1);
+ checked_set (_container_size, wxT (""));
} else {
checked_set (_container, n);
+ dcp::Size const size = fit_ratio_within (_film->container()->ratio(), _film->full_frame ());
+ checked_set (_container_size, wxString::Format ("%dx%d", size.width, size.height));
}
setup_dcp_name ();
void
DCPPanel::setup_dcp_name ()
{
- string s = _film->dcp_name (true);
- if (s.length() > 28) {
- _dcp_name->SetLabel (std_to_wx (s.substr (0, 28)) + N_("..."));
- _dcp_name->SetToolTip (std_to_wx (s));
- } else {
- _dcp_name->SetLabel (std_to_wx (s));
- }
+ _dcp_name->SetLabel (std_to_wx (_film->dcp_name (true)));
}
void
int r = 0;
add_label_to_grid_bag_sizer (grid, panel, _("Container"), true, wxGBPosition (r, 0));
- _container = new wxChoice (panel, wxID_ANY);
- grid->Add (_container, wxGBPosition (r, 1));
- ++r;
+ {
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _container = new wxChoice (panel, wxID_ANY);
+ s->Add (_container, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_X_GAP);
+ _container_size = new wxStaticText (panel, wxID_ANY, wxT (""));
+ s->Add (_container_size, 1, wxLEFT | wxALIGN_CENTER_VERTICAL);
+ grid->Add (s, wxGBPosition (r,1 ), wxDefaultSpan, wxEXPAND);
+ ++r;
+ }
{
add_label_to_grid_bag_sizer (grid, panel, _("Frame Rate"), true, wxGBPosition (r, 0));