Hi there 👋

My name is Anjani, working at SentinelOne Windows security. Previously have worked on various KDE projects.

digiKam: GSoC 2021 Week 9-10

We are here at the end of the coding period. I spent the last two weeks doing the last few remaining tasks and some more regression fixing. Regression again with QRegularExpression This time the regression was in core/utilities/import/views/cameranamehelper.cpp. I used the same strategy to patch this class as I had used with others. The cameranamehelper_utest mysteriously failed. Upon debugging I narrowed it down to the line static QRegExp REGEXP_MODES( QLatin1String("^(ptp|normal|mtp)(\\s+mode)?$"), Qt::CaseInsensitive); which was ported to ...

August 15, 2021 · 2 min · Me

digiKam: GSoC 2021 Week 8

Last week’s MR Port QRegExp in advancedrename tool had introduced a regression which was caught by the test advancedrename_utest. About QRegularExpression QRegularExpression implements Perl-compatible regular expressions. It should be kept in mind that QRegularExpression != QRegExp. There are cases where a pattern can silently fail with QRegularExpression but pass with QRegExp. One of the key differences between these classes is that the result of the match of QRegExp is contained the object itself whereas in QRegularExpression, the result is contained in another object of class QRegularExpressionMatch. This was an important point which I forgot to pay attention to while porting advancedrename tool. ...

August 8, 2021 · 4 min · Me

digiKam: GSoC 2021 Week 7

Issue with KF5 From the last few weeks, I’ve been working on the build system. Last week, I ported the CMake files that can use both Qt 5 and 6 versions. I wanted to build digiKam with Qt6. All external dependency issues had been taken care of by now and only one dependency remained that in-turn depended on Qt5, KDE Frameworks 5. This week I accelerated my attempts to build KF5 components that were needed by digiKam to build with Qt6. I successfully built KConfig and KI18n with Qt6 locally. If I had more time in my hands, I would have certainly built all required components. We decided that porting Qt Core5Compat module code is more important to be completed in GSoC first and we can carry on building KF5 after GSoC as well. ...

August 1, 2021 · 2 min · Me

digiKam: GSoC 2021 Week 6

Hi, the first evaluation is complete. My mentors said that they have “enjoyed” my work lately so that was good to hear. Previously, we had fully ported digiKam to Qt 5.15.2. So now it was time to introduce Qt6. First steps were to identify the required changes in the build system, checking and verifying dependencies. Porting the build system digiKam has a huge codebase and thus, a huge build system which is very finely tuned. So, it took some to time to fully study the build system and identify the required changes to it. ...

July 25, 2021 · 2 min · Me

digiKam: GSoC 2021 Week 4-5

Hi all! I wasn’t able to write last week. So this post has news from last 2 weeks. digiKam is now fully ported to Qt 5.15 (which is a prerequisite for Qt6). Merge requests that were under review have been merged, namely: Remove Qt X11 Extras module Remove deprecated QMutex usages Replace removed QDateTime constructor with new function Port dbjobsthread.cpp to not use deprecated const_iterator “+” operator Isolate rajce plugin These were all part of porting to Qt5.15. ...

July 11, 2021 · 3 min · Me

digiKam: GSoC 2021 Week 3

Hi! This week we fixed a lot more deprecated code. We are now very close to try building digiKam with Qt6 for the first time. Last week’s QSet warnings merge request was merged. Improving Random Number Generation in digiKam Many image filters in digiKam rely on random number generation. Some require high-quality non-deterministic random numbers while the others can work with pseudo random number generators seeded with system time. There were two ways in digiKam :- ...

June 27, 2021 · 3 min · Me

digiKam: GSoC 2021 Week 2

Hi! Another week has just passed and I have new things to share. This week was more maintenance work and getting ready before we try to build digiKam with Qt6. In the last week, I ported a lot of code to Qt 5.15, however we need to maintain compatibility with at least Qt 5.12 LTS. I wrote several pre-processor checks and macros to maintain the required compatibilty. These are some commits: ...

June 20, 2021 · 2 min · Me

digiKam: GSoC 2021 Week 1

So, the first week of coding period has ended. It was exciting and full of challenges. I am happy that I am on the right track and making progress as I’ve promised. This is a small summary of the work done this week. Getting rid of compiler warnings digiKam has a really huge codebase. It is actively developed but a lot of code is old which contains deprecated Qt code which must be fixed before introducing Qt6. These are the classes which had issues in digiKam which are now fixed :- ...

June 14, 2021 · 2 min · Me

digiKam: GSoC 2021 Community Bonding

Hello dear reader, I hope you are safe and sound. I am Anjani Kumar, an Information Technology student from India. This year in Google Summer of Code, my proposal to Port digiKam to Qt6 on Linux has been selected by KDE Community. Today is the last day of community bonding period and from tomorrow the real work starts. Thanks to mentors Gilles Caulier, Maik Qualmann and Thanh Trung Dinh for helping me prepare for the work this summer. ...

June 6, 2021 · 2 min · Me

Season of KDE 2021

Hello people! I’m Anjani, an IT student from India. I’ve been contributing to KDE since last year. Thanks to the KDE community to have an engaging program like SoK. I got to know about this last year but couldn’t participate. Now I’m here. I’ll be working under the mentorship of Han Young on implementing a D-Bus daemon that will fetch/provide weather data using KWeatherCore to KWeather as well as other applications on Plasma mobile who would like to have weather data for some purpose. ...

January 12, 2021 · 1 min · Me