diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-12-13 23:28:56 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-12-13 23:28:56 +0000 |
commit | 137ad5b9ae32c00114743ff07684dcd46a5cc9f7 (patch) | |
tree | 1469d57084a8c0b2dafc689473b485cbdcef3b95 | |
parent | 73b15ba391b3a533786e2a2f4f80274b80866822 (diff) | |
download | gdk-pixbuf-137ad5b9ae32c00114743ff07684dcd46a5cc9f7.tar.gz |
Use g_utf8_collate_key() to sort in human-friendly order. (#94473)
Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c (compare_cmpl_dir): Use
g_utf8_collate_key() to sort in human-friendly order.
(#94473)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 6 | ||||
-rw-r--r-- | gtk/gtkfilesel.c | 13 |
7 files changed, 46 insertions, 3 deletions
@@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 6cf2be7b6..056898de3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 6cf2be7b6..056898de3 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 6cf2be7b6..056898de3 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6cf2be7b6..056898de3 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 6cf2be7b6..056898de3 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Fri Dec 13 18:22:21 2002 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkfilesel.c (compare_cmpl_dir): Use + g_utf8_collate_key() to sort in human-friendly order. + (#94473) + Fri Dec 13 17:45:40 2002 Owen Taylor <otaylor@redhat.com> * gtk/fnmatch.c gtk/gtkprivate.h gtk/gtkfilesel.c: diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c index 061a0f476..cbe031ac3 100644 --- a/gtk/gtkfilesel.c +++ b/gtk/gtkfilesel.c @@ -182,6 +182,7 @@ struct _CompletionDirEntry { gboolean is_dir; gchar *entry_name; + gchar *sort_key; }; struct _CompletionUserDir @@ -2688,7 +2689,10 @@ free_dir_sent (CompletionDirSent* sent) { gint i; for (i = 0; i < sent->entry_count; i++) - g_free (sent->entries[i].entry_name); + { + g_free (sent->entries[i].entry_name); + g_free (sent->entries[i].sort_key); + } g_free (sent->entries); g_free (sent); } @@ -3080,6 +3084,8 @@ open_new_dir (gchar *dir_name, } g_clear_error (&error); + sent->entries[n_entries].sort_key = g_utf8_collate_key (sent->entries[n_entries].entry_name, -1); + g_string_assign (path, sys_dir_name); if (path->str[path->len-1] != G_DIR_SEPARATOR) { @@ -3924,8 +3930,9 @@ static gint compare_cmpl_dir (const void *a, const void *b) { - return compare_filenames ((((CompletionDirEntry*)a))->entry_name, - (((CompletionDirEntry*)b))->entry_name); + + return strcmp (((CompletionDirEntry*)a)->sort_key, + (((CompletionDirEntry*)b))->sort_key); } static gint |