* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Based on gtkfilechooserutils.c:
* Copyright (C) 2003 Red Hat, Inc.
#include "config.h"
#include "gtkrecentchooserutils.h"
-#include "gtkalias.h"
/* Methods */
static void delegate_set_sort_func (GtkRecentChooser *chooser,
G_CALLBACK (delegate_notify), receiver);
g_signal_connect (delegate, "selection-changed",
G_CALLBACK (delegate_selection_changed), receiver);
- g_signal_connect (delegate, "item_activated",
+ g_signal_connect (delegate, "item-activated",
G_CALLBACK (delegate_item_activated), receiver);
}
{
g_assert (a != NULL && b != NULL);
- return (gtk_recent_info_get_modified (a) < gtk_recent_info_get_modified (b));
+ return gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a);
}
static gint
{
g_assert (a != NULL && b != NULL);
- return (gtk_recent_info_get_modified (a) > gtk_recent_info_get_modified (b));
+ return -1 * (gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a));
}
typedef struct
SortRecentData *sort_recent = user_data;
if (sort_recent->func)
- return (* sort_recent->func) (info_a,
- info_b,
- sort_recent->data);
+ return (* sort_recent->func) (info_a, info_b, sort_recent->data);
/* fallback */
return 0;
* _gtk_recent_chooser_get_items:
* @chooser: a #GtkRecentChooser
* @filter: a #GtkRecentFilter
- * @sort_func: sorting function, or %NULL
- * @sort_data: sorting function data, or %NULL
+ * @sort_func: (allow-none): sorting function, or %NULL
+ * @sort_data: (allow-none): sorting function data, or %NULL
*
* Default implementation for getting the filtered, sorted and
* clamped list of recently used resources from a #GtkRecentChooser.
if (compare_func)
{
- SortRecentData *sort_recent;
+ SortRecentData sort_recent;
- sort_recent = g_slice_new (SortRecentData);
- sort_recent->func = sort_func;
- sort_recent->data = sort_data;
+ sort_recent.func = sort_func;
+ sort_recent.data = sort_data;
- items = g_list_sort_with_data (items, compare_func, sort_recent);
-
- g_slice_free (SortRecentData, sort_recent);
+ items = g_list_sort_with_data (items, compare_func, &sort_recent);
}
length = g_list_length (items);
l = clamp->next;
clamp->next = NULL;
- g_list_foreach (l, (GFunc) gtk_recent_info_unref, NULL);
- g_list_free (l);
+ g_list_free_full (l, (GDestroyNotify) gtk_recent_info_unref);
}
return items;