]> Dogcows Code - chaz/homebank/blobdiff - src/hb-filter.c
Merge branch 'upstream'
[chaz/homebank] / src / hb-filter.c
index 74f81ce696abda4285d46afb0141fb74c4ddf163..d9081562cf07d0c4d84bad973562a1572cff3365 100644 (file)
@@ -74,7 +74,6 @@ gpointer key, value;
                item->flt_select = item->key == selkey ? TRUE : FALSE;
        }
 
-
 }
 
 
@@ -91,7 +90,6 @@ gpointer key, value;
                item->flt_select = item->key == selkey ? TRUE : FALSE;
        }
 
-
 }
 
 
@@ -100,12 +98,20 @@ void filter_status_cat_clear_except(Filter *flt, guint32 selkey)
 GHashTableIter iter;
 gpointer key, value;
 
-       // set all payee
+       // set all category
        g_hash_table_iter_init (&iter, GLOBALS->h_cat);
        while (g_hash_table_iter_next (&iter, &key, &value))
        {
        Category *item = value;
-               item->flt_select = item->key == selkey ? TRUE : FALSE;
+
+
+               item->flt_select = FALSE;
+               if( (item->key == selkey) 
+               //#1824561 don't forget subcat
+               //#1829076 but not when selkey is 0
+                  || ((item->parent == selkey) && selkey > 0)
+               )
+                       item->flt_select = TRUE;
        }
 
 }
@@ -234,6 +240,25 @@ GList *lnk_txn;
 }
 
 
+gboolean filter_preset_daterange_future_enable(gint range)
+{
+       switch( range )
+       {
+               case FLT_RANGE_THISMONTH:
+               case FLT_RANGE_THISQUARTER:
+               case FLT_RANGE_THISYEAR:
+               case FLT_RANGE_LAST30DAYS:
+               case FLT_RANGE_LAST60DAYS:
+               case FLT_RANGE_LAST90DAYS:
+               case FLT_RANGE_LAST12MONTHS:
+                       return TRUE;
+                       break;
+       }
+
+       return FALSE;
+}
+
+
 void filter_preset_daterange_add_futuregap(Filter *filter, gint nbdays)
 {
 
@@ -247,19 +272,9 @@ void filter_preset_daterange_add_futuregap(Filter *filter, gint nbdays)
        }*/
 
        filter->nbdaysfuture = 0;
-       
-       switch( filter->range )
-       {
-               case FLT_RANGE_THISMONTH:
-               case FLT_RANGE_THISQUARTER:
-               case FLT_RANGE_THISYEAR:
-               case FLT_RANGE_LAST30DAYS:
-               case FLT_RANGE_LAST60DAYS:
-               case FLT_RANGE_LAST90DAYS:
-               case FLT_RANGE_LAST12MONTHS:
-                       filter->nbdaysfuture = nbdays;
-                       break;
-       }
+       if( filter_preset_daterange_future_enable(filter->range) )
+               filter->nbdaysfuture = nbdays;
+
 }
 
 
This page took 0.019647 seconds and 4 git commands to generate.