X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_disk.cc;h=a6ae58c8d704f00c70a4d9f8a7d0f121ea829fba;hb=fe851f2e6e57d3a8781ecc173089c19632c521e3;hp=115dabe46a9f309c2c90daecf5fecb71acca45c2;hpb=69326e73b29be371dacbdacd741a0a88a5ef1a5b;p=dcpomatic.git diff --git a/src/tools/dcpomatic_disk.cc b/src/tools/dcpomatic_disk.cc index 115dabe46..a6ae58c8d 100644 --- a/src/tools/dcpomatic_disk.cc +++ b/src/tools/dcpomatic_disk.cc @@ -29,6 +29,7 @@ #include "wx/wx_signal_manager.h" #include "wx/wx_util.h" #include "lib/config.h" +#include "lib/constants.h" #include "lib/copy_to_drive_job.h" #include "lib/cross.h" #include "lib/dcpomatic_log.h" @@ -248,16 +249,14 @@ private: return true; } - auto d = new wxMessageDialog ( - 0, + auto d = make_wx( + nullptr, _("There are unfinished jobs; are you sure you want to quit?"), _("Unfinished jobs"), wxYES_NO | wxYES_DEFAULT | wxICON_QUESTION ); - bool const r = d->ShowModal() == wxID_YES; - d->Destroy (); - return r; + return d->ShowModal() == wxID_YES; } @@ -310,22 +309,20 @@ private: if (!have_writer) { #if defined(DCPOMATIC_WINDOWS) - auto m = new MessageDialog ( + auto m = make_wx( this, _("DCP-o-matic Disk Writer"), _("Do you see a 'User Account Control' dialogue asking about dcpomatic2_disk_writer.exe? If so, click 'Yes', then try again.") ); m->ShowModal (); - m->Destroy (); return; #elif defined(DCPOMATIC_OSX) - auto m = new MessageDialog ( + auto m = make_wx( this, _("DCP-o-matic Disk Writer"), _("Did you install the DCP-o-matic Disk Writer.pkg from the .dmg? Please check and try again.") ); m->ShowModal (); - m->Destroy (); return; #else LOG_DISK_NC ("Failed to ping writer"); @@ -335,9 +332,8 @@ private: auto const& drive = _drives[_drive->GetSelection()]; if (drive.mounted()) { - auto d = new TryUnmountDialog(this, drive.description()); + auto d = make_wx(this, drive.description()); int const r = d->ShowModal (); - d->Destroy (); if (r != wxID_OK) { return; } @@ -354,24 +350,23 @@ private: /* The reply may have to wait for the user to authenticate, so let's wait a while */ auto reply = _nanomsg.receive (30000); if (!reply || *reply != DISK_WRITER_OK) { - auto * m = new MessageDialog ( + auto m = make_wx( this, _("DCP-o-matic Disk Writer"), wxString::Format(_("The drive %s could not be unmounted.\nClose any application that is using it, then try again."), std_to_wx(drive.description())) ); m->ShowModal (); - m->Destroy (); return; } } - auto * d = new DriveWipeWarningDialog (this, _drive->GetString(_drive->GetSelection())); - int const r = d->ShowModal (); - bool ok = r == wxID_OK && d->confirmed(); - d->Destroy (); - - if (!ok) { + auto d = make_wx(this, _drive->GetString(_drive->GetSelection())); + if (d->ShowModal() != wxID_OK) { + return; + } + if (!d->confirmed()) { + message_dialog(this, _("You did not correctly confirm that you read the warning that was just shown. Please try again.")); return; } @@ -477,12 +472,14 @@ public: Config::drop (); if (!_skip_alpha_check) { - auto warning = new DiskWarningDialog (); - warning->ShowModal (); + auto warning = make_wx(); + if (warning->ShowModal() != wxID_OK) { + return false; + } if (!warning->confirmed()) { + message_dialog(nullptr, _("You did not correctly confirm that you read the warning that was just shown. DCP-o-matic Disk Writer will close now. Please try again.")); return false; } - warning->Destroy (); } _frame = new DOMFrame (_("DCP-o-matic Disk Writer"));