<div dir="ltr"><div class="gmail-gs"><div class="gmail-gE gmail-iv gmail-gt"><table class="gmail-cf gmail-gJ" cellpadding="0"><tbody><tr class="gmail-acZ"><td class="gmail-gF gmail-gK"><table class="gmail-cf gmail-ix" cellpadding="0"><tbody><tr><td class="gmail-c2">Thank you very much, I will try to accomplish this.<br></td></tr></tbody></table></td></tr></tbody></table></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 17, 2018 at 5:21 AM Friedrich W. H. Kossebau <<a href="mailto:kossebau@kde.org">kossebau@kde.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Πέτρος,<br>
<br>
Am Dienstag, 16. Oktober 2018, 17:36:52 CEST schrieb Πέτρος Σιλιγκούνας:<br>
> You can see here [1] the latest changes. I am getting linker's errors about<br>
> some functions that are unimplemented. I ported most of the code base to<br>
> newer C++ and Qt5 but I don't know where to go from here.<br>
> <br>
> Any help would be appreciated.<br>
<br>
Nice to see you are still seeing to scratch your itch here, as started last <br>
December (<a href="https://frinring.wordpress.com/2017/09/08/in-pane-preview-of-qt-ui-files-with-kuiviewer-coming-up/#comment-5689" rel="noreferrer" target="_blank">https://frinring.wordpress.com/2017/09/08/in-pane-preview-of-qt-ui-files-with-kuiviewer-coming-up/#comment-5689</a> ).<br>
<br>
Sadly myself I currently have no time to really help with any implementation, <br>
but let me at least point you to some building and linking initial code of a <br>
reimplementation of the qtdesigner integration plugin. Which I had started <br>
this spring, but then did not pursue more so far as it was low priority.<br>
The code builds and links against current KDevelop, and I pushed that now in a <br>
repository just for you :) so you can compare:<br>
        <a href="https://cgit.kde.org/scratch/kossebau/kdevqtdesigner.git" rel="noreferrer" target="_blank">https://cgit.kde.org/scratch/kossebau/kdevqtdesigner.git</a> (web UI)<br>
<br>
The code so far only works for registering a custom document/view handler for <br>
Qt Designer files, and itself only can load and show files.<br>
<br>
As you found out, the Qt Designer library still exists in Qt5, e.g. is also <br>
consumed in Qt Creator. Sadly though the interface has changed a bit, a <br>
library Qt5DesignerComponent has been split off which has no proper CMake <br>
Config files yet (see also comment in src/CMakeLists.txt). That needs filing a <br>
bug and fixing in Qt, as well as writing some workaround cmake code in the <br>
plugin to handle that properly (I only did a simple hack that worked for <br>
me(tm)).<br>
<br>
IIRC the code of the old qtdesigner plugin had some broken support for the <br>
multi-view feature of kdevelop, the implementation would only work if people <br>
did not do split views and have multiple views on the same UI file. My <br>
reimplementation should have also deal with that, by having some intermediae <br>
QBuffer object in the document, to which the views should then sync their <br>
data. That syncing part is missing also yet, only sketched in my mind. :)<br>
<br>
Another issue with the plugin is that in KDevelop/KDevPlatform switching <br>
between text editor view and custom editor view seems broken meanwhile and not <br>
possible for the same file, something has regressed in kdevplatform when it <br>
comes to that feature over what I think to remember from kdevelop4. So once <br>
the plugin is active, one currently no longer can edit UI files as plain text, <br>
only be the plugin.<br>
<br>
Personally as before I would like to see more non-text editor integration in <br>
KDevelop, but seems current maintainers have no own needs here, so not pushing <br>
myself into that direction :) and concentrating on other features which seem <br>
more agreed about.<br>
Though then KDevelop is plugin-based, and perhaps we can manage to fix the <br>
core in a way, that the qtdesigner integration plugin can be made nicely work <br>
and still maintained externally, without getting in the way of the maintainers <br>
who are not interested in it :)<br>
<br>
BTW: this mailinglist "kdevelop" is for users of KDevelop rather, you might <br>
want to continue any questions on "kdevelop-devel" one instead. I already cc: <br>
this email there, please subscribe to that mailinglist and continue <br>
implementation discussion there.<br>
<br>
In any case is this a bigger challenge you chose to master here, with lots of <br>
hurdles. So hopefully you have good energies :) As said, myself will not have <br>
time left to help you a lot, my KDevelop TODO list is full of own interest <br>
things. Perhaps you find some other people here who will be happy to join your <br>
existing effort for such a qtdesigner integration plugin?<br>
<br>
Next to the code of the old plugin, some place which might hold some ideas for <br>
you is the Designer-based plugin for Qt Creator, you can nicely browse the <br>
code here:<br>
        <a href="https://code.woboq.org/qt5/qt-creator/src/plugins/designer/" rel="noreferrer" target="_blank">https://code.woboq.org/qt5/qt-creator/src/plugins/designer/</a><br>
That might help in case more API has changed for Qt5. But this is really <br>
challenging stuff, given some of the Designer(Component) API used is also <br>
private and might break between minor Qt versions. Really no free lunch here. <br>
Good luck, lots to learn, you will be a Qt expert afterwards :)<br>
<br>
Cheers<br>
Friedrich<br>
<br>
<br>
</blockquote></div>