diff options
author | Lucas Almeida Rocha <lucasr@src.gnome.org> | 2005-06-27 04:27:15 +0000 |
---|---|---|
committer | Lucas Almeida Rocha <lucasr@src.gnome.org> | 2005-06-27 04:27:15 +0000 |
commit | 5d584ca8ef032cecaf05fcc4ceca0db24e70ff16 (patch) | |
tree | 915ba070f801ba1312434ec7392614cbfdf79afa /src/tree.c | |
parent | 9c792cb86a8d0422a07a716a3b024f25d9bca1bb (diff) | |
download | zenity-5d584ca8ef032cecaf05fcc4ceca0db24e70ff16.tar.gz |
Double-clicking on list dialog
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -38,6 +38,8 @@ static gboolean print_all_columns = FALSE; static gint print_column_n = 1; static void zenity_tree_dialog_response (GtkWidget *widget, int response, gpointer data); +static void zenity_tree_row_activated (GtkTreeView *tree_view, GtkTreePath *tree_path, + GtkTreeViewColumn *tree_col, gpointer data); static gboolean zenity_tree_dialog_untoggle (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) @@ -328,6 +330,10 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data) tree_view = glade_xml_get_widget (glade_dialog, "zenity_tree_view"); + if (!(tree_data->radiobox || tree_data->checkbox)) + g_signal_connect (G_OBJECT (tree_view), "row-activated", + G_CALLBACK (zenity_tree_row_activated), data); + /* Create an empty list store */ model = g_object_new (GTK_TYPE_LIST_STORE, NULL); @@ -584,3 +590,23 @@ zenity_tree_dialog_response (GtkWidget *widget, int response, gpointer data) } gtk_main_quit (); } + +static void +zenity_tree_row_activated (GtkTreeView *tree_view, GtkTreePath *tree_path, + GtkTreeViewColumn *tree_col, gpointer data) +{ + ZenityData *zen_data = data; + GtkTreeSelection *selection; + GtkTreeModel *model; + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view)); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); + gtk_tree_selection_selected_foreach (selection, + (GtkTreeSelectionForeachFunc) zenity_tree_dialog_get_selected, + GTK_TREE_VIEW (tree_view)); + + zenity_tree_dialog_output (); + zen_data->exit_code = zenity_util_return_exit_code (ZENITY_OK); + gtk_main_quit (); +} |