]> Dogcows Code - chaz/homebank/blobdiff - src/list-scheduled.c
Merge branch 'upstream'
[chaz/homebank] / src / list-scheduled.c
similarity index 88%
rename from src/list_upcoming.c
rename to src/list-scheduled.c
index 786b212914639612a52237ca9759f2eec6e23a64..5932c21d499f4e5c98a76c9d52e482ed0581a7ff 100644 (file)
@@ -1,5 +1,5 @@
 /*  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.
  *
@@ -20,7 +20,7 @@
 
 #include "homebank.h"
 
-#include "list_upcoming.h"
+#include "list-scheduled.h"
 
 /****************************************************************************/
 /* Debug macros                                                                                                                                */
@@ -99,33 +99,6 @@ gint nblate;
 
 }
 
-/*
-** 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
 */
@@ -155,6 +128,31 @@ GDate *date;
 
 }
 
+
+/*
+** 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
 */
@@ -293,25 +291,46 @@ Archive *arc;
 }
 
 
+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) );
+
 }
 
 
@@ -327,14 +346,12 @@ GtkTreeViewColumn  *column;
        /* 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 */
                );
 
@@ -366,18 +383,18 @@ GtkTreeViewColumn  *column;
        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 ();
@@ -397,6 +414,7 @@ GtkTreeViewColumn  *column;
            "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);
@@ -417,6 +435,7 @@ GtkTreeViewColumn  *column;
            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);
@@ -459,6 +478,7 @@ GtkTreeViewColumn  *column;
            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);
@@ -469,9 +489,6 @@ GtkTreeViewColumn  *column;
        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);
@@ -480,7 +497,7 @@ GtkTreeViewColumn  *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);
This page took 0.022719 seconds and 4 git commands to generate.