X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fkdm_dialog.cc;h=6a1f8051f90955938ea817534e120e0c2dd1ffff;hp=4334fd446ce99ae7dad7665fc4dc471072f2903c;hb=328668a8b63fb407fd4e2fef1e253e992ab987ac;hpb=d7bffb968f0abd5c1e6d5e72e6ea70a701fe5d48 diff --git a/src/wx/kdm_dialog.cc b/src/wx/kdm_dialog.cc index 4334fd446..6a1f8051f 100644 --- a/src/wx/kdm_dialog.cc +++ b/src/wx/kdm_dialog.cc @@ -309,11 +309,11 @@ void KDMDialog::add_cinema_clicked () { CinemaDialog* d = new CinemaDialog (this, "Add Cinema"); - d->ShowModal (); - - shared_ptr c (new Cinema (d->name(), d->email())); - Config::instance()->add_cinema (c); - add_cinema (c); + if (d->ShowModal () == wxID_OK) { + shared_ptr c (new Cinema (d->name(), d->email())); + Config::instance()->add_cinema (c); + add_cinema (c); + } d->Destroy (); } @@ -328,13 +328,12 @@ KDMDialog::edit_cinema_clicked () pair > c = selected_cinemas().front(); CinemaDialog* d = new CinemaDialog (this, "Edit cinema", c.second->name, c.second->email); - d->ShowModal (); - - c.second->name = d->name (); - c.second->email = d->email (); - _targets->SetItemText (c.first, std_to_wx (d->name())); - - Config::instance()->changed (); + if (d->ShowModal () == wxID_OK) { + c.second->name = d->name (); + c.second->email = d->email (); + _targets->SetItemText (c.first, std_to_wx (d->name())); + Config::instance()->changed (); + } d->Destroy (); } @@ -385,13 +384,12 @@ KDMDialog::edit_screen_clicked () pair > s = selected_screens().front(); ScreenDialog* d = new ScreenDialog (this, "Edit screen", s.second->name, s.second->certificate); - d->ShowModal (); - - s.second->name = d->name (); - s.second->certificate = d->certificate (); - _targets->SetItemText (s.first, std_to_wx (d->name())); - - Config::instance()->changed (); + if (d->ShowModal () == wxID_OK) { + s.second->name = d->name (); + s.second->certificate = d->certificate (); + _targets->SetItemText (s.first, std_to_wx (d->name())); + Config::instance()->changed (); + } d->Destroy (); } @@ -528,14 +526,17 @@ KDMDialog::update_cpl_summary () void KDMDialog::cpl_browse_clicked () { - wxFileDialog d (this, _("Select CPL XML file"), wxEmptyString, wxEmptyString, "*.xml"); - if (d.ShowModal() == wxID_CANCEL) { + wxFileDialog* d = new wxFileDialog (this, _("Select CPL XML file"), wxEmptyString, wxEmptyString, "*.xml"); + if (d->ShowModal() == wxID_CANCEL) { + d->Destroy (); return; } - boost::filesystem::path cpl_file (wx_to_std (d.GetPath ())); + boost::filesystem::path cpl_file (wx_to_std (d->GetPath ())); boost::filesystem::path dcp_dir = cpl_file.parent_path (); + d->Destroy (); + /* XXX: hack alert */ cxml::Document cpl_document ("CompositionPlaylist"); cpl_document.read_file (cpl_file);