r20764 - gnucash/trunk/src/business/business-gnome - Owner page: double click now opens edit window, name no longer

Geert Janssens gjanssens at code.gnucash.org
Thu Jun 16 12:21:53 EDT 2011


Author: gjanssens
Date: 2011-06-16 12:21:52 -0400 (Thu, 16 Jun 2011)
New Revision: 20764
Trac: http://svn.gnucash.org/trac/changeset/20764

Modified:
   gnucash/trunk/src/business/business-gnome/gnc-plugin-page-owner-tree.c
Log:
Owner page: double click now opens edit window, name no longer
editable in place.
Regarding the latter, changing names is rarely done, so it only leads
to confusion if the name field changes to editable by accidentally
clicking twice on it.

Modified: gnucash/trunk/src/business/business-gnome/gnc-plugin-page-owner-tree.c
===================================================================
--- gnucash/trunk/src/business/business-gnome/gnc-plugin-page-owner-tree.c	2011-06-16 00:11:18 UTC (rev 20763)
+++ gnucash/trunk/src/business/business-gnome/gnc-plugin-page-owner-tree.c	2011-06-16 16:21:52 UTC (rev 20764)
@@ -503,9 +503,6 @@
                  "show-column-menu", TRUE,
                  NULL);
 
-    gnc_tree_view_owner_set_name_edited(GNC_TREE_VIEW_OWNER(tree_view),
-                                          gnc_tree_view_owner_name_edited_cb);
-
     priv->tree_view = tree_view;
     selection = gtk_tree_view_get_selection(tree_view);
     g_signal_connect (G_OBJECT (selection), "changed",
@@ -639,7 +636,40 @@
     return page;
 }
 
+/* Wrapper function to open the proper edit dialog, depending on the owner type */
+static void gnc_ui_owner_edit (GncOwner *owner)
+{
+    if (NULL == owner) return;
 
+    switch (owner->type)
+    {
+    case GNC_OWNER_NONE :
+    case GNC_OWNER_UNDEFINED :
+        break;
+    case GNC_OWNER_CUSTOMER :
+    {
+        gnc_ui_customer_edit (owner->owner.customer);
+        break;
+    }
+    case GNC_OWNER_JOB :
+    {
+        gnc_ui_job_edit (owner->owner.job);
+        break;
+    }
+    case GNC_OWNER_VENDOR :
+    {
+        gnc_ui_vendor_edit (owner->owner.vendor);
+        break;
+    }
+    case GNC_OWNER_EMPLOYEE :
+    {
+        gnc_ui_employee_edit (owner->owner.employee);
+        break;
+    }
+    }
+}
+
+
 /* Callbacks */
 
 /** This button press handler calls the common button press handler
@@ -679,9 +709,7 @@
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_OWNER_TREE (page));
     owner = gnc_tree_view_owner_get_owner_from_path (GNC_TREE_VIEW_OWNER(treeview), path);
-    /* FIXME does nothing for now. What should be the default action if a user
-     *       double-clicks an owner entry ?
-     */
+    gnc_ui_owner_edit (owner);
 }
 
 static void
@@ -765,32 +793,7 @@
 
     ENTER("action %p, page %p", action, page);
 
-    switch (owner->type)
-    {
-    case GNC_OWNER_NONE :
-    case GNC_OWNER_UNDEFINED :
-        break;
-    case GNC_OWNER_CUSTOMER :
-    {
-        gnc_ui_customer_edit (owner->owner.customer);
-        break;
-    }
-    case GNC_OWNER_JOB :
-    {
-        gnc_ui_job_edit (owner->owner.job);
-        break;
-    }
-    case GNC_OWNER_VENDOR :
-    {
-        gnc_ui_vendor_edit (owner->owner.vendor);
-        break;
-    }
-    case GNC_OWNER_EMPLOYEE :
-    {
-        gnc_ui_employee_edit (owner->owner.employee);
-        break;
-    }
-    }
+    gnc_ui_owner_edit (owner);
 
     LEAVE(" ");
 }



More information about the gnucash-changes mailing list