From 5d584ca8ef032cecaf05fcc4ceca0db24e70ff16 Mon Sep 17 00:00:00 2001 From: Lucas Almeida Rocha Date: Mon, 27 Jun 2005 04:27:15 +0000 Subject: [PATCH] Double-clicking on list dialog --- ChangeLog | 11 +++++++++-- THANKS | 1 + src/about.c | 1 + src/tree.c | 26 ++++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78e1f24..5675c96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-06-27 Lucas Rocha + + * src/tree.c, src/about.c: add double-clicking on + list dialog only for normal list (not on radio and + check lists) based on contribution from Norman Rasmussen + * THANKS: Update. + 2005-06-26 Lucas Rocha * src/zenity.h, src/option.c: new multiple option on list @@ -11,12 +18,12 @@ * src/notification.c: don't use parent widget for hiding the tray icon because it breaks the 'visible' - command + command. 2005-06-13 Lucas Rocha * MAINTAINERS: adding myself as a new maintainer - * README: no more popt dependency + * README: no more popt dependency. 2005-04-25 Glynn Foster diff --git a/THANKS b/THANKS index 03e3e70..7323c2e 100644 --- a/THANKS +++ b/THANKS @@ -45,6 +45,7 @@ "Hidetoshi Tajima ", "Tom Tromey ", "Yann ", + "Norman Rasmussen ", "", "And all the translators that rock my world", "==========================================", diff --git a/src/about.c b/src/about.c index 49fdc75..b4d8bcb 100644 --- a/src/about.c +++ b/src/about.c @@ -90,6 +90,7 @@ static const gchar *author_credits[] = { "Hidetoshi Tajima ", "Tom Tromey ", "Yann ", + "Norman Rasmussen ", "", "And all the translators that rock my world", "==========================================", diff --git a/src/tree.c b/src/tree.c index e60e262..46b68c2 100644 --- a/src/tree.c +++ b/src/tree.c @@ -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 (); +}