Import transactions change proposal

Chris Morgan cmorgan at
Mon Feb 3 16:09:05 CST 2003

On Monday 03 February 2003 09:57 pm, Benoit Grégoire wrote:
> On February 3, 2003 01:19 pm, Chris Morgan wrote:
> > From prior discussions about importing many hundreds or thousands of
> > records I've started making some changes to the import transaction
> > matcher. I wanted to run through the proposal so as to pull out any
> > necessary changes BEFORE the work is complete.
> >
> > - Change clist in the generic import transaction matcher screen to an
> > extended clist to allow for multiple transactions to be selected
> > - Drop support for row select/unselect signals in the clist
> > - Add support for double click events in clist
> How are you going to visually cue the user that he must double click?  It's
> clear to everyone how to use the two checkboxes, but I know of no clear
> icon to tell the user to double click.  What are you going to replace the
> select-unselect signals with?  I guess I just don't understand your new
> interface yet. But let's keep discussing it, I don't mean to discurage
> you...

There is no need to handle select and unselect signals as the actual selection 
of rows is performed internally to the clist, the signals are only if you 
want to take action upon selection/unselection.  Basically the user would 
select multiple rows either using the manual text search and highlight box, 
or by holding the space bar and highlighting rows, then they double click to 
sort the selected rows into an account.

I also don't know of a clear way to suggest double click, I think it will be 
pretty intuitive though once the user makes the discovery that clicking 
allows them to highlight rows but nothing actually occurs.  I'm not sure how 
windows handles situations like these, I think the double click is just 
something you try once single click stops working...

> > - Modification of run_account_picker_dialog() to accept a list of
> > transactions instead of a single one.
> Err, I suppose you mean gnc_gen_trans_list_add_trans()?

I believe run_account_picker_dialog() is correct, it is called around line 384 
in import_main_matcher.c when a user has clicked(or in the new case double 
clicked) on DOWNLOADED_CLIST_ACTION_INFO(the right most column I believe) and 
if the current action is GNC_Import_ADD.

What does gnc_gen_trans_list_add_trans() do?  There are no code comments or 
use of this function in the import-export directory, it appears to be used 
when adding a transaction to the import matcher.  This would be a good place 
to put an auto matcher it seems as it would allow for each newly added 
transaction to be checked, it is a bit different than what I'm trying to do 
right now though.

> > This idea could be extended to a search and match function that would
> > allow the user to enter an arbitrary string and pick a column and
> > highlight all entries containing the search string.  It may also assist
> > witht he auto matching code as groups of transactions could be processed
> > as a whole.
> Well, the way I tought I was going to solve this problem was mostly in the
> backend.  Each time someone changes a destination account, the matcher
> would call gnc_import_TransInfo_set_destacc(), a new function,
> gnc_import_reprocess_dest_matches(), that would re-run the destination
> account match algorithm for each transaction that doesn't have
> dest_acc_selected_manually set to true.
> That way, if I change a transaction labeled "Buy/Taco Bell" to
> Expenses:Restaurant, every other transaction labeled "Buy/Taco Bell" that
> weren't priorly set to something else would immediately point to
> Expenses:Restaurant.

I think that idea makes a lot of sense.  I'm proposing adding a search box and 
search button that would allow the user to select the transactions 
themselves, rather than have gnucash do everything for them.  I think both 
could coexist without an issue.


More information about the gnucash-devel mailing list