GNOME Bugzilla – Bug 665998
Migrate Aqbanking from druid to assistant / builder.
Last modified: 2018-06-29 23:03:42 UTC
I have attempted to migrate the import-export/Aqbanking directory to use an assistant from druid and other dialogs to use builder from GladeXML. The enclosed patch changes all the required entries in this folder and compiles with no errors. I have tested as far as I can as I do not use this and this is what I have observed. The druid, (initial setup wizard) is now an assistant and runs as I think it should, starting the aqbanking wizard and ultimately saving the appropriate details. There are a lot of critical and warning log messages while running the wizard but I think these are coming from the gwenhywfar and aqbanking. On the account match page, there was a selection callback that fired every time the page loaded and I was unable to block this so have changed this to use a 'row-activated' call back which is in line with the Qif assistant. There was another problem in that the KVP data was not being saved unless a change was made to an account. There is a function 'force_account_dirty' in gnc-ab-kvp.c that tried to set the dirty flag by re-saving the account name but this was being blocked as the name did not change. I have added qof_book_mark_dirty to this procedure and now it does ask to save on exit. I am not sure if this is the correct approach but it works so if this is correct then I assume the re-saving of the account name is redundant and this would need fixing in the 2.4 branch also. The other dialogs in the directory have been migrated from GladeXML to builder and look OK but as I do not use this I can not fully test this.
Created attachment 203251 [details] [review] Migrate Aqbanking directory to builder / assistant
Comment on attachment 203251 [details] [review] Migrate Aqbanking directory to builder / assistant Thank you for that patch. Like you, I don't use (can't use) the aqbanking features of GnuCash, since my bank doesn't support it. I have played with the parts of the druid that are accessible and found no issues there. I have decided to apply the patch, since that's probably the best way to get it tested by someone who is using aqbanking. Regarding the use of qof_book_mark_dirty, have you also verified if the flag is properly stored when using an sql backend (such as sqlite) ? I don't know enough about the backend's handling of kvp's to estimate if your solution is good for both backend types we support. It looks like a clean solution though.
(In reply to comment #2) > (From update of attachment 203251 [details] [review]) > Thank you for that patch. Like you, I don't use (can't use) the aqbanking > features of GnuCash, since my bank doesn't support it. > > I have played with the parts of the druid that are accessible and found no > issues there. > > I have decided to apply the patch, since that's probably the best way to get it > tested by someone who is using aqbanking. > > Regarding the use of qof_book_mark_dirty, have you also verified if the flag is > properly stored when using an sql backend (such as sqlite) ? I don't know > enough about the backend's handling of kvp's to estimate if your solution is > good for both backend types we support. It looks like a clean solution though. Yes, it does work for sqlite and mysql.
(In reply to comment #2) > (From update of attachment 203251 [details] [review]) > Thank you for that patch. Like you, I don't use (can't use) the aqbanking > features of GnuCash, since my bank doesn't support it. > > I have played with the parts of the druid that are accessible and found no > issues there. > > I have decided to apply the patch, since that's probably the best way to get it > tested by someone who is using aqbanking. > > Regarding the use of qof_book_mark_dirty, have you also verified if the flag is > properly stored when using an sql backend (such as sqlite) ? I don't know > enough about the backend's handling of kvp's to estimate if your solution is > good for both backend types we support. It looks like a clean solution though. I noticed on a commit by John, r21744 he used a different method which I have tried and works here also and think it is better so I think the changes you made to the four functions should be changed to :- qof_instance_set_dirty (QOF_INSTANCE (a)); I will provide a patch if required.
Thank you for your offer for a new patch. However by the time I read your message, I had already changed the functions myself, so there's no need for it anymore.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=665998. Please update any external references or bookmarks.