mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-27 14:36:16 +01:00
Move g_format_file_size_for_display from gio to glib
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
This commit is contained in:
parent
5247f12f36
commit
68c74ba68f
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
2007-11-27 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
* configure.in:
|
* configure.in:
|
||||||
|
@ -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
|
#define ON_STACK_MATCHERS 5
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#define __G_FILE_INFO_H__
|
#define __G_FILE_INFO_H__
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
#include <glib/gfileutils.h>
|
||||||
#include <gio/gfileattribute.h>
|
#include <gio/gfileattribute.h>
|
||||||
#include <gio/gicon.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,
|
void g_file_info_set_sort_order (GFileInfo *info,
|
||||||
gint32 sort_order);
|
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_new (const char *attributes);
|
||||||
GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher);
|
GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher);
|
||||||
void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher);
|
void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher);
|
||||||
|
@ -1800,6 +1800,51 @@ g_build_filename (const gchar *first_element,
|
|||||||
return str;
|
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:
|
* g_file_read_link:
|
||||||
* @filename: the symbolic link
|
* @filename: the symbolic link
|
||||||
|
@ -101,6 +101,8 @@ gint g_file_open_tmp (const gchar *tmpl,
|
|||||||
gchar **name_used,
|
gchar **name_used,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
|
char *g_format_file_size_for_display (goffset size);
|
||||||
|
|
||||||
gchar *g_build_path (const gchar *separator,
|
gchar *g_build_path (const gchar *separator,
|
||||||
const gchar *first_element,
|
const gchar *first_element,
|
||||||
...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
|
...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
|
||||||
|
Loading…
Reference in New Issue
Block a user