mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
2002-13-6 Benoit Gr�goire <bock@step.polymtl.ca>
* src/import-export/ofx/gnc-ofx-import.c: Do the "right" thing for setting split amount and value. * src/import-export/import-main-matcher.c: Cosmetic improvements for balance display and window resizing. * All other affected files: Doxygenify everything. Take a look, run make doc, and open src/doc/html/index.html git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7637 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
e68a9bbe19
commit
aa30d872e7
@ -1,3 +1,9 @@
|
||||
2002-12-6 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
* src/import-export/import-backend.c: Fix for gcc2
|
||||
|
||||
2002-12-6 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
* src/import-export/import-backend.c: Fix for gcc2
|
||||
|
||||
2002-12-06 Derek Atkins <derek@ihtfp.com>
|
||||
|
||||
* revert patch in src/engine/Transaction.c -- imbalance is computed
|
||||
|
@ -28,9 +28,9 @@
|
||||
<modal>False</modal>
|
||||
<default_width>800</default_width>
|
||||
<default_height>600</default_height>
|
||||
<allow_shrink>True</allow_shrink>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>True</auto_shrink>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
@ -244,9 +244,9 @@
|
||||
<modal>False</modal>
|
||||
<default_width>800</default_width>
|
||||
<default_height>600</default_height>
|
||||
<allow_shrink>True</allow_shrink>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>True</auto_shrink>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
@ -531,9 +531,9 @@
|
||||
<modal>False</modal>
|
||||
<default_width>800</default_width>
|
||||
<default_height>600</default_height>
|
||||
<allow_shrink>True</allow_shrink>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>True</auto_shrink>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>True</auto_close>
|
||||
<hide_on_close>True</hide_on_close>
|
||||
|
||||
@ -781,9 +781,9 @@ click "Ok".</label>
|
||||
<modal>False</modal>
|
||||
<default_width>800</default_width>
|
||||
<default_height>600</default_height>
|
||||
<allow_shrink>True</allow_shrink>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>True</auto_shrink>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
|
@ -16,7 +16,8 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
/** @internal
|
||||
@file
|
||||
@brief Christian Stimming's matcher
|
||||
@author Copyright (C) 2002 Christian Stimming
|
||||
*/
|
||||
|
@ -1,4 +1,5 @@
|
||||
/**@file
|
||||
/**@internal
|
||||
@file
|
||||
\brief module definition/initialization for the generic import infrastructure
|
||||
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
|
||||
*/
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
* \brief Account-matcher.h: A very generic and flexible account matcher/picker
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@internal
|
||||
@file import-account-matcher.c
|
||||
* \brief A very generic and flexible account matcher/picker
|
||||
\author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
@ -302,3 +305,4 @@ Account * gnc_import_select_account(char * account_online_id_value,
|
||||
DEBUG("Return value: %p%s%s%s",retval,", account name:",xaccAccountGetName(retval),"\n");
|
||||
return retval;
|
||||
}
|
||||
/**@}*/
|
||||
|
@ -16,18 +16,18 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
* \brief Account-matcher.h: A very generic and flexible account matcher/picker
|
||||
\author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@file import-account-matcher.h
|
||||
@brief Generic and very flexible account matcher/picker
|
||||
@author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#ifndef ACCOUNT_MATCHER_H
|
||||
#define ACCOUNT_MATCHER_H
|
||||
|
||||
#include "Account.h"
|
||||
|
||||
/* The gnc_import_select_account():
|
||||
|
||||
Must be called with a string containing a unique identifier for the
|
||||
/** Must be called with a string containing a unique identifier for the
|
||||
account. If an account with a matching online_id kvp_frame is
|
||||
found, the function immediately returns with a pointer to that
|
||||
account. Otherwise, the user is prompted to select a GnuCash
|
||||
@ -36,9 +36,7 @@
|
||||
again). If the user refuses to select or create an account, NULL is
|
||||
returned.
|
||||
|
||||
Params:
|
||||
|
||||
account_online_id_value: The string containing your unique account_id
|
||||
@param account_online_id_value The string containing your unique account_id
|
||||
coming from some string of your module. This is the normal mode of
|
||||
operation.
|
||||
|
||||
@ -49,33 +47,35 @@
|
||||
kvp_frame of the found account will not be touched. To use this mode,
|
||||
auto_create must NOT be set to 0.
|
||||
|
||||
gchar * account_human_description: A human-readable description of
|
||||
@param account_human_description
|
||||
A human-readable description of
|
||||
the account. Can be NULL. If it is not NULL, it will be shown before
|
||||
the id in the account matching dialog. It will also be used as
|
||||
the default account name if a new account is created.
|
||||
|
||||
gnc_commodity * new_account_default_currenc: Default commodity of
|
||||
@param new_account_default_commodity
|
||||
Default commodity of
|
||||
the new account. Can be NULL. If not NULL, it will be the
|
||||
account's commodity if a new account is created. Also, if not
|
||||
NULL, the function will also warn the user if the found or created
|
||||
account's commodity doesn't match.
|
||||
|
||||
GNCAccountType new_account_default_type: Default account type of a
|
||||
@param new_account_default_type
|
||||
Default account type of a
|
||||
new account. Can be NULL. If not NO_TYPE, it will be the
|
||||
account's type if a new account is created. If not NO_TYPE, the
|
||||
function will also warn the user if the found or created account's
|
||||
commodity doesn't match.
|
||||
|
||||
char auto_create: If 0, if the account_online_id_value in unknown,
|
||||
@param auto_create If 0, if the account_online_id_value in unknown,
|
||||
the function returns NULL, otherwise, the user will be asked to
|
||||
create a new account.
|
||||
|
||||
Account * default_selection: If not NULL, that account will be
|
||||
@param default_selection If not NULL, that account will be
|
||||
pre-selected by default.
|
||||
|
||||
Return: A pointer to the found or created Account, or NULL if no
|
||||
@return A pointer to the found or created Account, or NULL if no
|
||||
account was found or created.
|
||||
|
||||
*/
|
||||
Account * gnc_import_select_account(char * account_online_id_value,
|
||||
char auto_create,
|
||||
@ -85,3 +85,4 @@ Account * gnc_import_select_account(char * account_online_id_value,
|
||||
Account * default_selection);
|
||||
|
||||
#endif
|
||||
/**@}*/
|
||||
|
@ -16,9 +16,13 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file import-backend.c
|
||||
@brief import-backend.c: Generic importer backend implementation (duplicate matching algorithm, action handling, etc.)
|
||||
@author Copyright (C) 2002 Benoit Grégoire, Christian Stimming
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
@author Christian Stimming
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
@ -203,7 +207,6 @@ gnc_import_MatchInfo_get_probability (const GNCImportMatchInfo * info)
|
||||
{
|
||||
if(info)
|
||||
{
|
||||
g_assert (info);
|
||||
return info->probability;
|
||||
}
|
||||
else
|
||||
@ -398,7 +401,7 @@ matchmap_store_destination (GncImportMatchMap *matchmap,
|
||||
|
||||
|
||||
|
||||
/** /brief The transaction matching heuristics are here.
|
||||
/** @brief The transaction matching heuristics are here.
|
||||
*/
|
||||
static void split_find_match (GNCImportTransInfo * trans_info,
|
||||
Split * split,
|
||||
@ -863,3 +866,4 @@ gnc_import_TransInfo_init_matches (GNCImportTransInfo *trans_info,
|
||||
trans_info->previous_action=trans_info->action;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
@ -1,10 +1,4 @@
|
||||
/********************************************************************\
|
||||
* Transaction-matcher.h -- *
|
||||
* See file generic-import-design.txt for *
|
||||
* description *
|
||||
* (GnuCash) *
|
||||
* Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
@ -22,9 +16,12 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-backend.h: Generic importer backend interface
|
||||
@author Copyright (C) 2002 Benoit Grégoire, Christian Stimming
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @file import-backend.h
|
||||
@brief Generic importer backend interface
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
@author Christian Stimming
|
||||
*/
|
||||
|
||||
#ifndef TRANSACTION_MATCHER_H
|
||||
@ -46,7 +43,6 @@ typedef enum _action {
|
||||
GNCImport_LAST_ACTION,
|
||||
GNCImport_INVALID_ACTION
|
||||
} GNCImportAction;
|
||||
/* Note: If you modify this, modify also get_next_action(). */
|
||||
|
||||
/************************************************************************
|
||||
* @name Non-GUI Functions
|
||||
@ -224,20 +220,23 @@ gnc_import_TransInfo_set_destacc (GNCImportTransInfo *info,
|
||||
gboolean
|
||||
gnc_import_TransInfo_get_destacc_selected_manually (const GNCImportTransInfo *info);
|
||||
|
||||
/*@}*/
|
||||
/**@}*/
|
||||
|
||||
/** @name Getters/Setters for GNCImportMatchInfo */
|
||||
/*@{*/
|
||||
/**@{*/
|
||||
|
||||
/* Get the split ('this-side split') of this MatchInfo. */
|
||||
/** Get the split ('this-side split') of this MatchInfo. */
|
||||
Split *
|
||||
gnc_import_MatchInfo_get_split (const GNCImportMatchInfo * info);
|
||||
|
||||
|
||||
/* Get the probability (confidence level) of this MatchInfo.
|
||||
/** Get the probability (confidence level) of this MatchInfo.
|
||||
@param info Can be NULL, in which case the function returns 0*/
|
||||
gint
|
||||
gnc_import_MatchInfo_get_probability (const GNCImportMatchInfo * info);
|
||||
/*@}*/
|
||||
/**@}*/
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
||||
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-commodity-matcher.h: A Generic commodity matcher/picker
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@internal
|
||||
@file import-commodity-matcher.c
|
||||
@brief A Generic commodity matcher/picker
|
||||
@author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
@ -126,4 +129,4 @@ gnc_commodity * gnc_import_select_commodity(char * exchange_code,
|
||||
}
|
||||
return retval;
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
@ -16,8 +16,10 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-commodity-matcher.h: A Generic commodity matcher/picker
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @file import-commodity-matcher.h
|
||||
@brief A Generic commodity matcher/picker
|
||||
@author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#ifndef IMPORT_COMMODITY_MATCHER_H
|
||||
@ -25,8 +27,7 @@
|
||||
|
||||
#include "gnc-commodity.h"
|
||||
|
||||
/* The gnc_import_select_commodity():
|
||||
|
||||
/**
|
||||
Must be called with a string containing a unique identifier for the
|
||||
commodity. If an commodity with a matching exchange_code is
|
||||
found, the function immediately returns with a pointer to that
|
||||
@ -35,28 +36,25 @@
|
||||
written to the commodity's exchange_code field, overwriting anything that
|
||||
was there before.
|
||||
|
||||
Params:
|
||||
|
||||
char * exchange_code: The string containing the code for which you
|
||||
@param exchange_code The string containing the code for which you
|
||||
want a matching commodity. A CUISP code or similar UNIQUE code.
|
||||
The stock ticker is NOT appropriate, unless you have no other option.
|
||||
|
||||
char auto_create: If 0, if the exchange_code value in unknown,
|
||||
@param auto_create If 0, if the exchange_code value in unknown,
|
||||
the function returns NULL, otherwise, the user will be asked to
|
||||
create a new account.
|
||||
|
||||
char * default_fullname: A human-readable description of the commodity, such
|
||||
@param default_fullname A human-readable description of the commodity, such
|
||||
as the stock name. Can be NULL. If it is not NULL, it will be shown
|
||||
to the user when selecting a commodity. It will also be used as
|
||||
the default if a new commodity is created.
|
||||
|
||||
char * default_mnemonic: Usually the stock ticker or similar. Can be NULL.
|
||||
@param default_mnemonic Usually the stock ticker or similar. Can be NULL.
|
||||
If it is not NULL, it will be shown
|
||||
to the user when selecting a commodity. It will also be used as
|
||||
the default if a new commodity is created.
|
||||
|
||||
|
||||
Return: A pointer to the found or created commodity, or NULL if no
|
||||
@return A pointer to the found or created commodity, or NULL if no
|
||||
account was found or created.
|
||||
|
||||
*/
|
||||
@ -66,3 +64,4 @@ gnc_commodity * gnc_import_select_commodity(char * exchange_code,
|
||||
char * default_mnemonic);
|
||||
|
||||
#endif
|
||||
/**@}*/
|
||||
|
@ -16,9 +16,13 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
@brief import-main-mathcer.c: Transaction matcher main window
|
||||
@author Copyright (C) 2002 Benoit Grégoire, Christian Stimming
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file import-main-matcher.c
|
||||
@brief Transaction matcher main window
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
@author Christian Stimming
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
@ -61,7 +65,6 @@ struct _generic_transaction_info
|
||||
#define DOWNLOADED_CLIST_ACTION_INFO 9
|
||||
static short module = MOD_IMPORT;
|
||||
|
||||
/* XPM */
|
||||
static char * fleche_xpm[] = {
|
||||
"17 22 41 1",
|
||||
" c None",
|
||||
@ -128,7 +131,6 @@ static char * fleche_xpm[] = {
|
||||
"+0%%%%%%%%%%%%%a+",
|
||||
"b+++++++++++++++b"};
|
||||
|
||||
/* XPM */
|
||||
static char * checkbox_checked_xpm[] = {
|
||||
"16 16 28 1",
|
||||
" c None",
|
||||
@ -176,8 +178,6 @@ static char * checkbox_checked_xpm[] = {
|
||||
"................",
|
||||
" .............. "};
|
||||
|
||||
|
||||
/* XPM */
|
||||
static char * checkbox_unchecked_xpm[] = {
|
||||
"12 12 14 1",
|
||||
" c None",
|
||||
@ -493,25 +493,25 @@ trans_clist_row_destroy_cb (gpointer data)
|
||||
}
|
||||
|
||||
|
||||
static void free_clist_row_text (GNCGenTransaction *gui,
|
||||
int row_number)
|
||||
{
|
||||
/*static void free_clist_row_text (GNCGenTransaction *gui,
|
||||
int row_number)
|
||||
{
|
||||
gchar *tmp;
|
||||
gint i;
|
||||
|
||||
DEBUG("Begin");
|
||||
g_assert (gui);
|
||||
for (i = 0; i < NUM_COLUMNS_DOWNLOADED_CLIST; i++)
|
||||
{
|
||||
tmp=NULL;
|
||||
if(gtk_clist_get_text (GTK_CLIST (gui->clist), row_number,
|
||||
i,
|
||||
&tmp)==1)
|
||||
{
|
||||
g_free(tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
tmp=NULL;
|
||||
if(gtk_clist_get_text (GTK_CLIST (gui->clist), row_number,
|
||||
i,
|
||||
&tmp)==1)
|
||||
{
|
||||
g_free(tmp);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
static char ** gen_clist_row_text (GNCImportTransInfo *info)
|
||||
{
|
||||
@ -553,9 +553,17 @@ static char ** gen_clist_row_text (GNCImportTransInfo *info)
|
||||
text[DOWNLOADED_CLIST_MEMO] = g_strdup(xaccSplitGetMemo(gnc_import_TransInfo_get_fsplit(info) ) );
|
||||
|
||||
/*Imbalance*/
|
||||
text[DOWNLOADED_CLIST_IMBALANCE]=g_strdup(xaccPrintAmount (xaccTransGetImbalance(gnc_import_TransInfo_get_trans(info) ),
|
||||
gnc_default_print_info (TRUE) )
|
||||
);
|
||||
if(gnc_import_TransInfo_is_balanced(info)==TRUE)
|
||||
{
|
||||
text[DOWNLOADED_CLIST_IMBALANCE]=g_strdup("");
|
||||
}
|
||||
else
|
||||
{
|
||||
text[DOWNLOADED_CLIST_IMBALANCE]=g_strdup(xaccPrintAmount (xaccTransGetImbalance(gnc_import_TransInfo_get_trans(info) ),
|
||||
gnc_commodity_print_info (xaccTransGetCurrency(gnc_import_TransInfo_get_trans (info)),TRUE) )
|
||||
);
|
||||
}
|
||||
|
||||
/*Actions*/
|
||||
text[DOWNLOADED_CLIST_ACTION_ADD] = g_strdup("");
|
||||
text[DOWNLOADED_CLIST_ACTION_CLEAR] = g_strdup("");
|
||||
@ -571,21 +579,22 @@ static char ** gen_clist_row_text (GNCImportTransInfo *info)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gnc_import_TransInfo_get_destacc (info) != NULL) {
|
||||
tmp = xaccAccountGetFullName
|
||||
(gnc_import_TransInfo_get_destacc (info),
|
||||
gnc_get_account_separator ());
|
||||
if(gnc_import_TransInfo_get_destacc_selected_manually(info)==TRUE)
|
||||
{
|
||||
select_origin=MANUALY_SELECTED_TEXT;
|
||||
}
|
||||
else
|
||||
{
|
||||
select_origin=AUTO_SELECTED_TEXT;
|
||||
}
|
||||
text[DOWNLOADED_CLIST_ACTION_INFO] = g_strdup_printf(_("Add with balancing split into (%s) account \"%s\""),select_origin,tmp);
|
||||
free (tmp);
|
||||
}
|
||||
if (gnc_import_TransInfo_get_destacc (info) != NULL)
|
||||
{
|
||||
tmp = xaccAccountGetFullName
|
||||
(gnc_import_TransInfo_get_destacc (info),
|
||||
gnc_get_account_separator ());
|
||||
if(gnc_import_TransInfo_get_destacc_selected_manually(info)==TRUE)
|
||||
{
|
||||
select_origin=MANUALY_SELECTED_TEXT;
|
||||
}
|
||||
else
|
||||
{
|
||||
select_origin=AUTO_SELECTED_TEXT;
|
||||
}
|
||||
text[DOWNLOADED_CLIST_ACTION_INFO] = g_strdup_printf(_("Add with balancing split into (%s) account \"%s\""),select_origin,tmp);
|
||||
free (tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
text[DOWNLOADED_CLIST_ACTION_INFO] = g_strdup(_("Add UNBALANCED!"));
|
||||
@ -784,3 +793,4 @@ void gnc_gen_trans_list_add_trans(GNCGenTransaction *gui, Transaction *trans)
|
||||
return;
|
||||
}/* end gnc_import_add_trans() */
|
||||
|
||||
/** @} */
|
||||
|
@ -16,9 +16,12 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
@brief import-main-mathcer.h: Transaction matcher main window
|
||||
@author Copyright (C) 2002 Benoit Grégoire, Christian Stimming
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@file import-main-matcher.h
|
||||
@brief Transaction matcher main window
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
@author Christian Stimming
|
||||
*/
|
||||
|
||||
#ifndef GNC_GEN_TRANSACTION_H
|
||||
@ -53,19 +56,20 @@ void gnc_gen_trans_list_delete (GNCGenTransaction *info);
|
||||
void gnc_gen_trans_list_add_trans(GNCGenTransaction *gui, Transaction *trans);
|
||||
|
||||
/** Run this dialog and return only after the user pressed Ok, Cancel,
|
||||
* or closed the window. This means that all actual importing will
|
||||
* have been finished upon returning.
|
||||
or closed the window. This means that all actual importing will
|
||||
have been finished upon returning.
|
||||
*/
|
||||
gboolean gnc_gen_trans_list_run (GNCGenTransaction *info);
|
||||
|
||||
/** Freeze the underlying GtkCList. Do this before you add a lot of
|
||||
* transactions. */
|
||||
transactions. */
|
||||
void gnc_gen_trans_list_freeze (GNCGenTransaction *gui);
|
||||
|
||||
/** Thaw the underlying GtkCList. Do this after you added a lot of
|
||||
* transactions. */
|
||||
transactions. */
|
||||
void gnc_gen_trans_list_thaw (GNCGenTransaction *gui);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
/**@}*/
|
||||
|
@ -16,10 +16,13 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file import-match-map.c
|
||||
@brief Generic import mapper service, maps strings->accounts
|
||||
*
|
||||
import-match-map.c: An import mapper service that stores Account Maps for the
|
||||
An import mapper service that stores Account Maps for the
|
||||
generic importer. This allows importers to map various
|
||||
"strings" to Gnucash accounts in a generic manner.
|
||||
@author Copyright (C) 2002 Derek Atkins <derek@ihtfp.com>
|
||||
@ -138,3 +141,5 @@ void gnc_imap_add_account (GncImportMatchMap *imap, const char *category,
|
||||
|
||||
/* XXX Mark the account (or book) as dirty! */
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
@ -16,10 +16,12 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @file import-match-map.h
|
||||
@brief Generic import mapper service, maps strings->accounts
|
||||
*
|
||||
import-match-map.h: An import mapper service that stores Account Maps for the
|
||||
An import mapper service that stores Account Maps for the
|
||||
generic importer. This allows importers to map various
|
||||
"strings" to Gnucash accounts in a generic manner.
|
||||
@author Copyright (C) 2002 Derek Atkins <derek@ihtfp.com>
|
||||
@ -32,37 +34,42 @@ typedef struct _GncImportMatchMap GncImportMatchMap;
|
||||
#include "Account.h"
|
||||
#include "gnc-book.h"
|
||||
|
||||
/* Obtain an ImportMatchMap object from an Account or a Book */
|
||||
/** @{
|
||||
Obtain an ImportMatchMap object from an Account or a Book */
|
||||
GncImportMatchMap * gnc_imap_create_from_account (Account *acc);
|
||||
GncImportMatchMap * gnc_imap_create_from_book (GNCBook *book);
|
||||
/*@}*/
|
||||
|
||||
/* Destroy an import map. But all stored entries will still continue
|
||||
* to exist in the underlying kvp frame of the account or book. */
|
||||
/** Destroy an import map. But all stored entries will still continue
|
||||
to exist in the underlying kvp frame of the account or book. */
|
||||
void gnc_imap_destroy (GncImportMatchMap *imap);
|
||||
|
||||
/* Clear an import map -- this removes ALL entries in the map */
|
||||
/** Clear an import map -- this removes ALL entries in the map */
|
||||
void gnc_imap_clear (GncImportMatchMap *imap);
|
||||
|
||||
/* Look up an Account in the map */
|
||||
/** Look up an Account in the map */
|
||||
Account * gnc_imap_find_account (GncImportMatchMap *imap, const char *category,
|
||||
const char *key);
|
||||
|
||||
/* Store an Account in the map. This mapping is immediatly stored in
|
||||
* the underlying kvp frame, regardless of whether the MatchMap is
|
||||
* destroyed later or not. */
|
||||
/** Store an Account in the map. This mapping is immediatly stored in
|
||||
the underlying kvp frame, regardless of whether the MatchMap is
|
||||
destroyed later or not. */
|
||||
void gnc_imap_add_account (GncImportMatchMap *imap, const char *category,
|
||||
const char *key, Account *acc);
|
||||
|
||||
|
||||
/* some well-known categories
|
||||
*
|
||||
* NOTE: You DO NOT have to use these values in your importer -- these
|
||||
* are just "well known" values, not "mandatory" values. You are free
|
||||
* to use these if they apply, map your own fields to these labels, or
|
||||
* create your own category strings.
|
||||
*/
|
||||
/** @name Some well-known categories
|
||||
|
||||
NOTE: You DO NOT have to use these values in your importer -- these
|
||||
are just "well known" values, not "mandatory" values. You are free
|
||||
to use these if they apply, map your own fields to these labels, or
|
||||
create your own category strings.
|
||||
*/
|
||||
/** @{*/
|
||||
#define GNCIMPORT_DESC "desc"
|
||||
#define GNCIMPORT_MEMO "memo"
|
||||
#define GNCIMPORT_PAYEE "payee"
|
||||
/**@}*/
|
||||
|
||||
#endif /* GNC_IMPORT_MATCH_MAP_H */
|
||||
/**@}*/
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-match-picker.c: The transaction match picker dialog
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file import-match-picker.c
|
||||
@brief The transaction match picker dialog
|
||||
implementation
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
*/
|
||||
@ -368,3 +371,4 @@ gnc_import_match_picker_run_and_close (GNCImportTransInfo *transaction_info)
|
||||
}
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
@ -16,8 +16,10 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-match-picker.h -- THe transaction match picker dialog interface
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @file import-match-picker.h
|
||||
@brief The transaction match picker dialog interface
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
*/
|
||||
|
||||
@ -32,14 +34,9 @@ typedef struct _transpickerdialog GNCImportMatchPicker;
|
||||
* GUI Functions
|
||||
************************************************************************/
|
||||
|
||||
/** @name Match_Picker Dialog
|
||||
*
|
||||
* A dialog where the user should pick the best match for *one* given
|
||||
* transaction.
|
||||
*/
|
||||
/*@{*/
|
||||
/**
|
||||
* Run a match_picker dialog so that the selected-MatchInfo in the
|
||||
* Run a match_picker dialog where the user should pick the best match for 'one' given
|
||||
* transaction, so that the selected-MatchInfo in the
|
||||
* given trans_info is updated accordingly. This functions will only
|
||||
* return after the user clicked Ok, Cancel, or Window-Close.
|
||||
*
|
||||
@ -54,7 +51,7 @@ typedef struct _transpickerdialog GNCImportMatchPicker;
|
||||
* pick a matching transaction. */
|
||||
void
|
||||
gnc_import_match_picker_run_and_close (GNCImportTransInfo *trans_info);
|
||||
/*@}*/
|
||||
/**@}*/
|
||||
|
||||
|
||||
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
@brief import-settings.c: User preference handling for
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@internal
|
||||
@file import-settings.c
|
||||
@brief User preference handling for
|
||||
transaction matching (for both the gui and the backend)
|
||||
@author Copyright (C) 2002 Benoit Grégoire
|
||||
*/
|
||||
@ -177,3 +180,5 @@ gint gnc_import_Settings_get_display_threshold (GNCImportSettings *settings)
|
||||
g_assert (settings);
|
||||
return settings->display_threshold;
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/**@file
|
||||
\brief import-settings.h: User preference interface for
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@file import-settings.h
|
||||
\brief Import preference handling.
|
||||
*User preference interface for
|
||||
transaction matching (for both the gui and the backend)
|
||||
\author Copyright (C) 2002 Benoit Grégoire
|
||||
*/
|
||||
@ -31,8 +34,7 @@ typedef struct _genimportsettings GNCImportSettings;
|
||||
* Getter/Setter Functions for the Data Types.
|
||||
************************************************************************/
|
||||
|
||||
/** @name Getters/Setters for GNCImportSettings */
|
||||
/*@{*/
|
||||
|
||||
|
||||
/** Allocates a new GNCImportSettings object, and initialize it with the
|
||||
appropriate user prefs.
|
||||
@ -44,6 +46,8 @@ gnc_import_Settings_new (void);
|
||||
void gnc_import_Settings_delete (GNCImportSettings *settings);
|
||||
|
||||
|
||||
/** @name Getters/Setters for GNCImportSettings */
|
||||
/*@{*/
|
||||
|
||||
/** Return the allowed amount range for fuzzy amount matching.
|
||||
@return The allowed amount range for fuzzy amount matching,
|
||||
@ -79,7 +83,7 @@ gint gnc_import_Settings_get_add_threshold (GNCImportSettings *settings);
|
||||
/** Return the selected threshold.
|
||||
*/
|
||||
gint gnc_import_Settings_get_display_threshold (GNCImportSettings *settings);
|
||||
|
||||
/*@}*/
|
||||
/**@}*/
|
||||
/**@}*/
|
||||
|
||||
#endif
|
||||
|
@ -16,8 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-utilities.h: Utility functions for writing import modules.
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file import-utilities.c
|
||||
@brief Utility functions for writing import modules.
|
||||
@author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
@ -106,3 +109,4 @@ void gnc_import_set_trans_online_id(Transaction * transaction,
|
||||
return;
|
||||
}
|
||||
|
||||
/* @} */
|
||||
|
@ -16,8 +16,10 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
@brief import-utilities.h: Utility functions for writing import modules.
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @file import-utilities.h
|
||||
@brief Utility functions for writing import modules.
|
||||
@author Copyright (C) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#ifndef IMPORT_UTILITIES_H
|
||||
@ -25,14 +27,27 @@
|
||||
|
||||
#include "Account.h"
|
||||
|
||||
/* Setter and getter functions for the online_id kvp_frame for
|
||||
Accounts and Transactions.
|
||||
/** @name Setter-getters
|
||||
Setter and getter functions for the online_id kvp_frame for
|
||||
Accounts.
|
||||
@{
|
||||
*/
|
||||
const gchar * gnc_import_get_acc_online_id(Account * account);
|
||||
void gnc_import_set_acc_online_id(Account * account,
|
||||
const gchar * string_value);
|
||||
/** @} */
|
||||
/** @name Setter-getters
|
||||
Setter and getter functions for the online_id kvp_frame for
|
||||
Transactions.
|
||||
@{
|
||||
*/
|
||||
const gchar * gnc_import_get_trans_online_id(Transaction * transaction);
|
||||
void gnc_import_set_trans_online_id(Transaction * transaction,
|
||||
const gchar * string_value);
|
||||
/** @} */
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
||||
|
||||
|
||||
|
@ -16,10 +16,11 @@
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @file
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/** @internal
|
||||
@file gnc-ofx-import.c
|
||||
@brief Ofx import module code
|
||||
*
|
||||
gnc-ofx-import.c
|
||||
@author Copyright (c) 2002 Benoit Grégoire <bock@step.polymtl.ca>
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
@ -157,6 +158,7 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
|
||||
gchar *investment_account_text;
|
||||
gnc_commodity *currency=NULL;
|
||||
gnc_commodity *investment_commodity=NULL;
|
||||
gnc_numeric gnc_amount, gnc_units;
|
||||
GNCBook *book;
|
||||
Transaction *transaction;
|
||||
Split *split;
|
||||
@ -363,9 +365,11 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
|
||||
split=xaccMallocSplit(book);
|
||||
xaccTransAppendSplit(transaction,split);
|
||||
xaccAccountInsertSplit(account,split);
|
||||
/*gnc_amount = double_to_gnc_numeric(data.amount,xaccAccountGetCommoditySCU(account),GNC_RND_ROUND);*/
|
||||
|
||||
DxaccSplitSetBaseValue(split, data.amount, currency);
|
||||
gnc_amount = double_to_gnc_numeric (data.amount,
|
||||
gnc_commodity_get_fraction(xaccTransGetCurrency(transaction)),
|
||||
GNC_RND_ROUND);
|
||||
xaccSplitSetBaseValue(split, gnc_amount, xaccTransGetCurrency(transaction));
|
||||
|
||||
/* Also put the ofx transaction's memo in the split's memo field */
|
||||
if(data.memo_valid==true){
|
||||
@ -404,7 +408,15 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
|
||||
split=xaccMallocSplit(book);
|
||||
xaccTransAppendSplit(transaction,split);
|
||||
xaccAccountInsertSplit(investment_account,split);
|
||||
DxaccSplitSetSharePriceAndAmount(split, data.unitprice,data.units);
|
||||
|
||||
gnc_amount = double_to_gnc_numeric (-(data.amount),
|
||||
gnc_commodity_get_fraction(investment_commodity),
|
||||
GNC_RND_ROUND);
|
||||
gnc_units = double_to_gnc_numeric (data.units,
|
||||
gnc_commodity_get_fraction(investment_commodity),
|
||||
GNC_RND_ROUND);
|
||||
xaccSplitSetAmount(split, gnc_units);
|
||||
xaccSplitSetValue(split, gnc_amount);
|
||||
|
||||
if(data.security_data_ptr->memo_valid==true)
|
||||
{
|
||||
@ -475,7 +487,11 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
|
||||
split=xaccMallocSplit(book);
|
||||
xaccTransAppendSplit(transaction,split);
|
||||
xaccAccountInsertSplit(income_account,split);
|
||||
DxaccSplitSetBaseValue(split, data.amount, currency);
|
||||
|
||||
gnc_amount = double_to_gnc_numeric (data.amount,
|
||||
gnc_commodity_get_fraction(xaccTransGetCurrency(transaction)),
|
||||
GNC_RND_ROUND);
|
||||
xaccSplitSetBaseValue(split, gnc_amount, xaccTransGetCurrency(transaction));
|
||||
|
||||
/* Also put the ofx transaction name in the splits memo field, or ofx memo if name is unavailable */
|
||||
if(data.name_valid==true){
|
||||
@ -493,8 +509,11 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
|
||||
split=xaccMallocSplit(book);
|
||||
xaccTransAppendSplit(transaction,split);
|
||||
xaccAccountInsertSplit(account,split);
|
||||
/*gnc_amount = double_to_gnc_numeric(data.amount,xaccAccountGetCommoditySCU(account),GNC_RND_ROUND);*/
|
||||
DxaccSplitSetBaseValue(split, data.amount,currency);
|
||||
|
||||
gnc_amount = double_to_gnc_numeric (data.amount,
|
||||
gnc_commodity_get_fraction(xaccTransGetCurrency(transaction)),
|
||||
GNC_RND_ROUND);
|
||||
xaccSplitSetBaseValue(split, gnc_amount, xaccTransGetCurrency(transaction));
|
||||
|
||||
/* Also put the ofx transaction name in the splits memo field, or ofx memo if name is unavailable */
|
||||
if(data.name_valid==true){
|
||||
@ -610,3 +629,5 @@ int ofx_proc_account_cb(struct OfxAccountData data)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
@ -1,6 +1,27 @@
|
||||
/**@file
|
||||
\brief module definition/initialization for the ofx importer
|
||||
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
|
||||
/********************************************************************\
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License*
|
||||
* along with this program; if not, contact: *
|
||||
* *
|
||||
* Free Software Foundation Voice: +1-617-542-5942 *
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
/** @addtogroup Import_Export
|
||||
@{ */
|
||||
/**@internal
|
||||
@file gncmod-ofx-import.c
|
||||
@brief module definition/initialization for the ofx importer
|
||||
@author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
|
||||
*/
|
||||
#include <glib.h>
|
||||
#include <guile/gh.h>
|
||||
@ -66,3 +87,4 @@ libgncmod_ofx_LTX_gnc_module_end(int refcount)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
/** @}*/
|
||||
|
Loading…
Reference in New Issue
Block a user