#include "move_to_dialog.h"
#include "lib/content.h"
#include "lib/image_content.h"
-#include "lib/raw_convert.h"
#include "lib/subtitle_content.h"
#include "lib/dcp_subtitle_content.h"
#include "lib/audio_content.h"
#include "lib/text_subtitle_content.h"
#include "lib/video_content.h"
+#include <dcp/locale_convert.h>
#include <boost/foreach.hpp>
#include <set>
#include <iostream>
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
using boost::optional;
+using dcp::locale_convert;
TimingPanel::TimingPanel (ContentPanel* p, FilmViewer* viewer)
/* horrid hack for apparent lack of context support with wxWidgets i18n code */
* http://trac.wxwidgets.org/ticket/13389
*/
- wxString in = _("<i>Only change this if it the content's frame rate has been read incorrectly.</i>");
+ wxString in = _("<i>Only change this if the content's frame rate has been read incorrectly.</i>");
wxString out;
int const width = 20;
int current = 0;
t = new wxStaticText (this, wxID_ANY, wxT (""));
t->SetLabelMarkup (out);
+#ifdef DCPOMATIC_OSX
+ /* Hack to stop hidden text on some versions of OS X */
+ t->SetMinSize (wxSize (-1, 256));
+#endif
grid->Add (t, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 6);
+ /* Completely speculative fix for #891 */
+ grid->Layout ();
+
_position->Changed.connect (boost::bind (&TimingPanel::position_changed, this));
- _move_to_start_of_reel->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::move_to_start_of_reel_clicked, this));
+ _move_to_start_of_reel->Bind (wxEVT_BUTTON, boost::bind (&TimingPanel::move_to_start_of_reel_clicked, this));
_full_length->Changed.connect (boost::bind (&TimingPanel::full_length_changed, this));
_trim_start->Changed.connect (boost::bind (&TimingPanel::trim_start_changed, this));
- _trim_start_to_playhead->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::trim_start_to_playhead_clicked, this));
+ _trim_start_to_playhead->Bind (wxEVT_BUTTON, boost::bind (&TimingPanel::trim_start_to_playhead_clicked, this));
_trim_end->Changed.connect (boost::bind (&TimingPanel::trim_end_changed, this));
- _trim_end_to_playhead->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::trim_end_to_playhead_clicked, this));
+ _trim_end_to_playhead->Bind (wxEVT_BUTTON, boost::bind (&TimingPanel::trim_end_to_playhead_clicked, this));
_play_length->Changed.connect (boost::bind (&TimingPanel::play_length_changed, this));
- _video_frame_rate->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&TimingPanel::video_frame_rate_changed, this));
- _set_video_frame_rate->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::set_video_frame_rate, this));
+ _video_frame_rate->Bind (wxEVT_TEXT, boost::bind (&TimingPanel::video_frame_rate_changed, this));
+ _set_video_frame_rate->Bind (wxEVT_BUTTON, boost::bind (&TimingPanel::set_video_frame_rate, this));
_viewer->ImageChanged.connect (boost::bind (&TimingPanel::setup_sensitivity, this));
bool const single_frame_image_content = content && dynamic_pointer_cast<const ImageContent> (content) && content->number_of_paths() == 1;
if ((check_vc.size() == 1 || count_ac == 1 || count_sc == 1) && !single_frame_image_content) {
- checked_set (_video_frame_rate, raw_convert<string> (content->video_frame_rate().get(), 5));
+ checked_set (_video_frame_rate, locale_convert<string> (content->video_frame_rate().get(), 5));
_video_frame_rate->Enable (true);
} else {
checked_set (_video_frame_rate, wxT (""));
void
TimingPanel::set_video_frame_rate ()
{
- double const fr = raw_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
+ double const fr = locale_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
BOOST_FOREACH (shared_ptr<Content> i, _parent->selected ()) {
i->set_video_frame_rate (fr);
}
bool const e = !_parent->selected().empty ();
_position->Enable (e);
+ _move_to_start_of_reel->Enable (e);
_full_length->Enable (e);
_trim_start->Enable (e);
_trim_end->Enable (e);