#include "wx/update_dialog.h"
#include "wx/verify_dcp_dialog.h"
#include "wx/verify_dcp_progress_dialog.h"
+#include "wx/wx_ptr.h"
#include "wx/wx_signal_manager.h"
#include "wx/wx_util.h"
#include "lib/compose.hpp"
d = std_to_wx (Config::instance()->last_player_load_directory()->string());
}
- auto c = new wxDirDialog (this, _("Select DCP to open"), d, wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST);
- ScopeGuard sg = [c]() { c->Destroy(); };
+ auto c = make_wx<wxDirDialog>(this, _("Select DCP to open"), d, wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST);
int r;
while (true) {
void file_add_ov ()
{
- auto c = new wxDirDialog (
+ auto initial_dir = wxStandardPaths::Get().GetDocumentsDir();
+ if (Config::instance()->last_player_load_directory()) {
+ initial_dir = std_to_wx(Config::instance()->last_player_load_directory()->string());
+ }
+
+ auto c = make_wx<wxDirDialog>(
this,
_("Select DCP to open as OV"),
- wxStandardPaths::Get().GetDocumentsDir(),
+ initial_dir,
wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST
);
- ScopeGuard sg = [c]() { c->Destroy(); };
int r;
while (true) {
void file_add_kdm ()
{
- auto d = new wxFileDialog (this, _("Select KDM"));
- ScopeGuard sg = [d]() { d->Destroy(); };
+ auto d = make_wx<wxFileDialog>(this, _("Select KDM"));
if (d->ShowModal() == wxID_OK) {
DCPOMATIC_ASSERT (_film);
DCPOMATIC_ASSERT (dcp);
auto job = make_shared<VerifyDCPJob>(dcp->directories());
- auto progress = new VerifyDCPProgressDialog(this, _("DCP-o-matic Player"));
+ auto progress = make_wx<VerifyDCPProgressDialog>(this, _("DCP-o-matic Player"));
bool const completed = progress->run (job);
- progress->Destroy ();
if (!completed) {
return;
}
- auto d = new VerifyDCPDialog (this, job);
+ auto d = make_wx<VerifyDCPDialog>(this, job);
d->ShowModal ();
- d->Destroy ();
}
void tools_check_for_updates ()
void tools_timing ()
{
- auto d = new TimerDisplay(this, _viewer.state_timer(), _viewer.gets());
+ auto d = make_wx<TimerDisplay>(this, _viewer.state_timer(), _viewer.gets());
d->ShowModal ();
- d->Destroy ();
}
void tools_system_information ()
void help_about ()
{
- auto d = new AboutDialog (this);
+ auto d = make_wx<AboutDialog>(this);
d->ShowModal ();
- d->Destroy ();
}
void help_report_a_problem ()
{
- auto d = new ReportProblemDialog (this);
+ auto d = make_wx<ReportProblemDialog>(this);
if (d->ShowModal () == wxID_OK) {
d->report ();
}
- d->Destroy ();
}
void update_checker_state_changed ()
}
if (uc->state() == UpdateChecker::State::YES) {
- auto dialog = new UpdateDialog (this, uc->stable (), uc->test ());
+ auto dialog = make_wx<UpdateDialog>(this, uc->stable (), uc->test ());
dialog->ShowModal ();
- dialog->Destroy ();
} else if (uc->state() == UpdateChecker::State::FAILED) {
error_dialog (this, _("The DCP-o-matic download server could not be contacted."));
} else {
bool OnInit () override
{
- wxSplashScreen* splash = nullptr;
+ wx_ptr<wxSplashScreen> splash;
try {
wxInitAllImageHandlers ();