Digikam GSoC 2021

classic Classic list List threaded Threaded
61 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Digikam GSoC 2021

Anjani Kumar

Hello people,

I have been contributing to the KDE community for an year and am also participating in SoK 2021(my KDE Invent). I am interested in porting digikam to Qt6. For starters I've built digikam from source and would like to discuss other things. Is it the right place for discussion or should I email the mentors directly?


Thanks

Anjani Kumar

Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Maik Qualmann
Hi Anjani,

Welcome, this is the right place, all active digiKam developers read along
here and can answer your questions.

Maik

Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:

> Hello people,
> I have been contributing to the KDE community for an year and am also
> participating in SoK 2021(my KDE Invent[1]). I am interested in porting
> digikam to Qt6. For starters I've built digikam from source and would
> like to discuss other things. Is it the right place for discussion or should
> I email the mentors directly?
>
> Thanks
> Anjani Kumar
>
> --------
> [1] https://invent.kde.org/anjani




Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
Hi,

Welcome to the game.

If you have questions, we are available to respond in this email

Did you have already played with Qt6 API before?

All point listed in idea page is enough clear for you ?

Best regards

Gilles Caulier





Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit :

>
> Hi Anjani,
>
> Welcome, this is the right place, all active digiKam developers read along
> here and can answer your questions.
>
> Maik
>
> Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
> > Hello people,
> > I have been contributing to the KDE community for an year and am also
> > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
> > digikam to Qt6. For starters I've built digikam from source and would
> > like to discuss other things. Is it the right place for discussion or should
> > I email the mentors directly?
> >
> > Thanks
> > Anjani Kumar
> >
> > --------
> > [1] https://invent.kde.org/anjani
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:

> Hi,
>
> Welcome to the game.
>
> If you have questions, we are available to respond in this email
>
> Did you have already played with Qt6 API before?
>
> All point listed in idea page is enough clear for you ?
>
> Best regards
>
> Gilles Caulier
>
> Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
:

> > Hi Anjani,
> >
> > Welcome, this is the right place, all active digiKam developers read along
> > here and can answer your questions.
> >
> > Maik
> >
> > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
> > > Hello people,
> > > I have been contributing to the KDE community for an year and am also
> > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
> > > digikam to Qt6. For starters I've built digikam from source and would
> > > like to discuss other things. Is it the right place for discussion or
> > > should I email the mentors directly?
> > >
> > > Thanks
> > > Anjani Kumar
> > >
> > > --------
> > > [1] https://invent.kde.org/anjani

Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
also assuming that this the first initiative in a KDE project to port to Qt6.
All I am doing so far is look for whats changed and what others are discussing
about it. I've built some examples from the Qt6 docs and that seems fine to
catch up. I have worked with Qt5 Network Manager and some other modules and
that seems like I can port it to Qt6.

The points are clear. One question I had was with Qt XML Patterns. Seems like
Qt6 doesn't support this and I am not sure how to replace it's current usages
in the code-base.

I'll ask more once I unroll other points as well.

Thanks
Anjani


Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
Hello, 
I have looked for some possible alternatives to the QXmlPatters module. I saw that the rajce plugin uses XQuery. Found this http://xqilla.sourceforge.net/HomePage. Maybe we can use this.
Let me know what you think.

Anjani

On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:
On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
> Hi,
>
> Welcome to the game.
>
> If you have questions, we are available to respond in this email
>
> Did you have already played with Qt6 API before?
>
> All point listed in idea page is enough clear for you ?
>
> Best regards
>
> Gilles Caulier
>
> Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
:
> > Hi Anjani,
> >
> > Welcome, this is the right place, all active digiKam developers read along
> > here and can answer your questions.
> >
> > Maik
> >
> > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
> > > Hello people,
> > > I have been contributing to the KDE community for an year and am also
> > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
> > > digikam to Qt6. For starters I've built digikam from source and would
> > > like to discuss other things. Is it the right place for discussion or
> > > should I email the mentors directly?
> > >
> > > Thanks
> > > Anjani Kumar
> > >
> > > --------
> > > [1] https://invent.kde.org/anjani

Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
also assuming that this the first initiative in a KDE project to port to Qt6.
All I am doing so far is look for whats changed and what others are discussing
about it. I've built some examples from the Qt6 docs and that seems fine to
catch up. I have worked with Qt5 Network Manager and some other modules and
that seems like I can port it to Qt6.

The points are clear. One question I had was with Qt XML Patterns. Seems like
Qt6 doesn't support this and I am not sure how to replace it's current usages
in the code-base.

I'll ask more once I unroll other points as well.

Thanks
Anjani


Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
Hi,

xqilla sound like a dead project from source forge. It do not use
cmake and for Windows it only compatible with older MSVC version.

Sound like a bad idea.

Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
i remove the dependency in cmake rules, compilation crying ike that :

[100%] Building CXX object
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.cpp:24:
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:160
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o]
Erreur 1
make[2]: *** Attente des tâches non terminées....
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,
                 depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:82
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]
Erreur 1
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalker.cpp:34:10:
erreur fatale: QXmlResultItems : Aucun fichier ou dossier de ce type
   34 | #include <QXmlResultItems>
      |          ^~~~~~~~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:134
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcetalker.cpp.o]
Erreur 1
make[1]: *** [CMakeFiles/Makefile2:13352 :
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/all]
Erreur 2
make: *** [Makefile:160 : all] Erreur 2
[gilles@localhost rajce]$

So only 2 classes are used from QtXmlPatterns. The question is : why
this classes are used to talk with webservice ? Perhaps there is a
more simplified solution to drop this dependency ?

Best

Gilles Caulier

Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a écrit :

>
> Hello,
> I have looked for some possible alternatives to the QXmlPatters module. I saw that the rajce plugin uses XQuery. Found this http://xqilla.sourceforge.net/HomePage. Maybe we can use this.
> Let me know what you think.
>
> Anjani
>
> On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:
>>
>> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
>> > Hi,
>> >
>> > Welcome to the game.
>> >
>> > If you have questions, we are available to respond in this email
>> >
>> > Did you have already played with Qt6 API before?
>> >
>> > All point listed in idea page is enough clear for you ?
>> >
>> > Best regards
>> >
>> > Gilles Caulier
>> >
>> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
>> :
>> > > Hi Anjani,
>> > >
>> > > Welcome, this is the right place, all active digiKam developers read along
>> > > here and can answer your questions.
>> > >
>> > > Maik
>> > >
>> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
>> > > > Hello people,
>> > > > I have been contributing to the KDE community for an year and am also
>> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
>> > > > digikam to Qt6. For starters I've built digikam from source and would
>> > > > like to discuss other things. Is it the right place for discussion or
>> > > > should I email the mentors directly?
>> > > >
>> > > > Thanks
>> > > > Anjani Kumar
>> > > >
>> > > > --------
>> > > > [1] https://invent.kde.org/anjani
>>
>> Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
>> also assuming that this the first initiative in a KDE project to port to Qt6.
>> All I am doing so far is look for whats changed and what others are discussing
>> about it. I've built some examples from the Qt6 docs and that seems fine to
>> catch up. I have worked with Qt5 Network Manager and some other modules and
>> that seems like I can port it to Qt6.
>>
>> The points are clear. One question I had was with Qt XML Patterns. Seems like
>> Qt6 doesn't support this and I am not sure how to replace it's current usages
>> in the code-base.
>>
>> I'll ask more once I unroll other points as well.
>>
>> Thanks
>> Anjani
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar

On Friday, March 12, 2021 12:40:47 PM IST Gilles Caulier wrote:

> Hi,

>

> xqilla sound like a dead project from source forge. It do not use

> cmake and for Windows it only compatible with older MSVC version.

>

> Sound like a bad idea.

>

> Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If

> i remove the dependency in cmake rules, compilation crying ike that :

>

> [100%] Building CXX object

> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/

> rajcecommand.cpp.o Dans le fichier inclus depuis

> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.

> cpp:24:

> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand

> .h:32:10: erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type

>    32 | #include <QXmlQuery>

>

>       |          ^~~~~~~~~~~

>

> compilation terminée.

> make[2]: ***

> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> r/build.make:160

> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> : r/rajcecommand.cpp.o]

> Erreur 1

> make[2]: *** Attente des tâches non terminées....

> Dans le fichier inclus depuis

> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic

> _Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10, depuis

> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic

> _Rajce_Plugin_autogen/mocs_compilation.cpp:2:

> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generi

> c_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplugins/gene

> ric/webservices/rajce/rajcecommand.h:32:10: erreur fatale: QXmlQuery : Aucun

> fichier ou dossier de ce type

>    32 | #include <QXmlQuery>

>

>       |          ^~~~~~~~~~~

>

> compilation terminée.

> make[2]: ***

> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> r/build.make:82

> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> : r/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]

> Erreur 1

> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalker.c

> pp:34:10: erreur fatale: QXmlResultItems : Aucun fichier ou dossier de ce

> type 34 | #include <QXmlResultItems>

>

>       |          ^~~~~~~~~~~~~~~~~

>

> compilation terminée.

> make[2]: ***

> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> r/build.make:134

> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.di

> : r/rajcetalker.cpp.o]

> Erreur 1

> make[1]: *** [CMakeFiles/Makefile2:13352 :

> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/

> all] Erreur 2

> make: *** [Makefile:160 : all] Erreur 2

> [gilles@localhost rajce]$

>

> So only 2 classes are used from QtXmlPatterns. The question is : why

> this classes are used to talk with webservice ? Perhaps there is a

> more simplified solution to drop this dependency ?

>

> Best

>

> Gilles Caulier

>

> Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a écrit :

> > Hello,

> > I have looked for some possible alternatives to the QXmlPatters module. I

> > saw that the rajce plugin uses XQuery. Found this

> > http://xqilla.sourceforge.net/HomePage. Maybe we can use this. Let me

> > know what you think.

> >

> > Anjani

> >

> > On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:

> >> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:

> >> > Hi,

> >> >

> >> > Welcome to the game.

> >> >

> >> > If you have questions, we are available to respond in this email

> >> >

> >> > Did you have already played with Qt6 API before?

> >> >

> >> > All point listed in idea page is enough clear for you ?

> >> >

> >> > Best regards

> >> >

> >> > Gilles Caulier

> >> >

> >> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a

> >> > écrit

> >> >

> >> > > Hi Anjani,

> >> > >

> >> > > Welcome, this is the right place, all active digiKam developers read

> >> > > along

> >> > > here and can answer your questions.

> >> > >

> >> > > Maik

> >> > >

> >> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:

> >> > > > Hello people,

> >> > > > I have been contributing to the KDE community for an year and am

> >> > > > also

> >> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in

> >> > > > porting

> >> > > > digikam to Qt6. For starters I've built digikam from source and

> >> > > > would

> >> > > > like to discuss other things. Is it the right place for discussion

> >> > > > or

> >> > > > should I email the mentors directly?

> >> > > >

> >> > > > Thanks

> >> > > > Anjani Kumar

> >> > > >

> >> > > > --------

> >> > > > [1] https://invent.kde.org/anjani

> >>

> >> Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I

> >> am

> >> also assuming that this the first initiative in a KDE project to port to

> >> Qt6. All I am doing so far is look for whats changed and what others are

> >> discussing about it. I've built some examples from the Qt6 docs and that

> >> seems fine to catch up. I have worked with Qt5 Network Manager and some

> >> other modules and that seems like I can port it to Qt6.

> >>

> >> The points are clear. One question I had was with Qt XML Patterns. Seems

> >> like Qt6 doesn't support this and I am not sure how to replace it's

> >> current usages in the code-base.

> >>

> >> I'll ask more once I unroll other points as well.

> >>

> >> Thanks

> >> Anjani

Rajce will be releasing the new REST API sometime during 2021. https://www.rajce.idnes.cz/api. So dropping this dependency will become a lot easier. Also this plugin will need rewriting for the new API. I don't will it be worth the effort to port this plugin temporarily for some time and then again switch to new implementation of the new REST API.


Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
In reply to this post by Gilles Caulier-4
Rajce will be releasing a new REST API sometime during 2021. https://www.rajce.idnes.cz/api 
So the plugin may need a new implementation. I don't know whether working on it temporarily until the API changes
will be worth it or not. 

On Fri, Mar 12, 2021 at 12:41 PM Gilles Caulier <[hidden email]> wrote:
Hi,

xqilla sound like a dead project from source forge. It do not use
cmake and for Windows it only compatible with older MSVC version.

Sound like a bad idea.

Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
i remove the dependency in cmake rules, compilation crying ike that :

[100%] Building CXX object
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.cpp:24:
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:160
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o]
Erreur 1
make[2]: *** Attente des tâches non terminées....
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,
                 depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:82
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]
Erreur 1
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalker.cpp:34:10:
erreur fatale: QXmlResultItems : Aucun fichier ou dossier de ce type
   34 | #include <QXmlResultItems>
      |          ^~~~~~~~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:134
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcetalker.cpp.o]
Erreur 1
make[1]: *** [CMakeFiles/Makefile2:13352 :
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/all]
Erreur 2
make: *** [Makefile:160 : all] Erreur 2
[gilles@localhost rajce]$

So only 2 classes are used from QtXmlPatterns. The question is : why
this classes are used to talk with webservice ? Perhaps there is a
more simplified solution to drop this dependency ?

Best

Gilles Caulier

Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a écrit :
>
> Hello,
> I have looked for some possible alternatives to the QXmlPatters module. I saw that the rajce plugin uses XQuery. Found this http://xqilla.sourceforge.net/HomePage. Maybe we can use this.
> Let me know what you think.
>
> Anjani
>
> On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:
>>
>> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
>> > Hi,
>> >
>> > Welcome to the game.
>> >
>> > If you have questions, we are available to respond in this email
>> >
>> > Did you have already played with Qt6 API before?
>> >
>> > All point listed in idea page is enough clear for you ?
>> >
>> > Best regards
>> >
>> > Gilles Caulier
>> >
>> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
>> :
>> > > Hi Anjani,
>> > >
>> > > Welcome, this is the right place, all active digiKam developers read along
>> > > here and can answer your questions.
>> > >
>> > > Maik
>> > >
>> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
>> > > > Hello people,
>> > > > I have been contributing to the KDE community for an year and am also
>> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
>> > > > digikam to Qt6. For starters I've built digikam from source and would
>> > > > like to discuss other things. Is it the right place for discussion or
>> > > > should I email the mentors directly?
>> > > >
>> > > > Thanks
>> > > > Anjani Kumar
>> > > >
>> > > > --------
>> > > > [1] https://invent.kde.org/anjani
>>
>> Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
>> also assuming that this the first initiative in a KDE project to port to Qt6.
>> All I am doing so far is look for whats changed and what others are discussing
>> about it. I've built some examples from the Qt6 docs and that seems fine to
>> catch up. I have worked with Qt5 Network Manager and some other modules and
>> that seems like I can port it to Qt6.
>>
>> The points are clear. One question I had was with Qt XML Patterns. Seems like
>> Qt6 doesn't support this and I am not sure how to replace it's current usages
>> in the code-base.
>>
>> I'll ask more once I unroll other points as well.
>>
>> Thanks
>> Anjani
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
I was wondering to drop this plugin temporarily for now in the Qt6 port. If the new REST API drops XML for other formats like JSON then the new implementation can be easily written in Qt6.

On Fri, Mar 12, 2021 at 2:20 PM Anjani Kumar <[hidden email]> wrote:
Rajce will be releasing a new REST API sometime during 2021. https://www.rajce.idnes.cz/api 
So the plugin may need a new implementation. I don't know whether working on it temporarily until the API changes
will be worth it or not. 

On Fri, Mar 12, 2021 at 12:41 PM Gilles Caulier <[hidden email]> wrote:
Hi,

xqilla sound like a dead project from source forge. It do not use
cmake and for Windows it only compatible with older MSVC version.

Sound like a bad idea.

Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
i remove the dependency in cmake rules, compilation crying ike that :

[100%] Building CXX object
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.cpp:24:
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:160
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o]
Erreur 1
make[2]: *** Attente des tâches non terminées....
Dans le fichier inclus depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,
                 depuis
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
/home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
   32 | #include <QXmlQuery>
      |          ^~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:82
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]
Erreur 1
/home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalker.cpp:34:10:
erreur fatale: QXmlResultItems : Aucun fichier ou dossier de ce type
   34 | #include <QXmlResultItems>
      |          ^~~~~~~~~~~~~~~~~
compilation terminée.
make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:134
: core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcetalker.cpp.o]
Erreur 1
make[1]: *** [CMakeFiles/Makefile2:13352 :
core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/all]
Erreur 2
make: *** [Makefile:160 : all] Erreur 2
[gilles@localhost rajce]$

So only 2 classes are used from QtXmlPatterns. The question is : why
this classes are used to talk with webservice ? Perhaps there is a
more simplified solution to drop this dependency ?

Best

Gilles Caulier

Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a écrit :
>
> Hello,
> I have looked for some possible alternatives to the QXmlPatters module. I saw that the rajce plugin uses XQuery. Found this http://xqilla.sourceforge.net/HomePage. Maybe we can use this.
> Let me know what you think.
>
> Anjani
>
> On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:
>>
>> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
>> > Hi,
>> >
>> > Welcome to the game.
>> >
>> > If you have questions, we are available to respond in this email
>> >
>> > Did you have already played with Qt6 API before?
>> >
>> > All point listed in idea page is enough clear for you ?
>> >
>> > Best regards
>> >
>> > Gilles Caulier
>> >
>> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
>> :
>> > > Hi Anjani,
>> > >
>> > > Welcome, this is the right place, all active digiKam developers read along
>> > > here and can answer your questions.
>> > >
>> > > Maik
>> > >
>> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
>> > > > Hello people,
>> > > > I have been contributing to the KDE community for an year and am also
>> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
>> > > > digikam to Qt6. For starters I've built digikam from source and would
>> > > > like to discuss other things. Is it the right place for discussion or
>> > > > should I email the mentors directly?
>> > > >
>> > > > Thanks
>> > > > Anjani Kumar
>> > > >
>> > > > --------
>> > > > [1] https://invent.kde.org/anjani
>>
>> Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
>> also assuming that this the first initiative in a KDE project to port to Qt6.
>> All I am doing so far is look for whats changed and what others are discussing
>> about it. I've built some examples from the Qt6 docs and that seems fine to
>> catch up. I have worked with Qt5 Network Manager and some other modules and
>> that seems like I can port it to Qt6.
>>
>> The points are clear. One question I had was with Qt XML Patterns. Seems like
>> Qt6 doesn't support this and I am not sure how to replace it's current usages
>> in the code-base.
>>
>> I'll ask more once I unroll other points as well.
>>
>> Thanks
>> Anjani
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
yes it sound like a suitable way for Qt6 port...

rajce is already optional in cmake.

Gilles Caulier

Le ven. 12 mars 2021 à 09:55, Anjani Kumar <[hidden email]> a écrit :

>
> I was wondering to drop this plugin temporarily for now in the Qt6 port. If the new REST API drops XML for other formats like JSON then the new implementation can be easily written in Qt6.
>
> On Fri, Mar 12, 2021 at 2:20 PM Anjani Kumar <[hidden email]> wrote:
>>
>> Rajce will be releasing a new REST API sometime during 2021. https://www.rajce.idnes.cz/api
>> So the plugin may need a new implementation. I don't know whether working on it temporarily until the API changes
>> will be worth it or not.
>>
>> On Fri, Mar 12, 2021 at 12:41 PM Gilles Caulier <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> xqilla sound like a dead project from source forge. It do not use
>>> cmake and for Windows it only compatible with older MSVC version.
>>>
>>> Sound like a bad idea.
>>>
>>> Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
>>> i remove the dependency in cmake rules, compilation crying ike that :
>>>
>>> [100%] Building CXX object
>>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o
>>> Dans le fichier inclus depuis
>>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.cpp:24:
>>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
>>> erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
>>>    32 | #include <QXmlQuery>
>>>       |          ^~~~~~~~~~~
>>> compilation terminée.
>>> make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:160
>>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcecommand.cpp.o]
>>> Erreur 1
>>> make[2]: *** Attente des tâches non terminées....
>>> Dans le fichier inclus depuis
>>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,
>>>                  depuis
>>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
>>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Generic_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplugins/generic/webservices/rajce/rajcecommand.h:32:10:
>>> erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce type
>>>    32 | #include <QXmlQuery>
>>>       |          ^~~~~~~~~~~
>>> compilation terminée.
>>> make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:82
>>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]
>>> Erreur 1
>>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalker.cpp:34:10:
>>> erreur fatale: QXmlResultItems : Aucun fichier ou dossier de ce type
>>>    34 | #include <QXmlResultItems>
>>>       |          ^~~~~~~~~~~~~~~~~
>>> compilation terminée.
>>> make[2]: *** [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/build.make:134
>>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/rajcetalker.cpp.o]
>>> Erreur 1
>>> make[1]: *** [CMakeFiles/Makefile2:13352 :
>>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.dir/all]
>>> Erreur 2
>>> make: *** [Makefile:160 : all] Erreur 2
>>> [gilles@localhost rajce]$
>>>
>>> So only 2 classes are used from QtXmlPatterns. The question is : why
>>> this classes are used to talk with webservice ? Perhaps there is a
>>> more simplified solution to drop this dependency ?
>>>
>>> Best
>>>
>>> Gilles Caulier
>>>
>>> Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a écrit :
>>> >
>>> > Hello,
>>> > I have looked for some possible alternatives to the QXmlPatters module. I saw that the rajce plugin uses XQuery. Found this http://xqilla.sourceforge.net/HomePage. Maybe we can use this.
>>> > Let me know what you think.
>>> >
>>> > Anjani
>>> >
>>> > On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]> wrote:
>>> >>
>>> >> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
>>> >> > Hi,
>>> >> >
>>> >> > Welcome to the game.
>>> >> >
>>> >> > If you have questions, we are available to respond in this email
>>> >> >
>>> >> > Did you have already played with Qt6 API before?
>>> >> >
>>> >> > All point listed in idea page is enough clear for you ?
>>> >> >
>>> >> > Best regards
>>> >> >
>>> >> > Gilles Caulier
>>> >> >
>>> >> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]> a écrit
>>> >> :
>>> >> > > Hi Anjani,
>>> >> > >
>>> >> > > Welcome, this is the right place, all active digiKam developers read along
>>> >> > > here and can answer your questions.
>>> >> > >
>>> >> > > Maik
>>> >> > >
>>> >> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
>>> >> > > > Hello people,
>>> >> > > > I have been contributing to the KDE community for an year and am also
>>> >> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in porting
>>> >> > > > digikam to Qt6. For starters I've built digikam from source and would
>>> >> > > > like to discuss other things. Is it the right place for discussion or
>>> >> > > > should I email the mentors directly?
>>> >> > > >
>>> >> > > > Thanks
>>> >> > > > Anjani Kumar
>>> >> > > >
>>> >> > > > --------
>>> >> > > > [1] https://invent.kde.org/anjani
>>> >>
>>> >> Thanks for the quick responses. Tbh I haven't played "much" with Qt6. I am
>>> >> also assuming that this the first initiative in a KDE project to port to Qt6.
>>> >> All I am doing so far is look for whats changed and what others are discussing
>>> >> about it. I've built some examples from the Qt6 docs and that seems fine to
>>> >> catch up. I have worked with Qt5 Network Manager and some other modules and
>>> >> that seems like I can port it to Qt6.
>>> >>
>>> >> The points are clear. One question I had was with Qt XML Patterns. Seems like
>>> >> Qt6 doesn't support this and I am not sure how to replace it's current usages
>>> >> in the code-base.
>>> >>
>>> >> I'll ask more once I unroll other points as well.
>>> >>
>>> >> Thanks
>>> >> Anjani
>>> >>
>>> >>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
On Friday, March 12, 2021 3:27:49 PM IST Gilles Caulier wrote:

> yes it sound like a suitable way for Qt6 port...
>
> rajce is already optional in cmake.
>
> Gilles Caulier
>
> Le ven. 12 mars 2021 à 09:55, Anjani Kumar <[hidden email]> a écrit :
> > I was wondering to drop this plugin temporarily for now in the Qt6 port.
> > If the new REST API drops XML for other formats like JSON then the new
> > implementation can be easily written in Qt6.>
> > On Fri, Mar 12, 2021 at 2:20 PM Anjani Kumar <[hidden email]> wrote:
> >> Rajce will be releasing a new REST API sometime during 2021.
> >> https://www.rajce.idnes.cz/api So the plugin may need a new
> >> implementation. I don't know whether working on it temporarily until the
> >> API changes will be worth it or not.
> >>
> >> On Fri, Mar 12, 2021 at 12:41 PM Gilles Caulier
<[hidden email]> wrote:

> >>> Hi,
> >>>
> >>> xqilla sound like a dead project from source forge. It do not use
> >>> cmake and for Windows it only compatible with older MSVC version.
> >>>
> >>> Sound like a bad idea.
> >>>
> >>> Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
> >>> i remove the dependency in cmake rules, compilation crying ike that :
> >>>
> >>> [100%] Building CXX object
> >>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.
> >>> dir/rajcecommand.cpp.o Dans le fichier inclus depuis
> >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecomm
> >>> and.cpp:24:
> >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecom
> >>> mand.h:32:10: erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce
> >>> type
> >>>
> >>>    32 | #include <QXmlQuery>
> >>>    
> >>>       |          ^~~~~~~~~~~
> >>>
> >>> compilation terminée.
> >>> make[2]: ***
> >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> n.dir/build.make:160>>>
> >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> : n.dir/rajcecommand.cpp.o]>>>
> >>> Erreur 1
> >>> make[2]: *** Attente des tâches non terminées....
> >>> Dans le fichier inclus depuis
> >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Gen
> >>> eric_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,>>>
> >>>                  depuis
> >>>
> >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Gen
> >>> eric_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
> >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Ge
> >>> neric_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplug
> >>> ins/generic/webservices/rajce/rajcecommand.h:32:10: erreur fatale:
> >>> QXmlQuery : Aucun fichier ou dossier de ce type
> >>>
> >>>    32 | #include <QXmlQuery>
> >>>    
> >>>       |          ^~~~~~~~~~~
> >>>
> >>> compilation terminée.
> >>> make[2]: ***
> >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> n.dir/build.make:82>>>
> >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> : n.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]>>>
> >>> Erreur 1
> >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalk
> >>> er.cpp:34:10: erreur fatale: QXmlResultItems : Aucun fichier ou dossier
> >>> de ce type>>>
> >>>    34 | #include <QXmlResultItems>
> >>>    
> >>>       |          ^~~~~~~~~~~~~~~~~
> >>>
> >>> compilation terminée.
> >>> make[2]: ***
> >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> n.dir/build.make:134>>>
> >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> >>> : n.dir/rajcetalker.cpp.o]>>>
> >>> Erreur 1
> >>> make[1]: *** [CMakeFiles/Makefile2:13352 :
> >>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.
> >>> dir/all] Erreur 2
> >>> make: *** [Makefile:160 : all] Erreur 2
> >>> [gilles@localhost rajce]$
> >>>
> >>> So only 2 classes are used from QtXmlPatterns. The question is : why
> >>> this classes are used to talk with webservice ? Perhaps there is a
> >>> more simplified solution to drop this dependency ?
> >>>
> >>> Best
> >>>
> >>> Gilles Caulier
> >>>
> >>> Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a
écrit :
> >>> > Hello,
> >>> > I have looked for some possible alternatives to the QXmlPatters
> >>> > module. I saw that the rajce plugin uses XQuery. Found this
> >>> > http://xqilla.sourceforge.net/HomePage. Maybe we can use this. Let me
> >>> > know what you think.
> >>> >
> >>> > Anjani
> >>> >
> >>> > On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]>
wrote:

> >>> >> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
> >>> >> > Hi,
> >>> >> >
> >>> >> > Welcome to the game.
> >>> >> >
> >>> >> > If you have questions, we are available to respond in this email
> >>> >> >
> >>> >> > Did you have already played with Qt6 API before?
> >>> >> >
> >>> >> > All point listed in idea page is enough clear for you ?
> >>> >> >
> >>> >> > Best regards
> >>> >> >
> >>> >> > Gilles Caulier
> >>> >> >
> >>> >> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]>
> >>> >> > a écrit
> >>> >> >
> >>> >> > > Hi Anjani,
> >>> >> > >
> >>> >> > > Welcome, this is the right place, all active digiKam developers
> >>> >> > > read along
> >>> >> > > here and can answer your questions.
> >>> >> > >
> >>> >> > > Maik
> >>> >> > >
> >>> >> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
> >>> >> > > > Hello people,
> >>> >> > > > I have been contributing to the KDE community for an year and
> >>> >> > > > am also
> >>> >> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in
> >>> >> > > > porting
> >>> >> > > > digikam to Qt6. For starters I've built digikam from source and
> >>> >> > > > would
> >>> >> > > > like to discuss other things. Is it the right place for
> >>> >> > > > discussion or
> >>> >> > > > should I email the mentors directly?
> >>> >> > > >
> >>> >> > > > Thanks
> >>> >> > > > Anjani Kumar
> >>> >> > > >
> >>> >> > > > --------
> >>> >> > > > [1] https://invent.kde.org/anjani
> >>> >>
> >>> >> Thanks for the quick responses. Tbh I haven't played "much" with Qt6.
> >>> >> I am
> >>> >> also assuming that this the first initiative in a KDE project to port
> >>> >> to Qt6. All I am doing so far is look for whats changed and what
> >>> >> others are discussing about it. I've built some examples from the
> >>> >> Qt6 docs and that seems fine to catch up. I have worked with Qt5
> >>> >> Network Manager and some other modules and that seems like I can
> >>> >> port it to Qt6.
> >>> >>
> >>> >> The points are clear. One question I had was with Qt XML Patterns.
> >>> >> Seems like Qt6 doesn't support this and I am not sure how to replace
> >>> >> it's current usages in the code-base.
> >>> >>
> >>> >> I'll ask more once I unroll other points as well.
> >>> >>
> >>> >> Thanks
> >>> >> Anjani
I am staring to write the proposal for Qt6 port. I have some general ideas,
hope it goes well. The first draft should be "okayish". Is there anything else
would you like to see in a proposal? Or something I should take care of. Also
what are your final expectations with the AppImage builder?

Thanks
Anjani


Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
Hi,

In your paper, do not forget the random generator from DImg framework
to port to pure Qt5::QRandomGenerator. This include to drop boost
dependency in this class :

https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dimg/filters/randomnumbergenerator.h

The AppImage is a very important bundle. All is build using bash scripts here :

https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/appimage

The current Qt used with AppImage in 5.14.2. We expect to upgrade to
5.15.2. The linux Mageia used to build AppImage must be also upgraded
from 6 to 7.1 (Qt 5.15 do not compile with Mageia 6).

With the APppImage the Qt ICU support is not enabled as it do not work
at run time. I try to fix it without success. Migrating to 5.15.2 can
fix the problem.

In the proposal we need a clear description of the project with all
steps/stages/plans/solutions/tests listed. This is very important to
be selected.

Best

Gilles Caulier

Le jeu. 25 mars 2021 à 13:44, Anjani Kumar <[hidden email]> a écrit :

>
> On Friday, March 12, 2021 3:27:49 PM IST Gilles Caulier wrote:
> > yes it sound like a suitable way for Qt6 port...
> >
> > rajce is already optional in cmake.
> >
> > Gilles Caulier
> >
> > Le ven. 12 mars 2021 à 09:55, Anjani Kumar <[hidden email]> a écrit :
> > > I was wondering to drop this plugin temporarily for now in the Qt6 port.
> > > If the new REST API drops XML for other formats like JSON then the new
> > > implementation can be easily written in Qt6.>
> > > On Fri, Mar 12, 2021 at 2:20 PM Anjani Kumar <[hidden email]> wrote:
> > >> Rajce will be releasing a new REST API sometime during 2021.
> > >> https://www.rajce.idnes.cz/api So the plugin may need a new
> > >> implementation. I don't know whether working on it temporarily until the
> > >> API changes will be worth it or not.
> > >>
> > >> On Fri, Mar 12, 2021 at 12:41 PM Gilles Caulier
> <[hidden email]> wrote:
> > >>> Hi,
> > >>>
> > >>> xqilla sound like a dead project from source forge. It do not use
> > >>> cmake and for Windows it only compatible with older MSVC version.
> > >>>
> > >>> Sound like a bad idea.
> > >>>
> > >>> Yes, Rajce webservice plugin is the only code using QtXmlPatterns. If
> > >>> i remove the dependency in cmake rules, compilation crying ike that :
> > >>>
> > >>> [100%] Building CXX object
> > >>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.
> > >>> dir/rajcecommand.cpp.o Dans le fichier inclus depuis
> > >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecomm
> > >>> and.cpp:24:
> > >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcecom
> > >>> mand.h:32:10: erreur fatale: QXmlQuery : Aucun fichier ou dossier de ce
> > >>> type
> > >>>
> > >>>    32 | #include <QXmlQuery>
> > >>>
> > >>>       |          ^~~~~~~~~~~
> > >>>
> > >>> compilation terminée.
> > >>> make[2]: ***
> > >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> n.dir/build.make:160>>>
> > >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> : n.dir/rajcecommand.cpp.o]>>>
> > >>> Erreur 1
> > >>> make[2]: *** Attente des tâches non terminées....
> > >>> Dans le fichier inclus depuis
> > >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Gen
> > >>> eric_Rajce_Plugin_autogen/EWIEGA46WW/moc_rajcecommand.cpp:10,>>>
> > >>>                  depuis
> > >>>
> > >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Gen
> > >>> eric_Rajce_Plugin_autogen/mocs_compilation.cpp:2:
> > >>> /home/gilles/Devel/7.x/build/core/dplugins/generic/webservices/rajce/Ge
> > >>> neric_Rajce_Plugin_autogen/EWIEGA46WW/../../../../../../../../core/dplug
> > >>> ins/generic/webservices/rajce/rajcecommand.h:32:10: erreur fatale:
> > >>> QXmlQuery : Aucun fichier ou dossier de ce type
> > >>>
> > >>>    32 | #include <QXmlQuery>
> > >>>
> > >>>       |          ^~~~~~~~~~~
> > >>>
> > >>> compilation terminée.
> > >>> make[2]: ***
> > >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> n.dir/build.make:82>>>
> > >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> : n.dir/Generic_Rajce_Plugin_autogen/mocs_compilation.cpp.o]>>>
> > >>> Erreur 1
> > >>> /home/gilles/Devel/7.x/core/dplugins/generic/webservices/rajce/rajcetalk
> > >>> er.cpp:34:10: erreur fatale: QXmlResultItems : Aucun fichier ou dossier
> > >>> de ce type>>>
> > >>>    34 | #include <QXmlResultItems>
> > >>>
> > >>>       |          ^~~~~~~~~~~~~~~~~
> > >>>
> > >>> compilation terminée.
> > >>> make[2]: ***
> > >>> [core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> n.dir/build.make:134>>>
> > >>> : core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugi
> > >>> : n.dir/rajcetalker.cpp.o]>>>
> > >>> Erreur 1
> > >>> make[1]: *** [CMakeFiles/Makefile2:13352 :
> > >>> core/dplugins/generic/webservices/rajce/CMakeFiles/Generic_Rajce_Plugin.
> > >>> dir/all] Erreur 2
> > >>> make: *** [Makefile:160 : all] Erreur 2
> > >>> [gilles@localhost rajce]$
> > >>>
> > >>> So only 2 classes are used from QtXmlPatterns. The question is : why
> > >>> this classes are used to talk with webservice ? Perhaps there is a
> > >>> more simplified solution to drop this dependency ?
> > >>>
> > >>> Best
> > >>>
> > >>> Gilles Caulier
> > >>>
> > >>> Le ven. 12 mars 2021 à 07:17, Anjani Kumar <[hidden email]> a
> écrit :
> > >>> > Hello,
> > >>> > I have looked for some possible alternatives to the QXmlPatters
> > >>> > module. I saw that the rajce plugin uses XQuery. Found this
> > >>> > http://xqilla.sourceforge.net/HomePage. Maybe we can use this. Let me
> > >>> > know what you think.
> > >>> >
> > >>> > Anjani
> > >>> >
> > >>> > On Wed, Mar 10, 2021 at 11:01 PM Anjani Kumar <[hidden email]>
> wrote:
> > >>> >> On Wednesday, March 10, 2021 3:11:40 PM IST Gilles Caulier wrote:
> > >>> >> > Hi,
> > >>> >> >
> > >>> >> > Welcome to the game.
> > >>> >> >
> > >>> >> > If you have questions, we are available to respond in this email
> > >>> >> >
> > >>> >> > Did you have already played with Qt6 API before?
> > >>> >> >
> > >>> >> > All point listed in idea page is enough clear for you ?
> > >>> >> >
> > >>> >> > Best regards
> > >>> >> >
> > >>> >> > Gilles Caulier
> > >>> >> >
> > >>> >> > Le mer. 10 mars 2021 à 08:14, Maik Qualmann <[hidden email]>
> > >>> >> > a écrit
> > >>> >> >
> > >>> >> > > Hi Anjani,
> > >>> >> > >
> > >>> >> > > Welcome, this is the right place, all active digiKam developers
> > >>> >> > > read along
> > >>> >> > > here and can answer your questions.
> > >>> >> > >
> > >>> >> > > Maik
> > >>> >> > >
> > >>> >> > > Am Mittwoch, 10. März 2021, 07:55:30 CET schrieb Anjani Kumar:
> > >>> >> > > > Hello people,
> > >>> >> > > > I have been contributing to the KDE community for an year and
> > >>> >> > > > am also
> > >>> >> > > > participating in SoK 2021(my KDE Invent[1]). I am interested in
> > >>> >> > > > porting
> > >>> >> > > > digikam to Qt6. For starters I've built digikam from source and
> > >>> >> > > > would
> > >>> >> > > > like to discuss other things. Is it the right place for
> > >>> >> > > > discussion or
> > >>> >> > > > should I email the mentors directly?
> > >>> >> > > >
> > >>> >> > > > Thanks
> > >>> >> > > > Anjani Kumar
> > >>> >> > > >
> > >>> >> > > > --------
> > >>> >> > > > [1] https://invent.kde.org/anjani
> > >>> >>
> > >>> >> Thanks for the quick responses. Tbh I haven't played "much" with Qt6.
> > >>> >> I am
> > >>> >> also assuming that this the first initiative in a KDE project to port
> > >>> >> to Qt6. All I am doing so far is look for whats changed and what
> > >>> >> others are discussing about it. I've built some examples from the
> > >>> >> Qt6 docs and that seems fine to catch up. I have worked with Qt5
> > >>> >> Network Manager and some other modules and that seems like I can
> > >>> >> port it to Qt6.
> > >>> >>
> > >>> >> The points are clear. One question I had was with Qt XML Patterns.
> > >>> >> Seems like Qt6 doesn't support this and I am not sure how to replace
> > >>> >> it's current usages in the code-base.
> > >>> >>
> > >>> >> I'll ask more once I unroll other points as well.
> > >>> >>
> > >>> >> Thanks
> > >>> >> Anjani
> I am staring to write the proposal for Qt6 port. I have some general ideas,
> hope it goes well. The first draft should be "okayish". Is there anything else
> would you like to see in a proposal? Or something I should take care of. Also
> what are your final expectations with the AppImage builder?
>
> Thanks
> Anjani
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
> In your paper, do not forget the random generator from DImg framework
> to port to pure Qt5::QRandomGenerator. This include to drop boost
> dependency in this class
Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
am I missing something?



Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
Qt§ i want mean, but as this class is the same in Qt5, porting to pure
Qt5 == Qt6

Gilles Caulier

Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :

>
> On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
> > In your paper, do not forget the random generator from DImg framework
> > to port to pure Qt5::QRandomGenerator. This include to drop boost
> > dependency in this class
> Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
> am I missing something?
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
Hello,
I am having some trouble understanding the dimg framework. I know that https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dimg is to be ported to use 16 bit colors depth. It seems to me that the current implementation already handles this. So I have to port all the uses of changed/deprecated classes and uses in this framework right?

Sorry if I sound somewhat off

Thanks
Anjani

On Thu, Mar 25, 2021 at 10:38 PM Gilles Caulier <[hidden email]> wrote:
Qt§ i want mean, but as this class is the same in Qt5, porting to pure
Qt5 == Qt6

Gilles Caulier

Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :
>
> On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
> > In your paper, do not forget the random generator from DImg framework
> > to port to pure Qt5::QRandomGenerator. This include to drop boost
> > dependency in this class
> Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
> am I missing something?
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
yes DImg support 16 bits colors/depth since more than 15 years now,
well before Gimp and Qt framework.

And yes the deprecated classed from Qt5.15.2 need to be ported to new Qt6 API

Gilles Caulier

Le mer. 31 mars 2021 à 18:12, Anjani Kumar <[hidden email]> a écrit :

>
> Hello,
> I am having some trouble understanding the dimg framework. I know that https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dimg is to be ported to use 16 bit colors depth. It seems to me that the current implementation already handles this. So I have to port all the uses of changed/deprecated classes and uses in this framework right?
>
> Sorry if I sound somewhat off
>
> Thanks
> Anjani
>
> On Thu, Mar 25, 2021 at 10:38 PM Gilles Caulier <[hidden email]> wrote:
>>
>> Qt§ i want mean, but as this class is the same in Qt5, porting to pure
>> Qt5 == Qt6
>>
>> Gilles Caulier
>>
>> Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :
>> >
>> > On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
>> > > In your paper, do not forget the random generator from DImg framework
>> > > to port to pure Qt5::QRandomGenerator. This include to drop boost
>> > > dependency in this class
>> > Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
>> > am I missing something?
>> >
>> >
>> >
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
In the proposal should i mention every file which needs to be changed?
I built digikam using clazy and that was kind of verbose.


On Wed, Mar 31, 2021, 10:48 PM Gilles Caulier <[hidden email]> wrote:
yes DImg support 16 bits colors/depth since more than 15 years now,
well before Gimp and Qt framework.

And yes the deprecated classed from Qt5.15.2 need to be ported to new Qt6 API

Gilles Caulier

Le mer. 31 mars 2021 à 18:12, Anjani Kumar <[hidden email]> a écrit :
>
> Hello,
> I am having some trouble understanding the dimg framework. I know that https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dimg is to be ported to use 16 bit colors depth. It seems to me that the current implementation already handles this. So I have to port all the uses of changed/deprecated classes and uses in this framework right?
>
> Sorry if I sound somewhat off
>
> Thanks
> Anjani
>
> On Thu, Mar 25, 2021 at 10:38 PM Gilles Caulier <[hidden email]> wrote:
>>
>> Qt§ i want mean, but as this class is the same in Qt5, porting to pure
>> Qt5 == Qt6
>>
>> Gilles Caulier
>>
>> Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :
>> >
>> > On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
>> > > In your paper, do not forget the random generator from DImg framework
>> > > to port to pure Qt5::QRandomGenerator. This include to drop boost
>> > > dependency in this class
>> > Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
>> > am I missing something?
>> >
>> >
>> >
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4
yes, a global view of changes is important to estimate working hours.

Gilles Caulier

Le mer. 31 mars 2021 à 19:20, Anjani Kumar <[hidden email]> a écrit :

>
> In the proposal should i mention every file which needs to be changed?
> I built digikam using clazy and that was kind of verbose.
>
>
> On Wed, Mar 31, 2021, 10:48 PM Gilles Caulier <[hidden email]> wrote:
>>
>> yes DImg support 16 bits colors/depth since more than 15 years now,
>> well before Gimp and Qt framework.
>>
>> And yes the deprecated classed from Qt5.15.2 need to be ported to new Qt6 API
>>
>> Gilles Caulier
>>
>> Le mer. 31 mars 2021 à 18:12, Anjani Kumar <[hidden email]> a écrit :
>> >
>> > Hello,
>> > I am having some trouble understanding the dimg framework. I know that https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dimg is to be ported to use 16 bit colors depth. It seems to me that the current implementation already handles this. So I have to port all the uses of changed/deprecated classes and uses in this framework right?
>> >
>> > Sorry if I sound somewhat off
>> >
>> > Thanks
>> > Anjani
>> >
>> > On Thu, Mar 25, 2021 at 10:38 PM Gilles Caulier <[hidden email]> wrote:
>> >>
>> >> Qt§ i want mean, but as this class is the same in Qt5, porting to pure
>> >> Qt5 == Qt6
>> >>
>> >> Gilles Caulier
>> >>
>> >> Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :
>> >> >
>> >> > On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
>> >> > > In your paper, do not forget the random generator from DImg framework
>> >> > > to port to pure Qt5::QRandomGenerator. This include to drop boost
>> >> > > dependency in this class
>> >> > Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
>> >> > am I missing something?
>> >> >
>> >> >
>> >> >
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Anjani Kumar
I have a complete list of files that need to be changed in order to compile with Qt6. I used clazy for this.  However i need to know if i should summarize the report by organizing them in modules or  I should present a complete list  for that, because the file list is huge.

Also what are your thoughts on using clazy to get the suggested changes and apply them and then build and do regression tests on the code?

Thanks
Anjani

On Mar 31 2021, at 10:54 pm, Gilles Caulier <[hidden email]> wrote:
yes, a global view of changes is important to estimate working hours.

Gilles Caulier

Le mer. 31 mars 2021 à 19:20, Anjani Kumar <[hidden email]> a écrit :
>
> In the proposal should i mention every file which needs to be changed?
> I built digikam using clazy and that was kind of verbose.
>
>
> On Wed, Mar 31, 2021, 10:48 PM Gilles Caulier <[hidden email]> wrote:
>>
>> yes DImg support 16 bits colors/depth since more than 15 years now,
>> well before Gimp and Qt framework.
>>
>> And yes the deprecated classed from Qt5.15.2 need to be ported to new Qt6 API
>>
>> Gilles Caulier
>>
>> Le mer. 31 mars 2021 à 18:12, Anjani Kumar <[hidden email]> a écrit :
>> >
>> > Hello,
>> > I am having some trouble understanding the dimg framework. I know that https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dimg is to be ported to use 16 bit colors depth. It seems to me that the current implementation already handles this. So I have to port all the uses of changed/deprecated classes and uses in this framework right?
>> >
>> > Sorry if I sound somewhat off
>> >
>> > Thanks
>> > Anjani
>> >
>> > On Thu, Mar 25, 2021 at 10:38 PM Gilles Caulier <[hidden email]> wrote:
>> >>
>> >> Qt§ i want mean, but as this class is the same in Qt5, porting to pure
>> >> Qt5 == Qt6
>> >>
>> >> Gilles Caulier
>> >>
>> >> Le jeu. 25 mars 2021 à 14:20, Anjani Kumar <[hidden email]> a écrit :
>> >> >
>> >> > On Thursday, March 25, 2021 6:29:48 PM IST Gilles Caulier wrote:
>> >> > > In your paper, do not forget the random generator from DImg framework
>> >> > > to port to pure Qt5::QRandomGenerator. This include to drop boost
>> >> > > dependency in this class
>> >> > Qt6 also has QRandomGenerator. Since we are porting to Qt6 why use Qt5 here or
>> >> > am I missing something?
>> >> >
>> >> >
>> >> >
Sent from Mailspring
Reply | Threaded
Open this post in threaded view
|

Re: Digikam GSoC 2021

Gilles Caulier-4


Le jeu. 1 avr. 2021 à 20:50, Anjani Kumar <[hidden email]> a écrit :
I have a complete list of files that need to be changed in order to compile with Qt6. I used clazy for this.  However i need to know if i should summarize the report by organizing them in modules or  I should present a complete list  for that, because the file list is huge.

Also what are your thoughts on using clazy to get the suggested changes and apply them and then build and do regression tests on the code?

I'm not sure if clazy is really the best static analyzer to use at first for this project.

After all the warnings from the compiler using Qt5.15.2 is a good start. Qt includes plenty of deprecated warnings to guide developers in the porting stage.

Clazy must be a good helper later, especially for optimization purposes.

Also the main porting stages must be prior. Classes which are removed in Qt6 need to be treated first, even if a qt5 compatibility helper framework exists in Qt6. Considering that compatibility frameworks do not exist can be a good choice to list which classes and codes need to be ported first.

Best

Gilles Caulier

1234