55 JUCE_API RelativeTime JUCE_CALLTYPE operator- (RelativeTime t1, RelativeTime t2) noexcept {
return t1 -= t2; }
57 JUCE_API bool JUCE_CALLTYPE operator== (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() == t2.inSeconds(); }
58 JUCE_API bool JUCE_CALLTYPE operator!= (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() != t2.inSeconds(); }
59 JUCE_API bool JUCE_CALLTYPE operator> (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() > t2.inSeconds(); }
60 JUCE_API bool JUCE_CALLTYPE operator< (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() < t2.inSeconds(); }
61 JUCE_API bool JUCE_CALLTYPE operator>= (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() >= t2.inSeconds(); }
62 JUCE_API bool JUCE_CALLTYPE operator<= (RelativeTime t1, RelativeTime t2) noexcept {
return t1.inSeconds() <= t2.inSeconds(); }
65 static void translateTimeField (String& result,
int n,
const char* singular,
const char* plural)
67 result << TRANS (n == 1 ? singular : plural)
68 .replace (n == 1 ?
"1" :
"2", String (n))
74 if (numSeconds < 0.001 && numSeconds > -0.001)
75 return returnValueForZeroTime;
84 int n = std::abs ((
int)
inWeeks());
87 translateTimeField (result, n, NEEDS_TRANS(
"1 week"), NEEDS_TRANS(
"2 weeks"));
91 n = std::abs ((
int)
inDays()) % 7;
94 translateTimeField (result, n, NEEDS_TRANS(
"1 day"), NEEDS_TRANS(
"2 days"));
100 n = std::abs ((
int)
inHours()) % 24;
103 translateTimeField (result, n, NEEDS_TRANS(
"1 hr"), NEEDS_TRANS(
"2 hrs"));
112 translateTimeField (result, n, NEEDS_TRANS(
"1 min"), NEEDS_TRANS(
"2 mins"));
121 translateTimeField (result, n, NEEDS_TRANS(
"1 sec"), NEEDS_TRANS(
"2 secs"));
125 if (fieldsShown == 0)
129 result << n <<
' ' << TRANS (
"ms");