static void add_recent_file (const gchar *filename) { GtkRecentData recent_data; gchar *uri = NULL; #ifdef G_OS_WIN32 recent_data.mime_type = get_mime_type_from_uri (filename, NULL); #else recent_data.mime_type = get_mime_type (filename); #endif if (recent_data.mime_type == NULL) return; recent_data.display_name = g_filename_display_basename (filename); recent_data.app_name = g_strdup (g_get_application_name ()); recent_data.app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL); recent_data.description = NULL; recent_data.groups = NULL; recent_data.is_private = FALSE; uri = g_filename_to_uri(filename, NULL, NULL); gtk_recent_manager_add_full(gtk_recent_manager_get_default(), uri, &recent_data); g_free (recent_data.display_name); g_free (recent_data.mime_type); g_free (recent_data.app_name); g_free (recent_data.app_exec); g_free (uri); }
gchar * pragha_file_get_music_type(const gchar *filename) { gchar *result = NULL; if (!filename) return NULL; #ifdef G_OS_WIN32 result = get_mime_type_from_uri (filename, NULL); #else result = get_mime_type (filename); #endif return result; }
PraghaMediaType pragha_file_get_media_type (const gchar *filename) { PraghaMediaType ret = MEDIA_TYPE_UNKNOWN; gchar *result = NULL; if (!filename) return ret; #ifdef G_OS_WIN32 result = get_mime_type_from_uri (filename, NULL); #else result = get_mime_type (filename); #endif if (result) { if (is_valid_mime(result, mime_flac) || is_valid_mime(result, mime_mpeg) || is_valid_mime(result, mime_ogg) || is_valid_mime(result, mime_wav) || is_valid_mime(result, mime_asf) || is_valid_mime(result, mime_mp4) || is_valid_mime(result, mime_ape) || is_valid_mime(result, mime_tracker)) ret = MEDIA_TYPE_AUDIO; #ifdef HAVE_PLPARSER else if (is_valid_mime(result, mime_playlist)) #else else if (g_str_has_suffix (filename, ".m3u") || g_str_has_suffix (filename, ".M3U") || g_str_has_suffix (filename, ".pls") || g_str_has_suffix (filename, ".PLS") || g_str_has_suffix (filename, ".xspf") || g_str_has_suffix (filename, ".XSPF") || g_str_has_suffix (filename, ".asx") || g_str_has_suffix (filename, ".ASX") || g_str_has_suffix (filename, ".wax") || g_str_has_suffix (filename, ".WAX")) #endif ret = MEDIA_TYPE_PLAYLIST; else if (is_valid_mime(result, mime_image)) ret = MEDIA_TYPE_IMAGE; } g_free(result); return ret; }
PraghaMusicType pragha_file_get_music_type(const gchar *filename) { PraghaMusicType ret = FILE_NONE; gchar *result = NULL; if (!filename) return ret; #ifdef G_OS_WIN32 result = get_mime_type_from_uri (filename, NULL); #else result = get_mime_type (filename); #endif if (result) { if(is_valid_mime(result, mime_flac)) ret = FILE_FLAC; else if(is_valid_mime(result, mime_mpeg)) ret = FILE_MP3; else if(is_valid_mime(result, mime_ogg)) ret = FILE_OGGVORBIS; else if (is_valid_mime(result, mime_wav)) ret = FILE_WAV; else if (is_valid_mime(result, mime_asf)) ret = FILE_ASF; else if (is_valid_mime(result, mime_mp4)) ret = FILE_MP4; else if (is_valid_mime(result, mime_ape)) ret = FILE_APE; else if (is_valid_mime(result, mime_tracker)) ret = FILE_TRACKER; } g_free(result); return ret; }
static gboolean is_image_file(const gchar *file) { gboolean ret = FALSE; gchar *result = NULL; if (!file) return FALSE; /* Type: JPG, PNG */ #ifdef G_OS_WIN32 result = get_mime_type_from_uri (file, NULL); #else result = get_mime_type (file); #endif if (!result) return FALSE; else { ret = is_valid_mime(result, mime_image); g_free(result); return ret; } }