forked from AuroraMiddleware/gtk
Merge branch 'bgo593793-filechooser-recent-folders-master'
This commit is contained in:
commit
52711beba5
@ -9424,7 +9424,6 @@ typedef struct
|
||||
{
|
||||
GtkFileChooserDefault *impl;
|
||||
GList *items;
|
||||
guint needs_sorting : 1;
|
||||
} RecentLoadData;
|
||||
|
||||
static void
|
||||
@ -9436,6 +9435,7 @@ recent_idle_cleanup (gpointer data)
|
||||
gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view),
|
||||
GTK_TREE_MODEL (impl->recent_model));
|
||||
file_list_set_sort_column_ids (impl);
|
||||
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (impl->recent_model), MODEL_COL_MTIME, GTK_SORT_DESCENDING);
|
||||
|
||||
set_busy_cursor (impl, FALSE);
|
||||
|
||||
@ -9444,16 +9444,6 @@ recent_idle_cleanup (gpointer data)
|
||||
g_free (load_data);
|
||||
}
|
||||
|
||||
static gint
|
||||
recent_sort_mru (gconstpointer a,
|
||||
gconstpointer b)
|
||||
{
|
||||
GtkRecentInfo *info_a = (GtkRecentInfo *) a;
|
||||
GtkRecentInfo *info_b = (GtkRecentInfo *) b;
|
||||
|
||||
return (gtk_recent_info_get_modified (info_b) - gtk_recent_info_get_modified (info_a));
|
||||
}
|
||||
|
||||
static gint
|
||||
get_recent_files_limit (GtkWidget *widget)
|
||||
{
|
||||
@ -9529,23 +9519,10 @@ recent_idle_load (gpointer data)
|
||||
if (!impl->recent_manager)
|
||||
return FALSE;
|
||||
|
||||
/* first iteration: load all the items */
|
||||
if (!load_data->items)
|
||||
{
|
||||
load_data->items = gtk_recent_manager_get_items (impl->recent_manager);
|
||||
if (!load_data->items)
|
||||
return FALSE;
|
||||
|
||||
load_data->needs_sorting = TRUE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* second iteration: MRU sorting and clamping, and populating the model */
|
||||
if (load_data->needs_sorting)
|
||||
{
|
||||
load_data->items = g_list_sort (load_data->items, recent_sort_mru);
|
||||
|
||||
if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
|
||||
populate_model_with_recent_items (impl, load_data->items);
|
||||
else
|
||||
@ -9554,7 +9531,6 @@ recent_idle_load (gpointer data)
|
||||
g_list_foreach (load_data->items, (GFunc) gtk_recent_info_unref, NULL);
|
||||
g_list_free (load_data->items);
|
||||
load_data->items = NULL;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -9574,7 +9550,6 @@ recent_start_loading (GtkFileChooserDefault *impl)
|
||||
load_data = g_new (RecentLoadData, 1);
|
||||
load_data->impl = impl;
|
||||
load_data->items = NULL;
|
||||
load_data->needs_sorting = TRUE;
|
||||
|
||||
/* begin lazy loading the recent files into the model */
|
||||
impl->load_recent_id = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 30,
|
||||
|
Loading…
Reference in New Issue
Block a user