Add new file size formatting method
authorClaudio Saavedra <csaavedra@igalia.com>
Wed, 13 May 2009 10:41:28 +0000 (13:41 +0300)
committerClaudio Saavedra <csaavedra@igalia.com>
Wed, 13 May 2009 10:41:28 +0000 (13:41 +0300)
Based on a patch by Christian Dywan (christian@imendio.com)

* doc/hildon-sections.txt:
* hildon/hildon-helper.c (+hildon_format_file_size_for_display):
* hildon/hildon-helper.h: New file size formatting method.
* debian/changelog:
* debian/control: Depend on osso-filemanager l10n package for
proper localization strings.

ChangeLog
debian/changelog
debian/control
doc/hildon-sections.txt
hildon/hildon-helper.c
hildon/hildon-helper.h

index 0e56c95..3be621d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2009-05-13  Claudio Saavedra  <csaavedra@igalia.com>
 
+       Based on a patch by Christian Dywan (christian@imendio.com)
+
+       * doc/hildon-sections.txt:
+       * hildon/hildon-helper.c (+hildon_format_file_size_for_display):
+       * hildon/hildon-helper.h: New file size formatting method.
+       * debian/changelog:
+       * debian/control: Depend on osso-filemanager l10n package for
+       proper localization strings.
+
+2009-05-13  Claudio Saavedra  <csaavedra@igalia.com>
+
        * tests/Makefile.am: Include top_srcdir to make possible to build
        tests in a different builddir.
        * tests/*.c: Include <hildon/hildon-*.h> to allow building tests
index f7621b7..c970f5c 100644 (file)
@@ -1,6 +1,7 @@
 libhildon (2.1.73-1) unstable; urgency=low
 
   * unreleased
+  * Depend on osso-filemanager l10n package.
 
  -- Claudio Saavedra <csaavedra@igalia.com>  Mon, 11 May 2009 13:22:15 +0300
 
index f2699cc..ba382da 100644 (file)
@@ -14,7 +14,7 @@ Description: Hildon libraries development files
 Package: libhildon1
 Section: libs
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, osso-sounds-ui, hildon-libs-l10n-mr | hildon-libs-l10n-mr0, osso-system-lock-l10n-mr | osso-system-lock-l10n-mr0
+Depends: ${shlibs:Depends}, ${misc:Depends}, osso-sounds-ui, hildon-libs-l10n-mr | hildon-libs-l10n-mr0, osso-system-lock-l10n-mr | osso-system-lock-l10n-mr0, osso-filemanager-l10n-mr | osso-filemanager-l10n-mr0
 Description: Hildon libraries
 
 Package: libhildon1-dbg
index d9c507a..c00d48f 100644 (file)
@@ -1289,6 +1289,7 @@ hildon_helper_event_button_is_finger
 hildon_helper_set_insensitive_message
 hildon_helper_set_insensitive_messagef
 hildon_helper_set_thumb_scrollbar
+hildon_format_file_size_for_display
 </SECTION>
 
 <SECTION>
index cd3026d..509bf7b 100644 (file)
@@ -503,6 +503,42 @@ hildon_helper_set_thumb_scrollbar               (GtkScrolledWindow *win,
         gtk_widget_set_name (win->vscrollbar, (thumb) ? "hildon-thumb-scrollbar" : NULL);
 }
 
+/**
+ * hildon_format_file_size_for_display:
+ * @size: a size in bytes
+ *
+ * Formats a file size in bytes for display in applications.
+ *
+ * This function is similar to g_format_file_size_for_display() but the
+ * translations are from Maemo so might differ slightly.
+ *
+ * Since: 2.2
+ **/
+gchar *
+hildon_format_file_size_for_display             (goffset size)
+{
+    #define _HFM(string) g_dgettext ("osso-filemanager", string)
+
+    if (size < 1024)
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_kb"),
+                                1);
+    else if (size < 100 * 1024)
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_1kb_99k"),
+                                size / 1024);
+    else if (size < 1024 * 1024)
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_100kb_1mb"),
+                                size / 1024);
+    else if (size < 10 * 1024 * 1024)
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_1mb_10mb"),
+                                size / (1024.0f * 1024.0f));
+    else if (size < 1024 * 1024 * 1024)
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_10mb_1gb"),
+                                size / (1024.0f * 1024.0f));
+    else
+        return g_strdup_printf (_HFM ("ckdg_va_properties_size_1gb_or_greater"),
+                                size / (1024.0f * 1024.0f * 1024.0f));
+}
+
 
 
 
index 879d55f..4201e97 100644 (file)
@@ -59,6 +59,9 @@ void
 hildon_helper_set_thumb_scrollbar               (GtkScrolledWindow *win, 
                                                  gboolean thumb);
 
+gchar *
+hildon_format_file_size_for_display             (goffset size);
+
 G_END_DECLS
 
 #endif                                          /* __HILDON_HELPER_H__ */