Use mimetypes for audio and images
This commit is contained in:
parent
4c406bce17
commit
755932c3bc
@ -130,6 +130,7 @@ void fe_get_int (char *prompt, int def, void *callback, void *ud);
|
||||
#define FRF_FILTERISINITIAL 16 /* filter is initial directory */
|
||||
#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */
|
||||
#define FRF_EXTENSIONS 64 /* specify file extensions to be displayed */
|
||||
#define FRF_MIMETYPES 128 /* specify file mimetypes to be displayed */
|
||||
void fe_get_file (const char *title, char *initial,
|
||||
void (*callback) (void *userdata, char *file), void *userdata,
|
||||
int flags);
|
||||
|
@ -214,7 +214,7 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
|
||||
if (flags & FRF_CHOOSEFOLDER)
|
||||
gtk_file_chooser_set_action (GTK_FILE_CHOOSER (dialog), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
|
||||
|
||||
if (flags & FRF_EXTENSIONS && extensions != NULL)
|
||||
if ((flags & FRF_EXTENSIONS || flags & FRF_MIMETYPES) && extensions != NULL)
|
||||
{
|
||||
filefilter = gtk_file_filter_new ();
|
||||
tokenbuffer = g_strdup (extensions);
|
||||
@ -222,7 +222,10 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
|
||||
|
||||
while (token != NULL)
|
||||
{
|
||||
gtk_file_filter_add_pattern (filefilter, token);
|
||||
if (flags & FRF_EXTENSIONS)
|
||||
gtk_file_filter_add_pattern (filefilter, token);
|
||||
else
|
||||
gtk_file_filter_add_mime_type (filefilter, token);
|
||||
token = strtok (NULL, ";");
|
||||
}
|
||||
|
||||
|
@ -1061,7 +1061,7 @@ setup_browsefile_cb (GtkWidget *button, GtkWidget *entry)
|
||||
{
|
||||
/* used for background image only */
|
||||
gtkutil_file_req (_("Select an Image File"), setup_filereq_cb,
|
||||
entry, NULL, "*.jpg;*.png;*.tif;*.gif", FRF_EXTENSIONS|FRF_RECENTLYUSED);
|
||||
entry, NULL, "image/*", FRF_MIMETYPES|FRF_RECENTLYUSED);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1661,12 +1661,18 @@ static void
|
||||
setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry)
|
||||
{
|
||||
char *sounds_dir = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL);
|
||||
char *extensions = NULL;
|
||||
char *filter = NULL;
|
||||
int filter_type;
|
||||
#ifdef WIN32 /* win32 only supports wav, others could support anything */
|
||||
extensions = "*.wav";
|
||||
filter = "*.wav";
|
||||
filter_type = FRF_EXTENSIONS;
|
||||
#else
|
||||
filter = "audio/*";
|
||||
filter_type = FRF_MIMETYPES;
|
||||
#endif
|
||||
|
||||
gtkutil_file_req (_("Select a sound file"), setup_snd_filereq_cb, entry, sounds_dir, extensions, FRF_FILTERISINITIAL|FRF_EXTENSIONS);
|
||||
gtkutil_file_req (_("Select a sound file"), setup_snd_filereq_cb, entry,
|
||||
sounds_dir, filter, FRF_FILTERISINITIAL|filter_type);
|
||||
g_free (sounds_dir);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user