/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2018 Maxime DOYEN
+ * Copyright (C) 1995-2019 Maxime DOYEN
*
* This file is part of HomeBank.
*
#include "homebank.h"
-#include "list_upcoming.h"
+#include "list-scheduled.h"
/****************************************************************************/
/* Debug macros */
}
-/*
-** remaining cell function
-*/
-
-/*static void remaining_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)
-{
-Archive *arc;
-gchar *markuptxt;
-guint remaining;
-
- gtk_tree_model_get(model, iter,
- LST_DSPUPC_DATAS, &arc,
- LST_DSPUPC_REMAINING, &remaining,
- -1);
-
- if(arc && remaining > 0)
- {
- markuptxt = g_strdup_printf("%d", remaining);
- g_object_set(renderer, "markup", markuptxt, NULL);
- g_free(markuptxt);
- }
- else
- g_object_set(renderer, "text", NULL, NULL);
-
-}*/
-
-
/*
** date cell function
*/
}
+
+/*
+** still cell function
+*/
+
+static void still_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)
+{
+Archive *arc;
+gchar *markuptxt;
+
+ gtk_tree_model_get(model, iter,
+ LST_DSPUPC_DATAS, &arc,
+ -1);
+
+ if(arc && (arc->flags & OF_LIMIT) )
+ {
+ markuptxt = g_strdup_printf("%d", arc->limit);
+ g_object_set(renderer, "markup", markuptxt, NULL);
+ g_free(markuptxt);
+ }
+ else
+ g_object_set(renderer, "text", NULL, NULL);
+}
+
+
/*
** payee cell function
*/
}
+static GtkTreeViewColumn *list_upcoming_get_column(GtkTreeView *treeview, gint uid)
+{
+GtkTreeViewColumn *retval = NULL;
+guint i;
+
+ for(i=0;i<gtk_tree_view_get_n_columns(treeview);i++)
+ {
+ GtkTreeViewColumn *column = gtk_tree_view_get_column(treeview, i);
+
+ if(column)
+ {
+ gint coluid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(column), "uid"));
+ if( coluid == uid )
+ retval = column;
+ }
+ }
+ return retval;
+}
+
+
static void list_upcoming_destroy(GtkTreeView *treeview, gpointer user_data)
{
GtkTreeViewColumn *column;
DB( g_print ("\n[list_upcoming] destroy\n") );
- //todo: unsafe to use direct column index
- column = gtk_tree_view_get_column(treeview, 2);
+ column = list_upcoming_get_column(treeview, COL_DSPUPC_PAYEE);
if( column )
{
PREFS->pnl_upc_col_pay_width = gtk_tree_view_column_get_width(column);
}
- column = gtk_tree_view_get_column(treeview, 3);
+ column = list_upcoming_get_column(treeview, COL_DSPUPC_MEMO);
if( column )
{
PREFS->pnl_upc_col_mem_width = gtk_tree_view_column_get_width(column);
}
+ DB( g_print(" width payee:%d, memo:%d\n", PREFS->pnl_upc_col_pay_width, PREFS->pnl_upc_col_mem_width) );
+
}
/* create list store */
store = gtk_list_store_new(
NUM_LST_DSPUPC,
- G_TYPE_POINTER,
- G_TYPE_BOOLEAN, /* payee */
- G_TYPE_STRING, /* memo */
+ G_TYPE_POINTER, /* scheduled */
+ G_TYPE_INT, /* next (sort) */
+ G_TYPE_POINTER, /* account */
+ G_TYPE_STRING, /* memo/total */
G_TYPE_DOUBLE, /* expense */
G_TYPE_DOUBLE, /* income */
- G_TYPE_POINTER, /* account */
- G_TYPE_BOOLEAN, /* next on */
- G_TYPE_INT, /* remaining */
G_TYPE_INT /* nb late */
);
gtk_tree_view_column_set_alignment (column, 0.5);
gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
- /* column : Remaining */
- /*column = gtk_tree_view_column_new();
- gtk_tree_view_column_set_title(column, _("In"));
+ /* column : Still (for limited scheduled) */
+ column = gtk_tree_view_column_new();
+ //TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn
+ gtk_tree_view_column_set_title(column, _("Still"));
renderer = gtk_cell_renderer_text_new ();
g_object_set(renderer, "xalign", 1.0, NULL);
gtk_tree_view_column_pack_start(column, renderer, TRUE);
- gtk_tree_view_column_set_cell_data_func(column, renderer, remaining_cell_data_function, NULL, NULL);
+ gtk_tree_view_column_set_cell_data_func(column, renderer, still_cell_data_function, NULL, NULL);
//gtk_tree_view_column_set_sort_column_id (column, LST_DSPUPC_REMAINING);
gtk_tree_view_column_set_alignment (column, 0.5);
gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
- */
/* column: Next on */
renderer = gtk_cell_renderer_text_new ();
"ellipsize-set", TRUE,
NULL);
column = gtk_tree_view_column_new();
+ g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_PAYEE));
gtk_tree_view_column_set_title(column, _("Payee"));
gtk_tree_view_column_pack_start(column, renderer, TRUE);
gtk_tree_view_column_set_cell_data_func(column, renderer, payee_cell_data_function, NULL, NULL);
NULL);
column = gtk_tree_view_column_new();
+ g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_MEMO));
gtk_tree_view_column_set_title(column, _("Memo"));
gtk_tree_view_column_pack_start(column, renderer, TRUE);
gtk_tree_view_column_set_cell_data_func(column, renderer, memo_cell_data_function, NULL, NULL);
NULL);*/
column = gtk_tree_view_column_new();
+ g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_ACCOUNT));
gtk_tree_view_column_set_title(column, _("Account"));
gtk_tree_view_column_pack_start(column, renderer, TRUE);
gtk_tree_view_column_set_cell_data_func(column, renderer, account_cell_data_function, NULL, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
-
-
-
/* column: empty */
column = gtk_tree_view_column_new();
gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
/* set initial sort order */
- gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DSPUPC_REMAINING, GTK_SORT_ASCENDING);
+ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DSPUPC_NEXT, GTK_SORT_ASCENDING);
g_signal_connect (view, "destroy", G_CALLBACK (list_upcoming_destroy), NULL);