On 07/31/2013 06:22 PM, Boudewijn Rempt wrote:
On Wed, 31 Jul 2013, Sebastian Sauer wrote:


-    KMenu* m_viewModeMenu = new KMenu(this);
+    QMenu* m_viewModeMenu = new QMenu(this);

I wouldn't do such changes. Just use fake/kmenu.h and keep the diff clean. Same with KLineEdit/QLineEdit, etc.

Hm, that's a bit too late now -- I already did almost all of that :-(. Should we start again?

Nah, np.



Golden rule: Not refactor. Never ever refactor while porting.
Right -- though sometimes porting feels like refactoring, when the guidelines say "use Qt classes instead of K classes".

I am currently sort of stuck in sheets/localization, where there's a lot of special stuff going on.

Hmpf. I solved all that in the last update for the coffice fake libs. Sheets compiles AND runs fine on Android, Linux, Sailfish. Unfortunately your fake-libs is >3 months old :/ So, we need to merge that over then. Should I do?

Yes -- with some caveats, I probably build more than you do, so I had some additions to fakes -- including the addition of exports.

Yep, seen. I already ported the changes I did since then over. Updating Qt/setup to compile the branch. May take some time.


Hm... I wonder how difficult will that be when, for instance, we need to refactor the plugin system?

Nope. The kdelibs plugin API is fine, the backend-logic we can replace easily. Its done in the Coffice fake lib already. It reimplements that kdelibs API using QPluginLoader. Coffice on desktop loads calligra/filters and calligra/plugins on demand. We can use QPluginLoader 1:1 with the current kdelibs plugin API what includes all Calligra plugins.

Ah -- I was thinking of using Sebastian Kugler's work to automatically create the json from desktop files and so on. Or is that more or less the same?

If its the code in staging/kservice/plugin then it seems to drag kservice in which drags in kbuildsycoca. I don't think that's needed.


Desktop-file's are gone, plugin-details need to be compiled in. I think that's fine since a) we like to do so anyways using Json I think and b) all Calligra plugins are in-tree and we still not promise API compatibility (and doubt we will any time soon) so known whats there at compile-time. During runtime libs can be loaded on demand using Qt's plugin system. Let's not try to reinvent the wheel here.

In COffice all that happens static atm by creating and appending plugin factories for every KPluginFactory (iirc that was the name) to QPluginLoader::staticInstances(). That QPlugin-stuff allows easily to turn that into plugins that are loaded at runtime what means somebody can decide if a plugin is static compiled in or loadable at runtime with just a compile-switch.

That sounds pretty good.

Will land some patches related to that that where missing in your branch soon.

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to