X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-filter.h;h=db2ed78193d54879cbba074e76fe1f9098bbadcd;hp=54bb425373913fcdcad7312f3913c35d97c455b5;hb=461ad71822d907422deeabce0ffe5e506d0f5e3f;hpb=27f6e3b112df235c8e9afc9911b1f6bce208a001 diff --git a/src/hb-filter.h b/src/hb-filter.h index 54bb425..db2ed78 100644 --- a/src/hb-filter.h +++ b/src/hb-filter.h @@ -1,5 +1,5 @@ /* HomeBank -- Free, easy, personal accounting for everyone. - * Copyright (C) 1995-2014 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -71,8 +71,11 @@ enum { FLT_STATUS_UNCATEGORIZED = 0, FLT_STATUS_UNRECONCILED = 1, - // 2 separator - FLT_STATUS_ALL = 3 + FLT_STATUS_UNCLEARED = 2, + FLT_STATUS_RECONCILED = 3, + FLT_STATUS_CLEARED = 4, + // 5 separator + FLT_STATUS_ALL = 6 }; @@ -82,7 +85,8 @@ enum FLT_QSEARCH_INFO = 1<<1, FLT_QSEARCH_PAYEE = 1<<2, FLT_QSEARCH_CATEGORY = 1<<3, - FLT_QSEARCH_TAGS = 1<<4 + FLT_QSEARCH_TAGS = 1<<4, + FLT_QSEARCH_AMOUNT = 1<<5 }; @@ -90,36 +94,64 @@ typedef struct _filter Filter; struct _filter { + + + + guint32 mindate, maxdate; gint range; - gint type; - gint status; gshort option[FILTER_MAX]; gboolean reconciled; - gboolean reminded; - gboolean forceadd; - gboolean forcechg; + gboolean cleared; + gboolean paymode[NUM_PAYMODE_MAX]; gdouble minamount, maxamount; gboolean exact; gchar *info; - gchar *wording; + gchar *memo; gchar *tag; - guint last_tab; + + /* unsaved datas */ + gint nbdaysfuture; + gint type; /* ! not sure necessary to store this :: dsp_account: inc/exp used */ + gint status; /* ! not sure necessary to store this :: dsp_account */ + gboolean forceadd; + gboolean forcechg; + gboolean forceremind; + gchar last_tab[8]; /* keep last active tab */ }; -Filter *da_filter_malloc(void); -void da_filter_free(Filter *flt); +Filter *da_flt_malloc(void); +void da_flt_free(Filter *flt); + +void da_flt_destroy(void); +void da_flt_new(void); -void filter_default_all_set(Filter *flt); -void filter_preset_daterange_set(Filter *flt, gint range); +void da_flt_status_acc_set(Filter *flt, guint32 kacc, gboolean status); +void da_flt_status_pay_set(Filter *flt, guint32 kpay, gboolean status); +void da_flt_status_cat_set(Filter *flt, guint32 kcat, gboolean status); +gboolean da_flt_status_acc_get(Filter *flt, guint32 kacc); +gboolean da_flt_status_pay_get(Filter *flt, guint32 kpay); +gboolean da_flt_status_cat_get(Filter *flt, guint32 kcat); + +void filter_status_acc_clear_except(Filter *flt, guint32 selkey); +void filter_status_pay_clear_except(Filter *flt, guint32 selkey); +void filter_status_cat_clear_except(Filter *flt, guint32 selkey); + +void filter_reset(Filter *flt); +void filter_preset_daterange_set(Filter *flt, gint range, guint32 kacc); void filter_preset_type_set(Filter *flt, gint value); +gboolean filter_preset_daterange_future_enable(gint range); +void filter_preset_daterange_add_futuregap(Filter *filter, gint nbdays); + +void filter_set_tag_by_id(Filter *flt, guint32 key); void filter_preset_status_set(Filter *flt, gint value); + gchar *filter_daterange_text_get(Filter *flt); gboolean filter_txn_search_match(gchar *needle, Transaction *txn, gint flags); -gint filter_test(Filter *flt, Transaction *ope); +gint filter_txn_match(Filter *flt, Transaction *ope); #endif