From d4220928d64efe60fef49809711d6518aba17b44 Mon Sep 17 00:00:00 2001 From: Charles Day Date: Wed, 30 Jul 2008 20:57:30 +0000 Subject: [PATCH] Usability: Price Editor: Previously, nothing happened when a namespace or commodity row was activated. Now these rows will expand or collapse. It is often easier to double-click the row than hunt for the expander. BP git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17440 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/gnome/dialog-price-edit-db.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/gnome/dialog-price-edit-db.c b/src/gnome/dialog-price-edit-db.c index c38bd44591..a709a726ee 100644 --- a/src/gnome/dialog-price-edit-db.c +++ b/src/gnome/dialog-price-edit-db.c @@ -350,7 +350,27 @@ static void row_activated_cb (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer data) { - gnc_prices_dialog_edit_clicked (GTK_WIDGET (view), data); + GtkTreeModel *model; + GtkTreeIter iter; + + g_return_if_fail(view); + + model = gtk_tree_view_get_model(view); + if (gtk_tree_model_get_iter(model, &iter, path)) + { + if (gtk_tree_model_iter_has_child(model, &iter)) + { + /* There are children, so it's not a price. + * Just expand or collapse the row. */ + if (gtk_tree_view_row_expanded(view, path)) + gtk_tree_view_collapse_row(view, path); + else + gtk_tree_view_expand_row(view, path, FALSE); + } + else + /* It's a price, so click the Edit button. */ + gnc_prices_dialog_edit_clicked(GTK_WIDGET(view), data); + } } static void