[Gnucash-changes] r13537 - gnucash/trunk - Relabel column titles
from "XXX (Report)" to a label that includes the
David Hampton
hampton at cvs.gnucash.org
Wed Mar 8 00:16:36 EST 2006
Author: hampton
Date: 2006-03-08 00:16:36 -0500 (Wed, 08 Mar 2006)
New Revision: 13537
Trac: http://svn.gnucash.org/trac/changeset/13537
Modified:
gnucash/trunk/ChangeLog
gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c
gnucash/trunk/src/gnome-utils/gnc-tree-view-account.h
Log:
Relabel column titles from "XXX (Report)" to a label that includes the
currency mnemonic (e.g. "Total (EUR)").
Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog 2006-03-08 05:14:54 UTC (rev 13536)
+++ gnucash/trunk/ChangeLog 2006-03-08 05:16:36 UTC (rev 13537)
@@ -1,5 +1,14 @@
2006-03-07 David Hampton <hampton at employees.org>
+ * src/gnome-utils/gnc-tree-view-account.[ch]: Relabel column
+ titles from "XXX (Report)" to a label that includes the currency
+ mnemonic (e.g. "Total (EUR)"). Closes 118695.
+
+ * src/app-utils/gnc-ui-util.c:
+ * src/engine/gnc-hooks.[ch]: Cache the result of a gconf lookup
+ for a currency choice. Add a new callback hook for when a user
+ changes a currency setting (default account or report).
+
* src/register/register-gnome/combocell-gnome.c:
* src/register/register-gnome/gnucash-item-list.[ch]:
* src/register/register-gnome/gnucash-item-edit.[ch]:
Modified: gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c 2006-03-08 05:14:54 UTC (rev 13536)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c 2006-03-08 05:16:36 UTC (rev 13537)
@@ -43,6 +43,8 @@
#include "gnc-commodity.h"
#include "gnc-component-manager.h"
#include "gnc-engine.h"
+#include "gnc-gobject-utils.h"
+#include "gnc-hooks.h"
#include "gnc-session.h"
#include "gnc-icons.h"
#include "gnc-ui-util.h"
@@ -61,6 +63,9 @@
static void gnc_tree_view_account_init (GncTreeViewAccount *view);
static void gnc_tree_view_account_finalize (GObject *object);
+static void gtva_update_column_names (GncTreeView *view);
+static void gtva_currency_changed_cb (void);
+
static gboolean gnc_tree_view_account_filter_helper (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data);
@@ -81,6 +86,12 @@
GtkTreeViewColumn *name_column;
GtkTreeViewColumn *code_column;
GtkTreeViewColumn *desc_column;
+ GtkTreeViewColumn *present_report_column;
+ GtkTreeViewColumn *balance_report_column;
+ GtkTreeViewColumn *cleared_report_column;
+ GtkTreeViewColumn *reconciled_report_column;
+ GtkTreeViewColumn *future_min_report_column;
+ GtkTreeViewColumn *total_report_column;
GtkTreeViewColumn *notes_column;
} GncTreeViewAccountPrivate;
@@ -113,7 +124,8 @@
};
gnc_tree_view_account_type = g_type_register_static (
- GNC_TYPE_TREE_VIEW, "GncTreeViewAccount", &our_info, 0);
+ GNC_TYPE_TREE_VIEW, GNC_TREE_VIEW_ACCOUNT_NAME,
+ &our_info, 0);
}
return gnc_tree_view_account_type;
@@ -131,6 +143,9 @@
o_class->finalize = gnc_tree_view_account_finalize;
g_type_class_add_private(klass, sizeof(GncTreeViewAccountPrivate));
+
+ gnc_hook_add_dangler(HOOK_CURRENCY_CHANGED,
+ (GFunc)gtva_currency_changed_cb, NULL);
}
/********************************************************************\
@@ -467,24 +482,26 @@
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_PRESENT,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_present_value);
- gnc_tree_view_add_numeric_column(view, _("Present (Report)"), "present_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_PRESENT_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_PRESENT,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_present_value);
+ priv->present_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Present (Report)"), "present_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_PRESENT_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_PRESENT,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_present_value);
gnc_tree_view_add_numeric_column(view, _("Balance"), "balance",
SAMPLE_ACCOUNT_VALUE,
GNC_TREE_MODEL_ACCOUNT_COL_BALANCE,
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_BALANCE,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_balance_value);
- gnc_tree_view_add_numeric_column(view, _("Balance (Report)"), "balance_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_BALANCE_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_BALANCE,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_balance_value);
+ priv->balance_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Balance (Report)"), "balance_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_BALANCE_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_BALANCE,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_balance_value);
{
GtkTreeViewColumn *col = gnc_tree_view_add_numeric_column(
@@ -502,48 +519,52 @@
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_CLEARED,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_cleared_value);
- gnc_tree_view_add_numeric_column(view, _("Cleared (Report)"), "cleared_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_CLEARED_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_CLEARED,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_cleared_value);
+ priv->cleared_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Cleared (Report)"), "cleared_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_CLEARED_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_CLEARED,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_cleared_value);
gnc_tree_view_add_numeric_column(view, _("Reconciled"), "reconciled",
SAMPLE_ACCOUNT_VALUE,
GNC_TREE_MODEL_ACCOUNT_COL_RECONCILED,
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_RECONCILED,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_reconciled_value);
- gnc_tree_view_add_numeric_column(view, _("Reconciled (Report)"), "reconciled_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_RECONCILED_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_RECONCILED,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_reconciled_value);
+ priv->reconciled_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Reconciled (Report)"), "reconciled_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_RECONCILED_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_RECONCILED,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_reconciled_value);
gnc_tree_view_add_numeric_column(view, _("Future Minimum"), "future_min",
SAMPLE_ACCOUNT_VALUE,
GNC_TREE_MODEL_ACCOUNT_COL_FUTURE_MIN,
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_FUTURE_MIN,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_future_min_value);
- gnc_tree_view_add_numeric_column(view, _("Future Minimum (Report)"), "future_min_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_FUTURE_MIN_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_FUTURE_MIN,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_future_min_value);
+ priv->future_min_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Future Minimum (Report)"), "future_min_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_FUTURE_MIN_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_FUTURE_MIN,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_future_min_value);
gnc_tree_view_add_numeric_column(view, _("Total"), "total",
SAMPLE_ACCOUNT_VALUE,
GNC_TREE_MODEL_ACCOUNT_COL_TOTAL,
GNC_TREE_MODEL_ACCOUNT_COL_COLOR_TOTAL,
GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
sort_by_total_value);
- gnc_tree_view_add_numeric_column(view, _("Total (Report)"), "total_report",
- SAMPLE_ACCOUNT_VALUE,
- GNC_TREE_MODEL_ACCOUNT_COL_TOTAL_REPORT,
- GNC_TREE_MODEL_ACCOUNT_COL_COLOR_TOTAL,
- GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
- sort_by_total_value);
+ priv->total_report_column
+ = gnc_tree_view_add_numeric_column(view, _("Total (Report)"), "total_report",
+ SAMPLE_ACCOUNT_VALUE,
+ GNC_TREE_MODEL_ACCOUNT_COL_TOTAL_REPORT,
+ GNC_TREE_MODEL_ACCOUNT_COL_COLOR_TOTAL,
+ GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
+ sort_by_total_value);
{
GtkTreeViewColumn *col = gnc_tree_view_add_numeric_column(
view, _("Total (Period)"), "total-period", SAMPLE_ACCOUNT_VALUE,
@@ -576,6 +597,9 @@
sort_by_placeholder,
gnc_tree_view_account_placeholder_toggled);
+ /* Update column titles to use the curreny name. */
+ gtva_update_column_names(view);
+
/* By default only the first column is visible. */
gnc_tree_view_configure_columns(view, NULL);
gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (f_model),
@@ -1284,6 +1308,55 @@
/* Account Tree View Add Column Functions */
/************************************************************/
+static void
+gtva_update_column_name (GtkTreeViewColumn *column,
+ const gchar *fmt,
+ const gchar *mnemonic)
+{
+ gchar *name;
+
+ g_return_if_fail(column);
+
+ name = g_strdup_printf(fmt, mnemonic);
+ gtk_tree_view_column_set_title(column, name);
+ g_free(name);
+}
+
+
+static void
+gtva_update_column_names (GncTreeView *view)
+{
+ GncTreeViewAccountPrivate *priv;
+ const gchar *mnemonic;
+
+ priv = GNC_TREE_VIEW_ACCOUNT_GET_PRIVATE(view);
+ mnemonic = gnc_commodity_get_mnemonic(gnc_default_report_currency());
+
+ gtva_update_column_name(priv->present_report_column,
+ _("Present (%s)"), mnemonic);
+ gtva_update_column_name(priv->balance_report_column,
+ _("Balance (%s)"), mnemonic);
+ gtva_update_column_name(priv->cleared_report_column,
+ _("Cleared (%s)"), mnemonic);
+ gtva_update_column_name(priv->reconciled_report_column,
+ _("Reconciled (%s)"), mnemonic);
+ gtva_update_column_name(priv->future_min_report_column,
+ _("Future Minimum (%s)"), mnemonic);
+ gtva_update_column_name(priv->total_report_column,
+ _("Total (%s)"), mnemonic);
+}
+
+
+static void
+gtva_currency_changed_cb (void)
+{
+ const GList *views, *ptr;
+
+ views = gnc_gobject_tracking_get_list (GNC_TREE_VIEW_ACCOUNT_NAME);
+ for (ptr = views; ptr; ptr = g_list_next(ptr)) {
+ gtva_update_column_names (ptr->data);
+ }
+}
/* This function implements a custom mapping between an account's KVP
* and the cell renderer's 'text' property. */
static void
Modified: gnucash/trunk/src/gnome-utils/gnc-tree-view-account.h
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-view-account.h 2006-03-08 05:14:54 UTC (rev 13536)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-view-account.h 2006-03-08 05:16:36 UTC (rev 13537)
@@ -51,6 +51,7 @@
#define GNC_IS_TREE_VIEW_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNC_TYPE_TREE_VIEW_ACCOUNT))
#define GNC_IS_TREE_VIEW_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNC_TYPE_TREE_VIEW_ACCOUNT))
#define GNC_TREE_VIEW_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_TREE_VIEW_ACCOUNT, GncTreeViewAccountClass))
+#define GNC_TREE_VIEW_ACCOUNT_NAME "GncTreeViewAccount"
/* typedefs & structures */
typedef struct AccountViewInfo_s AccountViewInfo;
More information about the gnucash-changes
mailing list