From: Carl Hetherington Date: Wed, 16 Jul 2014 14:30:32 +0000 (+0100) Subject: Merge master. X-Git-Tag: v2.0.48~717 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=fc56dc97103d00437843a31e1ef0c4915900ad1a;hp=94201bd2a5a4cb391b7f2bdeba56b928fed7cfe1 Merge master. --- diff --git a/ChangeLog b/ChangeLog index 561bbce1c..5265423fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,12 @@ 2014-07-16 Carl Hetherington + * Version 1.72.3 released. + +2014-07-16 Carl Hetherington + + * Improve approximate time reports a bit. + * Make KDM email subject configurable. * Updates to de_DE from Carsten Kurz. diff --git a/debian/changelog b/debian/changelog index 7a82f85e9..32ab78e75 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -dcpomatic (1.72.2-1) UNRELEASED; urgency=low +dcpomatic (1.72.3-1) UNRELEASED; urgency=low * New upstream release. * New upstream release. @@ -167,8 +167,9 @@ dcpomatic (1.72.2-1) UNRELEASED; urgency=low * New upstream release. * New upstream release. * New upstream release. + * New upstream release. - -- Carl Hetherington Thu, 10 Jul 2014 21:27:55 +0100 + -- Carl Hetherington Wed, 16 Jul 2014 14:26:32 +0000 dcpomatic (0.87-1) UNRELEASED; urgency=low diff --git a/platform/osx/make_dmg.sh b/platform/osx/make_dmg.sh index 92c6dc96b..c89d2f48f 100644 --- a/platform/osx/make_dmg.sh +++ b/platform/osx/make_dmg.sh @@ -110,7 +110,7 @@ cp icons/kdm_email.png $WORK/$resources cp icons/servers.png $WORK/$resources cp icons/tms.png $WORK/$resources -# i18n: .mo files +# i18n: DCP-o-matic .mo files for lang in de_DE es_ES fr_FR it_IT sv_SE nl_NL; do mkdir $WORK/$resources/$lang cp build/src/lib/mo/$lang/*.mo $WORK/$resources/$lang @@ -118,6 +118,12 @@ for lang in de_DE es_ES fr_FR it_IT sv_SE nl_NL; do cp build/src/tools/mo/$lang/*.mo $WORK/$resources/$lang done +# i18n: wxWidgets .mo files +for lang in de es fr it sv nl; do + mkdir $WORK/$resources/$lang + cp $ENV/64/share/locale/$lang/LC_MESSAGES/wxstd.mo $WORK/$resources/$lang +done + tmp_dmg=$WORK/dcpomatic_tmp.dmg dmg="$WORK/DCP-o-matic $version.dmg" vol_name=DCP-o-matic-$version diff --git a/src/lib/util.cc b/src/lib/util.cc index d04f195af..837f3cdf3 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -146,25 +146,54 @@ seconds_to_approximate_hms (int s) m -= (h * 60); stringstream ap; - - if (h > 0) { - if (m > 30) { + + bool const hours = h > 0; + bool const minutes = h < 10 && m > 0; + bool const seconds = m < 10 && s > 0; + + if (hours) { + if (m > 30 && !minutes) { ap << (h + 1) << N_(" ") << _("hours"); } else { + ap << h << N_(" "); if (h == 1) { - ap << N_("1 ") << _("hour"); + ap << _("hour"); + } else { + ap << _("hours"); + } + } + + if (minutes | seconds) { + ap << N_(" "); + } + } + + if (minutes) { + /* Minutes */ + if (s > 30 && !seconds) { + ap << (m + 1) << N_(" ") << _("minutes"); + } else { + ap << m << N_(" "); + if (m == 1) { + ap << _("minute"); } else { - ap << h << N_(" ") << _("hours"); + ap << _("minutes"); } } - } else if (m > 0) { - if (m == 1) { - ap << N_("1 ") << _("minute"); + + if (seconds) { + ap << N_(" "); + } + } + + if (seconds) { + /* Seconds */ + ap << s << N_(" "); + if (s == 1) { + ap << _("second"); } else { - ap << m << N_(" ") << _("minutes"); + ap << _("seconds"); } - } else { - ap << s << N_(" ") << _("seconds"); } return ap.str (); diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po index 924004eb1..247d7fcd8 100644 --- a/src/wx/po/fr_FR.po +++ b/src/wx/po/fr_FR.po @@ -262,7 +262,7 @@ msgstr "Espace Couleurs" #: src/wx/config_dialog.cc:805 msgid "Config|Timing" -msgstr "Configuration|Temps" +msgstr "Temps" #: src/wx/film_editor.cc:134 msgid "Container" @@ -600,7 +600,7 @@ msgstr "" #: src/wx/kdm_dialog.cc:99 msgid "KDM|Timing" -msgstr "KDM|Temps" +msgstr "Temps" #: src/wx/film_editor.cc:297 msgid "Keep video in sequence" @@ -1013,7 +1013,7 @@ msgstr "Timeline..." #: src/wx/timing_panel.cc:36 msgid "Timing|Timing" -msgstr "Temps|Temps" +msgstr "Temps" #: src/wx/video_panel.cc:110 msgid "Top crop" diff --git a/test/util_test.cc b/test/util_test.cc index 39cc0e6bf..f5bf94c01 100644 --- a/test/util_test.cc +++ b/test/util_test.cc @@ -94,3 +94,16 @@ BOOST_AUTO_TEST_CASE (timecode_test) DCPTime t = DCPTime::from_seconds (2 * 60 * 60 + 4 * 60 + 31) + DCPTime::from_frames (19, 24); BOOST_CHECK_EQUAL (t.timecode (24), "02:04:31:19"); } + +BOOST_AUTO_TEST_CASE (seconds_to_approximate_hms_test) +{ + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1), "1 second"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2), "2 seconds"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (60), "1 minute"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1.5 * 60), "1 minute 30 seconds"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (2 * 60), "2 minutes"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (17 * 60 + 20), "17 minutes"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (1 * 3600), "1 hour"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (3600 + 40 * 60), "1 hour 40 minutes"); + BOOST_CHECK_EQUAL (seconds_to_approximate_hms (13 * 3600 + 40 * 60), "14 hours"); +}