Move g_format_file_size_for_display from gio to glib
authorAlexander Larsson <alexl@redhat.com>
Tue, 27 Nov 2007 14:30:31 +0000 (14:30 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Tue, 27 Nov 2007 14:30:31 +0000 (14:30 +0000)
2007-11-27  Alexander Larsson  <alexl@redhat.com>

        * gio/gfileinfo.[ch]:
        * glib/gfileutils.[ch]:
        Move g_format_file_size_for_display from gio to glib

svn path=/trunk/; revision=5954

ChangeLog
gio/gfileinfo.c
gio/gfileinfo.h
glib/gfileutils.c
glib/gfileutils.h

index 9adc1bc..06bc4fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2007-11-27  Alexander Larsson  <alexl@redhat.com>
 
+        * gio/gfileinfo.[ch]:
+        * glib/gfileutils.[ch]:
+        Move g_format_file_size_for_display from gio to glib
+
+2007-11-27  Alexander Larsson  <alexl@redhat.com>
+
         * configure.in:
        Allow configuration of gio-module-dir
        
index 6986615..f72e3ee 100644 (file)
@@ -1703,48 +1703,6 @@ g_file_info_set_sort_order (GFileInfo         *info,
 }
 
 
-#define KILOBYTE_FACTOR 1024.0
-#define MEGABYTE_FACTOR (1024.0 * 1024.0)
-#define GIGABYTE_FACTOR (1024.0 * 1024.0 * 1024.0)
-
-/**
- * g_format_file_size_for_display:
- * @size: a file size.
- * 
- * Formats a file size into a human readable string. Sizes are rounded
- * to the nearest metric prefix and are displayed rounded to the nearest 
- * tenth. E.g. the file size 3292528 bytes will be converted into the string 
- * "3.1 MB".
- * 
- * Returns: a formatted string containing a human readable file size.
- **/
-char *
-g_format_file_size_for_display (goffset size)
-{
-  if (size < (goffset) KILOBYTE_FACTOR)
-    return g_strdup_printf (dngettext(GETTEXT_PACKAGE, "%u byte", "%u bytes",(guint) size), (guint) size);
-  else
-    {
-      gdouble displayed_size;
-      
-      if (size < (goffset) MEGABYTE_FACTOR)
-       {
-         displayed_size = (gdouble) size / KILOBYTE_FACTOR;
-         return g_strdup_printf (_("%.1f KB"), displayed_size);
-       }
-      else if (size < (goffset) GIGABYTE_FACTOR)
-       {
-         displayed_size = (gdouble) size / MEGABYTE_FACTOR;
-         return g_strdup_printf (_("%.1f MB"), displayed_size);
-       }
-      else
-       {
-         displayed_size = (gdouble) size / GIGABYTE_FACTOR;
-         return g_strdup_printf (_("%.1f GB"), displayed_size);
-       }
-    }
-}
-
 #define ON_STACK_MATCHERS 5
 
 typedef struct {
index c8ab326..201f7cd 100644 (file)
@@ -24,6 +24,7 @@
 #define __G_FILE_INFO_H__
 
 #include <glib-object.h>
+#include <glib/gfileutils.h>
 #include <gio/gfileattribute.h>
 #include <gio/gicon.h>
 
@@ -717,10 +718,6 @@ void              g_file_info_set_symlink_target     (GFileInfo         *info,
 void              g_file_info_set_sort_order         (GFileInfo         *info,
                                                      gint32             sort_order);
 
-/* Helper functions for attributes: */
-/* TODO: Move this to glib when merging */
-char *g_format_file_size_for_display (goffset size);
-
 GFileAttributeMatcher *g_file_attribute_matcher_new            (const char            *attributes);
 GFileAttributeMatcher *g_file_attribute_matcher_ref            (GFileAttributeMatcher *matcher);
 void                   g_file_attribute_matcher_unref          (GFileAttributeMatcher *matcher);
index 5025b3a..8921188 100644 (file)
@@ -1800,6 +1800,51 @@ g_build_filename (const gchar *first_element,
   return str;
 }
 
+#define KILOBYTE_FACTOR 1024.0
+#define MEGABYTE_FACTOR (1024.0 * 1024.0)
+#define GIGABYTE_FACTOR (1024.0 * 1024.0 * 1024.0)
+
+/**
+ * g_format_file_size_for_display:
+ * @size: a file size.
+ * 
+ * Formats a file size into a human readable string. Sizes are rounded
+ * to the nearest metric prefix and are displayed rounded to the nearest 
+ * tenth. E.g. the file size 3292528 bytes will be converted into the string 
+ * "3.1 MB".
+ * 
+ * Returns: a formatted string containing a human readable file size.
+ *
+ * Since: 2.16
+ **/
+char *
+g_format_file_size_for_display (goffset size)
+{
+  if (size < (goffset) KILOBYTE_FACTOR)
+    return g_strdup_printf (dngettext(GETTEXT_PACKAGE, "%u byte", "%u bytes",(guint) size), (guint) size);
+  else
+    {
+      gdouble displayed_size;
+      
+      if (size < (goffset) MEGABYTE_FACTOR)
+       {
+         displayed_size = (gdouble) size / KILOBYTE_FACTOR;
+         return g_strdup_printf (_("%.1f KB"), displayed_size);
+       }
+      else if (size < (goffset) GIGABYTE_FACTOR)
+       {
+         displayed_size = (gdouble) size / MEGABYTE_FACTOR;
+         return g_strdup_printf (_("%.1f MB"), displayed_size);
+       }
+      else
+       {
+         displayed_size = (gdouble) size / GIGABYTE_FACTOR;
+         return g_strdup_printf (_("%.1f GB"), displayed_size);
+       }
+    }
+}
+
+
 /**
  * g_file_read_link:
  * @filename: the symbolic link
index 0aa0852..989fe8a 100644 (file)
@@ -101,6 +101,8 @@ gint    g_file_open_tmp      (const gchar  *tmpl,
                              gchar       **name_used,
                              GError      **error);
 
+char *g_format_file_size_for_display (goffset size);
+
 gchar *g_build_path     (const gchar *separator,
                         const gchar *first_element,
                         ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;