public:
ContentDialog (wxWindow* parent, weak_ptr<Film> film)
: wxDialog (parent, wxID_ANY, _("Add content"), wxDefaultPosition, wxSize(800, 640))
- , _content_view (new ContentView(this, film))
+ , _content_view (new ContentView(this))
{
_content_view->update ();
void save_clicked ()
{
- wxFileDialog* d = new wxFileDialog (this, _("Select playlist file"), wxEmptyString, wxEmptyString, wxT("XML files (*.xml)|*.xml"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+ Config* c = Config::instance ();
+ 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()));
}
void load_clicked ()
{
- wxFileDialog* d = new wxFileDialog (this, _("Select playlist file"), wxEmptyString, wxEmptyString, wxT("XML files (*.xml)|*.xml"));
+ Config* c = Config::instance ();
+ 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"));
if (d->ShowModal() == wxID_OK) {
_list->DeleteAllItems ();
- if (_playlist.read (wx_to_std(d->GetPath()), _content_dialog)) {
+ if (!_playlist.read (wx_to_std(d->GetPath()), _content_dialog)) {
+ BOOST_FOREACH (SPLEntry i, _playlist.get()) {
+ add (i);
+ }
+ } else {
error_dialog (this, _("Some content in this playlist was not found."));
}
}