#include "dcpomatic_button.h"
#include "fonts_dialog.h"
#include "system_font_dialog.h"
+#include "wx_ptr.h"
#include "wx_util.h"
#include "lib/content.h"
#include "lib/font.h"
+#include "lib/scope_guard.h"
#include "lib/text_content.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
default_dir = "/System/Library/Fonts";
#endif
- auto d = new wxFileDialog (this, _("Choose a font file"), default_dir, wxT(""), wxT("*.ttf;*.otf;*.ttc"), wxFD_CHANGE_DIR);
- int const r = d->ShowModal ();
+ auto d = make_wx<wxFileDialog>(this, _("Choose a font file"), default_dir, wxT(""), wxT("*.ttf;*.otf;*.ttc"), wxFD_CHANGE_DIR);
- if (r != wxID_OK) {
- d->Destroy ();
+ if (d->ShowModal() != wxID_OK) {
return;
}
font->set_file (wx_to_std(d->GetPath()));
- d->Destroy ();
-
setup ();
}
return;
}
- auto dialog = new SystemFontDialog(this);
- auto const r = dialog->ShowModal();
- if (r == wxID_OK) {
+ auto dialog = make_wx<SystemFontDialog>(this);
+ if (dialog->ShowModal() == wxID_OK) {
auto font_file = dialog->get_font();
if (font_file) {
font->set_file(*font_file);
}
}
- dialog->Destroy();
setup ();
}