#include "language_tag_dialog.h"
#include "language_tag_widget.h"
#include "wx_util.h"
+#include "lib/scope_guard.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
+LIBDCP_ENABLE_WARNINGS
using boost::optional;
}
-LanguageTagWidget::~LanguageTagWidget ()
+LanguageTagWidget::~LanguageTagWidget()
{
- _language->Destroy ();
- _edit->Destroy ();
+ _language->Destroy();
+ _edit->Destroy();
}
void
LanguageTagWidget::edit ()
{
- auto d = new LanguageTagDialog(_parent, _tag.get_value_or(dcp::LanguageTag("en")));
- d->ShowModal ();
- set (d->get());
- Changed (d->get());
- d->Destroy ();
+ auto d = make_wx<LanguageTagDialog>(_parent, _tag.get_value_or(dcp::LanguageTag("en")));
+ if (d->ShowModal() == wxID_OK) {
+ set(d->get());
+ Changed(d->get());
+ }
}