Merge master.
authorCarl Hetherington <cth@carlh.net>
Wed, 16 Jul 2014 14:30:32 +0000 (15:30 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 16 Jul 2014 14:30:32 +0000 (15:30 +0100)
ChangeLog
debian/changelog
platform/osx/make_dmg.sh
src/lib/util.cc
src/wx/po/fr_FR.po
test/util_test.cc

index 561bbce1c06f1ce981512e41413408902d952f8a..5265423fc06ef30e6e858a922562412046982c30 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
 2014-07-16  Carl Hetherington  <cth@carlh.net>
 
+       * Version 1.72.3 released.
+
+2014-07-16  Carl Hetherington  <cth@carlh.net>
+
+       * Improve approximate time reports a bit.
+
        * Make KDM email subject configurable.
 
        * Updates to de_DE from Carsten Kurz.
index 7a82f85e9cfce5484c199ed1df4d9bc3552b085e..32ab78e759c029da22d8c200b9d3a08bd93886fb 100644 (file)
@@ -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 <carl@d1stkfactory>  Thu, 10 Jul 2014 21:27:55 +0100
+ -- Carl Hetherington <carl@107.191.37.242.vultr.com>  Wed, 16 Jul 2014 14:26:32 +0000
 
 dcpomatic (0.87-1) UNRELEASED; urgency=low
 
index 92c6dc96b25e209bc78e6fe1d31c47e45c0911c7..c89d2f48fe503988a8afe3d1fcf324dd3d84d451 100644 (file)
@@ -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
index d04f195aff6bbfdbb64b030dba3aed40f37bf0e2..837f3cdf3af1d044d266271894a61032e2c4b9f1 100644 (file)
@@ -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 ();
index 924004eb1cdff46756690957b4fa49622a750fa8..247d7fcd854a5707faab736181a454b26ef94dd2 100644 (file)
@@ -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"
index 39cc0e6bf7df07956b56191e88af6465ee92db71..f5bf94c011464265754e59aeddde65dc44e09dc9 100644 (file)
@@ -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");
+}