X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Ftiming_panel.cc;h=9bf4cacf70a5ceddd28fbb49907f47273c2891ed;hp=c7268e8a5e71feb2c05e969f0dc215a95113a533;hb=e255351ea6ed4ab18ecca3d77262a494e9d65b87;hpb=90b78d5477e4ca51b96cd22e7e81de50da486132 diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index c7268e8a5..9bf4cacf7 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -36,8 +36,12 @@ #include "lib/dcp_content.h" #include "lib/ffmpeg_content.h" #include -#ifdef __WXGTK__ +#include "lib/warnings.h" +#if defined(__WXGTK20__) && !defined(__WXGTK3__) +#define TIMING_PANEL_ALIGNMENT_HACK 1 +DCPOMATIC_DISABLE_WARNINGS #include +DCPOMATIC_ENABLE_WARNINGS #endif #include #include @@ -50,6 +54,9 @@ using boost::shared_ptr; using boost::weak_ptr; using boost::dynamic_pointer_cast; using boost::optional; +#if BOOST_VERSION >= 106100 +using namespace boost::placeholders; +#endif using dcp::locale_convert; using namespace dcpomatic; @@ -68,23 +75,23 @@ TimingPanel::TimingPanel (ContentPanel* p, weak_ptr viewer) //// TRANSLATORS: this is an abbreviation for "hours" _h_label = new StaticText (this, _("h"), wxDefaultPosition, size, wxALIGN_CENTRE_HORIZONTAL); -#ifdef DCPOMATIC_LINUX +#ifdef TIMING_PANEL_ALIGNMENT_HACK /* Hack to work around failure to centre text on GTK */ gtk_label_set_line_wrap (GTK_LABEL(_h_label->GetHandle()), FALSE); #endif //// TRANSLATORS: this is an abbreviation for "minutes" _m_label = new StaticText (this, _("m"), wxDefaultPosition, size, wxALIGN_CENTRE_HORIZONTAL); -#ifdef DCPOMATIC_LINUX +#ifdef TIMING_PANEL_ALIGNMENT_HACK gtk_label_set_line_wrap (GTK_LABEL (_m_label->GetHandle()), FALSE); #endif //// TRANSLATORS: this is an abbreviation for "seconds" _s_label = new StaticText (this, _("s"), wxDefaultPosition, size, wxALIGN_CENTRE_HORIZONTAL); -#ifdef DCPOMATIC_LINUX +#ifdef TIMING_PANEL_ALIGNMENT_HACK gtk_label_set_line_wrap (GTK_LABEL(_s_label->GetHandle()), FALSE); #endif //// TRANSLATORS: this is an abbreviation for "frames" _f_label = new StaticText (this, _("f"), wxDefaultPosition, size, wxALIGN_CENTRE_HORIZONTAL); -#ifdef DCPOMATIC_LINUX +#ifdef TIMING_PANEL_ALIGNMENT_HACK gtk_label_set_line_wrap (GTK_LABEL(_f_label->GetHandle()), FALSE); #endif @@ -98,7 +105,7 @@ TimingPanel::TimingPanel (ContentPanel* p, weak_ptr viewer) _trim_start_to_playhead = new Button (this, _("Trim up to current position")); _trim_end_label = create_label (this, _("Trim from end"), true); _trim_end = new Timecode (this); - _trim_end_to_playhead = new Button (this, _("Trim after current position")); + _trim_end_to_playhead = new Button (this, _("Trim from current position to end")); _play_length_label = create_label (this, _("Play length"), true); _play_length = new Timecode (this); @@ -556,11 +563,11 @@ TimingPanel::trim_start_to_playhead_clicked () } } + fv->set_coalesce_player_changes (false); + if (new_ph) { fv->seek (new_ph.get(), true); } - - fv->set_coalesce_player_changes (false); } void @@ -576,7 +583,7 @@ TimingPanel::trim_end_to_playhead_clicked () BOOST_FOREACH (shared_ptr i, _parent->selected ()) { if (i->position() < ph && ph < i->end(film)) { FrameRateChange const frc = film->active_frame_rate_change (i->position ()); - i->set_trim_end (ContentTime(i->position() + i->full_length(film) - ph - DCPTime::from_frames(1, frc.dcp), frc) - i->trim_start()); + i->set_trim_end (ContentTime(i->position() + i->full_length(film) - ph, frc) - i->trim_start()); } } }