summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/audio_dialog.cc2
-rw-r--r--src/wx/config_dialog.cc343
-rw-r--r--src/wx/config_dialog.h25
-rw-r--r--src/wx/job_manager_view.cc53
-rw-r--r--src/wx/job_manager_view.h9
-rw-r--r--src/wx/po/es_ES.po132
-rw-r--r--src/wx/po/fr_FR.po170
-rw-r--r--src/wx/po/it_IT.po133
-rw-r--r--src/wx/po/sv_SE.po133
-rw-r--r--src/wx/wx_util.cc38
-rw-r--r--src/wx/wx_util.h1
11 files changed, 756 insertions, 283 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc
index 39650d157..d12b5516f 100644
--- a/src/wx/audio_dialog.cc
+++ b/src/wx/audio_dialog.cc
@@ -29,7 +29,7 @@ using boost::bind;
using boost::optional;
AudioDialog::AudioDialog (wxWindow* parent)
- : wxDialog (parent, wxID_ANY, _("Audio"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
+ : wxDialog (parent, wxID_ANY, _("Audio"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE)
, _plot (0)
{
wxBoxSizer* sizer = new wxBoxSizer (wxHORIZONTAL);
diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc
index c32b03ec0..98657b666 100644
--- a/src/wx/config_dialog.cc
+++ b/src/wx/config_dialog.cc
@@ -18,18 +18,20 @@
*/
/** @file src/config_dialog.cc
- * @brief A dialogue to edit DVD-o-matic configuration.
+ * @brief A dialogue to edit DCP-o-matic configuration.
*/
#include <iostream>
#include <boost/lexical_cast.hpp>
#include <boost/filesystem.hpp>
#include <wx/stdpaths.h>
+#include <wx/notebook.h>
#include "lib/config.h"
#include "lib/server.h"
#include "lib/format.h"
#include "lib/scaler.h"
#include "lib/filter.h"
+#include "lib/dcp_content_type.h"
#include "config_dialog.h"
#include "wx_util.h"
#include "filter_dialog.h"
@@ -41,14 +43,50 @@ using namespace std;
using boost::bind;
ConfigDialog::ConfigDialog (wxWindow* parent)
- : wxDialog (parent, wxID_ANY, _("DVD-o-matic Preferences"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
+ : wxDialog (parent, wxID_ANY, _("DCP-o-matic Preferences"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
{
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _notebook = new wxNotebook (this, wxID_ANY);
+ s->Add (_notebook, 1);
+
+ make_misc_panel ();
+ _notebook->AddPage (_misc_panel, _("Miscellaneous"), true);
+ make_servers_panel ();
+ _notebook->AddPage (_servers_panel, _("Encoding servers"), false);
+ make_metadata_panel ();
+ _notebook->AddPage (_metadata_panel, _("Metadata"), false);
+ make_tms_panel ();
+ _notebook->AddPage (_tms_panel, _("TMS"), false);
+ make_ab_panel ();
+ _notebook->AddPage (_ab_panel, _("A/B mode"), false);
+
+ wxBoxSizer* overall_sizer = new wxBoxSizer (wxVERTICAL);
+ overall_sizer->Add (s, 1, wxEXPAND | wxALL, 6);
+
+ wxSizer* buttons = CreateSeparatedButtonSizer (wxOK);
+ if (buttons) {
+ overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
+ }
+
+ SetSizer (overall_sizer);
+ overall_sizer->Layout ();
+ overall_sizer->SetSizeHints (this);
+}
+
+void
+ConfigDialog::make_misc_panel ()
+{
+ _misc_panel = new wxPanel (_notebook);
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _misc_panel->SetSizer (s);
+
wxFlexGridSizer* table = new wxFlexGridSizer (3, 6, 6);
table->AddGrowableCol (1, 1);
+ s->Add (table, 1, wxALL | wxEXPAND, 8);
- _set_language = new wxCheckBox (this, wxID_ANY, _("Set language"));
+ _set_language = new wxCheckBox (_misc_panel, wxID_ANY, _("Set language"));
table->Add (_set_language, 1, wxEXPAND);
- _language = new wxChoice (this, wxID_ANY);
+ _language = new wxChoice (_misc_panel, wxID_ANY);
_language->Append (wxT ("English"));
_language->Append (wxT ("Français"));
_language->Append (wxT ("Italiano"));
@@ -57,98 +95,43 @@ ConfigDialog::ConfigDialog (wxWindow* parent)
table->Add (_language, 1, wxEXPAND);
table->AddSpacer (0);
- table->AddSpacer (0);
- wxStaticText* restart = add_label_to_sizer (table, this, _("(restart DVD-o-matic to see language changes)"));
+ wxStaticText* restart = add_label_to_sizer (table, _misc_panel, _("(restart DCP-o-matic to see language changes)"));
wxFont font = restart->GetFont();
font.SetStyle (wxFONTSTYLE_ITALIC);
font.SetPointSize (font.GetPointSize() - 1);
restart->SetFont (font);
table->AddSpacer (0);
-
- add_label_to_sizer (table, this, _("TMS IP address"));
- _tms_ip = new wxTextCtrl (this, wxID_ANY);
- table->Add (_tms_ip, 1, wxEXPAND);
- table->AddSpacer (0);
-
- add_label_to_sizer (table, this, _("TMS target path"));
- _tms_path = new wxTextCtrl (this, wxID_ANY);
- table->Add (_tms_path, 1, wxEXPAND);
table->AddSpacer (0);
- add_label_to_sizer (table, this, _("TMS user name"));
- _tms_user = new wxTextCtrl (this, wxID_ANY);
- table->Add (_tms_user, 1, wxEXPAND);
- table->AddSpacer (0);
-
- add_label_to_sizer (table, this, _("TMS password"));
- _tms_password = new wxTextCtrl (this, wxID_ANY);
- table->Add (_tms_password, 1, wxEXPAND);
- table->AddSpacer (0);
-
- add_label_to_sizer (table, this, _("Threads to use for encoding on this host"));
- _num_local_encoding_threads = new wxSpinCtrl (this);
+ add_label_to_sizer (table, _misc_panel, _("Threads to use for encoding on this host"));
+ _num_local_encoding_threads = new wxSpinCtrl (_misc_panel);
table->Add (_num_local_encoding_threads, 1, wxEXPAND);
table->AddSpacer (0);
- add_label_to_sizer (table, this, _("Default directory for new films"));
+ add_label_to_sizer (table, _misc_panel, _("Default directory for new films"));
#ifdef __WXMSW__
- _default_directory = new DirPickerCtrl (this);
+ _default_directory = new DirPickerCtrl (_misc_panel);
#else
- _default_directory = new wxDirPickerCtrl (this, wxDD_DIR_MUST_EXIST);
+ _default_directory = new wxDirPickerCtrl (_misc_panel, wxDD_DIR_MUST_EXIST);
#endif
table->Add (_default_directory, 1, wxEXPAND);
table->AddSpacer (0);
- add_label_to_sizer (table, this, _("Default DCI name details"));
- _default_dci_metadata_button = new wxButton (this, wxID_ANY, _("Edit..."));
+ add_label_to_sizer (table, _misc_panel, _("Default DCI name details"));
+ _default_dci_metadata_button = new wxButton (_misc_panel, wxID_ANY, _("Edit..."));
table->Add (_default_dci_metadata_button);
table->AddSpacer (1);
- add_label_to_sizer (table, this, _("Reference scaler for A/B"));
- _reference_scaler = new wxChoice (this, wxID_ANY);
- vector<Scaler const *> const sc = Scaler::all ();
- for (vector<Scaler const *>::const_iterator i = sc.begin(); i != sc.end(); ++i) {
- _reference_scaler->Append (std_to_wx ((*i)->name ()));
- }
-
- table->Add (_reference_scaler, 1, wxEXPAND);
- table->AddSpacer (0);
-
- {
- add_label_to_sizer (table, this, _("Reference filters for A/B"));
- wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
- _reference_filters = new wxStaticText (this, wxID_ANY, wxT (""));
- s->Add (_reference_filters, 1, wxEXPAND);
- _reference_filters_button = new wxButton (this, wxID_ANY, _("Edit..."));
- s->Add (_reference_filters_button, 0);
- table->Add (s, 1, wxEXPAND);
- table->AddSpacer (0);
- }
-
- add_label_to_sizer (table, this, _("Encoding Servers"));
- _servers = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize (220, 100), wxLC_REPORT | wxLC_SINGLE_SEL);
- wxListItem ip;
- ip.SetId (0);
- ip.SetText (_("IP address"));
- ip.SetWidth (120);
- _servers->InsertColumn (0, ip);
- ip.SetId (1);
- ip.SetText (_("Threads"));
- ip.SetWidth (80);
- _servers->InsertColumn (1, ip);
- table->Add (_servers, 1, wxEXPAND | wxALL);
+ add_label_to_sizer (table, _misc_panel, _("Default format"));
+ _default_format = new wxChoice (_misc_panel, wxID_ANY);
+ table->Add (_default_format);
+ table->AddSpacer (1);
- {
- wxSizer* s = new wxBoxSizer (wxVERTICAL);
- _add_server = new wxButton (this, wxID_ANY, _("Add"));
- s->Add (_add_server);
- _edit_server = new wxButton (this, wxID_ANY, _("Edit"));
- s->Add (_edit_server);
- _remove_server = new wxButton (this, wxID_ANY, _("Remove"));
- s->Add (_remove_server);
- table->Add (s, 0);
- }
-
+ add_label_to_sizer (table, _misc_panel, _("Default content type"));
+ _default_dcp_content_type = new wxChoice (_misc_panel, wxID_ANY);
+ table->Add (_default_dcp_content_type);
+ table->AddSpacer (1);
+
Config* config = Config::instance ();
_set_language->SetValue (config->language ());
@@ -169,6 +152,70 @@ ConfigDialog::ConfigDialog (wxWindow* parent)
_set_language->Connect (wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler (ConfigDialog::set_language_changed), 0, this);
_language->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::language_changed), 0, this);
+
+ _num_local_encoding_threads->SetRange (1, 128);
+ _num_local_encoding_threads->SetValue (config->num_local_encoding_threads ());
+ _num_local_encoding_threads->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (ConfigDialog::num_local_encoding_threads_changed), 0, this);
+
+ _default_directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir()))));
+ _default_directory->Connect (wxID_ANY, wxEVT_COMMAND_DIRPICKER_CHANGED, wxCommandEventHandler (ConfigDialog::default_directory_changed), 0, this);
+
+ _default_dci_metadata_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ConfigDialog::edit_default_dci_metadata_clicked), 0, this);
+
+ vector<Format const *> fmt = Format::all ();
+ int n = 0;
+ for (vector<Format const *>::iterator i = fmt.begin(); i != fmt.end(); ++i) {
+ _default_format->Append (std_to_wx ((*i)->name ()));
+ if (*i == config->default_format ()) {
+ _default_format->SetSelection (n);
+ }
+ ++n;
+ }
+
+ _default_format->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::default_format_changed), 0, this);
+
+ vector<DCPContentType const *> const ct = DCPContentType::all ();
+ n = 0;
+ for (vector<DCPContentType const *>::const_iterator i = ct.begin(); i != ct.end(); ++i) {
+ _default_dcp_content_type->Append (std_to_wx ((*i)->pretty_name ()));
+ if (*i == config->default_dcp_content_type ()) {
+ _default_dcp_content_type->SetSelection (n);
+ }
+ ++n;
+ }
+
+ _default_dcp_content_type->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::default_dcp_content_type_changed), 0, this);
+}
+
+void
+ConfigDialog::make_tms_panel ()
+{
+ _tms_panel = new wxPanel (_notebook);
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _tms_panel->SetSizer (s);
+
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ table->AddGrowableCol (1, 1);
+ s->Add (table, 1, wxALL | wxEXPAND, 8);
+
+ add_label_to_sizer (table, _tms_panel, _("IP address"));
+ _tms_ip = new wxTextCtrl (_tms_panel, wxID_ANY);
+ table->Add (_tms_ip, 1, wxEXPAND);
+
+ add_label_to_sizer (table, _tms_panel, _("Target path"));
+ _tms_path = new wxTextCtrl (_tms_panel, wxID_ANY);
+ table->Add (_tms_path, 1, wxEXPAND);
+
+ add_label_to_sizer (table, _tms_panel, _("User name"));
+ _tms_user = new wxTextCtrl (_tms_panel, wxID_ANY);
+ table->Add (_tms_user, 1, wxEXPAND);
+
+ add_label_to_sizer (table, _tms_panel, _("Password"));
+ _tms_password = new wxTextCtrl (_tms_panel, wxID_ANY);
+ table->Add (_tms_password, 1, wxEXPAND);
+
+ Config* config = Config::instance ();
+
_tms_ip->SetValue (std_to_wx (config->tms_ip ()));
_tms_ip->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::tms_ip_changed), 0, this);
_tms_path->SetValue (std_to_wx (config->tms_path ()));
@@ -177,22 +224,112 @@ ConfigDialog::ConfigDialog (wxWindow* parent)
_tms_user->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::tms_user_changed), 0, this);
_tms_password->SetValue (std_to_wx (config->tms_password ()));
_tms_password->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::tms_password_changed), 0, this);
+}
- _num_local_encoding_threads->SetRange (1, 128);
- _num_local_encoding_threads->SetValue (config->num_local_encoding_threads ());
- _num_local_encoding_threads->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (ConfigDialog::num_local_encoding_threads_changed), 0, this);
+void
+ConfigDialog::make_metadata_panel ()
+{
+ _metadata_panel = new wxPanel (_notebook);
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _metadata_panel->SetSizer (s);
- _default_directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir()))));
- _default_directory->Connect (wxID_ANY, wxEVT_COMMAND_DIRPICKER_CHANGED, wxCommandEventHandler (ConfigDialog::default_directory_changed), 0, this);
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ table->AddGrowableCol (1, 1);
+ s->Add (table, 1, wxALL | wxEXPAND, 8);
- _default_dci_metadata_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ConfigDialog::edit_default_dci_metadata_clicked), 0, this);
+ add_label_to_sizer (table, _metadata_panel, _("Issuer"));
+ _issuer = new wxTextCtrl (_metadata_panel, wxID_ANY);
+ table->Add (_issuer, 1, wxEXPAND);
+ add_label_to_sizer (table, _metadata_panel, _("Creator"));
+ _creator = new wxTextCtrl (_metadata_panel, wxID_ANY);
+ table->Add (_creator, 1, wxEXPAND);
+
+ Config* config = Config::instance ();
+
+ _issuer->SetValue (std_to_wx (config->dcp_metadata().issuer));
+ _issuer->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::issuer_changed), 0, this);
+ _creator->SetValue (std_to_wx (config->dcp_metadata().creator));
+ _creator->Connect (wxID_ANY, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler (ConfigDialog::creator_changed), 0, this);
+}
+
+void
+ConfigDialog::make_ab_panel ()
+{
+ _ab_panel = new wxPanel (_notebook);
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _ab_panel->SetSizer (s);
+
+ wxFlexGridSizer* table = new wxFlexGridSizer (3, 6, 6);
+ table->AddGrowableCol (1, 1);
+ s->Add (table, 1, wxALL, 8);
+
+ add_label_to_sizer (table, _ab_panel, _("Reference scaler"));
+ _reference_scaler = new wxChoice (_ab_panel, wxID_ANY);
+ vector<Scaler const *> const sc = Scaler::all ();
+ for (vector<Scaler const *>::const_iterator i = sc.begin(); i != sc.end(); ++i) {
+ _reference_scaler->Append (std_to_wx ((*i)->name ()));
+ }
+
+ table->Add (_reference_scaler, 1, wxEXPAND);
+ table->AddSpacer (0);
+
+ {
+ add_label_to_sizer (table, _ab_panel, _("Reference filters"));
+ wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _reference_filters = new wxStaticText (_ab_panel, wxID_ANY, wxT (""));
+ s->Add (_reference_filters, 1, wxALIGN_CENTER_VERTICAL | wxEXPAND | wxALL, 6);
+ _reference_filters_button = new wxButton (_ab_panel, wxID_ANY, _("Edit..."));
+ s->Add (_reference_filters_button, 0);
+ table->Add (s, 1, wxEXPAND);
+ table->AddSpacer (0);
+ }
+
+ Config* config = Config::instance ();
+
_reference_scaler->SetSelection (Scaler::as_index (config->reference_scaler ()));
_reference_scaler->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (ConfigDialog::reference_scaler_changed), 0, this);
pair<string, string> p = Filter::ffmpeg_strings (config->reference_filters ());
_reference_filters->SetLabel (std_to_wx (p.first) + N_(" ") + std_to_wx (p.second));
_reference_filters_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ConfigDialog::edit_reference_filters_clicked), 0, this);
+}
+
+void
+ConfigDialog::make_servers_panel ()
+{
+ _servers_panel = new wxPanel (_notebook);
+ wxBoxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _servers_panel->SetSizer (s);
+
+ wxFlexGridSizer* table = new wxFlexGridSizer (2, 6, 6);
+ table->AddGrowableCol (0, 1);
+ s->Add (table, 1, wxALL | wxEXPAND, 8);
+
+ Config* config = Config::instance ();
+
+ _servers = new wxListCtrl (_servers_panel, wxID_ANY, wxDefaultPosition, wxSize (220, 100), wxLC_REPORT | wxLC_SINGLE_SEL);
+ wxListItem ip;
+ ip.SetId (0);
+ ip.SetText (_("IP address"));
+ ip.SetWidth (120);
+ _servers->InsertColumn (0, ip);
+ ip.SetId (1);
+ ip.SetText (_("Threads"));
+ ip.SetWidth (80);
+ _servers->InsertColumn (1, ip);
+ table->Add (_servers, 1, wxEXPAND | wxALL);
+
+ {
+ wxSizer* s = new wxBoxSizer (wxVERTICAL);
+ _add_server = new wxButton (_servers_panel, wxID_ANY, _("Add"));
+ s->Add (_add_server);
+ _edit_server = new wxButton (_servers_panel, wxID_ANY, _("Edit"));
+ s->Add (_edit_server);
+ _remove_server = new wxButton (_servers_panel, wxID_ANY, _("Remove"));
+ s->Add (_remove_server);
+ table->Add (s, 0);
+ }
vector<ServerDescription*> servers = config->servers ();
for (vector<ServerDescription*>::iterator i = servers.begin(); i != servers.end(); ++i) {
@@ -207,18 +344,6 @@ ConfigDialog::ConfigDialog (wxWindow* parent)
_servers->Connect (wxID_ANY, wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler (ConfigDialog::server_selection_changed), 0, this);
wxListEvent ev;
server_selection_changed (ev);
-
- wxBoxSizer* overall_sizer = new wxBoxSizer (wxVERTICAL);
- overall_sizer->Add (table, 1, wxEXPAND | wxALL, 6);
-
- wxSizer* buttons = CreateSeparatedButtonSizer (wxOK);
- if (buttons) {
- overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
- }
-
- SetSizer (overall_sizer);
- overall_sizer->Layout ();
- overall_sizer->SetSizeHints (this);
}
void
@@ -400,3 +525,33 @@ ConfigDialog::setup_language_sensitivity ()
{
_language->Enable (_set_language->GetValue ());
}
+
+void
+ConfigDialog::default_format_changed (wxCommandEvent &)
+{
+ vector<Format const *> fmt = Format::all ();
+ Config::instance()->set_default_format (fmt[_default_format->GetSelection()]);
+}
+
+void
+ConfigDialog::default_dcp_content_type_changed (wxCommandEvent &)
+{
+ vector<DCPContentType const *> ct = DCPContentType::all ();
+ Config::instance()->set_default_dcp_content_type (ct[_default_dcp_content_type->GetSelection()]);
+}
+
+void
+ConfigDialog::issuer_changed (wxCommandEvent &)
+{
+ libdcp::XMLMetadata m = Config::instance()->dcp_metadata ();
+ m.issuer = wx_to_std (_issuer->GetValue ());
+ Config::instance()->set_dcp_metadata (m);
+}
+
+void
+ConfigDialog::creator_changed (wxCommandEvent &)
+{
+ libdcp::XMLMetadata m = Config::instance()->dcp_metadata ();
+ m.creator = wx_to_std (_creator->GetValue ());
+ Config::instance()->set_dcp_metadata (m);
+}
diff --git a/src/wx/config_dialog.h b/src/wx/config_dialog.h
index f6f3b3707..526480912 100644
--- a/src/wx/config_dialog.h
+++ b/src/wx/config_dialog.h
@@ -18,7 +18,7 @@
*/
/** @file src/config_dialog.h
- * @brief A dialogue to edit DVD-o-matic configuration.
+ * @brief A dialogue to edit DCP-o-matic configuration.
*/
#include <wx/wx.h>
@@ -27,11 +27,12 @@
#include <wx/filepicker.h>
class DirPickerCtrl;
+class wxNotebook;
class ServerDescription;
/** @class ConfigDialog
- * @brief A dialogue to edit DVD-o-matic configuration.
+ * @brief A dialogue to edit DCP-o-matic configuration.
*/
class ConfigDialog : public wxDialog
{
@@ -55,12 +56,30 @@ private:
void edit_server_clicked (wxCommandEvent &);
void remove_server_clicked (wxCommandEvent &);
void server_selection_changed (wxListEvent &);
+ void default_format_changed (wxCommandEvent &);
+ void default_dcp_content_type_changed (wxCommandEvent &);
+ void issuer_changed (wxCommandEvent &);
+ void creator_changed (wxCommandEvent &);
void add_server_to_control (ServerDescription *);
void setup_language_sensitivity ();
+ void make_misc_panel ();
+ void make_tms_panel ();
+ void make_metadata_panel ();
+ void make_ab_panel ();
+ void make_servers_panel ();
+
+ wxNotebook* _notebook;
+ wxPanel* _misc_panel;
+ wxPanel* _tms_panel;
+ wxPanel* _ab_panel;
+ wxPanel* _servers_panel;
+ wxPanel* _metadata_panel;
wxCheckBox* _set_language;
wxChoice* _language;
+ wxChoice* _default_format;
+ wxChoice* _default_dcp_content_type;
wxTextCtrl* _tms_ip;
wxTextCtrl* _tms_path;
wxTextCtrl* _tms_user;
@@ -79,5 +98,7 @@ private:
wxButton* _add_server;
wxButton* _edit_server;
wxButton* _remove_server;
+ wxTextCtrl* _issuer;
+ wxTextCtrl* _creator;
};
diff --git a/src/wx/job_manager_view.cc b/src/wx/job_manager_view.cc
index f7d2315cc..5cd9f2e15 100644
--- a/src/wx/job_manager_view.cc
+++ b/src/wx/job_manager_view.cc
@@ -34,15 +34,21 @@ using std::map;
using boost::shared_ptr;
/** Must be called in the GUI thread */
-JobManagerView::JobManagerView (wxWindow* parent)
+JobManagerView::JobManagerView (wxWindow* parent, Buttons buttons)
: wxScrolledWindow (parent)
+ , _buttons (buttons)
{
_panel = new wxPanel (this);
wxSizer* sizer = new wxBoxSizer (wxVERTICAL);
sizer->Add (_panel, 1, wxEXPAND);
SetSizer (sizer);
+
+ int N = 5;
+ if (buttons & PAUSE) {
+ ++N;
+ }
- _table = new wxFlexGridSizer (5, 6, 6);
+ _table = new wxFlexGridSizer (N, 6, 6);
_table->AddGrowableCol (1, 1);
_panel->SetSizer (_table);
@@ -78,21 +84,33 @@ JobManagerView::update ()
_table->Insert (index, m, 0, wxALIGN_CENTER_VERTICAL | wxALL, 6);
JobRecord r;
+ int n = 1;
r.finalised = false;
r.gauge = new wxGauge (_panel, wxID_ANY, 100);
- _table->Insert (index + 1, r.gauge, 1, wxEXPAND | wxLEFT | wxRIGHT);
+ _table->Insert (index + n, r.gauge, 1, wxEXPAND | wxLEFT | wxRIGHT);
+ ++n;
r.message = new wxStaticText (_panel, wxID_ANY, std_to_wx (""));
- _table->Insert (index + 2, r.message, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ _table->Insert (index + n, r.message, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ ++n;
r.cancel = new wxButton (_panel, wxID_ANY, _("Cancel"));
r.cancel->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (JobManagerView::cancel_clicked), 0, this);
- _table->Insert (index + 3, r.cancel, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
-
+ _table->Insert (index + n, r.cancel, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ ++n;
+
+ if (_buttons & PAUSE) {
+ r.pause = new wxButton (_panel, wxID_ANY, _("Pause"));
+ r.pause->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (JobManagerView::pause_clicked), 0, this);
+ _table->Insert (index + n, r.pause, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ ++n;
+ }
+
r.details = new wxButton (_panel, wxID_ANY, _("Details..."));
r.details->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (JobManagerView::details_clicked), 0, this);
r.details->Enable (false);
- _table->Insert (index + 4, r.details, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ _table->Insert (index + n, r.details, 1, wxALIGN_CENTER_VERTICAL | wxALL, 6);
+ ++n;
_job_records[*i] = r;
}
@@ -124,6 +142,9 @@ JobManagerView::update ()
}
index += 5;
+ if (_buttons & PAUSE) {
+ ++index;
+ }
}
_table->Layout ();
@@ -155,3 +176,21 @@ JobManagerView::cancel_clicked (wxCommandEvent& ev)
}
}
}
+
+void
+JobManagerView::pause_clicked (wxCommandEvent& ev)
+{
+ wxObject* o = ev.GetEventObject ();
+ for (map<boost::shared_ptr<Job>, JobRecord>::iterator i = _job_records.begin(); i != _job_records.end(); ++i) {
+ if (i->second.pause == o) {
+ if (i->first->paused()) {
+ i->first->resume ();
+ i->second.pause->SetLabel (_("Pause"));
+ } else {
+ i->first->pause ();
+ i->second.pause->SetLabel (_("Resume"));
+ }
+ }
+ }
+}
+
diff --git a/src/wx/job_manager_view.h b/src/wx/job_manager_view.h
index 72ac85c02..fc29eadb4 100644
--- a/src/wx/job_manager_view.h
+++ b/src/wx/job_manager_view.h
@@ -33,13 +33,18 @@ class Job;
class JobManagerView : public wxScrolledWindow
{
public:
- JobManagerView (wxWindow *);
+ enum Buttons {
+ PAUSE = 0x1,
+ };
+
+ JobManagerView (wxWindow *, Buttons);
void update ();
private:
void periodic (wxTimerEvent &);
void cancel_clicked (wxCommandEvent &);
+ void pause_clicked (wxCommandEvent &);
void details_clicked (wxCommandEvent &);
boost::shared_ptr<wxTimer> _timer;
@@ -49,9 +54,11 @@ private:
wxGauge* gauge;
wxStaticText* message;
wxButton* cancel;
+ wxButton* pause;
wxButton* details;
bool finalised;
};
std::map<boost::shared_ptr<Job>, JobRecord> _job_records;
+ Buttons _buttons;
};
diff --git a/src/wx/po/es_ES.po b/src/wx/po/es_ES.po
index 56c0856bd..efc8436c5 100644
--- a/src/wx/po/es_ES.po
+++ b/src/wx/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libdvdomatic-wx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
"PO-Revision-Date: 2013-04-02 19:08-0500\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -21,8 +21,8 @@ msgstr ""
msgid "%"
msgstr "%"
-#: src/wx/config_dialog.cc:61
-msgid "(restart DVD-o-matic to see language changes)"
+#: src/wx/config_dialog.cc:98
+msgid "(restart DCP-o-matic to see language changes)"
msgstr ""
#: src/wx/film_editor.cc:1276
@@ -33,7 +33,11 @@ msgstr "1 canal"
msgid "A/B"
msgstr "A/B"
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
msgid "Add"
msgstr "Añadir"
@@ -79,7 +83,7 @@ msgstr "pero tengo que usar el fader a"
msgid "Calculate..."
msgstr "Calcular..."
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
msgid "Cancel"
msgstr ""
@@ -123,6 +127,11 @@ msgstr "No se pudo establecer el contenido: %s"
msgid "Create in folder"
msgstr "Crear en carpeta"
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Crear en carpeta"
+
#: src/wx/film_editor.cc:1371
#, c-format
msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -140,28 +149,38 @@ msgstr "Velocidad DCP"
msgid "DCP Name"
msgstr "Nombre DCP"
-#: src/wx/wx_util.cc:61
+#: src/wx/config_dialog.cc:46
+#, fuzzy
+msgid "DCP-o-matic Preferences"
+msgstr "Preferencias DVD-o-matic"
+
+#: src/wx/wx_util.cc:63 src/wx/wx_util.cc:71
msgid "DVD-o-matic"
msgstr "DVD-o-matic"
-#: src/wx/config_dialog.cc:44
-msgid "DVD-o-matic Preferences"
-msgstr "Preferencias DVD-o-matic"
-
#: src/wx/audio_dialog.cc:101
#, fuzzy, c-format
msgid "DVD-o-matic audio - %s"
msgstr "Audio DVD-o-matic - %1"
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
msgid "Default DCI name details"
msgstr "Detalles por defecto del nombre DCI"
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Tipo de contenido"
+
+#: src/wx/config_dialog.cc:111
msgid "Default directory for new films"
msgstr "Carpeta por defecto para nuevas películas"
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
msgid "Details..."
msgstr "Detalles..."
@@ -173,17 +192,18 @@ msgstr "Espacio requerido en disco"
msgid "Duration"
msgstr "Duración"
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
msgid "Edit"
msgstr "Editar"
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
#: src/wx/film_editor.cc:312
msgid "Edit..."
msgstr "Editar..."
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
msgstr "Servidores de codificación"
#: src/wx/film_editor.cc:171
@@ -242,10 +262,14 @@ msgstr "Hz"
msgid "I want to play this back at fader"
msgstr "Quiero reproducir con el fader a"
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
msgid "IP address"
msgstr "Dirección IP"
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
#: src/wx/film_editor.cc:339
msgid "JPEG2000 bandwidth"
msgstr "Ancho de banda JPEG2000"
@@ -262,6 +286,14 @@ msgstr "Longitud"
msgid "MBps"
msgstr "MBps"
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
#: src/wx/dir_picker_ctrl.cc:52
msgid "My Documents"
msgstr "Mis documentos"
@@ -296,6 +328,15 @@ msgstr "Tipo de paquete (ej. OV)"
msgid "Padded with black to %dx%d (%.2f:1)\n"
msgstr ""
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "Clave del TMS"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
#: src/wx/audio_dialog.cc:60
msgid "Peak"
msgstr "Pico"
@@ -316,23 +357,29 @@ msgstr "RMS"
msgid "Rating (e.g. 15)"
msgstr "Clasificación (ej. 16)"
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
msgstr "Filtros de referencia para A/B"
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
msgstr "Escalador de referencia para A/B"
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
msgid "Remove"
msgstr "Quitar"
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
#: src/wx/film_editor.cc:282
msgid "Right crop"
msgstr "Recorte derecha"
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
msgid "Running"
msgstr "Ejecutando"
@@ -357,7 +404,7 @@ msgstr "Seleccionar fichero de contenido"
msgid "Server"
msgstr "Servidor"
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
msgid "Set language"
msgstr ""
@@ -393,27 +440,21 @@ msgstr "Escala del subtítulo"
msgid "Subtitles"
msgstr "Subtítulos"
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Dirección IP del TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Clave del TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
msgstr "Ruta en el TMS"
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Usuario del TMS"
-
#: src/wx/dci_metadata_dialog.cc:41
msgid "Territory (e.g. UK)"
msgstr "Territorio (ej. ES)"
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
msgid "Threads"
msgstr "Hilos"
@@ -421,7 +462,7 @@ msgstr "Hilos"
msgid "Threads to use"
msgstr "Hilos a utilizar"
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
msgid "Threads to use for encoding on this host"
msgstr "Hilos a utilizar para la codificación en esta máquina"
@@ -466,6 +507,11 @@ msgstr "Usar el audio del contenido"
msgid "Use external audio"
msgstr "Usar audio externo"
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Usar el nombre DCI"
+
#: src/wx/film_editor.cc:75
msgid "Video"
msgstr "Vídeo"
@@ -516,5 +562,11 @@ msgstr "s"
msgid "unknown"
msgstr "desconocido"
+#~ msgid "TMS IP address"
+#~ msgstr "Dirección IP del TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Usuario del TMS"
+
#~ msgid "Original Size"
#~ msgstr "Tamaño original"
diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po
index c7ef31f5a..ad138d45a 100644
--- a/src/wx/po/fr_FR.po
+++ b/src/wx/po/fr_FR.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: DVD-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
-"PO-Revision-Date: 2013-03-20 00:34+0100\n"
-"Last-Translator: FreeDCP.net <freedcp.net@gmail.com>\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
+"PO-Revision-Date: 2013-05-10 14:19+0100\n"
+"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
@@ -20,9 +20,9 @@ msgstr ""
msgid "%"
msgstr "%"
-#: src/wx/config_dialog.cc:61
-msgid "(restart DVD-o-matic to see language changes)"
-msgstr ""
+#: src/wx/config_dialog.cc:98
+msgid "(restart DCP-o-matic to see language changes)"
+msgstr "(redémarrez DCP-o-matic pour voir les changements de langue)"
#: src/wx/film_editor.cc:1276
msgid "1 channel"
@@ -32,11 +32,16 @@ msgstr "1 canal"
msgid "A/B"
msgstr "A/B"
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr "A/B mode"
+
+#: src/wx/config_dialog.cc:325
msgid "Add"
msgstr "Ajouter"
-#: src/wx/audio_dialog.cc:32 src/wx/film_editor.cc:77
+#: src/wx/audio_dialog.cc:32
+#: src/wx/film_editor.cc:77
msgid "Audio"
msgstr "Audio"
@@ -55,7 +60,7 @@ msgstr "Langue audio (ex. FR)"
#: src/wx/film_editor.cc:824
#, c-format
msgid "Audio will be resampled from %dHz to %dHz\n"
-msgstr ""
+msgstr "L'audio sera rééchantillonné de %dHz à %dHz\n"
#: src/wx/job_wrapper.cc:38
#, c-format
@@ -78,7 +83,7 @@ msgstr "Je souhaite utiliser ce volume"
msgid "Calculate..."
msgstr "Calcul..."
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
msgid "Cancel"
msgstr "Annuler"
@@ -122,10 +127,14 @@ msgstr "Sélectionner du contenu impossible : %s"
msgid "Create in folder"
msgstr "Créer dans le dossier"
+#: src/wx/config_dialog.cc:244
+msgid "Creator"
+msgstr "Créateur"
+
#: src/wx/film_editor.cc:1371
#, c-format
msgid "Cropped to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Découpe de %dx%d (%.2f:1)\n"
#: src/wx/dci_metadata_dialog.cc:28
msgid "DCI name"
@@ -139,28 +148,38 @@ msgstr "Cadence image du DCP"
msgid "DCP Name"
msgstr "Nom du DCP"
-#: src/wx/wx_util.cc:61
+#: src/wx/config_dialog.cc:46
+msgid "DCP-o-matic Preferences"
+msgstr "Préférences de DCP-o-matic"
+
+#: src/wx/wx_util.cc:63
+#: src/wx/wx_util.cc:71
msgid "DVD-o-matic"
msgstr "DVD-o-matic"
-#: src/wx/config_dialog.cc:44
-msgid "DVD-o-matic Preferences"
-msgstr "Préférences DVD-o-matic"
-
#: src/wx/audio_dialog.cc:101
#, c-format
msgid "DVD-o-matic audio - %s"
msgstr "Son DVD-o-matic - %s"
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
msgid "Default DCI name details"
msgstr "Détails du nom DCI par défaut"
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+msgid "Default content type"
+msgstr "Type de contenu par défaut"
+
+#: src/wx/config_dialog.cc:111
msgid "Default directory for new films"
msgstr "Dossier par défaut des nouveaux films"
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr "Format par défaut"
+
+#: src/wx/film_editor.cc:116
+#: src/wx/job_manager_view.cc:109
msgid "Details..."
msgstr "Détails..."
@@ -172,17 +191,19 @@ msgstr "Espace disque requis"
msgid "Duration"
msgstr "Durée"
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
msgid "Edit"
msgstr "Édition"
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121
+#: src/wx/config_dialog.cc:282
#: src/wx/film_editor.cc:312
msgid "Edit..."
msgstr "Éditer..."
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
msgstr "Serveurs d'encodage"
#: src/wx/film_editor.cc:171
@@ -205,7 +226,8 @@ msgstr "Propriétés du film"
msgid "Film name"
msgstr "Nom du Film"
-#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32
+#: src/wx/film_editor.cc:307
+#: src/wx/filter_dialog.cc:32
msgid "Filters"
msgstr "Filtres"
@@ -241,10 +263,15 @@ msgstr "Hz"
msgid "I want to play this back at fader"
msgstr "Je veux le jouer à ce volume"
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201
+#: src/wx/config_dialog.cc:314
msgid "IP address"
msgstr "Adresse IP"
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr "Emetteur"
+
#: src/wx/film_editor.cc:339
msgid "JPEG2000 bandwidth"
msgstr "Qualité JPEG2000"
@@ -261,6 +288,14 @@ msgstr "Longueur / durée"
msgid "MBps"
msgstr "MBps"
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr "Métadonnées"
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr "Divers"
+
#: src/wx/dir_picker_ctrl.cc:52
msgid "My Documents"
msgstr "Mes Documents"
@@ -273,7 +308,8 @@ msgstr "Nom"
msgid "New Film"
msgstr "Nouveau Film"
-#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671
+#: src/wx/film_editor.cc:309
+#: src/wx/film_editor.cc:671
msgid "None"
msgstr "Aucun"
@@ -284,7 +320,7 @@ msgstr "Cadence d'images originale"
#: src/wx/film_editor.cc:1360
#, c-format
msgid "Original video is %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "La vidéo originale est %dx%d (%.2f:1)\n"
#: src/wx/dci_metadata_dialog.cc:57
msgid "Package Type (e.g. OV)"
@@ -293,7 +329,16 @@ msgstr "Type de paquet (ex. OV)"
#: src/wx/film_editor.cc:1392
#, c-format
msgid "Padded with black to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Enveloppe noire de %dx%d (%.2f:1)\n"
+
+#: src/wx/config_dialog.cc:213
+msgid "Password"
+msgstr "Mot de passe"
+
+#: src/wx/job_manager_view.cc:103
+#: src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr "Pause"
#: src/wx/audio_dialog.cc:60
msgid "Peak"
@@ -315,30 +360,34 @@ msgstr "RMS"
msgid "Rating (e.g. 15)"
msgstr "Rating (ex. 15)"
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
-msgstr "Filtres de référence pour A/B"
+#: src/wx/config_dialog.cc:278
+msgid "Reference filters"
+msgstr "Filtres de référence"
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
-msgstr "Échelle de référence pour A/B"
+#: src/wx/config_dialog.cc:267
+msgid "Reference scaler"
+msgstr "Échelle de référence"
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
msgid "Remove"
msgstr "Supprimer"
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr "Reprendre"
+
#: src/wx/film_editor.cc:282
msgid "Right crop"
msgstr "Découpe droite"
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
msgid "Running"
msgstr "Progression"
#: src/wx/film_editor.cc:1384
#, c-format
msgid "Scaled to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Mis à l'échelle de %dx%d (%.2f:1)\n"
#: src/wx/film_editor.cc:319
msgid "Scaler"
@@ -356,9 +405,9 @@ msgstr "Sélectionner le fichier vidéo"
msgid "Server"
msgstr "Serveur"
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
msgid "Set language"
-msgstr ""
+msgstr "Selectionnez la langue"
#: src/wx/film_editor.cc:368
msgid "Show Audio..."
@@ -392,27 +441,20 @@ msgstr "Taille du sous-titre"
msgid "Subtitles"
msgstr "Sous-titres"
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Adresse IP du TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Mot de passe du TMS"
-
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
-msgstr "Chemin d'accès du TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Nom d'utilisateur du TMS"
+#: src/wx/config_dialog.cc:205
+msgid "Target path"
+msgstr "Chemin d'accès"
#: src/wx/dci_metadata_dialog.cc:41
msgid "Territory (e.g. UK)"
msgstr "Territoire (ex. FR)"
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
msgid "Threads"
msgstr "Processus"
@@ -420,7 +462,7 @@ msgstr "Processus"
msgid "Threads to use"
msgstr "Nombre de processus à utiliser"
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
msgid "Threads to use for encoding on this host"
msgstr "Nombre de processus à utiliser sur cet hôte"
@@ -464,6 +506,10 @@ msgstr "Utiliser le son intégré"
msgid "Use external audio"
msgstr "Utiliser une source audio externe"
+#: src/wx/config_dialog.cc:209
+msgid "User name"
+msgstr "Nom d'utilisateur"
+
#: src/wx/film_editor.cc:75
msgid "Video"
msgstr "Vidéo"
@@ -492,7 +538,8 @@ msgstr "encoder toutes les images mais lire seulement la sélection"
msgid "encode only the subset"
msgstr "encoder seulement la sélection"
-#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697
+#: src/wx/film_editor.cc:694
+#: src/wx/film_editor.cc:697
msgid "frames"
msgstr "images"
@@ -503,16 +550,23 @@ msgstr "ms"
#: src/wx/film_editor.cc:440
msgid "pixels"
-msgstr ""
+msgstr "pixels"
#. / TRANSLATORS: `s' here is an abbreviation for seconds, the unit of time
#: src/wx/film_editor.cc:197
msgid "s"
msgstr "s"
-#: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63
+#: src/wx/properties_dialog.cc:62
+#: src/wx/properties_dialog.cc:63
msgid "unknown"
msgstr "inconnu"
+#~ msgid "TMS IP address"
+#~ msgstr "Adresse IP du TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Nom d'utilisateur du TMS"
+
#~ msgid "Original Size"
#~ msgstr "Taille Originale"
diff --git a/src/wx/po/it_IT.po b/src/wx/po/it_IT.po
index 2d4ee7fd7..37ee492fe 100644
--- a/src/wx/po/it_IT.po
+++ b/src/wx/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
"PO-Revision-Date: 2013-04-28 10:27+0100\n"
"Last-Translator: Maci <macibro@gmail.com>\n"
"Language-Team: \n"
@@ -21,8 +21,9 @@ msgstr ""
msgid "%"
msgstr "%"
-#: src/wx/config_dialog.cc:61
-msgid "(restart DVD-o-matic to see language changes)"
+#: src/wx/config_dialog.cc:98
+#, fuzzy
+msgid "(restart DCP-o-matic to see language changes)"
msgstr "(riavviare DVD-o-matic per vedere i cambiamenti di lingua)"
#: src/wx/film_editor.cc:1276
@@ -33,7 +34,11 @@ msgstr "1 canale"
msgid "A/B"
msgstr "A/B"
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
msgid "Add"
msgstr "Aggiungi"
@@ -79,7 +84,7 @@ msgstr "Ma dovrò riprodurre con il fader a"
msgid "Calculate..."
msgstr "Calcola..."
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
msgid "Cancel"
msgstr "Annulla"
@@ -123,6 +128,11 @@ msgstr "Non posso regolare il contenuto: %s"
msgid "Create in folder"
msgstr "Crea nella cartella"
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Crea nella cartella"
+
#: src/wx/film_editor.cc:1371
#, c-format
msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -140,28 +150,38 @@ msgstr "Frequenza fotogrammi del DCP"
msgid "DCP Name"
msgstr "Nome del DCP"
-#: src/wx/wx_util.cc:61
+#: src/wx/config_dialog.cc:46
+#, fuzzy
+msgid "DCP-o-matic Preferences"
+msgstr "Preferenze DVD-o-matic"
+
+#: src/wx/wx_util.cc:63 src/wx/wx_util.cc:71
msgid "DVD-o-matic"
msgstr "DVD-o-matic"
-#: src/wx/config_dialog.cc:44
-msgid "DVD-o-matic Preferences"
-msgstr "Preferenze DVD-o-matic"
-
#: src/wx/audio_dialog.cc:101
#, c-format
msgid "DVD-o-matic audio - %s"
msgstr "Audio DVD-o-matic - %s"
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
msgid "Default DCI name details"
msgstr "Dettagli del nome di default DCI"
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Tipo di contenuto"
+
+#: src/wx/config_dialog.cc:111
msgid "Default directory for new films"
msgstr "Directory di default per i nuovi films"
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
msgid "Details..."
msgstr "Dettagli"
@@ -173,17 +193,18 @@ msgstr "Spazio su disco rischiesto"
msgid "Duration"
msgstr "Durata"
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
msgid "Edit"
msgstr "Modifica"
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
#: src/wx/film_editor.cc:312
msgid "Edit..."
msgstr "Modifica..."
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
msgstr "Servers di codifica"
#: src/wx/film_editor.cc:171
@@ -242,10 +263,14 @@ msgstr "Hz"
msgid "I want to play this back at fader"
msgstr "Sto usando il fader a"
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
msgid "IP address"
msgstr "Indirizzo IP"
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
#: src/wx/film_editor.cc:339
msgid "JPEG2000 bandwidth"
msgstr "Banda passante JPEG2000"
@@ -262,6 +287,14 @@ msgstr "Lunghezza"
msgid "MBps"
msgstr "MBps"
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
#: src/wx/dir_picker_ctrl.cc:52
msgid "My Documents"
msgstr "Documenti"
@@ -296,6 +329,15 @@ msgstr "Tipo di Package (es. OV)"
msgid "Padded with black to %dx%d (%.2f:1)\n"
msgstr "Riempito con nero a %dx%d (%.2f:1)\n"
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "Password del TMS"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
#: src/wx/audio_dialog.cc:60
msgid "Peak"
msgstr "Picco"
@@ -316,23 +358,29 @@ msgstr "RMS"
msgid "Rating (e.g. 15)"
msgstr "Classificazione (es. 15)"
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
msgstr "Filtri di riferimento A/B"
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
msgstr "Scalatura di riferimento A/B"
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
msgid "Remove"
msgstr "Rimuovi"
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
#: src/wx/film_editor.cc:282
msgid "Right crop"
msgstr "Taglio a destra"
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
msgid "Running"
msgstr "In corso"
@@ -357,7 +405,7 @@ msgstr "Seleziona il file con il contenuto"
msgid "Server"
msgstr "Server"
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
msgid "Set language"
msgstr "Seleziona la lingua"
@@ -393,27 +441,21 @@ msgstr "Scala dei Sottotitoli"
msgid "Subtitles"
msgstr "Sottotitoli"
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Indirizzo IP del TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Password del TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
msgstr "Percorso di destinazione del TMS"
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Nome utente del TMS"
-
#: src/wx/dci_metadata_dialog.cc:41
msgid "Territory (e.g. UK)"
msgstr "Nazione (es. UK)"
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
msgid "Threads"
msgstr "Threads"
@@ -421,7 +463,7 @@ msgstr "Threads"
msgid "Threads to use"
msgstr "Threads da usare"
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
msgid "Threads to use for encoding on this host"
msgstr "Threads da usare per codificare su questo host"
@@ -465,6 +507,11 @@ msgstr "Usa l'audio del contenuto"
msgid "Use external audio"
msgstr "Usa l'audio esterno"
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Usa nome DCI"
+
#: src/wx/film_editor.cc:75
msgid "Video"
msgstr "Video"
@@ -515,5 +562,11 @@ msgstr "s"
msgid "unknown"
msgstr "sconosciuto"
+#~ msgid "TMS IP address"
+#~ msgstr "Indirizzo IP del TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Nome utente del TMS"
+
#~ msgid "Original Size"
#~ msgstr "Dimensione Originale"
diff --git a/src/wx/po/sv_SE.po b/src/wx/po/sv_SE.po
index 4127d77f8..7c10aebcb 100644
--- a/src/wx/po/sv_SE.po
+++ b/src/wx/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DVD-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
"PO-Revision-Date: 2013-04-09 10:13+0100\n"
"Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
"Language-Team: \n"
@@ -21,8 +21,9 @@ msgstr ""
msgid "%"
msgstr "%"
-#: src/wx/config_dialog.cc:61
-msgid "(restart DVD-o-matic to see language changes)"
+#: src/wx/config_dialog.cc:98
+#, fuzzy
+msgid "(restart DCP-o-matic to see language changes)"
msgstr "(starta om DVD-o-matic för att se språkändringar)"
#: src/wx/film_editor.cc:1276
@@ -33,7 +34,11 @@ msgstr "1 kanal"
msgid "A/B"
msgstr "A/B"
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
msgid "Add"
msgstr "Lägg till"
@@ -79,7 +84,7 @@ msgstr "Men jag måste använda mixervolym"
msgid "Calculate..."
msgstr "Beräkna..."
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
msgid "Cancel"
msgstr "Avbryt"
@@ -123,6 +128,11 @@ msgstr "Kunde inte fastställa innehåll: %s"
msgid "Create in folder"
msgstr "Skapa i katalog"
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Skapa i katalog"
+
#: src/wx/film_editor.cc:1371
#, c-format
msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -140,28 +150,38 @@ msgstr "DCP bildhastighet"
msgid "DCP Name"
msgstr "DCP Namn"
-#: src/wx/wx_util.cc:61
+#: src/wx/config_dialog.cc:46
+#, fuzzy
+msgid "DCP-o-matic Preferences"
+msgstr "DVD-o-matic Inställningar"
+
+#: src/wx/wx_util.cc:63 src/wx/wx_util.cc:71
msgid "DVD-o-matic"
msgstr "DVD-o-matic"
-#: src/wx/config_dialog.cc:44
-msgid "DVD-o-matic Preferences"
-msgstr "DVD-o-matic Inställningar"
-
#: src/wx/audio_dialog.cc:101
#, c-format
msgid "DVD-o-matic audio - %s"
msgstr "DVD-o-matic audio - %s"
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
msgid "Default DCI name details"
msgstr "Detaljer om förvalda DCI-namn"
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Innehållstyp"
+
+#: src/wx/config_dialog.cc:111
msgid "Default directory for new films"
msgstr "Förvald katalog för nya filmer"
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
msgid "Details..."
msgstr "Detaljer..."
@@ -173,17 +193,18 @@ msgstr "Diskutrymme som krävs"
msgid "Duration"
msgstr "Längd"
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
msgid "Edit"
msgstr "Redigera"
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
#: src/wx/film_editor.cc:312
msgid "Edit..."
msgstr "Redigera..."
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
msgstr "Kodningsservrar"
#: src/wx/film_editor.cc:171
@@ -242,10 +263,14 @@ msgstr "Hz"
msgid "I want to play this back at fader"
msgstr "Jag vill spela upp detta med mixervolym"
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
msgid "IP address"
msgstr "IP-adress"
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
#: src/wx/film_editor.cc:339
msgid "JPEG2000 bandwidth"
msgstr "JPEG2000 bandbredd"
@@ -262,6 +287,14 @@ msgstr "Längd"
msgid "MBps"
msgstr "MBps"
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
#: src/wx/dir_picker_ctrl.cc:52
msgid "My Documents"
msgstr "Mina Dokument"
@@ -296,6 +329,15 @@ msgstr "Förpackningstyp (ex. OV)"
msgid "Padded with black to %dx%d (%.2f:1)\n"
msgstr "Svarta kanter tillagda för %dx%d (%.2f:1)\n"
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "TMS lösenord"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
#: src/wx/audio_dialog.cc:60
msgid "Peak"
msgstr "Topp"
@@ -316,23 +358,29 @@ msgstr "RMS"
msgid "Rating (e.g. 15)"
msgstr "Klassificering (ex. 15)"
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
msgstr "Referensfilter för A/B"
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
msgstr "Referensomskalare för A/B"
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
msgid "Remove"
msgstr "Ta bort"
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
#: src/wx/film_editor.cc:282
msgid "Right crop"
msgstr "Höger beskärning"
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
msgid "Running"
msgstr "Körs"
@@ -357,7 +405,7 @@ msgstr "Välj innehållsfil"
msgid "Server"
msgstr "Server"
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
msgid "Set language"
msgstr "Välj språk"
@@ -393,27 +441,21 @@ msgstr "Undertext Skalning"
msgid "Subtitles"
msgstr "Undertexter"
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "TMS IP-adress"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "TMS lösenord"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
msgstr "TMS målsökväg"
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "TMS användarnamn"
-
#: src/wx/dci_metadata_dialog.cc:41
msgid "Territory (e.g. UK)"
msgstr "Område (ex. SV)"
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
msgid "Threads"
msgstr "Trådar"
@@ -421,7 +463,7 @@ msgstr "Trådar"
msgid "Threads to use"
msgstr "Antal trådar att använda"
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
msgid "Threads to use for encoding on this host"
msgstr "Antal trådar att använda vid kodning på denna maskin"
@@ -466,6 +508,11 @@ msgstr "Använd innehållets audio"
msgid "Use external audio"
msgstr "Använd extern audio"
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Använd DCI-namnet"
+
#: src/wx/film_editor.cc:75
msgid "Video"
msgstr "Video"
@@ -516,5 +563,11 @@ msgstr "s"
msgid "unknown"
msgstr "okänt"
+#~ msgid "TMS IP address"
+#~ msgstr "TMS IP-adress"
+
+#~ msgid "TMS user name"
+#~ msgstr "TMS användarnamn"
+
#~ msgid "Original Size"
#~ msgstr "Ursprunglig Storlek"
diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc
index 77f5da293..1a7b73faf 100644
--- a/src/wx/wx_util.cc
+++ b/src/wx/wx_util.cc
@@ -25,6 +25,8 @@
#include <wx/filepicker.h>
#include <wx/spinctrl.h>
#include "wx_util.h"
+#include "config.h"
+#include "util.h"
using namespace std;
using namespace boost;
@@ -211,3 +213,39 @@ checked_set (wxRadioButton* widget, bool value)
widget->SetValue (value);
}
}
+
+void
+dvdomatic_setup_i18n ()
+{
+ int language = wxLANGUAGE_DEFAULT;
+
+ boost::optional<string> config_lang = Config::instance()->language ();
+ if (config_lang && !config_lang->empty ()) {
+ wxLanguageInfo const * li = wxLocale::FindLanguageInfo (std_to_wx (config_lang.get ()));
+ if (li) {
+ language = li->Language;
+ }
+ }
+
+ wxLocale* locale = 0;
+ if (wxLocale::IsAvailable (language)) {
+ locale = new wxLocale (language, wxLOCALE_LOAD_DEFAULT);
+
+#ifdef DVDOMATIC_WINDOWS
+ locale->AddCatalogLookupPathPrefix (std_to_wx (mo_path().string()));
+#endif
+
+ locale->AddCatalog (wxT ("libdvdomatic-wx"));
+ locale->AddCatalog (wxT ("dvdomatic"));
+
+ if (!locale->IsOk()) {
+ delete locale;
+ locale = new wxLocale (wxLANGUAGE_ENGLISH);
+ language = wxLANGUAGE_ENGLISH;
+ }
+ }
+
+ if (locale) {
+ dvdomatic_setup_gettext_i18n (wx_to_std (locale->GetCanonicalName ()));
+ }
+}
diff --git a/src/wx/wx_util.h b/src/wx/wx_util.h
index b3ab706df..00a625e1c 100644
--- a/src/wx/wx_util.h
+++ b/src/wx/wx_util.h
@@ -36,6 +36,7 @@ extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, wxString, int pr
extern wxStaticText* add_label_to_grid_bag_sizer (wxGridBagSizer *, wxWindow *, wxString, wxGBPosition, wxGBSpan span = wxDefaultSpan);
extern std::string wx_to_std (wxString);
extern wxString std_to_wx (std::string);
+extern void dvdomatic_setup_i18n ();
/** @class ThreadedStaticText
*