Extract RegionSubtagDialog to its own files.
authorCarl Hetherington <cth@carlh.net>
Thu, 24 Nov 2022 22:56:38 +0000 (23:56 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 24 Nov 2022 22:56:38 +0000 (23:56 +0100)
src/wx/full_language_tag_dialog.cc
src/wx/full_language_tag_dialog.h
src/wx/metadata_dialog.cc
src/wx/region_subtag_dialog.cc [new file with mode: 0644]
src/wx/region_subtag_dialog.h [new file with mode: 0644]
src/wx/wscript

index c88044088733b8bc86e60d64d31ef2fc2616a0bb..5f0aca1e5b53acdececa49d059046d116029e028 100644 (file)
@@ -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<dcp::LanguageTag::RegionSubtag>
-RegionSubtagDialog::get () const
-{
-       return _panel->get ();
-}
-
-
index 99f1c3267fc7650578131accb739f9ddfaa6ca7b..1dbdeacb1c323f3d1a3ed5ec0abd746dc2d873b2 100644 (file)
@@ -76,17 +76,4 @@ private:
 };
 
 
-
-class RegionSubtagDialog : public wxDialog
-{
-public:
-       RegionSubtagDialog (wxWindow* parent, dcp::LanguageTag::RegionSubtag region);
-
-       boost::optional<dcp::LanguageTag::RegionSubtag> get () const;
-
-private:
-       LanguageSubtagPanel* _panel;
-};
-
-
 #endif
index b7156adc3fb98b4bcdd1bf3edbfd3e068468b3be..2b9c967f9fd6e304ae9bad29d5517b42b3b3d79d 100644 (file)
@@ -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 <dcp/warnings.h>
diff --git a/src/wx/region_subtag_dialog.cc b/src/wx/region_subtag_dialog.cc
new file mode 100644 (file)
index 0000000..96048cb
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+    Copyright (C) 2020-2021 Carl Hetherington <cth@carlh.net>
+
+    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 <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "language_subtag_panel.h"
+#include "region_subtag_dialog.h"
+#include <wx/wx.h>
+
+
+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<dcp::LanguageTag::RegionSubtag>
+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 (file)
index 0000000..2a0204e
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+    Copyright (C) 2020-2021 Carl Hetherington <cth@carlh.net>
+
+    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 <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include <dcp/language_tag.h>
+#include <wx/wx.h>
+#include <boost/optional.hpp>
+
+
+class LanguageSubtagPanel;
+
+
+class RegionSubtagDialog : public wxDialog
+{
+public:
+       RegionSubtagDialog (wxWindow* parent, dcp::LanguageTag::RegionSubtag region);
+
+       boost::optional<dcp::LanguageTag::RegionSubtag> get () const;
+
+private:
+       LanguageSubtagPanel* _panel;
+};
+
+
+
index adbdcad44a582cacf35589ace01c71ca74b268b3..5677a9cda5656c1f1fb9e72feda8b0866d5908b0 100644 (file)
@@ -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