Add an --initial-folder option to testfilechooser.c

Signed-off-by: Federico Mena Quintero <federico@novell.com>
This commit is contained in:
Federico Mena Quintero 2009-06-12 14:09:47 -05:00
parent c98ebe3165
commit bb362f754a

View File

@ -490,6 +490,7 @@ main (int argc, char **argv)
char *action_arg = NULL; char *action_arg = NULL;
char *backend = NULL; char *backend = NULL;
char *initial_filename = NULL; char *initial_filename = NULL;
char *initial_folder = NULL;
GError *error = NULL; GError *error = NULL;
GOptionEntry options[] = { GOptionEntry options[] = {
{ "action", 'a', 0, G_OPTION_ARG_STRING, &action_arg, "Filechooser action", "ACTION" }, { "action", 'a', 0, G_OPTION_ARG_STRING, &action_arg, "Filechooser action", "ACTION" },
@ -497,6 +498,7 @@ main (int argc, char **argv)
{ "multiple", 'm', 0, G_OPTION_ARG_NONE, &multiple, "Select-multiple", NULL }, { "multiple", 'm', 0, G_OPTION_ARG_NONE, &multiple, "Select-multiple", NULL },
{ "right-to-left", 'r', 0, G_OPTION_ARG_NONE, &force_rtl, "Force right-to-left layout.", NULL }, { "right-to-left", 'r', 0, G_OPTION_ARG_NONE, &force_rtl, "Force right-to-left layout.", NULL },
{ "initial-filename", 'f', 0, G_OPTION_ARG_FILENAME, &initial_filename, "Initial filename to select", "FILENAME" }, { "initial-filename", 'f', 0, G_OPTION_ARG_FILENAME, &initial_filename, "Initial filename to select", "FILENAME" },
{ "initial-folder", 'F', 0, G_OPTION_ARG_FILENAME, &initial_folder, "Initial folder to show", "FILENAME" },
{ NULL } { NULL }
}; };
@ -507,6 +509,12 @@ main (int argc, char **argv)
return 1; return 1;
} }
if (initial_filename && initial_folder)
{
g_print ("Only one of --initial-filename and --initial-folder may be specified");
return 1;
}
if (force_rtl) if (force_rtl)
gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL);
@ -627,11 +635,14 @@ main (int argc, char **argv)
"file:///usr/share/pixmaps", "file:///usr/share/pixmaps",
NULL); NULL);
/* Initial filename */ /* Initial filename or folder */
if (initial_filename) if (initial_filename)
set_filename (GTK_FILE_CHOOSER (dialog), initial_filename); set_filename (GTK_FILE_CHOOSER (dialog), initial_filename);
if (initial_folder)
set_current_folder (GTK_FILE_CHOOSER (dialog), initial_folder);
/* show_all() to reveal bugs in composite widget handling */ /* show_all() to reveal bugs in composite widget handling */
gtk_widget_show_all (dialog); gtk_widget_show_all (dialog);