Changed list dialog Selection behavior
This commit is contained in:
parent
545a9f467a
commit
9c792cb86a
@ -1,3 +1,12 @@
|
|||||||
|
2005-06-26 Lucas Rocha <lucasr@cvs.gnome.org>
|
||||||
|
|
||||||
|
* src/zenity.h, src/option.c: new multiple option on list
|
||||||
|
dialog
|
||||||
|
* src/tree.c: now the default behavior is the single
|
||||||
|
selection. when --multiple is used, then multiple
|
||||||
|
rows can be selected. For radiolist and checklist,
|
||||||
|
normal selection is disabled (buttons = selection).
|
||||||
|
|
||||||
2005-06-17 Lucas Rocha <lucasr@cvs.gnome.org>
|
2005-06-17 Lucas Rocha <lucasr@cvs.gnome.org>
|
||||||
|
|
||||||
* src/notification.c: don't use parent widget for
|
* src/notification.c: don't use parent widget for
|
||||||
|
26
src/option.c
26
src/option.c
@ -32,6 +32,7 @@ int zenity_general_width;
|
|||||||
int zenity_general_height;
|
int zenity_general_height;
|
||||||
gchar *zenity_general_dialog_text;
|
gchar *zenity_general_dialog_text;
|
||||||
gchar *zenity_general_separator;
|
gchar *zenity_general_separator;
|
||||||
|
gboolean zenity_general_multiple;
|
||||||
gboolean zenity_general_editable;
|
gboolean zenity_general_editable;
|
||||||
gchar *zenity_general_uri;
|
gchar *zenity_general_uri;
|
||||||
gboolean zenity_general_dialog_no_wrap;
|
gboolean zenity_general_dialog_no_wrap;
|
||||||
@ -56,7 +57,6 @@ gboolean zenity_info_active;
|
|||||||
|
|
||||||
/* File Selection Dialog Options */
|
/* File Selection Dialog Options */
|
||||||
gboolean zenity_file_active;
|
gboolean zenity_file_active;
|
||||||
gboolean zenity_file_multiple;
|
|
||||||
gboolean zenity_file_directory;
|
gboolean zenity_file_directory;
|
||||||
gboolean zenity_file_save;
|
gboolean zenity_file_save;
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ GOptionEntry file_selection_options[] = {
|
|||||||
'\0',
|
'\0',
|
||||||
0,
|
0,
|
||||||
G_OPTION_ARG_NONE,
|
G_OPTION_ARG_NONE,
|
||||||
&zenity_file_multiple,
|
&zenity_general_multiple,
|
||||||
N_("Allow multiple files to be selected"),
|
N_("Allow multiple files to be selected"),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
@ -416,6 +416,15 @@ GOptionEntry list_options[] = {
|
|||||||
N_("Set output separator character"),
|
N_("Set output separator character"),
|
||||||
N_("SEPARATOR")
|
N_("SEPARATOR")
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"multiple",
|
||||||
|
'\0',
|
||||||
|
0,
|
||||||
|
G_OPTION_ARG_NONE,
|
||||||
|
&zenity_general_multiple,
|
||||||
|
N_("Allow multiple rows to be selected"),
|
||||||
|
NULL
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"editable",
|
"editable",
|
||||||
'\0',
|
'\0',
|
||||||
@ -740,6 +749,7 @@ zenity_general_pre_callback (GOptionContext *context,
|
|||||||
zenity_general_height = -1;
|
zenity_general_height = -1;
|
||||||
zenity_general_dialog_text = NULL;
|
zenity_general_dialog_text = NULL;
|
||||||
zenity_general_separator = g_strdup ("|");
|
zenity_general_separator = g_strdup ("|");
|
||||||
|
zenity_general_multiple = FALSE;
|
||||||
zenity_general_editable = FALSE;
|
zenity_general_editable = FALSE;
|
||||||
zenity_general_uri = NULL;
|
zenity_general_uri = NULL;
|
||||||
zenity_general_dialog_no_wrap = FALSE;
|
zenity_general_dialog_no_wrap = FALSE;
|
||||||
@ -804,7 +814,6 @@ zenity_file_pre_callback (GOptionContext *context,
|
|||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
zenity_file_active = FALSE;
|
zenity_file_active = FALSE;
|
||||||
zenity_file_multiple = FALSE;
|
|
||||||
zenity_file_directory = FALSE;
|
zenity_file_directory = FALSE;
|
||||||
zenity_file_save = FALSE;
|
zenity_file_save = FALSE;
|
||||||
|
|
||||||
@ -1037,15 +1046,11 @@ zenity_file_post_callback (GOptionContext *context,
|
|||||||
|
|
||||||
if (results->mode == MODE_FILE) {
|
if (results->mode == MODE_FILE) {
|
||||||
results->file_data->uri = zenity_general_uri;
|
results->file_data->uri = zenity_general_uri;
|
||||||
results->file_data->multi = zenity_file_multiple;
|
results->file_data->multi = zenity_general_multiple;
|
||||||
results->file_data->directory = zenity_file_directory;
|
results->file_data->directory = zenity_file_directory;
|
||||||
results->file_data->save = zenity_file_save;
|
results->file_data->save = zenity_file_save;
|
||||||
results->file_data->separator = zenity_general_separator;
|
results->file_data->separator = zenity_general_separator;
|
||||||
} else {
|
} else {
|
||||||
if (zenity_file_multiple)
|
|
||||||
zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_multiple),
|
|
||||||
ERROR_SUPPORT);
|
|
||||||
|
|
||||||
if (zenity_file_directory)
|
if (zenity_file_directory)
|
||||||
zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_directory),
|
zenity_option_error (zenity_option_get_name (file_selection_options, &zenity_file_directory),
|
||||||
ERROR_SUPPORT);
|
ERROR_SUPPORT);
|
||||||
@ -1082,6 +1087,7 @@ zenity_list_post_callback (GOptionContext *context,
|
|||||||
|
|
||||||
results->tree_data->checkbox = zenity_list_checklist;
|
results->tree_data->checkbox = zenity_list_checklist;
|
||||||
results->tree_data->radiobox = zenity_list_radiolist;
|
results->tree_data->radiobox = zenity_list_radiolist;
|
||||||
|
results->tree_data->multi = zenity_general_multiple;
|
||||||
results->tree_data->editable = zenity_general_editable;
|
results->tree_data->editable = zenity_general_editable;
|
||||||
results->tree_data->print_column = zenity_list_print_column;
|
results->tree_data->print_column = zenity_list_print_column;
|
||||||
results->tree_data->separator = zenity_general_separator;
|
results->tree_data->separator = zenity_general_separator;
|
||||||
@ -1411,6 +1417,10 @@ zenity_option_parse (gint argc, gchar **argv)
|
|||||||
if (results->mode != MODE_LIST && results->mode != MODE_FILE)
|
if (results->mode != MODE_LIST && results->mode != MODE_FILE)
|
||||||
zenity_option_error (zenity_option_get_name (list_options, &zenity_general_separator), ERROR_SUPPORT);
|
zenity_option_error (zenity_option_get_name (list_options, &zenity_general_separator), ERROR_SUPPORT);
|
||||||
|
|
||||||
|
if (zenity_general_multiple)
|
||||||
|
if (results->mode != MODE_FILE && results->mode != MODE_LIST)
|
||||||
|
zenity_option_error (zenity_option_get_name (list_options, &zenity_general_multiple), ERROR_SUPPORT);
|
||||||
|
|
||||||
if (zenity_general_editable)
|
if (zenity_general_editable)
|
||||||
if (results->mode != MODE_TEXTINFO && results->mode != MODE_LIST)
|
if (results->mode != MODE_TEXTINFO && results->mode != MODE_LIST)
|
||||||
zenity_option_error (zenity_option_get_name (list_options, &zenity_general_editable), ERROR_SUPPORT);
|
zenity_option_error (zenity_option_get_name (list_options, &zenity_general_editable), ERROR_SUPPORT);
|
||||||
|
@ -354,8 +354,17 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data)
|
|||||||
|
|
||||||
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
|
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
|
||||||
|
|
||||||
|
if (!(tree_data->radiobox || tree_data->checkbox)) {
|
||||||
|
if (tree_data->multi)
|
||||||
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)),
|
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)),
|
||||||
GTK_SELECTION_MULTIPLE);
|
GTK_SELECTION_MULTIPLE);
|
||||||
|
else
|
||||||
|
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)),
|
||||||
|
GTK_SELECTION_SINGLE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)),
|
||||||
|
GTK_SELECTION_NONE);
|
||||||
|
|
||||||
column_index = 0;
|
column_index = 0;
|
||||||
|
|
||||||
|
@ -94,6 +94,7 @@ typedef struct {
|
|||||||
gboolean checkbox;
|
gboolean checkbox;
|
||||||
gboolean radiobox;
|
gboolean radiobox;
|
||||||
gchar *separator;
|
gchar *separator;
|
||||||
|
gboolean multi;
|
||||||
gboolean editable;
|
gboolean editable;
|
||||||
gchar *print_column;
|
gchar *print_column;
|
||||||
const gchar **data;
|
const gchar **data;
|
||||||
|
Reference in New Issue
Block a user