[Xfce4-commits] [xfce/xfce4-panel] 01/01: directory-menu: Use natural order for sorting (Bug #15413)

noreply at xfce.org noreply at xfce.org
Tue Jul 16 00:47:49 CEST 2019


This is an automated email from the git hooks/post-receive script.

o   c   h   o   s   i       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfce4-panel.

commit d1edf285db6af76cb1c4ef8b0313748449aa6a6d
Author: Simeon Krastnikov <simeonkrastnikov at gmail.com>
Date:   Sun Jul 14 21:15:33 2019 -0400

    directory-menu: Use natural order for sorting (Bug #15413)
    
    Natural sort order is also what Thunar uses.
---
 plugins/directorymenu/directorymenu.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/plugins/directorymenu/directorymenu.c b/plugins/directorymenu/directorymenu.c
index cb918be..8e14465 100644
--- a/plugins/directorymenu/directorymenu.c
+++ b/plugins/directorymenu/directorymenu.c
@@ -527,6 +527,9 @@ directory_menu_plugin_menu_sort (gconstpointer a,
   GFileType type_a = g_file_info_get_file_type (G_FILE_INFO (a));
   GFileType type_b = g_file_info_get_file_type (G_FILE_INFO (b));
   gboolean  hidden_a, hidden_b;
+  const gchar *display_name_a, *display_name_b;
+  gchar *sort_display_name_a, *sort_display_name_b;
+  gint sort_value;
 
   if (type_a != type_b)
     {
@@ -544,8 +547,15 @@ directory_menu_plugin_menu_sort (gconstpointer a,
   if (hidden_a != hidden_b)
     return hidden_a ? -1 : 1;
 
-  return g_utf8_collate (g_file_info_get_display_name (G_FILE_INFO (a)),
-                         g_file_info_get_display_name (G_FILE_INFO (b)));
+  display_name_a = g_file_info_get_display_name (G_FILE_INFO (a));
+  display_name_b = g_file_info_get_display_name (G_FILE_INFO (b));
+  sort_display_name_a = g_utf8_collate_key_for_filename (display_name_a, -1);
+  sort_display_name_b = g_utf8_collate_key_for_filename (display_name_b, -1);
+  sort_value = strcmp (sort_display_name_a,
+                       sort_display_name_b);
+  g_free (sort_display_name_a);
+  g_free (sort_display_name_b);
+  return sort_value;
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list