X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_playlist.cc;h=64549765fd8acad416c823bf3fdc69694c519a39;hb=a7ccdd22a980d1b18ecf4477a912bab7510be14a;hp=fe49a261070752c328e6e9762f05bc1756e32f23;hpb=7c54ed611f2934a6dcb22816a9c2706a7ae58660;p=dcpomatic.git diff --git a/src/tools/dcpomatic_playlist.cc b/src/tools/dcpomatic_playlist.cc index fe49a2610..64549765f 100644 --- a/src/tools/dcpomatic_playlist.cc +++ b/src/tools/dcpomatic_playlist.cc @@ -32,6 +32,9 @@ #include #include #include +#ifdef __WXOSX__ +#include +#endif using std::exception; using std::cout; @@ -161,7 +164,6 @@ private: item.SetId (_list->GetItemCount()); long const N = _list->InsertItem (item); set_item (N, e); - _playlist.add (e); } void selection_changed () @@ -175,7 +177,7 @@ private: _list->SetItem (N, 1, std_to_wx(e.id)); _list->SetItem (N, 2, std_to_wx(dcp::content_kind_to_string(e.kind))); _list->SetItem (N, 3, e.type == SPLEntry::DCP ? _("DCP") : _("E-cinema")); - _list->SetItem (N, 4, e.encrypted ? _("Y") : _("N")); + _list->SetItem (N, 4, e.encrypted ? S_("Question|Y") : S_("Question|N")); _list->SetItem (N, COLUMN_SKIPPABLE, wxEmptyString, e.skippable ? 0 : 1); _list->SetItem (N, COLUMN_DISABLE_TIMELINE, wxEmptyString, e.disable_timeline ? 0 : 1); _list->SetItem (N, COLUMN_STOP_AFTER_PLAY, wxEmptyString, e.stop_after_play ? 0 : 1); @@ -230,7 +232,9 @@ private: if (r == wxID_OK) { shared_ptr content = _content_dialog->selected (); if (content) { - add (SPLEntry(content)); + SPLEntry e (content); + add (e); + _playlist.add (e); } } } @@ -282,7 +286,9 @@ private: wxString default_dir = c->player_playlist_directory() ? std_to_wx(c->player_playlist_directory()->string()) : wxString(wxEmptyString); wxFileDialog* d = new wxFileDialog (this, _("Select playlist file"), default_dir, wxEmptyString, wxT("XML files (*.xml)|*.xml"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); if (d->ShowModal() == wxID_OK) { - _playlist.write (wx_to_std(d->GetPath())); + boost::filesystem::path file = wx_to_std (d->GetPath()); + file.replace_extension (".xml"); + _playlist.write (file); } } @@ -295,6 +301,7 @@ private: _list->DeleteAllItems (); _playlist.read (wx_to_std(d->GetPath()), _content_dialog); if (!_playlist.missing()) { + _list->DeleteAllItems (); BOOST_FOREACH (SPLEntry i, _playlist.get()) { add (i); } @@ -347,7 +354,7 @@ private: unsetenv ("UBUNTU_MENUPROXY"); #endif - #ifdef __WXOSX__ +#ifdef __WXOSX__ ProcessSerialNumber serial; GetCurrentProcess (&serial); TransformProcessType (&serial, kProcessTransformToForegroundApplication);