X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-filter.h;h=f621a972a16a39ce340306826cfe7428a8a8e8b6;hp=5668420c3908c71a8ce5de17cf08f6fb1f8239cd;hb=a6c6b0df5492c2160ed97e3a376bdb2fe7c5ebc4;hpb=cd13d9691c46c2b2d6d459e9e6a76bed1c21b7a6 diff --git a/src/hb-filter.h b/src/hb-filter.h index 5668420..f621a97 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-2018 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -94,39 +94,63 @@ typedef struct _filter Filter; struct _filter { + + + + guint32 mindate, maxdate; - gint nbdaysfuture; gint range; - gint type; - gint status; gshort option[FILTER_MAX]; gboolean reconciled; gboolean cleared; - gboolean forceadd; - gboolean forcechg; - gboolean forceremind; + gboolean paymode[NUM_PAYMODE_MAX]; gdouble minamount, maxamount; gboolean exact; gchar *info; gchar *memo; gchar *tag; - gchar last_tab[8]; + + /* 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 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); 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