From e598189f4feea1b884a336d77b029489813481ee Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 16 Mar 2014 23:11:34 +0000 Subject: [PATCH] More bits and pieces. --- icons/colour_conversions.png | Bin 0 -> 275 bytes icons/colour_conversions.svg | 83 ++++++++++++++ icons/defaults.png | Bin 638 -> 651 bytes icons/defaults.svg | 12 ++- icons/tms.png | Bin 0 -> 1249 bytes icons/tms.svg | 125 +++++++++++++++++++++ src/wx/config_dialog.cc | 203 +++++++++++++++-------------------- 7 files changed, 304 insertions(+), 119 deletions(-) create mode 100644 icons/colour_conversions.png create mode 100644 icons/colour_conversions.svg create mode 100644 icons/tms.png create mode 100644 icons/tms.svg diff --git a/icons/colour_conversions.png b/icons/colour_conversions.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd2b32bf8961e949eaca47db555dd9716aeeca5 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq z7`;K5(fW|I8&FWP#5JNMI6tkVJh3R1p}f3YFEcN@I61K(RWH9NefB#WDWIYWo-U3d z5v^~pEAllv2(&(|_n5qF7IOiEjpusC=PlVLE8QQwTCs9nrjdlx0iKWvrtepZ=BwXN zyEL{G4pxn8knK&y6<@ zAFpsIG%zqB2o?4}TW8(fx954B!AJ9VWnmky+%Ej2KZ8NAK&r9g{hubF+Za4u{an^L HB{Ts59%^8u literal 0 HcmV?d00001 diff --git a/icons/colour_conversions.svg b/icons/colour_conversions.svg new file mode 100644 index 000000000..a163f9c33 --- /dev/null +++ b/icons/colour_conversions.svg @@ -0,0 +1,83 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/icons/defaults.png b/icons/defaults.png index edca493a065109a90032db09981d0d07ae8c58ca..c5bdcb008666a2e60c0665ed2f89b125366104c7 100644 GIT binary patch delta 602 zcmV-g0;T=_1d9bBiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPO3UdGe z0doPwbRvC`Mkjv)2uVaiR9J=0mpy0{Q51#0W0ok02tklwgs~6_k`!Vqg26@*0{&pP z7(s%C&DsPd&$rP;L929vAlOL?L9h}D2okVS5K9vIr{FxVe9 zQtTyQS3v;F>5JCqzyV+(N~eGs;3se}*xw2=Y^Ma6&-FmCp9ANCu@0MWC|7|p3^PjD zT!AXIB|v{u8j8|rB>+*X8KwoQ1c0@pxY`d7Ith>)L{aJv_OB@I0d4|k&)L5L6yq>! zjZ=hX96}yoQtAcfCZu8DGB6wLmzktN;7CCLFM#i`=@>SphT#U#4GaYPV?l=PlmPR& zPcUxZk5U)V(_!QDK$bY zB$}O#@Avi02(uG5ENqmIl%iN-X{}gLHWFpQ(qJ5mG19!RoqJ#Z&8??X=hyAI=ebX0 zrgkY2SAutq%=2vv{&Bkgf>?vY$ygnT_K=9cWxQHA@vMI(-BT9|`>+=M2Q$Cb1&MR? z!tu@>j^&h$SVWr=yS((KXIJ z+^h@IGFg9rj35c-YL`R~Mw^jf^pj88|w*7NzuHL8Xuqu`P&3 z=KYa~l{kzO&CCyf)UCynN+H;j3=Bu?N`~-8>jC#1o2!JxRi?k^4h9gx)<)*TDx0>2 zWTq0)ja!)2%-m8p;x`17nE6xoM*WaZ=l?%zO2mJG60xL4MeAEPeJ3;Db_4>$5!=z%$Q-R3 b0Y4Q1;VGe;VWQw*00000NkvXXu0mjfDC`t8 diff --git a/icons/defaults.svg b/icons/defaults.svg index 029681578..d8057534e 100644 --- a/icons/defaults.svg +++ b/icons/defaults.svg @@ -14,7 +14,10 @@ id="svg2" version="1.1" inkscape:version="0.48.4 r9939" - sodipodi:docname="New document 1"> + sodipodi:docname="defaults.svg" + inkscape:export-filename="/home/carl/src/dcpomatic/icons/defaults.png" + inkscape:export-xdpi="11.919314" + inkscape:export-ydpi="11.919314"> + diff --git a/icons/tms.png b/icons/tms.png new file mode 100644 index 0000000000000000000000000000000000000000..c74d647a19fe098712d78af661700502b8ac51f2 GIT binary patch literal 1249 zcmV<71Rnc|P)$IN6iV!(N;-pMpfpfi2u)Iupa=oMkV(YH=)_58CVulh z?&-psG~>+ZsGts91ihuxZ{eGZ@#zyyF>$z<}yK>?_i z3B+Qt55as5M9pkjilh_(wg4oVc`TpL|2{P}r5!myEEekl^K}qK^+G|V7Z!w;&B9$@ z4}T~GUnr!6%_f++Ktu@uV=kBL_W1a?ekg#Up`m5~-!t@CaZx^7SpiD+5E0xB z4X{(Tg4xjhT-h?!ByWKhUtpfxwk zP$U8XP9l1*TzpvoBFeH-5H=fH&!5M$r6p`Wc>+t{^GLUoI-LleJ`L}&W3UVZB&8C} zE9GKEg&etJE~i%K=b;P(^=)lv@9jmfqXRaVt7`E;Qxn>vQFs~}@O*h052vT0OjA{A zw(32QOQ(@br{S)vLnsnKU27}qT3YaYZ4H~L6!b!&Y}clyVR>#2#e9ByaocCIW`G@S zWwS`#y9bBIgT^yw5NK>fARI=1eI1*r6dYbJf*lhaC82u?Q-5^1dXq;$06+xKUlOOfJ)mNlpehqMG800fd~sC2h>pYqrSAu22r8QJ zXgokv;rUK|1_AbRAr=1(9X=oY;qZZ(%ofJuKQv@MGitwzg%Dp8(M-6r6HVvNv2-{p zSE_IXk8f%4-j-Egh(?L1JGZum^@Rmk#;ayd_VxnIcy#B^%V!R+7vZih z<@EUk5#10%e40okvIhbHfWE#yo8Rvr0q~7w7_|1_fh=rn007#1d%-&ZM5sS;0>|3h z8AKaGh|3cb6Ul11Yx*!57#QdlLW~m8+2^aPSYKE`+l32YrLa6Zi*RSBas~o|nSZt0 z?VrTs@yuR1YXSg(;o)J2rfJ^-xMJx#lavwwgb<2>EP#(DCns<2H($*FJBr0(Jpe`l zL;!%96L!1(<9Ixtt|iZb0RW)CzuzgP{F#X6lgZ@OgXB0Az)|QQRdw@g_cBCU00000 LNkvXXu0mjfRyHfq literal 0 HcmV?d00001 diff --git a/icons/tms.svg b/icons/tms.svg new file mode 100644 index 000000000..7162be0c2 --- /dev/null +++ b/icons/tms.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc index 7fe81de4e..a33a2bc6b 100644 --- a/src/wx/config_dialog.cc +++ b/src/wx/config_dialog.cc @@ -276,37 +276,37 @@ public: { add_label_to_sizer (table, panel, _("Default duration of still images"), true); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); - _default_still_length = new wxSpinCtrl (panel); - s->Add (_default_still_length); + _still_length = new wxSpinCtrl (panel); + s->Add (_still_length); add_label_to_sizer (s, panel, _("s"), false); table->Add (s, 1); } add_label_to_sizer (table, panel, _("Default directory for new films"), true); #ifdef DCPOMATIC_USE_OWN_DIR_PICKER - _default_directory = new DirPickerCtrl (panel); + _directory = new DirPickerCtrl (panel); #else - _default_directory = new wxDirPickerCtrl (panel, wxDD_DIR_MUST_EXIST); + _directory = new wxDirPickerCtrl (panel, wxDD_DIR_MUST_EXIST); #endif - table->Add (_default_directory, 1, wxEXPAND); + table->Add (_directory, 1, wxEXPAND); add_label_to_sizer (table, panel, _("Default DCI name details"), true); - _default_dci_metadata_button = new wxButton (panel, wxID_ANY, _("Edit...")); - table->Add (_default_dci_metadata_button); + _dci_metadata_button = new wxButton (panel, wxID_ANY, _("Edit...")); + table->Add (_dci_metadata_button); add_label_to_sizer (table, panel, _("Default container"), true); - _default_container = new wxChoice (panel, wxID_ANY); - table->Add (_default_container); + _container = new wxChoice (panel, wxID_ANY); + table->Add (_container); add_label_to_sizer (table, panel, _("Default content type"), true); - _default_dcp_content_type = new wxChoice (panel, wxID_ANY); - table->Add (_default_dcp_content_type); + _dcp_content_type = new wxChoice (panel, wxID_ANY); + table->Add (_dcp_content_type); { add_label_to_sizer (table, panel, _("Default JPEG2000 bandwidth"), true); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); - _default_j2k_bandwidth = new wxSpinCtrl (panel); - s->Add (_default_j2k_bandwidth); + _j2k_bandwidth = new wxSpinCtrl (panel); + s->Add (_j2k_bandwidth); add_label_to_sizer (s, panel, _("Mbit/s"), false); table->Add (s, 1); } @@ -314,75 +314,88 @@ public: { add_label_to_sizer (table, panel, _("Default audio delay"), true); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); - _default_audio_delay = new wxSpinCtrl (panel); - s->Add (_default_audio_delay); + _audio_delay = new wxSpinCtrl (panel); + s->Add (_audio_delay); add_label_to_sizer (s, panel, _("ms"), false); table->Add (s, 1); } + + add_label_to_sizer (table, panel, _("Default issuer"), true); + _issuer = new wxTextCtrl (panel, wxID_ANY); + table->Add (_issuer, 1, wxEXPAND); + + add_label_to_sizer (table, panel, _("Default creator"), true); + _creator = new wxTextCtrl (panel, wxID_ANY); + table->Add (_creator, 1, wxEXPAND); Config* config = Config::instance (); - _default_still_length->SetRange (1, 3600); - _default_still_length->SetValue (config->default_still_length ()); - _default_still_length->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::default_still_length_changed, this)); + _still_length->SetRange (1, 3600); + _still_length->SetValue (config->default_still_length ()); + _still_length->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::still_length_changed, this)); - _default_directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())).string ())); - _default_directory->Bind (wxEVT_COMMAND_DIRPICKER_CHANGED, boost::bind (&DefaultsPage::default_directory_changed, this)); + _directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())).string ())); + _directory->Bind (wxEVT_COMMAND_DIRPICKER_CHANGED, boost::bind (&DefaultsPage::directory_changed, this)); - _default_dci_metadata_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DefaultsPage::edit_default_dci_metadata_clicked, this, parent)); + _dci_metadata_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DefaultsPage::edit_dci_metadata_clicked, this, parent)); vector ratio = Ratio::all (); int n = 0; for (vector::iterator i = ratio.begin(); i != ratio.end(); ++i) { - _default_container->Append (std_to_wx ((*i)->nickname ())); + _container->Append (std_to_wx ((*i)->nickname ())); if (*i == config->default_container ()) { - _default_container->SetSelection (n); + _container->SetSelection (n); } ++n; } - _default_container->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::default_container_changed, this)); + _container->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::container_changed, this)); vector const ct = DCPContentType::all (); n = 0; for (vector::const_iterator i = ct.begin(); i != ct.end(); ++i) { - _default_dcp_content_type->Append (std_to_wx ((*i)->pretty_name ())); + _dcp_content_type->Append (std_to_wx ((*i)->pretty_name ())); if (*i == config->default_dcp_content_type ()) { - _default_dcp_content_type->SetSelection (n); + _dcp_content_type->SetSelection (n); } ++n; } - _default_dcp_content_type->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::default_dcp_content_type_changed, this)); + _dcp_content_type->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::dcp_content_type_changed, this)); - _default_j2k_bandwidth->SetRange (50, 250); - _default_j2k_bandwidth->SetValue (config->default_j2k_bandwidth() / 1000000); - _default_j2k_bandwidth->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::default_j2k_bandwidth_changed, this)); + _j2k_bandwidth->SetRange (50, 250); + _j2k_bandwidth->SetValue (config->default_j2k_bandwidth() / 1000000); + _j2k_bandwidth->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::j2k_bandwidth_changed, this)); - _default_audio_delay->SetRange (-1000, 1000); - _default_audio_delay->SetValue (config->default_audio_delay ()); - _default_audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::default_audio_delay_changed, this)); + _audio_delay->SetRange (-1000, 1000); + _audio_delay->SetValue (config->default_audio_delay ()); + _audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::audio_delay_changed, this)); + + _issuer->SetValue (std_to_wx (config->dcp_metadata().issuer)); + _issuer->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::issuer_changed, this)); + _creator->SetValue (std_to_wx (config->dcp_metadata().creator)); + _creator->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::creator_changed, this)); return panel; } private: - void default_j2k_bandwidth_changed () + void j2k_bandwidth_changed () { - Config::instance()->set_default_j2k_bandwidth (_default_j2k_bandwidth->GetValue() * 1000000); + Config::instance()->set_default_j2k_bandwidth (_j2k_bandwidth->GetValue() * 1000000); } - void default_audio_delay_changed () + void audio_delay_changed () { - Config::instance()->set_default_audio_delay (_default_audio_delay->GetValue()); + Config::instance()->set_default_audio_delay (_audio_delay->GetValue()); } - void default_directory_changed () + void directory_changed () { - Config::instance()->set_default_directory (wx_to_std (_default_directory->GetPath ())); + Config::instance()->set_default_directory (wx_to_std (_directory->GetPath ())); } - void edit_default_dci_metadata_clicked (wxWindow* parent) + void edit_dci_metadata_clicked (wxWindow* parent) { DCIMetadataDialog* d = new DCIMetadataDialog (parent, Config::instance()->default_dci_metadata ()); d->ShowModal (); @@ -390,34 +403,50 @@ private: d->Destroy (); } - void default_still_length_changed () + void still_length_changed () { - Config::instance()->set_default_still_length (_default_still_length->GetValue ()); + Config::instance()->set_default_still_length (_still_length->GetValue ()); } - void default_container_changed () + void container_changed () { vector ratio = Ratio::all (); - Config::instance()->set_default_container (ratio[_default_container->GetSelection()]); + Config::instance()->set_default_container (ratio[_container->GetSelection()]); } - void default_dcp_content_type_changed () + void dcp_content_type_changed () { vector ct = DCPContentType::all (); - Config::instance()->set_default_dcp_content_type (ct[_default_dcp_content_type->GetSelection()]); + Config::instance()->set_default_dcp_content_type (ct[_dcp_content_type->GetSelection()]); + } + + void issuer_changed () + { + libdcp::XMLMetadata m = Config::instance()->dcp_metadata (); + m.issuer = wx_to_std (_issuer->GetValue ()); + Config::instance()->set_dcp_metadata (m); } - wxSpinCtrl* _default_j2k_bandwidth; - wxSpinCtrl* _default_audio_delay; - wxButton* _default_dci_metadata_button; - wxSpinCtrl* _default_still_length; + void creator_changed () + { + libdcp::XMLMetadata m = Config::instance()->dcp_metadata (); + m.creator = wx_to_std (_creator->GetValue ()); + Config::instance()->set_dcp_metadata (m); + } + + wxSpinCtrl* _j2k_bandwidth; + wxSpinCtrl* _audio_delay; + wxButton* _dci_metadata_button; + wxSpinCtrl* _still_length; #ifdef DCPOMATIC_USE_OWN_DIR_PICKER - DirPickerCtrl* _default_directory; + DirPickerCtrl* _directory; #else - wxDirPickerCtrl* _default_directory; + wxDirPickerCtrl* _directory; #endif - wxChoice* _default_container; - wxChoice* _default_dcp_content_type; + wxChoice* _container; + wxChoice* _dcp_content_type; + wxTextCtrl* _issuer; + wxTextCtrl* _creator; }; class EncodingServersPage : public wxPreferencesPage @@ -488,7 +517,7 @@ class ColourConversionsPage : public wxPreferencesPage #ifdef DCPOMATIC_OSX wxBitmap GetLargeIcon () const { - return wxBitmap ("blank", wxBITMAP_TYPE_PNG_RESOURCE); + return wxBitmap ("colour_conversions", wxBITMAP_TYPE_PNG_RESOURCE); } #endif wxWindow* CreateWindow (wxWindow* parent) @@ -512,67 +541,6 @@ private: } }; -class MetadataPage : public wxPreferencesPage -{ - wxString GetName () const - { - return _("Metadata"); - } - -#ifdef DCPOMATIC_OSX - wxBitmap GetLargeIcon () const - { - return wxBitmap ("blank", wxBITMAP_TYPE_PNG_RESOURCE); - } -#endif - - wxWindow* CreateWindow (wxWindow* parent) - { - wxPanel* panel = new wxPanel (parent); - wxBoxSizer* s = new wxBoxSizer (wxVERTICAL); - panel->SetSizer (s); - - wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); - table->AddGrowableCol (1, 1); - s->Add (table, 1, wxALL | wxEXPAND, 8); - - add_label_to_sizer (table, panel, _("Issuer"), true); - _issuer = new wxTextCtrl (panel, wxID_ANY); - table->Add (_issuer, 1, wxEXPAND); - - add_label_to_sizer (table, panel, _("Creator"), true); - _creator = new wxTextCtrl (panel, wxID_ANY); - table->Add (_creator, 1, wxEXPAND); - - Config* config = Config::instance (); - - _issuer->SetValue (std_to_wx (config->dcp_metadata().issuer)); - _issuer->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&MetadataPage::issuer_changed, this)); - _creator->SetValue (std_to_wx (config->dcp_metadata().creator)); - _creator->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&MetadataPage::creator_changed, this)); - - return panel; - } - -private: - wxTextCtrl* _issuer; - wxTextCtrl* _creator; - - void issuer_changed () - { - libdcp::XMLMetadata m = Config::instance()->dcp_metadata (); - m.issuer = wx_to_std (_issuer->GetValue ()); - Config::instance()->set_dcp_metadata (m); - } - - void creator_changed () - { - libdcp::XMLMetadata m = Config::instance()->dcp_metadata (); - m.creator = wx_to_std (_creator->GetValue ()); - Config::instance()->set_dcp_metadata (m); - } -}; - class TMSPage : public wxPreferencesPage { wxString GetName () const @@ -583,7 +551,7 @@ class TMSPage : public wxPreferencesPage #ifdef DCPOMATIC_OSX wxBitmap GetLargeIcon () const { - return wxBitmap ("blank", wxBITMAP_TYPE_PNG_RESOURCE); + return wxBitmap ("tms", wxBITMAP_TYPE_PNG_RESOURCE); } #endif @@ -701,7 +669,6 @@ create_config_dialog () e->AddPage (new DefaultsPage); e->AddPage (new EncodingServersPage); e->AddPage (new ColourConversionsPage); - e->AddPage (new MetadataPage); e->AddPage (new TMSPage); e->AddPage (new KDMEmailPage); return e; -- 2.30.2