FileChooserWidget: Don't show recent items with private hint set

This commit is contained in:
Kai Willadsen 2018-08-28 20:14:16 +00:00 committed by Matthias Clasen
parent 6a8013735d
commit ba6c5ef201

View File

@ -7355,6 +7355,23 @@ recent_idle_cleanup (gpointer data)
g_free (load_data);
}
static gboolean
recent_item_is_private (GtkRecentInfo *info)
{
gboolean is_private = FALSE;
if (gtk_recent_info_get_private_hint (info))
{
const gchar *app_name = g_get_application_name ();
gchar **recent_apps = gtk_recent_info_get_applications (info, NULL);
is_private = !g_strv_contains ((const char *const*) recent_apps,
app_name);
g_strfreev (recent_apps);
}
return is_private;
}
/* Populates the file system model with the GtkRecentInfo* items
* in the provided list; frees the items
*/
@ -7376,6 +7393,9 @@ populate_model_with_recent_items (GtkFileChooserWidget *impl,
GtkRecentInfo *info = l->data;
GFile *file;
if (recent_item_is_private (info))
continue;
file = g_file_new_for_uri (gtk_recent_info_get_uri (info));
_gtk_file_system_model_add_and_query_file (priv->recent_model,
file,