aboutsummaryrefslogtreecommitdiffstats
path: root/x11-fm/thunar/files
diff options
context:
space:
mode:
authorolivierd <olivierd@FreeBSD.org>2012-12-15 02:53:31 +0800
committerolivierd <olivierd@FreeBSD.org>2012-12-15 02:53:31 +0800
commitff5b6ec46ba82e25ac5e0326f3148371d6f33978 (patch)
tree091353aec14fff9a48c2e5529652d4ba58a3deb7 /x11-fm/thunar/files
parentcbbfcc79beda164bc8d2fadae115fd030f95a0e0 (diff)
downloadfreebsd-ports-gnome-ff5b6ec46ba82e25ac5e0326f3148371d6f33978.tar.gz
freebsd-ports-gnome-ff5b6ec46ba82e25ac5e0326f3148371d6f33978.tar.zst
freebsd-ports-gnome-ff5b6ec46ba82e25ac5e0326f3148371d6f33978.zip
- Update to 1.6.1
- Sort options - Use OPTIONS_GROUP for plugins, PLUG_* - Remove ABI version numbers from LIB_DEPENDS - Add patches for GLib 2.28 Approved by: rene, miwi (mentors, implicit)
Diffstat (limited to 'x11-fm/thunar/files')
-rw-r--r--x11-fm/thunar/files/patch-thunar__thunar-gio-extensions.c37
-rw-r--r--x11-fm/thunar/files/patch-thunar__thunar-size-label.c91
2 files changed, 128 insertions, 0 deletions
diff --git a/x11-fm/thunar/files/patch-thunar__thunar-gio-extensions.c b/x11-fm/thunar/files/patch-thunar__thunar-gio-extensions.c
new file mode 100644
index 000000000000..b6094e5f5880
--- /dev/null
+++ b/x11-fm/thunar/files/patch-thunar__thunar-gio-extensions.c
@@ -0,0 +1,37 @@
+--- ./thunar/thunar-gio-extensions.c.orig 2012-12-09 17:28:23.000000000 +0000
++++ ./thunar/thunar-gio-extensions.c 2012-12-10 21:43:55.000000000 +0000
+@@ -569,15 +569,34 @@
+ thunar_g_app_info_should_show (GAppInfo *info)
+ {
+ #ifdef HAVE_GIO_UNIX
++#if GLIB_CHECK_VERSION (2, 28, 0)
++ const gchar *filename;
++
++ _thunar_return_val_if_fail (G_IS_APP_INFO (info), FALSE);
++
++ if (g_app_info_should_show (info))
++ return TRUE;
++#else
+ _thunar_return_val_if_fail (G_IS_APP_INFO (info), FALSE);
++#endif
+
+ if (G_IS_DESKTOP_APP_INFO (info))
++ /* g_desktop_app_info_get_show_in() appears from GLib 2.30 */
++#if GLIB_CHECK_VERSION (2, 28, 0)
++ {
++ filename = g_desktop_app_info_get_filename (G_DESKTOP_APP_INFO (info));
++ if (filename != NULL
++ && g_str_has_prefix (filename, g_get_user_data_dir ()))
++ return TRUE;
++ }
++#else
+ {
+ /* NoDisplay=true files should be visible in the interface,
+ * because this key is intent to hide mime-helpers from the
+ * application menu. Hidden=true is never returned by GIO. */
+ return g_desktop_app_info_get_show_in (G_DESKTOP_APP_INFO (info), NULL);
+ }
++#endif
+
+ return TRUE;
+ #else
diff --git a/x11-fm/thunar/files/patch-thunar__thunar-size-label.c b/x11-fm/thunar/files/patch-thunar__thunar-size-label.c
new file mode 100644
index 000000000000..5cb57b7292e6
--- /dev/null
+++ b/x11-fm/thunar/files/patch-thunar__thunar-size-label.c
@@ -0,0 +1,91 @@
+--- ./thunar/thunar-size-label.c.orig 2012-10-14 13:01:38.000000000 +0000
++++ ./thunar/thunar-size-label.c 2012-10-21 00:27:16.000000000 +0000
+@@ -259,6 +259,51 @@
+ return FALSE;
+ }
+
++#if GLIB_CHECK_VERSION (2, 28, 0)
++static gchar*
++tsl_format_size_string (guint64 size)
++{
++ GString *result;
++ gchar *grouping;
++ gchar *thousep;
++ gint ndigits = 0;
++
++#ifdef HAVE_LOCALECONV
++ grouping = localeconv ()->grouping;
++ thousep = localeconv ()->thousands_sep;
++#else
++ grouping = "\3\0";
++ thousep = ",";
++#endif
++
++ result = g_string_sized_new (32);
++ do
++ {
++ /* prepend the next digit to the string */
++ g_string_prepend_c (result, '0' + (size % 10));
++ ++ndigits;
++
++ /* check if we should add the thousands separator */
++ if (ndigits == *grouping && *grouping != CHAR_MAX && size > 9)
++ {
++ g_string_prepend (result, thousep);
++ ndigits = 0;
++
++ /* if *(grouping+1) == '\0' then we have to use the
++ * *grouping character (last grouping rule) for all
++ * following cases.
++ */
++ if (*(grouping + 1) != '\0')
++ ++grouping;
++ }
++
++ size /= 10;
++ }
++ while (size > 0);
++
++ return g_string_free (result, FALSE);
++}
++#endif
+
+
+ static void
+@@ -266,6 +311,10 @@
+ {
+ gchar *size_string;
+ guint64 size;
++#if GLIB_CHECK_VERSION (2, 28, 0)
++ gchar *size_humanized;
++ gchar *text;
++#endif
+
+ _thunar_return_if_fail (THUNAR_IS_SIZE_LABEL (size_label));
+ _thunar_return_if_fail (size_label->files != NULL);
+@@ -308,7 +357,25 @@
+ size = thunar_file_get_size (THUNAR_FILE (size_label->files->data));
+
+ /* setup the new label */
++#if GLIB_CHECK_VERSION (2, 30, 0)
+ size_string = g_format_size_full (size, G_FORMAT_SIZE_LONG_FORMAT);
++#else
++ /* determine the size in bytes */
++ text = tsl_format_size_string (size);
++ size_string = g_strdup_printf (_("%s Bytes"), text);
++ g_free (text);
++
++ /* check if the file is larger that 1kB */
++ if (G_LIKELY (size > 1024ul))
++ {
++ /* prepend the humanized size */
++ size_humanized = g_format_size_for_display (size);
++ text = g_strdup_printf ("%s (%s)", size_humanized, size_string);
++ g_free (size_humanized);
++ g_free (size_string);
++ size_string = text;
++ }
++#endif
+ gtk_label_set_text (GTK_LABEL (size_label->label), size_string);
+ g_free (size_string);
+ }