nautilus r14631 - in trunk: . libnautilus-private
- From: cneumair svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r14631 - in trunk: . libnautilus-private
- Date: Tue, 16 Sep 2008 18:24:50 +0000 (UTC)
Author: cneumair
Date: Tue Sep 16 18:24:50 2008
New Revision: 14631
URL: http://svn.gnome.org/viewvc/nautilus?rev=14631&view=rev
Log:
2008-09-16 Christian Neumair <cneumair gnome org>
* libnautilus-private/nautilus-file.c
(nautilus_file_compare_for_sort_internal),
(nautilus_file_compare_for_sort),
(nautilus_file_compare_for_sort_by_attribute_q):
Also sort folders before files when the sort criterion is reversed.
Fixes #310919.
Modified:
trunk/ChangeLog
trunk/libnautilus-private/nautilus-file.c
Modified: trunk/libnautilus-private/nautilus-file.c
==============================================================================
--- trunk/libnautilus-private/nautilus-file.c (original)
+++ trunk/libnautilus-private/nautilus-file.c Tue Sep 16 18:24:50 2008
@@ -2503,7 +2503,8 @@
static int
nautilus_file_compare_for_sort_internal (NautilusFile *file_1,
NautilusFile *file_2,
- gboolean directories_first)
+ gboolean directories_first,
+ gboolean reversed)
{
gboolean is_directory_1, is_directory_2;
@@ -2521,9 +2522,9 @@
}
if (file_1->details->sort_order < file_2->details->sort_order) {
- return -1;
+ return reversed ? 1 : -1;
} else if (file_1->details->sort_order > file_2->details->sort_order) {
- return 1;
+ return reversed ? -1 : 1;
}
return 0;
@@ -2557,7 +2558,7 @@
return 0;
}
- result = nautilus_file_compare_for_sort_internal (file_1, file_2, directories_first);
+ result = nautilus_file_compare_for_sort_internal (file_1, file_2, directories_first, reversed);
if (result == 0) {
switch (sort_type) {
@@ -2613,12 +2614,12 @@
default:
g_return_val_if_reached (0);
}
- }
- if (reversed) {
- result = -result;
+ if (reversed) {
+ result = -result;
+ }
}
-
+
return result;
}
@@ -2672,7 +2673,7 @@
/* it is a normal attribute, compare by strings */
- result = nautilus_file_compare_for_sort_internal (file_1, file_2, directories_first);
+ result = nautilus_file_compare_for_sort_internal (file_1, file_2, directories_first, reversed);
if (result == 0) {
char *value_1;
@@ -2689,10 +2690,10 @@
g_free (value_1);
g_free (value_2);
- }
- if (reversed) {
- result = -result;
+ if (reversed) {
+ result = -result;
+ }
}
return result;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]