/* 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.
*
#ifndef __HB_TRANSACTION_GTK_H__
#define __HB_TRANSACTION_GTK_H__
+#include "ui-split.h"
+
+
+/* official GTK_RESPONSE are negative */
+#define HB_RESPONSE_ADD 1
+#define HB_RESPONSE_ADDKEEP 2
+
+
enum {
HID_AMOUNT,
MAX_HID_AMOUNT
};
-enum {
- TXN_SPLIT_NEW,
- TXN_SPLIT_AMOUNT
-};
-
struct deftransaction_data
{
GtkWidget *window;
+
GtkWidget *PO_date;
GtkWidget *PO_pay;
- GtkWidget *PO_arc;
- GtkWidget *ST_word;
- GtkWidget *ST_amount, *BT_amount, *BT_split;
- GtkWidget *CM_valid;
- GtkWidget *CM_remind;
+ GtkWidget *ST_memo;
+ GtkWidget *ST_amount, *BT_split;
GtkWidget *CM_cheque;
GtkWidget *NU_mode;
GtkWidget *ST_info;
- GtkWidget *PO_grp;
- GtkWidget *PO_acc;
+ GtkWidget *PO_cat;
+ GtkWidget *LB_accfrom, *PO_acc;
GtkWidget *LB_accto, *PO_accto;
- GtkWidget *ST_tags;
-
- gint action;
- gint accnum;
- gint type;
+ GtkWidget *ST_tags, *CY_tags;
+ GtkWidget *RA_status;
+
+ GtkWidget *IB_warnsign;
+
+ /* popover */
+ GtkWidget *MB_template;
+ GtkTreeModel *model;
+ GtkTreeModelFilter *modelfilter;
+ GtkWidget *LV_arc;
+ GtkWidget *CM_showsched;
+ GtkWidget *CM_showallacc;
+ GtkWidget *ST_search;
+
+ gint action;
+ gint accnum;
+ gint type;
+ guint32 kacc;
+ gboolean showtemplate;
Transaction *ope;
-
};
-struct ui_txn_split_dialog_data
-{
- GtkWidget *dialog;
- GtkWidget *BT_rem[TXN_MAX_SPLIT];
- GtkWidget *BT_add[TXN_MAX_SPLIT];
- GtkWidget *PO_cat[TXN_MAX_SPLIT];
- GtkWidget *ST_amount[TXN_MAX_SPLIT];
- GtkWidget *ST_memo[TXN_MAX_SPLIT];
-
- GtkWidget *LB_sumsplit;
- GtkWidget *LB_remain;
- GtkWidget *LB_txnamount;
- Transaction *ope;
- gdouble amount;
- gdouble sumsplit;
- gdouble remsplit;
-
- gint nbsplit;
- gint splittype;
- gint activeline;
-
- gulong handler_id[TXN_MAX_SPLIT];
+enum
+{
+ LST_DSPTPL_DATAS,
+ LST_DSPTPL_NAME,
+ NUM_LST_DSPTPL
};
-
-GtkWidget *create_deftransaction_window (GtkWindow *parent, gint type);
+GtkWidget *create_deftransaction_window (GtkWindow *parent, gint type, gboolean postmode, guint32 kacc);
void deftransaction_set_amount(GtkWidget *widget, gdouble amount);
+gint deftransaction_external_edit(GtkWindow *parent, Transaction *old_txn, Transaction *new_txn);
void deftransaction_set_transaction(GtkWidget *widget, Transaction *ope);
void deftransaction_get (GtkWidget *widget, gpointer user_data);
void deftransaction_add (GtkWidget *widget, gpointer user_data);