Re: Review Request 129393: Use Qt's plugin system instead of KService

2016-11-13 Thread Marko Käning

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129393/#review100826
---



Why do you migrate away from KService to something Qt'ish?

- Marko Käning


On Nov. 13, 2016, 9:50 p.m., Christian David wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129393/
> ---
> 
> (Updated Nov. 13, 2016, 9:50 p.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Repository: kmymoney
> 
> 
> Description
> ---
> 
> Hi,
> 
> this is my long overdue change on the plugin system. It actually started in 
> Randa.
> 
> Sorry for such a long review request! I think it is ready for publishing, I 
> made this review request only to give everybody a chance to ask questions :)
> 
> 
> Commit 1
> 
> 
> This is a major change. Instead of a KPluginFactory based plugin
> loading, Qt's plugin system is used. The docu was adopeted to reflect
> this.
> 
> Commit 2
> 
> 
> The plugins for onlineTasks are now loaded with QPluginLoader on demand.
> The necessary information is encoded in Qt's json plugin header.
> 
> Commit 3
> 
> 
> Moved plugin loader out of kmm_plugin and put it into the executable
> 
> The plugin shared library is for plugins now and does not include the
> loading of plugins (which was kind of wired). All loading operations of
> standard plugins is done in KMyMoneyApp now.
> 
> Therefor the interface system for plugins needed do be reworked to
> great degree. Some overly complex operations were replaced by simpler
> ones. All plugins were adopted to that. Also it is more type safe now.
> 
> Now the user configuration which plugins should be loaded or not is
> respected (standard plugins only).
> 
> An old bug was fixed: If the configuration in the plugin settings
> changed the plugins are loaded/unloaded after the user accepts the
> dialog (perviously this was done when the checkbox was clicked).
> 
> Todos
> =
> 
> The new system is still not finished. However, it is a great step in
> the right direction. An uncomplete list of FIXMEs (or bugs?):
> 
> 1. pluginloader.{h,cpp} are gui only now and should be merged into the
> settings dialog.
> 2. The UI for plugins still has some issues, e.g. the online banking
> plugins which are loaded on demand (and are not deactivatable) have a
> checkbox for loading and unloading which has no function.
> 3. Unloading plugins may not work correctly (I think it never did).
> 4. The payeeIdentifiers are not listet in the plugin settings page.
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 09970dd5626e308c443ea20ee20ecf8503b21209 
>   kmymoney/CMakeLists.txt acbe6a3c91a62a15871a0061486a7d0771b3a5e6 
>   kmymoney/dialogs/konlinetransferform.h 
> e4761904d68a92471c0b05cc9e5b2bcd1461511d 
>   kmymoney/dialogs/konlinetransferform.cpp 
> 07e73ab17f93cd8fd804b9d11ede2b049f76eefe 
>   kmymoney/dialogs/settings/ksettingsplugins.cpp 
> 007a59d4be08fe779245dd5d52f664ebfcee447d 
>   kmymoney/kmymoney.h 8d10023b5e35be8f4449973ea16e0ec0cc0acca2 
>   kmymoney/kmymoney.cpp 043342dd87cbc03557c5e2b29eb3b9dfcd1083dd 
>   kmymoney/mymoney/onlinejobadministration.h 
> e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5 
>   kmymoney/mymoney/onlinejobadministration.cpp 
> 52658747a44bc5477ccd75a531aef471b4553b19 
>   kmymoney/pluginloader.h PRE-CREATION 
>   kmymoney/pluginloader.cpp PRE-CREATION 
>   kmymoney/plugins/CMakeLists.txt fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9 
>   kmymoney/plugins/csvexport/CMakeLists.txt 
> 9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf 
>   kmymoney/plugins/csvexport/csvexport.json.in PRE-CREATION 
>   kmymoney/plugins/csvexport/csvexporterplugin.h 
> f163ade2d59ae1b6eb32958a317384e77a658523 
>   kmymoney/plugins/csvexport/csvexporterplugin.cpp 
> 31027c65111edbad8ca78b00f5b7df572056bb37 
>   kmymoney/plugins/csvexport/kmm_csvexport.desktop 
> 957a9edc4101504e0db08378392e29358327b1c6 
>   kmymoney/plugins/csvimport/CMakeLists.txt 
> c3e13285944f3624d69f7cc7cde0d4d9014a2a2c 
>   kmymoney/plugins/csvimport/csvimport.json.in PRE-CREATION 
>   kmymoney/plugins/csvimport/csvimporterplugin.h 
> e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66 
>   kmymoney/plugins/csvimport/csvimporterplugin.cpp 
> 9a28dca3efd54b82882ef71595439d34b09a5177 
>   kmymoney/plugins/csvimport/kmm_csvimport.desktop 
> 52dfc6ef5a425f70f4caba42e92378665926c774 
>   kmymoney/plugins/icalendarexport/CMakeLists.txt 
> b85f29282114b5c8eb4d680308da59177992a7e6 
>   kmymoney/plugins/icalendarexport/icalendarexport.h 
> ae02cb35041c7bb1423fe2939da1252d1003065a 
>   kmymoney/plugins/icalendarexport/icalendarexport.cpp 
> d1028338c8e3644fc280395c5c853d369f19f4eb 
>   kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop 
> 4313fdf277f82e6759e48931b3b2aba059b2ece3 
>   kmymoney/p

[kmymoney4] [Bug 372453] New: KMyMoney 4.8 crashes on opening some files

2016-11-13 Thread Yuri Shirman
https://bugs.kde.org/show_bug.cgi?id=372453

Bug ID: 372453
   Summary: KMyMoney 4.8 crashes on opening some files
   Product: kmymoney4
   Version: 4.8.0
  Platform: Fedora RPMs
OS: Linux
Status: UNCONFIRMED
  Keywords: drkonqi
  Severity: crash
  Priority: NOR
 Component: general
  Assignee: kmymoney-devel@kde.org
  Reporter: yshir...@gmail.com
  Target Milestone: ---

Application: kmymoney (4.8.0)
KDE Platform Version: 4.14.25
Qt Version: 4.8.7
Operating System: Linux 4.8.6-300.fc25.x86_64 x86_64
Distribution: "Fedora release 25 (Twenty Five)"

-- Information about the crash:
I upgraded to F25 beta which comes with KMyMoney 4.8.0 and the program crashes
when opening my default file. I can open the olde (about 2.5 years) version of
the file.
This probably means some inconsistency in the file (I did make some changes by
hand when I could not delete some payees inside the program). But the version
4.7.2 opens the same file without any issues.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#6  0x7fd70fece92f in raise () at /lib64/libc.so.6
#7  0x7fd70fed052a in abort () at /lib64/libc.so.6
#8  0x7fd70fec6e37 in __assert_fail_base () at /lib64/libc.so.6
#9  0x7fd70fec6ee2 in  () at /lib64/libc.so.6
#10 0x7fd6f1de2f6f in  () at /lib64/libgwenhywfar.so.60
#11 0x7fd6f1723151 in AB_Job_new () at /lib64/libaqbanking.so.35
#12 0x7fd6f26b7b9e in KBankingPlugin::availableJobs(QString) () at
/usr/lib64/kde4/kmm_kbanking.so
#13 0x7fd71403ebfa in onlineJobAdministration::canSendCreditTransfer() ()
at /lib64/libkmm_mymoney.so.4
#14 0x558cb9dfb427 in KMyMoneyApp::slotUpdateActions() ()
#15 0x558cb9e01da0 in KMyMoneyApp::updateCaption(bool) ()
#16 0x558cb9e41cc8 in KMyMoneyApp::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) ()
#17 0x7fd71117f090 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) () at /lib64/libQtCore.so.4
#18 0x7fd713fcbf48 in MyMoneyFile::attachStorage(IMyMoneyStorage*) () at
/lib64/libkmm_mymoney.so.4
#19 0x558cb9e655f0 in KMyMoneyView::readFile(KUrl const&) ()
#20 0x558cb9e2b0d6 in KMyMoneyApp::slotFileOpenRecent(KUrl const&) ()
#21 0x558cb9de2557 in runKMyMoney(KApplication*, KStartupLogo*) [clone
.isra.9] ()
#22 0x558cb9ddf4fc in main ()

Reported using DrKonqi

-- 
You are receiving this mail because:
You are the assignee for the bug.

Review Request 129393: Use Qt's plugin system instead of KService

2016-11-13 Thread Christian David

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129393/
---

Review request for KMymoney.


Repository: kmymoney


Description
---

Hi,

this is my long overdue change on the plugin system. It actually started in 
Randa.

Sorry for such a long review request! I think it is ready for publishing, I 
made this review request only to give everybody a chance to ask questions :)


Commit 1


This is a major change. Instead of a KPluginFactory based plugin
loading, Qt's plugin system is used. The docu was adopeted to reflect
this.

Commit 2


The plugins for onlineTasks are now loaded with QPluginLoader on demand.
The necessary information is encoded in Qt's json plugin header.

Commit 3


Moved plugin loader out of kmm_plugin and put it into the executable

The plugin shared library is for plugins now and does not include the
loading of plugins (which was kind of wired). All loading operations of
standard plugins is done in KMyMoneyApp now.

Therefor the interface system for plugins needed do be reworked to
great degree. Some overly complex operations were replaced by simpler
ones. All plugins were adopted to that. Also it is more type safe now.

Now the user configuration which plugins should be loaded or not is
respected (standard plugins only).

An old bug was fixed: If the configuration in the plugin settings
changed the plugins are loaded/unloaded after the user accepts the
dialog (perviously this was done when the checkbox was clicked).

Todos
=

The new system is still not finished. However, it is a great step in
the right direction. An uncomplete list of FIXMEs (or bugs?):

1. pluginloader.{h,cpp} are gui only now and should be merged into the
settings dialog.
2. The UI for plugins still has some issues, e.g. the online banking
plugins which are loaded on demand (and are not deactivatable) have a
checkbox for loading and unloading which has no function.
3. Unloading plugins may not work correctly (I think it never did).
4. The payeeIdentifiers are not listet in the plugin settings page.


Diffs
-

  CMakeLists.txt 09970dd5626e308c443ea20ee20ecf8503b21209 
  kmymoney/CMakeLists.txt acbe6a3c91a62a15871a0061486a7d0771b3a5e6 
  kmymoney/dialogs/konlinetransferform.h 
e4761904d68a92471c0b05cc9e5b2bcd1461511d 
  kmymoney/dialogs/konlinetransferform.cpp 
07e73ab17f93cd8fd804b9d11ede2b049f76eefe 
  kmymoney/dialogs/settings/ksettingsplugins.cpp 
007a59d4be08fe779245dd5d52f664ebfcee447d 
  kmymoney/kmymoney.h 8d10023b5e35be8f4449973ea16e0ec0cc0acca2 
  kmymoney/kmymoney.cpp 043342dd87cbc03557c5e2b29eb3b9dfcd1083dd 
  kmymoney/mymoney/onlinejobadministration.h 
e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5 
  kmymoney/mymoney/onlinejobadministration.cpp 
52658747a44bc5477ccd75a531aef471b4553b19 
  kmymoney/pluginloader.h PRE-CREATION 
  kmymoney/pluginloader.cpp PRE-CREATION 
  kmymoney/plugins/CMakeLists.txt fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9 
  kmymoney/plugins/csvexport/CMakeLists.txt 
9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf 
  kmymoney/plugins/csvexport/csvexport.json.in PRE-CREATION 
  kmymoney/plugins/csvexport/csvexporterplugin.h 
f163ade2d59ae1b6eb32958a317384e77a658523 
  kmymoney/plugins/csvexport/csvexporterplugin.cpp 
31027c65111edbad8ca78b00f5b7df572056bb37 
  kmymoney/plugins/csvexport/kmm_csvexport.desktop 
957a9edc4101504e0db08378392e29358327b1c6 
  kmymoney/plugins/csvimport/CMakeLists.txt 
c3e13285944f3624d69f7cc7cde0d4d9014a2a2c 
  kmymoney/plugins/csvimport/csvimport.json.in PRE-CREATION 
  kmymoney/plugins/csvimport/csvimporterplugin.h 
e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66 
  kmymoney/plugins/csvimport/csvimporterplugin.cpp 
9a28dca3efd54b82882ef71595439d34b09a5177 
  kmymoney/plugins/csvimport/kmm_csvimport.desktop 
52dfc6ef5a425f70f4caba42e92378665926c774 
  kmymoney/plugins/icalendarexport/CMakeLists.txt 
b85f29282114b5c8eb4d680308da59177992a7e6 
  kmymoney/plugins/icalendarexport/icalendarexport.h 
ae02cb35041c7bb1423fe2939da1252d1003065a 
  kmymoney/plugins/icalendarexport/icalendarexport.cpp 
d1028338c8e3644fc280395c5c853d369f19f4eb 
  kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop 
4313fdf277f82e6759e48931b3b2aba059b2ece3 
  kmymoney/plugins/icalendarexport/kmm_icalendarexport.json.in PRE-CREATION 
  kmymoney/plugins/interfaceloader.h PRE-CREATION 
  kmymoney/plugins/interfaceloader.cpp PRE-CREATION 
  kmymoney/plugins/interfaces/kmmviewinterface.h 
d86e5efafd7ceac57b5a107696ffbc57ef64896b 
  kmymoney/plugins/kbanking/CMakeLists.txt 
7a6b656eaa198b0556dc9329c37d9fe34009ad68 
  kmymoney/plugins/kbanking/kbanking.json.in PRE-CREATION 
  kmymoney/plugins/kbanking/kmm_kbanking.desktop 
414964f6c9fe3d34f03189783aa915d3ba37ff18 
  kmymoney/plugins/kbanking/mymoneybanking.h 
fe0cb5c5feeeac9ffb4657e49da318cc429d2ac4 
  kmymoney/plugins/kbanking/mymoneybanking.cpp 
ad53d4ba608e221