From: Carl Hetherington Date: Wed, 17 Jun 2020 09:54:33 +0000 (+0200) Subject: Move identifiers stuff out to a new prefs tab. X-Git-Tag: v2.15.81 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=ecb2f017e18704e8c6c70463cf3a41a538034902 Move identifiers stuff out to a new prefs tab. --- diff --git a/graphics/osx/preferences/identifiers.png b/graphics/osx/preferences/identifiers.png new file mode 100644 index 000000000..c3a9b8685 Binary files /dev/null and b/graphics/osx/preferences/identifiers.png differ diff --git a/graphics/src/identifiers.svg b/graphics/src/identifiers.svg new file mode 100644 index 000000000..257841d29 --- /dev/null +++ b/graphics/src/identifiers.svg @@ -0,0 +1,17760 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + Key + 2007-02-27T15:15:43 + A key icon. + http://openclipart.org/detail/3330/key-by-barretr + + + barretr + + + + + clip art + clipart + icon + image + key + media + png + public domain + svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/graphics/update b/graphics/update index f0a7fd597..72aaa5f26 100755 --- a/graphics/update +++ b/graphics/update @@ -65,7 +65,7 @@ else # OS X preferences icons # servers.png does not have an SVG version mkdir -p osx/preferences - for i in colour_conversions defaults email kdm_email cover_sheet keys tms notifications locations sound; do + for i in colour_conversions defaults email kdm_email cover_sheet keys tms notifications locations sound identifiers; do $INKSCAPE osx/preferences/$i.png src/$i.svg -w 32 -h 32 done diff --git a/platform/osx/make_dmg.sh b/platform/osx/make_dmg.sh index 9747bd3ec..bfb518110 100644 --- a/platform/osx/make_dmg.sh +++ b/platform/osx/make_dmg.sh @@ -202,6 +202,7 @@ function copy_resources { cp $prefix/src/dcpomatic/graphics/osx/preferences/notifications.png "$dest" cp $prefix/src/dcpomatic/graphics/osx/preferences/locations.png "$dest" cp $prefix/src/dcpomatic/graphics/osx/preferences/sound.png "$dest" + cp $prefix/src/dcpomatic/graphics/osx/preferences/identifiers.png "$dest" cp $prefix/src/dcpomatic/fonts/LiberationSans-Regular.ttf "$dest" cp $prefix/src/dcpomatic/fonts/LiberationSans-Italic.ttf "$dest" cp $prefix/src/dcpomatic/fonts/LiberationSans-Bold.ttf "$dest" diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc index 342657e29..5a3c05b9b 100644 --- a/src/wx/full_config_dialog.cc +++ b/src/wx/full_config_dialog.cc @@ -128,42 +128,6 @@ private: add_update_controls (table, r); - wxFlexGridSizer* bottom_table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); - bottom_table->AddGrowableCol (1, 1); - - add_label_to_sizer (bottom_table, _panel, _("Issuer"), true); - _issuer = new wxTextCtrl (_panel, wxID_ANY); - _issuer->SetToolTip (_("This will be written to the DCP's XML files as the . If it is blank, a default value mentioning DCP-o-matic will be used.")); - bottom_table->Add (_issuer, 1, wxALL | wxEXPAND); - - add_label_to_sizer (bottom_table, _panel, _("Creator"), true); - _creator = new wxTextCtrl (_panel, wxID_ANY); - _creator->SetToolTip (_("This will be written to the DCP's XML files as the . If it is blank, a default value mentioning DCP-o-matic will be used.")); - bottom_table->Add (_creator, 1, wxALL | wxEXPAND); - - add_label_to_sizer (bottom_table, _panel, _("Company name"), true); - _company_name = new wxTextCtrl (_panel, wxID_ANY); - _company_name->SetToolTip (_("This will be written to the DCP's MXF files as the 'company name'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); - bottom_table->Add (_company_name, 1, wxALL | wxEXPAND); - - add_label_to_sizer (bottom_table, _panel, _("Product name"), true); - _product_name = new wxTextCtrl (_panel, wxID_ANY); - _product_name->SetToolTip (_("This will be written to the DCP's MXF files as the 'product name'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); - bottom_table->Add (_product_name, 1, wxALL | wxEXPAND); - - add_label_to_sizer (bottom_table, _panel, _("Product version"), true); - _product_version = new wxTextCtrl (_panel, wxID_ANY); - _product_version->SetToolTip (_("This will be written to the DCP's MXF files as the 'product version'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); - bottom_table->Add (_product_version, 1, wxALL | wxEXPAND); - - add_label_to_sizer (bottom_table, _panel, _("JPEG2000 comment"), true); - _j2k_comment = new wxTextCtrl (_panel, wxID_ANY); - _j2k_comment->SetToolTip (_("This will be written to the DCP's JPEG2000 data as a comment. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); - bottom_table->Add (_j2k_comment, 1, wxALL | wxEXPAND); - - table->Add (bottom_table, wxGBPosition (r, 0), wxGBSpan (2, 2), wxEXPAND); - ++r; - _config_file->Bind (wxEVT_FILEPICKER_CHANGED, boost::bind (&FullGeneralPage::config_file_changed, this)); _cinemas_file->Bind (wxEVT_FILEPICKER_CHANGED, boost::bind (&FullGeneralPage::cinemas_file_changed, this)); @@ -181,13 +145,6 @@ private: _analyse_ebur128->Bind (wxEVT_CHECKBOX, boost::bind (&FullGeneralPage::analyse_ebur128_changed, this)); #endif _automatic_audio_analysis->Bind (wxEVT_CHECKBOX, boost::bind (&FullGeneralPage::automatic_audio_analysis_changed, this)); - - _issuer->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::issuer_changed, this)); - _creator->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::creator_changed, this)); - _company_name->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::company_name_changed, this)); - _product_name->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::product_name_changed, this)); - _product_version->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::product_version_changed, this)); - _j2k_comment->Bind (wxEVT_TEXT, boost::bind (&FullGeneralPage::j2k_comment_changed, this)); } void config_changed () @@ -208,12 +165,6 @@ private: checked_set (_analyse_ebur128, config->analyse_ebur128 ()); #endif checked_set (_automatic_audio_analysis, config->automatic_audio_analysis ()); - checked_set (_issuer, config->dcp_issuer ()); - checked_set (_creator, config->dcp_creator ()); - checked_set (_company_name, config->dcp_company_name ()); - checked_set (_product_name, config->dcp_product_name ()); - checked_set (_product_version, config->dcp_product_version ()); - checked_set (_j2k_comment, config->dcp_j2k_comment ()); checked_set (_config_file, config->config_file()); checked_set (_cinemas_file, config->cinemas_file()); @@ -265,36 +216,6 @@ private: Config::instance()->set_server_encoding_threads (_server_encoding_threads->GetValue ()); } - void issuer_changed () - { - Config::instance()->set_dcp_issuer (wx_to_std (_issuer->GetValue ())); - } - - void creator_changed () - { - Config::instance()->set_dcp_creator (wx_to_std (_creator->GetValue ())); - } - - void company_name_changed () - { - Config::instance()->set_dcp_company_name (wx_to_std(_company_name->GetValue())); - } - - void product_name_changed () - { - Config::instance()->set_dcp_product_name (wx_to_std(_product_name->GetValue())); - } - - void product_version_changed () - { - Config::instance()->set_dcp_product_version (wx_to_std(_product_version->GetValue())); - } - - void j2k_comment_changed () - { - Config::instance()->set_dcp_j2k_comment (wx_to_std(_j2k_comment->GetValue())); - } - void config_file_changed () { Config* config = Config::instance(); @@ -335,12 +256,6 @@ private: wxCheckBox* _analyse_ebur128; #endif wxCheckBox* _automatic_audio_analysis; - wxTextCtrl* _issuer; - wxTextCtrl* _creator; - wxTextCtrl* _company_name; - wxTextCtrl* _product_name; - wxTextCtrl* _product_version; - wxTextCtrl* _j2k_comment; }; class DefaultsPage : public StandardPage @@ -1234,6 +1149,121 @@ private: }; +class IdentifiersPage : public StandardPage +{ +public: + IdentifiersPage (wxSize panel_size, int border) + : StandardPage (panel_size, border) + {} + + wxString GetName () const + { + return _("Identifiers"); + } + +#ifdef DCPOMATIC_OSX + wxBitmap GetLargeIcon () const + { + return wxBitmap ("identifiers", wxBITMAP_TYPE_PNG_RESOURCE); + } +#endif + +private: + void setup () + { + wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); + table->AddGrowableCol (1, 1); + + add_label_to_sizer (table, _panel, _("Issuer"), true); + _issuer = new wxTextCtrl (_panel, wxID_ANY); + _issuer->SetToolTip (_("This will be written to the DCP's XML files as the . If it is blank, a default value mentioning DCP-o-matic will be used.")); + table->Add (_issuer, 1, wxALL | wxEXPAND); + + add_label_to_sizer (table, _panel, _("Creator"), true); + _creator = new wxTextCtrl (_panel, wxID_ANY); + _creator->SetToolTip (_("This will be written to the DCP's XML files as the . If it is blank, a default value mentioning DCP-o-matic will be used.")); + table->Add (_creator, 1, wxALL | wxEXPAND); + + add_label_to_sizer (table, _panel, _("Company name"), true); + _company_name = new wxTextCtrl (_panel, wxID_ANY); + _company_name->SetToolTip (_("This will be written to the DCP's MXF files as the 'company name'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); + table->Add (_company_name, 1, wxALL | wxEXPAND); + + add_label_to_sizer (table, _panel, _("Product name"), true); + _product_name = new wxTextCtrl (_panel, wxID_ANY); + _product_name->SetToolTip (_("This will be written to the DCP's MXF files as the 'product name'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); + table->Add (_product_name, 1, wxALL | wxEXPAND); + + add_label_to_sizer (table, _panel, _("Product version"), true); + _product_version = new wxTextCtrl (_panel, wxID_ANY); + _product_version->SetToolTip (_("This will be written to the DCP's MXF files as the 'product version'. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); + table->Add (_product_version, 1, wxALL | wxEXPAND); + + add_label_to_sizer (table, _panel, _("JPEG2000 comment"), true); + _j2k_comment = new wxTextCtrl (_panel, wxID_ANY); + _j2k_comment->SetToolTip (_("This will be written to the DCP's JPEG2000 data as a comment. If it is blank, a default value mentioning libdcp (an internal DCP-o-matic library) will be used.")); + table->Add (_j2k_comment, 1, wxALL | wxEXPAND); + + _panel->GetSizer()->Add (table, 0, wxEXPAND | wxALL, _border); + + _issuer->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::issuer_changed, this)); + _creator->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::creator_changed, this)); + _company_name->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::company_name_changed, this)); + _product_name->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::product_name_changed, this)); + _product_version->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::product_version_changed, this)); + _j2k_comment->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::j2k_comment_changed, this)); + } + + void config_changed () + { + Config* config = Config::instance (); + checked_set (_issuer, config->dcp_issuer ()); + checked_set (_creator, config->dcp_creator ()); + checked_set (_company_name, config->dcp_company_name ()); + checked_set (_product_name, config->dcp_product_name ()); + checked_set (_product_version, config->dcp_product_version ()); + checked_set (_j2k_comment, config->dcp_j2k_comment ()); + } + + void issuer_changed () + { + Config::instance()->set_dcp_issuer (wx_to_std (_issuer->GetValue ())); + } + + void creator_changed () + { + Config::instance()->set_dcp_creator (wx_to_std (_creator->GetValue ())); + } + + void company_name_changed () + { + Config::instance()->set_dcp_company_name (wx_to_std(_company_name->GetValue())); + } + + void product_name_changed () + { + Config::instance()->set_dcp_product_name (wx_to_std(_product_name->GetValue())); + } + + void product_version_changed () + { + Config::instance()->set_dcp_product_version (wx_to_std(_product_version->GetValue())); + } + + void j2k_comment_changed () + { + Config::instance()->set_dcp_j2k_comment (wx_to_std(_j2k_comment->GetValue())); + } + + wxTextCtrl* _issuer; + wxTextCtrl* _creator; + wxTextCtrl* _company_name; + wxTextCtrl* _product_name; + wxTextCtrl* _product_version; + wxTextCtrl* _j2k_comment; +}; + + /** @class AdvancedPage * @brief Advanced page of the preferences dialog. */ @@ -1564,6 +1594,7 @@ create_full_config_dialog () e->AddPage (new KDMEmailPage (ps, border)); e->AddPage (new NotificationsPage (ps, border)); e->AddPage (new CoverSheetPage (ps, border)); + e->AddPage (new IdentifiersPage (ps, border)); e->AddPage (new AdvancedPage (ps, border)); return e; }