summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eom-util.c18
-rw-r--r--src/eom-util.h3
2 files changed, 21 insertions, 0 deletions
diff --git a/src/eom-util.c b/src/eom-util.c
index e914223..a839f6f 100644
--- a/src/eom-util.c
+++ b/src/eom-util.c
@@ -482,3 +482,21 @@ eom_notebook_scroll_event_cb (GtkWidget *widget,
return TRUE;
}
+
+const char*
+eom_util_get_content_type_with_fallback (GFileInfo *file_info)
+{
+ g_return_val_if_fail (file_info != NULL, NULL);
+
+ if (g_file_info_has_attribute (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE))
+ return g_file_info_get_content_type (file_info);
+ else if (g_file_info_has_attribute (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE))
+ return g_file_info_get_attribute_string (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE);
+ else
+ g_warn_if_reached ();
+
+ return NULL;
+}
diff --git a/src/eom-util.h b/src/eom-util.h
index d08b88a..9f2c370 100644
--- a/src/eom-util.h
+++ b/src/eom-util.h
@@ -68,6 +68,9 @@ void eom_util_show_file_in_filemanager (GFile *file,
gboolean eom_notebook_scroll_event_cb (GtkWidget *notebook,
GdkEventScroll *event);
+G_GNUC_INTERNAL
+const char *eom_util_get_content_type_with_fallback (GFileInfo *file_info);
+
G_END_DECLS
#endif /* __EOM_UTIL_H__ */