Move QIF Importer to plugin
ClosedPublic

Authored by wojnilowicz on Aug 4 2017, 1:55 PM.

Details

Summary

QIF importer/exporter had several connections to kmymoney library. Part of them were carried over (e.g. KMyMoneyApp::findAccount), some were removed as they weren't essential (e.g. KExportDlg::slotNewProfile) but are awaiting their return, some were built-in (e.g. KMyMoneyAccountCombo) and some of them were statically linked (e.g. models library) which will require an fix in the future.

Test Plan

Imported test file and exported account with imported contents of test file.

Diff Detail

Repository
R261 KMyMoney
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
wojnilowicz created this revision.Aug 4 2017, 1:55 PM
tbaumgart requested changes to this revision.Aug 4 2017, 2:43 PM
tbaumgart added a subscriber: tbaumgart.

Did you make sure that the importer can still be used to import statements from institutions as well as import databases from other applications? All in all cool to have this as a plugin.

kmymoney/plugins/qif/config/mymoneyqifprofileeditordecl.ui
1 ↗(On Diff #17711)

New UI files should not be named with a trailing 'decl'. This stems from KDE3 times, when we needed to subclass a dialog. This is now completely different (we use setupUI) so no need to use these strange naming convention. We have three files

xx.ui
xx.h
xx.cpp

for those dialogs/widgets etc.

kmymoney/plugins/qif/config/qif.json.in
19 ↗(On Diff #17711)

Make that https

kmymoney/plugins/qif/export/qifexport.json.in
6

Won't you add yourself here as well? Also in the other places.

20

https

kmymoney/plugins/qif/import/qifimport.json.in
20

https

This revision now requires changes to proceed.Aug 4 2017, 2:43 PM
wojnilowicz marked 4 inline comments as done.Aug 4 2017, 4:20 PM

Did you make sure that the importer can still be used to import statements from institutions as well as import databases from other applications? All in all cool to have this as a plugin.

No. I just moved the code from one place to another and adapted it, so it fits there. QIF processing remains unchanged and if it works in basic case, then it should work in all other cases and if not then someone should correct adaptation of QIF code, so that everything will work just as before pluginizing.
Do you have any suggestion on how I could test it more?

kmymoney/plugins/qif/config/qif.json.in
19 ↗(On Diff #17711)

This file is here by mistake.

kmymoney/plugins/qif/export/qifexport.json.in
6

I guess every little commitment deserves place on credits page. Do you wan't to see here everyone involved?

wojnilowicz updated this revision to Diff 17719.Aug 4 2017, 4:22 PM
wojnilowicz edited edge metadata.
wojnilowicz marked an inline comment as done.

Fixes after review.

tbaumgart accepted this revision.Aug 12 2017, 9:40 AM

Looks good to me.

This revision is now accepted and ready to land.Aug 12 2017, 9:40 AM
This revision was automatically updated to reflect the committed changes.