X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-filter.c;h=d9081562cf07d0c4d84bad973562a1572cff3365;hp=74f81ce696abda4285d46afb0141fb74c4ddf163;hb=refs%2Fheads%2Fupstream;hpb=a6c6b0df5492c2160ed97e3a376bdb2fe7c5ebc4 diff --git a/src/hb-filter.c b/src/hb-filter.c index 74f81ce..d908156 100644 --- a/src/hb-filter.c +++ b/src/hb-filter.c @@ -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; + }