Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1464)

Unified Diff: chrome/common/time_format.cc

Issue 11272035: Add FORMAT_REMAINING_LONG in TimeFormat class to support formatting remaining time in long minute f… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/time_format.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/time_format.cc
diff --git a/chrome/common/time_format.cc b/chrome/common/time_format.cc
index 233090417abb340fd67b262582037d4334a0c6a2..13554d3d735862cd9bba6c87a4c25d909cfc50b8 100644
--- a/chrome/common/time_format.cc
+++ b/chrome/common/time_format.cc
@@ -79,6 +79,29 @@ static const MessageIDs kTimeRemainingMessageIDs = { {
}
} };
+static const MessageIDs kTimeRemainingLongMessageIDs = { {
+ {
+ IDS_TIME_REMAINING_SECS_DEFAULT, IDS_TIME_REMAINING_SEC_SINGULAR,
+ IDS_TIME_REMAINING_SECS_ZERO, IDS_TIME_REMAINING_SECS_TWO,
+ IDS_TIME_REMAINING_SECS_FEW, IDS_TIME_REMAINING_SECS_MANY
+ },
+ {
+ IDS_TIME_REMAINING_LONG_MINS_DEFAULT, IDS_TIME_REMAINING_LONG_MIN_SINGULAR,
+ IDS_TIME_REMAINING_LONG_MINS_ZERO, IDS_TIME_REMAINING_LONG_MINS_TWO,
+ IDS_TIME_REMAINING_LONG_MINS_FEW, IDS_TIME_REMAINING_LONG_MINS_MANY
+ },
+ {
+ IDS_TIME_REMAINING_HOURS_DEFAULT, IDS_TIME_REMAINING_HOUR_SINGULAR,
+ IDS_TIME_REMAINING_HOURS_ZERO, IDS_TIME_REMAINING_HOURS_TWO,
+ IDS_TIME_REMAINING_HOURS_FEW, IDS_TIME_REMAINING_HOURS_MANY
+ },
+ {
+ IDS_TIME_REMAINING_DAYS_DEFAULT, IDS_TIME_REMAINING_DAY_SINGULAR,
+ IDS_TIME_REMAINING_DAYS_ZERO, IDS_TIME_REMAINING_DAYS_TWO,
+ IDS_TIME_REMAINING_DAYS_FEW, IDS_TIME_REMAINING_DAYS_MANY
+ }
+} };
+
static const MessageIDs kTimeElapsedMessageIDs = { {
{
IDS_TIME_ELAPSED_SECS_DEFAULT, IDS_TIME_ELAPSED_SEC_SINGULAR,
@@ -106,6 +129,7 @@ static const MessageIDs kTimeElapsedMessageIDs = { {
enum FormatType {
FORMAT_SHORT,
FORMAT_REMAINING,
+ FORMAT_REMAINING_LONG,
FORMAT_ELAPSED,
};
@@ -119,6 +143,8 @@ class TimeFormatter {
return short_formatter_;
case FORMAT_REMAINING:
return time_left_formatter_;
+ case FORMAT_REMAINING_LONG:
+ return time_left_long_formatter_;
case FORMAT_ELAPSED:
return time_elapsed_formatter_;
default:
@@ -133,6 +159,8 @@ class TimeFormatter {
return kTimeShortMessageIDs;
case FORMAT_REMAINING:
return kTimeRemainingMessageIDs;
+ case FORMAT_REMAINING_LONG:
+ return kTimeRemainingLongMessageIDs;
case FORMAT_ELAPSED:
return kTimeElapsedMessageIDs;
default:
@@ -146,6 +174,7 @@ class TimeFormatter {
case FORMAT_SHORT:
return kFallbackFormatSuffixShort;
case FORMAT_REMAINING:
+ case FORMAT_REMAINING_LONG:
return kFallbackFormatSuffixLeft;
case FORMAT_ELAPSED:
return kFallbackFormatSuffixAgo;
@@ -158,6 +187,7 @@ class TimeFormatter {
TimeFormatter() {
BuildFormats(FORMAT_SHORT, &short_formatter_);
BuildFormats(FORMAT_REMAINING, &time_left_formatter_);
+ BuildFormats(FORMAT_REMAINING_LONG, &time_left_long_formatter_);
BuildFormats(FORMAT_ELAPSED, &time_elapsed_formatter_);
}
~TimeFormatter() {
@@ -165,6 +195,8 @@ class TimeFormatter {
short_formatter_.end());
STLDeleteContainerPointers(time_left_formatter_.begin(),
time_left_formatter_.end());
+ STLDeleteContainerPointers(time_left_long_formatter_.begin(),
+ time_left_long_formatter_.end());
STLDeleteContainerPointers(time_elapsed_formatter_.begin(),
time_elapsed_formatter_.end());
}
@@ -172,6 +204,7 @@ class TimeFormatter {
std::vector<icu::PluralFormat*> short_formatter_;
std::vector<icu::PluralFormat*> time_left_formatter_;
+ std::vector<icu::PluralFormat*> time_left_long_formatter_;
std::vector<icu::PluralFormat*> time_elapsed_formatter_;
static void BuildFormats(FormatType format_type,
std::vector<icu::PluralFormat*>* time_formats);
@@ -315,6 +348,11 @@ string16 TimeFormat::TimeRemaining(const TimeDelta& delta) {
}
// static
+string16 TimeFormat::TimeRemainingLong(const TimeDelta& delta) {
+ return FormatTimeImpl(delta, FORMAT_REMAINING_LONG);
+}
+
+// static
string16 TimeFormat::TimeRemainingShort(const TimeDelta& delta) {
return FormatTimeImpl(delta, FORMAT_SHORT);
}
« no previous file with comments | « chrome/common/time_format.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698