/* 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.
*
#define __HOMEBANK_IMPORT_H__
+#define PAGE_WELCOME 0
+#define PAGE_FILES 1
+#define PAGE_IMPORT 2
+
enum
{
- PAGE_WELCOME,
- PAGE_SELECTFILE,
- PAGE_IMPORT,
- PAGE_PROPERTIES,
- PAGE_ACCOUNT,
- PAGE_TRANSACTION,
- PAGE_CONFIRM,
- NUM_PAGE
+ LST_GENFILE_POINTER,
+ LST_GENFILE_NAME,
+ NUM_LST_FILE
};
-
-struct import_data
+enum
{
- GtkWidget *assistant;
- GtkWidget *pages[NUM_PAGE];
-
- GtkWidget *GR_page;
-
- GdkPixbuf *head_pixbuf;
- GdkPixbuf *side_pixbuf;
-
- GtkWidget *filechooser;
- GtkWidget *user_info;
- GtkWidget *ok_image;
- GtkWidget *ko_image;
-
- GtkWidget *TX_filepath;
- GtkWidget *TX_filename;
- GtkWidget *TX_encoding;
- GtkWidget *TX_datefmt;
-
- GtkWidget *TX_filedetails;
+ LST_GENACC_NAME,
+ LST_GENACC_KEY,
+ NUM_LST_GENACC
+};
- GtkWidget *GR_duplicate;
+enum
+{
+ LST_GENTXN_POINTER,
+ NUM_LST_GENTXN
+};
-// GtkWidget *LA_acc;
- GtkWidget *NB_maxgap;
+typedef struct _import_txndata ImpTxnData;
- GtkWidget *BT_refresh;
- GtkWidget *CY_dateorder;
- GtkWidget *IM_acc;
- GtkWidget *LB_acc;
- GtkWidget *LV_acc;
- GtkWidget *BT_edit;
-
- GtkWidget *IM_txn;
- GtkWidget *LB_txn;
- GtkWidget *imported_ope;
- GtkWidget *duplicat_ope;
-
- GtkWidget *TX_acc_upd;
- GtkWidget *TX_acc_new;
- GtkWidget *TX_trn_imp;
- GtkWidget *TX_trn_nop;
- GtkWidget *TX_trn_asg;
+struct _import_txndata
+{
+ // account page
+ GtkWidget *IM_txn, *LB_txn;
+ GtkWidget *LB_acc_title;
+ //GtkWidget *LB_acc_count;
+ GtkWidget *LB_txn_title;
+ GtkWidget *BT_all, *BT_non, *BT_inv;
+ GtkWidget *CY_acc;
+ GtkWidget *IM_unamed;
+ GtkWidget *LV_gentxn;
+ GtkWidget *EX_duptxn;
+ GtkWidget *LV_duptxn;
+
+ GtkWidget *ST_stack;
+ GtkWidget *GR_misc;
+ GtkWidget *GR_msg;
+ GtkWidget *GR_date;
+ GtkWidget *GR_ofx;
+ GtkWidget *GR_qif;
+ GtkWidget *GR_select;
+
+ GtkWidget *CY_txn_dateorder;
+ GtkWidget *NB_txn_daygap;
+ GtkWidget *CM_txn_ucfirst;
+ GtkWidget *CY_txn_ofxname;
+ GtkWidget *CY_txn_ofxmemo;
+ GtkWidget *CM_txn_qifmemo;
+ GtkWidget *CM_txn_qifswap;
+};
- gchar *filepath;
- gchar *filename;
- guint filetype;
- /* count imported items */
- guint imp_cnt_acc;
- guint imp_cnt_trn;
- guint imp_cnt_asg;
+struct import_data
+{
+ GtkWidget *assistant;
- gboolean valid;
+ //intro
+ GtkWidget *CM_dsta;
-// guint step;
-// guint maxstep;
+ // filechooser
+ GtkWidget *filechooser;
+ GtkWidget *LV_file;
+ GtkWidget *BT_file_add;
+ GtkWidget *BT_file_remove;
+ //struct import_txndata txndata[TXN_MAX_ACCOUNT];
+ GArray *txndata;
+
+ //summary
+ GtkWidget *TX_summary;
// import context
ImportContext ictx;
};
+
struct import_target_data
{
GtkWidget *label1, *label2;
};
-GtkWidget *ui_import_assistant_new (gint filetype);
+GtkWidget *ui_import_assistant_new (gchar **paths);
Account *import_create_account(gchar *name, gchar *number);
const gchar *homebank_file_getencoding(gchar *filename);
gchar *homebank_utf8_ensure(gchar *buffer);