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

Unified Diff: ui/base/text/bytes_formatting.h

Issue 7189076: Localize strings, speeds. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tweaking Created 9 years, 6 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
Index: ui/base/text/bytes_formatting.h
diff --git a/ui/base/text/bytes_formatting.h b/ui/base/text/bytes_formatting.h
new file mode 100644
index 0000000000000000000000000000000000000000..7df366d360fb5a7c7c00bca547ab0f0390030fb4
--- /dev/null
+++ b/ui/base/text/bytes_formatting.h
@@ -0,0 +1,44 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_BASE_TEXT_BYTES_FORMATTING_H_
+#define UI_BASE_TEXT_BYTES_FORMATTING_H_
+#pragma once
+
+#include "base/basictypes.h"
+#include "base/string16.h"
+
+namespace ui {
+
+enum DataUnits {
+ DATA_UNITS_NATURAL = -1,
+ DATA_UNITS_BYTE = 0,
+ DATA_UNITS_KIBIBYTE,
+ DATA_UNITS_MEBIBYTE,
+ DATA_UNITS_GIBIBYTE,
+ DATA_UNITS_TEBIBYTE,
+ DATA_UNITS_PEBIBYTE
+};
+
+// Return the unit type that is appropriate for displaying the amount of bytes
+// passed in. Most of the time, an explicit call to this isn't necessary; just
+// use the DATA_UNITS_NATURAL argument to FormatBytes()/FormatSpeed().
+DataUnits GetByteDisplayUnits(int64 bytes);
+
+// Return a byte string in human-readable format with an optional unit suffix.
+// Specify a |units| argument to explictly request the units to be used, or pass
+// in DATA_UNITS_NATURAL to have the units to match the scale of the |bytes|
+// argument (the value that GetBytesDisplayUnits() would return).
+// Ex: FormatBytes(512, DATA_UNITS_KIBIBYTE, true) => "0.5 KB"
+// Ex: FormatBytes(10*1024, DATA_UNITS_MEBIBYTE, false) => "0.1"
+string16 FormatBytes(int64 bytes, DataUnits units, bool show_units);
Evan Stade 2011/06/21 03:18:41 I think there should be a version of this function
Avi (use Gerrit) 2011/06/21 14:30:19 As a tweak later, perhaps; for now I think this is
Evan Stade 2011/06/21 22:10:57 I don't think this "tweak" will ever be more relev
Avi (use Gerrit) 2011/06/21 22:20:07 Working on it. Just a moment...
+
+// As above, but with "/s" units.
+// Ex: FormatSpeed(512, DATA_UNITS_KIBIBYTE, true) => "0.5 KB/s"
Evan Stade 2011/06/21 03:18:41 should the k be lower case?
Avi (use Gerrit) 2011/06/21 14:30:19 Done.
+// Ex: FormatSpeed(10*1024, DATA_UNITS_MEBIBYTE, false) => "0.1"
+string16 FormatSpeed(int64 bytes, DataUnits units, bool show_units);
+
+} // namespace ui
+
+#endif // UI_BASE_TEXT_BYTES_FORMATTING_H_

Powered by Google App Engine
This is Rietveld 408576698