X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fwx_util.cc;h=d264f8b20b761cea3c3a335a016112e0cbc33cc9;hb=4e4968464eeef1956cb82392e1fc3b27a792ab89;hp=074f47d61bebd2a61ff77ee4d76bbe730ee7aff5;hpb=63ce266351683a94630d7aba58405301b8a8d993;p=dcpomatic.git diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index 074f47d61..d264f8b20 100644 --- a/src/wx/wx_util.cc +++ b/src/wx/wx_util.cc @@ -25,8 +25,11 @@ #include "file_picker_ctrl.h" +#include "language_tag_widget.h" #include "password_entry.h" +#include "region_subtag_widget.h" #include "static_text.h" +#include "wx_ptr.h" #include "wx_util.h" #include "lib/config.h" #include "lib/cross.h" @@ -158,14 +161,13 @@ add_label_to_sizer (wxGridBagSizer* s, wxStaticText* t, bool, wxGBPosition pos, void error_dialog (wxWindow* parent, wxString m, optional e) { - auto d = new wxMessageDialog (parent, m, _("DCP-o-matic"), wxOK | wxICON_ERROR); + auto d = make_wx(parent, m, _("DCP-o-matic"), wxOK | wxICON_ERROR); if (e) { wxString em = *e; em[0] = wxToupper (em[0]); d->SetExtendedMessage (em); } d->ShowModal (); - d->Destroy (); } @@ -176,9 +178,8 @@ error_dialog (wxWindow* parent, wxString m, optional e) void message_dialog (wxWindow* parent, wxString m) { - auto d = new wxMessageDialog (parent, m, _("DCP-o-matic"), wxOK | wxICON_INFORMATION); + auto d = make_wx(parent, m, _("DCP-o-matic"), wxOK | wxICON_INFORMATION); d->ShowModal (); - d->Destroy (); } @@ -186,10 +187,8 @@ message_dialog (wxWindow* parent, wxString m) bool confirm_dialog (wxWindow* parent, wxString m) { - auto d = new wxMessageDialog (parent, m, _("DCP-o-matic"), wxYES_NO | wxICON_QUESTION); - int const r = d->ShowModal (); - d->Destroy (); - return r == wxID_YES; + auto d = make_wx(parent, m, _("DCP-o-matic"), wxYES_NO | wxICON_QUESTION); + return d->ShowModal() == wxID_YES; } @@ -383,6 +382,33 @@ checked_set (wxRadioButton* widget, bool value) } +void +checked_set(LanguageTagWidget* widget, dcp::LanguageTag value) +{ + if (widget->get() != value) { + widget->set(value); + } +} + + +void +checked_set(LanguageTagWidget* widget, optional value) +{ + if (widget->get() != value) { + widget->set(value); + } +} + + +void +checked_set(RegionSubtagWidget* widget, optional value) +{ + if (widget->get() != value) { + widget->set(value); + } +} + + void dcpomatic_setup_i18n () {