From f28e2730421afc168a3c6026f30bccf7118b2bb2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 24 Nov 2022 23:56:38 +0100 Subject: Extract RegionSubtagDialog to its own files. --- src/wx/full_language_tag_dialog.cc | 26 ------------------ src/wx/full_language_tag_dialog.h | 13 --------- src/wx/metadata_dialog.cc | 1 + src/wx/region_subtag_dialog.cc | 54 ++++++++++++++++++++++++++++++++++++++ src/wx/region_subtag_dialog.h | 42 +++++++++++++++++++++++++++++ src/wx/wscript | 1 + 6 files changed, 98 insertions(+), 39 deletions(-) create mode 100644 src/wx/region_subtag_dialog.cc create mode 100644 src/wx/region_subtag_dialog.h (limited to 'src') diff --git a/src/wx/full_language_tag_dialog.cc b/src/wx/full_language_tag_dialog.cc index c88044088..5f0aca1e5 100644 --- a/src/wx/full_language_tag_dialog.cc +++ b/src/wx/full_language_tag_dialog.cc @@ -287,29 +287,3 @@ FullLanguageTagDialog::setup_sensitivity () _remove->Enable (selected > 0); } - -RegionSubtagDialog::RegionSubtagDialog (wxWindow* parent, dcp::LanguageTag::RegionSubtag region) - : wxDialog (parent, wxID_ANY, _("Region"), wxDefaultPosition, wxSize(-1, 500)) - , _panel (new LanguageSubtagPanel (this)) -{ - auto sizer = new wxBoxSizer (wxVERTICAL); - sizer->Add (_panel, 1); - - auto buttons = CreateSeparatedButtonSizer (wxOK); - if (buttons) { - sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); - } - - SetSizer (sizer); - - _panel->set (dcp::LanguageTag::SubtagType::REGION, "", *dcp::LanguageTag::get_subtag_data(region)); -} - - -optional -RegionSubtagDialog::get () const -{ - return _panel->get (); -} - - diff --git a/src/wx/full_language_tag_dialog.h b/src/wx/full_language_tag_dialog.h index 99f1c3267..1dbdeacb1 100644 --- a/src/wx/full_language_tag_dialog.h +++ b/src/wx/full_language_tag_dialog.h @@ -76,17 +76,4 @@ private: }; - -class RegionSubtagDialog : public wxDialog -{ -public: - RegionSubtagDialog (wxWindow* parent, dcp::LanguageTag::RegionSubtag region); - - boost::optional get () const; - -private: - LanguageSubtagPanel* _panel; -}; - - #endif diff --git a/src/wx/metadata_dialog.cc b/src/wx/metadata_dialog.cc index b7156adc3..2b9c967f9 100644 --- a/src/wx/metadata_dialog.cc +++ b/src/wx/metadata_dialog.cc @@ -27,6 +27,7 @@ #include "language_tag_widget.h" #include "metadata_dialog.h" #include "rating_dialog.h" +#include "region_subtag_dialog.h" #include "wx_util.h" #include "lib/film.h" #include diff --git a/src/wx/region_subtag_dialog.cc b/src/wx/region_subtag_dialog.cc new file mode 100644 index 000000000..96048cb06 --- /dev/null +++ b/src/wx/region_subtag_dialog.cc @@ -0,0 +1,54 @@ +/* + Copyright (C) 2020-2021 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include "language_subtag_panel.h" +#include "region_subtag_dialog.h" +#include + + +using boost::optional; + + +RegionSubtagDialog::RegionSubtagDialog(wxWindow* parent, dcp::LanguageTag::RegionSubtag region) + : wxDialog(parent, wxID_ANY, _("Region"), wxDefaultPosition, wxSize(-1, 500)) + , _panel(new LanguageSubtagPanel (this)) +{ + auto sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add (_panel, 1); + + auto buttons = CreateSeparatedButtonSizer(wxOK); + if (buttons) { + sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); + } + + SetSizer(sizer); + + _panel->set(dcp::LanguageTag::SubtagType::REGION, "", *dcp::LanguageTag::get_subtag_data(region)); +} + + +optional +RegionSubtagDialog::get () const +{ + return _panel->get(); +} + + diff --git a/src/wx/region_subtag_dialog.h b/src/wx/region_subtag_dialog.h new file mode 100644 index 000000000..2a0204ee0 --- /dev/null +++ b/src/wx/region_subtag_dialog.h @@ -0,0 +1,42 @@ +/* + Copyright (C) 2020-2021 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include +#include +#include + + +class LanguageSubtagPanel; + + +class RegionSubtagDialog : public wxDialog +{ +public: + RegionSubtagDialog (wxWindow* parent, dcp::LanguageTag::RegionSubtag region); + + boost::optional get () const; + +private: + LanguageSubtagPanel* _panel; +}; + + + diff --git a/src/wx/wscript b/src/wx/wscript index adbdcad44..5677a9cda 100644 --- a/src/wx/wscript +++ b/src/wx/wscript @@ -126,6 +126,7 @@ sources = """ recipients_panel.cc recipient_dialog.cc recreate_chain_dialog.cc + region_subtag_dialog.cc repeat_dialog.cc report_problem_dialog.cc rename_template_dialog.cc -- cgit v1.2.3