summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/job_manager.cc15
-rw-r--r--src/lib/job_manager.h1
-rw-r--r--src/lib/po/fr_FR.po14
-rw-r--r--src/lib/util.cc39
-rw-r--r--src/tools/dcpomatic_batch.cc32
-rw-r--r--src/tools/po/fr_FR.po2
-rw-r--r--src/wx/full_config_dialog.cc13
-rw-r--r--src/wx/job_view.cc2
-rw-r--r--src/wx/po/fr_FR.po16
9 files changed, 88 insertions, 46 deletions
diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc
index e3b6e257b..6d651d2ba 100644
--- a/src/lib/job_manager.cc
+++ b/src/lib/job_manager.cc
@@ -90,6 +90,21 @@ JobManager::add (shared_ptr<Job> j)
return j;
}
+shared_ptr<Job>
+JobManager::add_after (shared_ptr<Job> after, shared_ptr<Job> j)
+{
+ {
+ boost::mutex::scoped_lock lm (_mutex);
+ list<shared_ptr<Job> >::iterator i = find (_jobs.begin(), _jobs.end(), after);
+ DCPOMATIC_ASSERT (i != _jobs.end());
+ _jobs.insert (i, j);
+ }
+
+ emit (boost::bind (boost::ref (JobAdded), weak_ptr<Job> (j)));
+
+ return j;
+}
+
list<shared_ptr<Job> >
JobManager::get () const
{
diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h
index 9cba0fd09..a382dd736 100644
--- a/src/lib/job_manager.h
+++ b/src/lib/job_manager.h
@@ -41,6 +41,7 @@ class JobManager : public Signaller, public boost::noncopyable
{
public:
boost::shared_ptr<Job> add (boost::shared_ptr<Job>);
+ boost::shared_ptr<Job> add_after (boost::shared_ptr<Job> after, boost::shared_ptr<Job> j);
std::list<boost::shared_ptr<Job> > get () const;
bool work_to_do () const;
bool errors () const;
diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po
index e2de8ab54..535f6bab7 100644
--- a/src/lib/po/fr_FR.po
+++ b/src/lib/po/fr_FR.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-20 20:14+0100\n"
-"PO-Revision-Date: 2018-04-24 22:27+0100\n"
+"PO-Revision-Date: 2018-05-29 23:36+0100\n"
"Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
"Language-Team: \n"
"Language: fr_FR\n"
@@ -259,7 +259,7 @@ msgstr "BT2020 luminance non-constante"
#: src/lib/ffmpeg_content.cc:578
msgid "BT2100"
-msgstr ""
+msgstr "BT2100"
#: src/lib/ffmpeg_content.cc:515
msgid "BT470BG"
@@ -323,14 +323,12 @@ msgid "Checking existing image data"
msgstr "Recherche de données images existantes"
#: src/lib/ffmpeg_content.cc:577
-#, fuzzy
msgid "Chroma-derived constant luminance"
-msgstr "BT2020 luminance constante"
+msgstr "Luminance constante dérivée de la chrominance"
#: src/lib/ffmpeg_content.cc:576
-#, fuzzy
msgid "Chroma-derived non-constant luminance"
-msgstr "BT2020 luminance non-constante"
+msgstr "Luminance non constante dérivée de la chrominance"
#: src/lib/ffmpeg_content.cc:536
msgid "Colour primaries"
@@ -792,7 +790,7 @@ msgstr "Erreur indéterminée."
#: src/lib/ffmpeg_content.cc:532
msgid "JEDEC P22"
-msgstr ""
+msgstr "JEDEC P22"
#: src/lib/config.cc:308 src/lib/config.cc:821
msgid "KDM delivery: $CPL_NAME"
@@ -1163,7 +1161,7 @@ msgstr ""
#: src/lib/dcp_content.cc:521
msgid "There is no video in this DCP"
-msgstr ""
+msgstr "Il n'y a aucune vidéo dans ce DCP"
#: src/lib/job.cc:173
msgid ""
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 3eb5ee30e..7da5f9f90 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -157,18 +157,27 @@ seconds_to_approximate_hms (int s)
string ap;
- bool const hours = h > 0;
- bool const minutes = h < 6 && m > 0;
- bool const seconds = h == 0 && m < 10 && s > 0;
+ bool hours = h > 0;
+ bool minutes = h < 6 && m > 0;
+ bool seconds = h == 0 && m < 10 && s > 0;
- if (hours) {
- if (m > 30 && !minutes) {
- /// TRANSLATORS: h here is an abbreviation for hours
- ap += locale_convert<string>(h + 1) + _("h");
- } else {
- /// TRANSLATORS: h here is an abbreviation for hours
- ap += locale_convert<string>(h) + _("h");
+ if (m > 30 && !minutes) {
+ /* round up the hours */
+ ++h;
+ }
+ if (s > 30 && !seconds) {
+ /* round up the minutes */
+ ++m;
+ if (m == 60) {
+ m = 0;
+ minutes = false;
+ ++h;
}
+ }
+
+ if (hours) {
+ /// TRANSLATORS: h here is an abbreviation for hours
+ ap += locale_convert<string>(h) + _("h");
if (minutes || seconds) {
ap += N_(" ");
@@ -176,14 +185,8 @@ seconds_to_approximate_hms (int s)
}
if (minutes) {
- /* Minutes */
- if (s > 30 && !seconds) {
- /// TRANSLATORS: m here is an abbreviation for minutes
- ap += locale_convert<string>(m + 1) + _("m");
- } else {
- /// TRANSLATORS: m here is an abbreviation for minutes
- ap += locale_convert<string>(m) + _("m");
- }
+ /// TRANSLATORS: m here is an abbreviation for minutes
+ ap += locale_convert<string>(m) + _("m");
if (seconds) {
ap += N_(" ");
diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc
index f6197b1e2..6d4490ad7 100644
--- a/src/tools/dcpomatic_batch.cc
+++ b/src/tools/dcpomatic_batch.cc
@@ -101,6 +101,8 @@ public:
setup_menu (bar);
SetMenuBar (bar);
+ Config::instance()->Changed.connect (boost::bind (&DOMFrame::config_changed, this, _1));
+
Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_add_film, this), ID_file_add_film);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_quit, this), wxID_EXIT);
Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_preferences, this), wxID_PREFERENCES);
@@ -238,6 +240,36 @@ private:
c->Destroy ();
}
+ void config_changed (Config::Property what)
+ {
+ /* Instantly save any config changes when using the DCP-o-matic GUI */
+ if (what == Config::CINEMAS) {
+ try {
+ Config::instance()->write_cinemas();
+ } catch (exception& e) {
+ error_dialog (
+ this,
+ wxString::Format (
+ _("Could not write to cinemas file at %s. Your changes have not been saved."),
+ std_to_wx (Config::instance()->cinemas_file().string()).data()
+ )
+ );
+ }
+ } else {
+ try {
+ Config::instance()->write_config();
+ } catch (exception& e) {
+ error_dialog (
+ this,
+ wxString::Format (
+ _("Could not write to config file at %s. Your changes have not been saved."),
+ std_to_wx (Config::instance()->cinemas_file().string()).data()
+ )
+ );
+ }
+ }
+ }
+
boost::optional<boost::filesystem::path> _last_parent;
wxSizer* _sizer;
wxPreferencesEditor* _config_dialog;
diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po
index 063c51226..1923b39a7 100644
--- a/src/tools/po/fr_FR.po
+++ b/src/tools/po/fr_FR.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-20 20:14+0100\n"
-"PO-Revision-Date: 2018-04-24 22:31+0100\n"
+"PO-Revision-Date: 2018-05-29 23:42+0100\n"
"Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
"Language-Team: \n"
"Language: fr_FR\n"
diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc
index 85711aa31..c371239b7 100644
--- a/src/wx/full_config_dialog.cc
+++ b/src/wx/full_config_dialog.cc
@@ -689,12 +689,7 @@ class EmailPage : public StandardPage
{
public:
EmailPage (wxSize panel_size, int border)
-#ifdef DCPOMATIC_OSX
- /* We have to force both width and height of this one */
- : StandardPage (wxSize (480, 128), border)
-#else
: StandardPage (panel_size, border)
-#endif
{}
wxString GetName () const
@@ -785,7 +780,7 @@ public:
KDMEmailPage (wxSize panel_size, int border)
#ifdef DCPOMATIC_OSX
/* We have to force both width and height of this one */
- : StandardPage (wxSize (480, 128), border)
+ : StandardPage (wxSize (panel_size.GetWidth(), 128), border)
#else
: StandardPage (panel_size, border)
#endif
@@ -905,7 +900,7 @@ public:
NotificationsPage (wxSize panel_size, int border)
#ifdef DCPOMATIC_OSX
/* We have to force both width and height of this one */
- : StandardPage (wxSize (480, 128), border)
+ : StandardPage (wxSize (panel_size.GetWidth(), 128), border)
#else
: StandardPage (panel_size, border)
#endif
@@ -1076,7 +1071,7 @@ public:
CoverSheetPage (wxSize panel_size, int border)
#ifdef DCPOMATIC_OSX
/* We have to force both width and height of this one */
- : StandardPage (wxSize (480, 128), border)
+ : StandardPage (wxSize (panel_size.GetWidth(), 128), border)
#else
: StandardPage (panel_size, border)
#endif
@@ -1385,7 +1380,7 @@ create_full_config_dialog ()
the containing window doesn't shrink too much when we select those panels.
This is obviously an unpleasant hack.
*/
- wxSize ps = wxSize (520, -1);
+ wxSize ps = wxSize (600, -1);
int const border = 16;
#else
wxSize ps = wxSize (-1, -1);
diff --git a/src/wx/job_view.cc b/src/wx/job_view.cc
index d0086ff81..43d6f2fed 100644
--- a/src/wx/job_view.cc
+++ b/src/wx/job_view.cc
@@ -142,7 +142,7 @@ JobView::finished ()
string body = Config::instance()->notification_email();
boost::algorithm::replace_all (body, "$JOB_NAME", _job->name());
boost::algorithm::replace_all (body, "$JOB_STATUS", _job->status());
- JobManager::instance()->add (shared_ptr<Job> (new SendNotificationEmailJob (body)));
+ JobManager::instance()->add_after (_job, shared_ptr<Job> (new SendNotificationEmailJob (body)));
}
}
}
diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po
index 8aa1d0bee..16062bda7 100644
--- a/src/wx/po/fr_FR.po
+++ b/src/wx/po/fr_FR.po
@@ -3,14 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
-#: src/wx/audio_panel.cc:56 src/wx/subtitle_panel.cc:56
-#: src/wx/video_panel.cc:82
msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-20 20:14+0100\n"
-"PO-Revision-Date: 2018-04-24 22:35+0100\n"
+"PO-Revision-Date: 2018-05-29 23:41+0100\n"
"Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
"Language-Team: \n"
"Language: fr_FR\n"
@@ -28,7 +26,7 @@ msgstr "%"
#: src/wx/film_name_location_dialog.cc:130
msgid "%1 already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 existe déjà comme nom de fichier. VOus ne pouvez pas l'utiliser pour un "
+"%1 existe déjà comme nom de fichier. Vous ne pouvez pas l'utiliser pour un "
"projet."
#: src/wx/kdm_dialog.cc:153
@@ -290,7 +288,7 @@ msgstr "Audio"
#: src/wx/isdcf_metadata_dialog.cc:40
msgid "Audio Language (e.g. EN)"
-msgstr "Langue audio (ex. FR)"
+msgstr "Langue audio (par ex. : FR)"
#: src/wx/player_information.cc:132
#, c-format
@@ -323,7 +321,7 @@ msgstr "B"
#: src/wx/full_config_dialog.cc:760
msgid "BCC address"
-msgstr "Adresse BCC"
+msgstr "Adresse CCI"
#: src/wx/colour_conversion_editor.cc:144
msgid "Blue chromaticity"
@@ -1206,9 +1204,8 @@ msgid "MOV files (*.mov)|*.mov"
msgstr "FIchiers MOV (*.mov)|*.mov"
#: src/wx/export_dialog.cc:33
-#, fuzzy
msgid "MP4 / H.264"
-msgstr "H.264"
+msgstr "MP4 / H.264"
#: src/wx/export_dialog.cc:38
msgid "MP4 files (*.mp4)|*.mp4"
@@ -1307,7 +1304,8 @@ msgstr "DEMANDE de KDM:"
msgid "NEEDS OV: "
msgstr "OV Nécessaire:"
-#: src/wx/cinema_dialog.cc:50 src/wx/dcp_panel.cc:72 src/wx/screen_dialog.cc:68
+#: src/wx/cinema_dialog.cc:50 src/wx/dcp_panel.cc:72
+#: src/wx/screen_dialog.cc:68
msgid "Name"
msgstr "Nom"