diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-04-24 01:49:09 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-04-24 19:12:36 +0200 |
| commit | 401da185ca664fc8d819fc842ffc08e14d4f6486 (patch) | |
| tree | 5c2ea2d1a7b1b537c04e7e9b3d32c8a44080f168 /src/wx/cinema_dialog.cc | |
| parent | dbcd1675732d59f6337f7f60d0a39aaa6a1aa3a6 (diff) | |
Restore time zone to Cinema and improve UI to use it (#2473).
Diffstat (limited to 'src/wx/cinema_dialog.cc')
| -rw-r--r-- | src/wx/cinema_dialog.cc | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/wx/cinema_dialog.cc b/src/wx/cinema_dialog.cc index 771a59892..3b8265e6f 100644 --- a/src/wx/cinema_dialog.cc +++ b/src/wx/cinema_dialog.cc @@ -20,6 +20,7 @@ #include "cinema_dialog.h" +#include "dcpomatic_choice.h" #include "wx_util.h" #include "lib/dcpomatic_assert.h" #include "lib/util.h" @@ -36,7 +37,7 @@ using namespace boost::placeholders; #endif -CinemaDialog::CinemaDialog(wxWindow* parent, wxString title, string name, vector<string> emails, string notes) +CinemaDialog::CinemaDialog(wxWindow* parent, wxString title, string name, vector<string> emails, string notes, dcp::UTCOffset utc_offset) : wxDialog (parent, wxID_ANY, title) { auto overall_sizer = new wxBoxSizer (wxVERTICAL); @@ -50,6 +51,11 @@ CinemaDialog::CinemaDialog(wxWindow* parent, wxString title, string name, vector sizer->Add (_name, wxGBPosition(r, 1)); ++r; + add_label_to_sizer(sizer, this, _("UTC offset (time zone)"), true, wxGBPosition(r, 0)); + _utc_offset = new Choice(this); + sizer->Add(_utc_offset, wxGBPosition(r, 1)); + ++r; + add_label_to_sizer (sizer, this, _("Notes"), true, wxGBPosition(r, 0)); _notes = new wxTextCtrl (this, wxID_ANY, std_to_wx(notes), wxDefaultPosition, wxSize(500, -1)); sizer->Add (_notes, wxGBPosition(r, 1)); @@ -78,6 +84,17 @@ CinemaDialog::CinemaDialog(wxWindow* parent, wxString title, string name, vector overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); } + /* Default to UTC */ + size_t sel = get_offsets(_offsets); + for (size_t i = 0; i < _offsets.size(); ++i) { + _utc_offset->add_entry(_offsets[i].name); + if (_offsets[i].offset == utc_offset) { + sel = i; + } + } + + _utc_offset->set(sel); + overall_sizer->Layout (); overall_sizer->SetSizeHints (this); @@ -111,3 +128,15 @@ CinemaDialog::notes () const { return wx_to_std (_notes->GetValue()); } + + +dcp::UTCOffset +CinemaDialog::utc_offset() const +{ + auto const sel = _utc_offset->GetSelection(); + if (sel < 0 || sel > int(_offsets.size())) { + return {}; + } + + return _offsets[sel].offset; +} |
