X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-transaction.h;h=47f8ed80dfb24d3fd1b77b3148d0f189f1a18500;hp=988e89b1ca57f73bc2f8f90df6f5b309a577a440;hb=5499ff44ef50b751b58f27fd13594f7dd4f959b7;hpb=996fa4ab9f6b836001f8ad0eecbfd3821687fea7 diff --git a/src/hb-transaction.h b/src/hb-transaction.h index 988e89b..47f8ed8 100644 --- a/src/hb-transaction.h +++ b/src/hb-transaction.h @@ -1,5 +1,5 @@ /* HomeBank -- Free, easy, personal accounting for everyone. - * Copyright (C) 1995-2016 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -27,6 +27,8 @@ typedef struct _transaction Transaction; +#include "hb-account.h" + struct _transaction { gdouble amount; @@ -35,7 +37,7 @@ struct _transaction gushort flags; guint32 kpay; guint32 kcat; - gchar *wording; + gchar *memo; guint32 date; gushort pos; @@ -44,13 +46,16 @@ struct _transaction guint32 *tags; guint32 kxfer; //strong link xfer key guint32 kxferacc; - - Split *splits[TXN_MAX_SPLIT+1]; + + GPtrArray *splits; /* unsaved datas */ - GList *same; //used for import todo: change this guint32 kcur; + gushort marker; + gushort pad1; gdouble balance; + gboolean overdraft; + GList *same; //used for import todo: change this }; #include "hb-archive.h" @@ -73,10 +78,18 @@ typedef enum { //TXN_VOID } HbTxnStatus; +enum { + TXN_MARK_NONE, + TXN_MARK_DUPSRC, + TXN_MARK_DUPDST +}; + + Transaction *da_transaction_malloc(void); -Transaction *da_transaction_copy(Transaction *src_txn, Transaction *dst_txn); +//Transaction *da_transaction_copy(Transaction *src_txn, Transaction *dst_txn); Transaction *da_transaction_init_from_template(Transaction *txn, Archive *arc); +Transaction *da_transaction_set_default_template(Transaction *txn); Transaction *da_transaction_clone(Transaction *src_item); void da_transaction_clean(Transaction *item); void da_transaction_free(Transaction *item); @@ -102,24 +115,28 @@ enum guint da_transaction_length(void); -void transaction_add_treeview(Transaction *ope, GtkWidget *treeview, guint32 accnum); -void transaction_add(Transaction *ope, GtkWidget *treeview, guint32 accnum); + +void transaction_remove(Transaction *ope); +void transaction_changed(Transaction *txn); +gboolean da_transaction_insert_memo(Transaction *item); +Transaction *transaction_add(GtkWindow *parent, Transaction *ope); gboolean transaction_acc_move(Transaction *txn, guint32 okacc, guint32 nkacc); Transaction *transaction_xfer_child_strong_get(Transaction *src); -void transaction_xfer_search_or_add_child(GtkWindow *parentwindow, Transaction *ope, gboolean manual); +void transaction_xfer_search_or_add_child(GtkWindow *parent, Transaction *ope, guint32 kdstacc); void transaction_xfer_change_to_child(Transaction *ope, Transaction *child); -void transaction_xfer_sync_child(Transaction *ope, Transaction *child); +void transaction_xfer_child_sync(Transaction *s_txn, Transaction *child); void transaction_xfer_remove_child(Transaction *src); Transaction *transaction_old_get_child_transfer(Transaction *src); -guint transaction_tags_count(Transaction *ope); -void transaction_tags_clone(Transaction *src_txn, Transaction *dst_txn); -guint transaction_tags_parse(Transaction *ope, const gchar *tagstring); -gchar *transaction_tags_tostring(Transaction *ope); -gint transaction_auto_assign(GList *ope_list, guint32 key); +guint transaction_auto_assign(GList *ope_list, guint32 key); void da_transaction_consistency(Transaction *item); + +gint transaction_similar_mark(Account *acc, guint32 daygap); +void transaction_similar_unmark(Account *acc); + + #endif