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 :-

  • QMap
  • QProcess
  • QHash
  • QMatrix
  • QLabel
  • QString
  • QFlag
  • QTimeLine
  • QTabletEvent
  • QWheelEvent
  • QButtonGroup
  • QPrinter
  • Some namespace changes like endl to Qt::endl

These patches can be found at my work branch

And these remain which I shall fix this week:

  • QSet
  • qrand() and qsrand()

Regression testing is important for my project. I patched an important class in the core of digiKam that was used by all filters in the image editor (The MR). This had a risk of introducing regression to filters. I wrote a new unit test to verify it did not.

In a nutshell, there are currently 6693 lines of build warnings on master. See this here

With the patches on my branch these warnings have reduced to 1830 lines! That’s a reduction of about 73%. See this here.

While this is not the best way to track progress but it still gives rough estimate. We now have much cleaner build outputs. This week, it will get smaller.

Thanks for reading!