diff options
Diffstat (limited to 'src/eom-jobs.c')
| -rw-r--r-- | src/eom-jobs.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/eom-jobs.c b/src/eom-jobs.c index bde2517..0b51800 100644 --- a/src/eom-jobs.c +++ b/src/eom-jobs.c @@ -30,6 +30,7 @@ #include "eom-list-store.h" #include "eom-thumbnail.h" #include "eom-pixbuf-util.h" +#include "eom-util.h" #include <gdk-pixbuf/gdk-pixbuf.h> @@ -351,6 +352,7 @@ eom_job_model_class_init (EomJobModelClass *class) /** * eom_job_model_new: * @file_list: (element-type GFile): a #GFile list + * @preserve_order: Flag to indicate whether to honor the order of input parameters. * * Creates a new #EomJob model. * @@ -358,13 +360,14 @@ eom_job_model_class_init (EomJobModelClass *class) */ EomJob * -eom_job_model_new (GSList *file_list) +eom_job_model_new (GSList *file_list, gboolean preserve_order) { EomJobModel *job; job = g_object_new (EOM_TYPE_JOB_MODEL, NULL); job->file_list = file_list; + job->preserve_order = preserve_order; return EOM_JOB (job); } @@ -383,7 +386,9 @@ filter_files (GSList *files, GList **file_list, GList **error_list) if (file != NULL) { file_info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_TYPE","G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, + G_FILE_ATTRIBUTE_STANDARD_TYPE"," + G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," + G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, 0, NULL, NULL); if (file_info == NULL) { type = G_FILE_TYPE_UNKNOWN; @@ -395,7 +400,7 @@ filter_files (GSList *files, GList **file_list, GList **error_list) if (G_UNLIKELY (type == G_FILE_TYPE_UNKNOWN)) { const gchar *ctype; - ctype = g_file_info_get_content_type (file_info); + ctype = eom_util_get_content_type_with_fallback (file_info); /* If the content type is supported adjust the file_type */ @@ -438,7 +443,7 @@ eom_job_model_run (EomJob *ejob) job->store = EOM_LIST_STORE (eom_list_store_new ()); - eom_list_store_add_files (job->store, filtered_list); + eom_list_store_add_files (job->store, filtered_list, job->preserve_order); g_list_free_full (filtered_list, g_object_unref); g_list_free_full (error_list, g_free); |
