summaryrefslogtreecommitdiff
path: root/src/option.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/option.c')
-rw-r--r--src/option.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/option.c b/src/option.c
index b56d5f0..9cbf490 100644
--- a/src/option.c
+++ b/src/option.c
@@ -61,10 +61,11 @@ static gboolean zenity_error_active;
static gboolean zenity_info_active;
/* File Selection Dialog Options */
-static gboolean zenity_file_active;
-static gboolean zenity_file_directory;
-static gboolean zenity_file_save;
-static gboolean zenity_file_confirm_overwrite;
+static gboolean zenity_file_active;
+static gboolean zenity_file_directory;
+static gboolean zenity_file_save;
+static gboolean zenity_file_confirm_overwrite;
+static GtkFileFilter *zenity_file_filter;
/* List Dialog Options */
static gboolean zenity_list_active;
@@ -394,6 +395,15 @@ static GOptionEntry file_selection_options[] = {
N_("Confirm file selection if filename already exists"),
NULL
},
+ {
+ "file-filter",
+ '\0',
+ 0,
+ G_OPTION_ARG_STRING_ARRAY,
+ &zenity_file_filter,
+ N_("Sets a filename filter"),
+ N_("NAME | PATTERN1 PATTERN2 ..."),
+ },
{
NULL
}
@@ -981,6 +991,7 @@ zenity_file_pre_callback (GOptionContext *context,
zenity_file_directory = FALSE;
zenity_file_save = FALSE;
zenity_file_confirm_overwrite = FALSE;
+ zenity_file_filter = NULL;
return TRUE;
}
@@ -1233,6 +1244,7 @@ zenity_file_post_callback (GOptionContext *context,
results->file_data->save = zenity_file_save;
results->file_data->confirm_overwrite = zenity_file_confirm_overwrite;
results->file_data->separator = zenity_general_separator;
+ results->file_data->filter = zenity_file_filter;
} else {
if (zenity_file_directory)
zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_directory),
@@ -1241,6 +1253,10 @@ zenity_file_post_callback (GOptionContext *context,
if (zenity_file_save)
zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_save),
ERROR_SUPPORT);
+
+ if (zenity_file_filter)
+ zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_filter),
+ ERROR_SUPPORT);
}
return TRUE;