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_FILTERISINITIAL 16 /* filter is initial directory */
|
||||||
#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */
|
#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */
|
||||||
#define FRF_EXTENSIONS 64 /* specify file extensions to be displayed */
|
#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 fe_get_file (const char *title, char *initial,
|
||||||
void (*callback) (void *userdata, char *file), void *userdata,
|
void (*callback) (void *userdata, char *file), void *userdata,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
|
@ -214,7 +214,7 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
|
||||||
if (flags & FRF_CHOOSEFOLDER)
|
if (flags & FRF_CHOOSEFOLDER)
|
||||||
gtk_file_chooser_set_action (GTK_FILE_CHOOSER (dialog), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
|
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 ();
|
filefilter = gtk_file_filter_new ();
|
||||||
tokenbuffer = g_strdup (extensions);
|
tokenbuffer = g_strdup (extensions);
|
||||||
|
@ -222,7 +222,10 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
|
||||||
|
|
||||||
while (token != NULL)
|
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, ";");
|
token = strtok (NULL, ";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1061,7 +1061,7 @@ setup_browsefile_cb (GtkWidget *button, GtkWidget *entry)
|
||||||
{
|
{
|
||||||
/* used for background image only */
|
/* used for background image only */
|
||||||
gtkutil_file_req (_("Select an Image File"), setup_filereq_cb,
|
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
|
static void
|
||||||
|
@ -1661,12 +1661,18 @@ static void
|
||||||
setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry)
|
setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry)
|
||||||
{
|
{
|
||||||
char *sounds_dir = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL);
|
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 */
|
#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
|
#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);
|
g_free (sounds_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue