Formatting tweaks to unmount dialogue.
[dcpomatic.git] / src / wx / full_config_dialog.cc
index ffe7b4749c67c22a9fce59281c8ff8fceb3e7c5c..370ec35a1a90ea0b13cfd5ceb1780595658fe814 100644 (file)
@@ -105,19 +105,17 @@ private:
                ++r;
 
                add_label_to_sizer (table, _panel, _("Configuration file"), true, wxGBPosition (r, 0));
-               _config_file = new FilePickerCtrl (_panel, _("Select configuration file"), "*.xml", true);
+               _config_file = new FilePickerCtrl (_panel, _("Select configuration file"), "*.xml", true, true);
                table->Add (_config_file, wxGBPosition (r, 1));
                ++r;
 
                add_label_to_sizer (table, _panel, _("Cinema and screen database file"), true, wxGBPosition (r, 0));
-               _cinemas_file = new FilePickerCtrl (_panel, _("Select cinema and screen database file"), "*.xml", true);
+               _cinemas_file = new FilePickerCtrl (_panel, _("Select cinema and screen database file"), "*.xml", true, true);
                table->Add (_cinemas_file, wxGBPosition (r, 1));
                Button* export_cinemas = new Button (_panel, _("Export..."));
                table->Add (export_cinemas, wxGBPosition (r, 2));
                ++r;
 
-               add_play_sound_controls (table, r);
-
 #ifdef DCPOMATIC_HAVE_EBUR128_PATCHED_FFMPEG
                _analyse_ebur128 = new CheckBox (_panel, _("Find integrated loudness, true peak and loudness range when analysing audio"));
                table->Add (_analyse_ebur128, wxGBPosition (r, 0), wxGBSpan (1, 2));
@@ -983,145 +981,6 @@ private:
        wxButton* _reset_email;
 };
 
-class AccountsPage : public StandardPage
-{
-public:
-       AccountsPage (wxSize panel_size, int border)
-               : StandardPage (panel_size, border)
-       {}
-
-       wxString GetName () const
-       {
-               return _("Accounts");
-       }
-
-#ifdef DCPOMATIC_OSX
-       wxBitmap GetLargeIcon () const
-       {
-               return wxBitmap ("accounts", wxBITMAP_TYPE_PNG_RESOURCE);
-       }
-#endif
-
-       void setup ()
-       {
-               wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
-               table->AddGrowableCol (1, 1);
-               _panel->GetSizer()->Add (table, 1, wxEXPAND | wxALL, _border);
-
-               add_label_to_sizer (table, _panel, _("certificates.barco.com user name"), true);
-               _barco_username = new wxTextCtrl (_panel, wxID_ANY);
-               table->Add (_barco_username, 1, wxEXPAND | wxALL);
-
-               add_label_to_sizer (table, _panel, _("certificates.barco.com password"), true);
-               _barco_password = new PasswordEntry (_panel);
-               table->Add (_barco_password->get_panel(), 1, wxEXPAND | wxALL);
-
-               add_label_to_sizer (table, _panel, _("certificates.christiedigital.com user name"), true);
-               _christie_username = new wxTextCtrl (_panel, wxID_ANY);
-               table->Add (_christie_username, 1, wxEXPAND | wxALL);
-
-               add_label_to_sizer (table, _panel, _("certificates.christiedigital.com password"), true);
-               _christie_password = new PasswordEntry (_panel);
-               table->Add (_christie_password->get_panel(), 1, wxEXPAND | wxALL);
-
-               add_label_to_sizer (table, _panel, _("GDC user name"), true);
-               _gdc_username = new wxTextCtrl (_panel, wxID_ANY);
-               table->Add (_gdc_username, 1, wxEXPAND | wxALL);
-
-               add_label_to_sizer (table, _panel, _("GDC password"), true);
-               _gdc_password = new PasswordEntry (_panel);
-               table->Add (_gdc_password->get_panel(), 1, wxEXPAND | wxALL);
-
-               _barco_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::barco_username_changed, this));
-               _barco_password->Changed.connect (boost::bind(&AccountsPage::barco_password_changed, this));
-               _christie_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::christie_username_changed, this));
-               _christie_password->Changed.connect (boost::bind(&AccountsPage::christie_password_changed, this));
-               _gdc_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::gdc_username_changed, this));
-               _gdc_password->Changed.connect (boost::bind(&AccountsPage::gdc_password_changed, this));
-       }
-
-       void config_changed ()
-       {
-               Config* config = Config::instance ();
-
-               checked_set (_barco_username, config->barco_username().get_value_or(""));
-               checked_set (_barco_password, config->barco_password().get_value_or(""));
-               checked_set (_christie_username, config->christie_username().get_value_or(""));
-               checked_set (_christie_password, config->christie_password().get_value_or(""));
-               checked_set (_gdc_username, config->gdc_username().get_value_or(""));
-               checked_set (_gdc_password, config->gdc_password().get_value_or(""));
-       }
-
-       void barco_username_changed ()
-       {
-               wxString const s = _barco_username->GetValue();
-               if (!s.IsEmpty()) {
-                       Config::instance()->set_barco_username (wx_to_std(s));
-               } else {
-                       Config::instance()->unset_barco_username ();
-               }
-       }
-
-       void barco_password_changed ()
-       {
-               string const s = _barco_password->get();
-               if (!s.empty()) {
-                       Config::instance()->set_barco_password(s);
-               } else {
-                       Config::instance()->unset_barco_password();
-               }
-       }
-
-       void christie_username_changed ()
-       {
-               wxString const s = _christie_username->GetValue();
-               if (!s.IsEmpty()) {
-                       Config::instance()->set_christie_username (wx_to_std(s));
-               } else {
-                       Config::instance()->unset_christie_username ();
-               }
-       }
-
-       void christie_password_changed ()
-       {
-               string const s = _christie_password->get();
-               if (!s.empty()) {
-                       Config::instance()->set_christie_password(s);
-               } else {
-                       Config::instance()->unset_christie_password();
-               }
-       }
-
-       void gdc_username_changed ()
-       {
-               wxString const s = _gdc_username->GetValue();
-               if (!s.IsEmpty()) {
-                       Config::instance()->set_gdc_username (wx_to_std(s));
-               } else {
-                       Config::instance()->unset_gdc_username ();
-               }
-       }
-
-       void gdc_password_changed ()
-       {
-               string const s = _gdc_password->get();
-               if (!s.empty()) {
-                       Config::instance()->set_gdc_password(s);
-               } else {
-                       Config::instance()->unset_gdc_password();
-               }
-       }
-
-private:
-       wxTextCtrl* _barco_username;
-       PasswordEntry* _barco_password;
-       wxTextCtrl* _christie_username;
-       PasswordEntry* _christie_password;
-       wxTextCtrl* _gdc_username;
-       PasswordEntry* _gdc_password;
-};
-
-
 class NotificationsPage : public StandardPage
 {
 public:
@@ -1368,12 +1227,13 @@ public:
                , _maximum_j2k_bandwidth (0)
                , _allow_any_dcp_frame_rate (0)
                , _allow_any_container (0)
+               , _show_experimental_audio_processors (0)
                , _only_servers_encode (0)
                , _log_general (0)
                , _log_warning (0)
                , _log_error (0)
                , _log_timing (0)
-               , _log_debug_decode (0)
+               , _log_debug_threed (0)
                , _log_debug_encode (0)
                , _log_debug_email (0)
        {}
@@ -1428,6 +1288,10 @@ private:
                restart->SetFont (font);
                table->AddSpacer (0);
 
+               _show_experimental_audio_processors = new CheckBox (_panel, _("Show experimental audio processors"));
+               table->Add (_show_experimental_audio_processors, 1, wxEXPAND | wxALL);
+               table->AddSpacer (0);
+
                _only_servers_encode = new CheckBox (_panel, _("Only servers encode"));
                table->Add (_only_servers_encode, 1, wxEXPAND | wxALL);
                table->AddSpacer (0);
@@ -1482,8 +1346,8 @@ private:
                        /// TRANSLATORS: translate the word "Timing" here; do not include the "Config|" prefix
                        _log_timing = new CheckBox (_panel, S_("Config|Timing"));
                        t->Add (_log_timing, 1, wxEXPAND | wxALL);
-                       _log_debug_decode = new CheckBox (_panel, _("Debug: decode"));
-                       t->Add (_log_debug_decode, 1, wxEXPAND | wxALL);
+                       _log_debug_threed = new CheckBox (_panel, _("Debug: 3D"));
+                       t->Add (_log_debug_threed, 1, wxEXPAND | wxALL);
                        _log_debug_encode = new CheckBox (_panel, _("Debug: encode"));
                        t->Add (_log_debug_encode, 1, wxEXPAND | wxALL);
                        _log_debug_email = new CheckBox (_panel, _("Debug: email sending"));
@@ -1504,6 +1368,7 @@ private:
                _video_display_mode->Bind (wxEVT_CHOICE, boost::bind(&AdvancedPage::video_display_mode_changed, this));
                _allow_any_dcp_frame_rate->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::allow_any_dcp_frame_rate_changed, this));
                _allow_any_container->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::allow_any_container_changed, this));
+               _show_experimental_audio_processors->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::show_experimental_audio_processors_changed, this));
                _only_servers_encode->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::only_servers_encode_changed, this));
                _frames_in_memory_multiplier->Bind (wxEVT_SPINCTRL, boost::bind(&AdvancedPage::frames_in_memory_multiplier_changed, this));
                _dcp_metadata_filename_format->Changed.connect (boost::bind (&AdvancedPage::dcp_metadata_filename_format_changed, this));
@@ -1512,7 +1377,7 @@ private:
                _log_warning->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
                _log_error->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
                _log_timing->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
-               _log_debug_decode->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
+               _log_debug_threed->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
                _log_debug_encode->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
                _log_debug_email->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::log_changed, this));
 #ifdef DCPOMATIC_WINDOWS
@@ -1535,12 +1400,13 @@ private:
                }
                checked_set (_allow_any_dcp_frame_rate, config->allow_any_dcp_frame_rate ());
                checked_set (_allow_any_container, config->allow_any_container ());
+               checked_set (_show_experimental_audio_processors, config->show_experimental_audio_processors ());
                checked_set (_only_servers_encode, config->only_servers_encode ());
                checked_set (_log_general, config->log_types() & LogEntry::TYPE_GENERAL);
                checked_set (_log_warning, config->log_types() & LogEntry::TYPE_WARNING);
                checked_set (_log_error, config->log_types() & LogEntry::TYPE_ERROR);
                checked_set (_log_timing, config->log_types() & LogEntry::TYPE_TIMING);
-               checked_set (_log_debug_decode, config->log_types() & LogEntry::TYPE_DEBUG_DECODE);
+               checked_set (_log_debug_threed, config->log_types() & LogEntry::TYPE_DEBUG_THREED);
                checked_set (_log_debug_encode, config->log_types() & LogEntry::TYPE_DEBUG_ENCODE);
                checked_set (_log_debug_email, config->log_types() & LogEntry::TYPE_DEBUG_EMAIL);
                checked_set (_frames_in_memory_multiplier, config->frames_in_memory_multiplier());
@@ -1578,6 +1444,11 @@ private:
                Config::instance()->set_allow_any_container (_allow_any_container->GetValue ());
        }
 
+       void show_experimental_audio_processors_changed ()
+       {
+               Config::instance()->set_show_experimental_audio_processors (_show_experimental_audio_processors->GetValue ());
+       }
+
        void only_servers_encode_changed ()
        {
                Config::instance()->set_only_servers_encode (_only_servers_encode->GetValue ());
@@ -1608,8 +1479,8 @@ private:
                if (_log_timing->GetValue ()) {
                        types |= LogEntry::TYPE_TIMING;
                }
-               if (_log_debug_decode->GetValue ()) {
-                       types |= LogEntry::TYPE_DEBUG_DECODE;
+               if (_log_debug_threed->GetValue ()) {
+                       types |= LogEntry::TYPE_DEBUG_THREED;
                }
                if (_log_debug_encode->GetValue ()) {
                        types |= LogEntry::TYPE_DEBUG_ENCODE;
@@ -1632,6 +1503,7 @@ private:
        wxSpinCtrl* _frames_in_memory_multiplier;
        wxCheckBox* _allow_any_dcp_frame_rate;
        wxCheckBox* _allow_any_container;
+       wxCheckBox* _show_experimental_audio_processors;
        wxCheckBox* _only_servers_encode;
        NameFormatEditor* _dcp_metadata_filename_format;
        NameFormatEditor* _dcp_asset_filename_format;
@@ -1639,7 +1511,7 @@ private:
        wxCheckBox* _log_warning;
        wxCheckBox* _log_error;
        wxCheckBox* _log_timing;
-       wxCheckBox* _log_debug_decode;
+       wxCheckBox* _log_debug_threed;
        wxCheckBox* _log_debug_encode;
        wxCheckBox* _log_debug_email;
 #ifdef DCPOMATIC_WINDOWS
@@ -1665,13 +1537,13 @@ create_full_config_dialog ()
 #endif
 
        e->AddPage (new FullGeneralPage (ps, border));
+       e->AddPage (new SoundPage (ps, border));
        e->AddPage (new DefaultsPage (ps, border));
        e->AddPage (new EncodingServersPage (ps, border));
        e->AddPage (new KeysPage (ps, border));
        e->AddPage (new TMSPage (ps, border));
        e->AddPage (new EmailPage (ps, border));
        e->AddPage (new KDMEmailPage (ps, border));
-       e->AddPage (new AccountsPage (ps, border));
        e->AddPage (new NotificationsPage (ps, border));
        e->AddPage (new CoverSheetPage (ps, border));
        e->AddPage (new AdvancedPage (ps, border));