Shubham's Blog

My GSoC 2025 Journey - Part 2

Hello again!

This is the second part of my GSoC journey with the KDE community.
In my previous blog, I introduced my project “Modernize Account Management with QML” and shared how I worked on building a shared infrastructure for Akonadi and ported the Knut configuration dialog to QML.

Now, I’m excited to share the final part of my work and wrap up this amazing journey.


Work Accomplished

Since my last update, I successfully ported the configuration dialogs for singlefileresource-based resources to QML, marking a significant milestone in modernizing account management.

The new architecture leverages the shared infrastructure I built earlier (QuickAgentConfigurationBase) and consists of two main parts:

  1. Common QML Component (SingleFileConfig.qml):

    • A reusable, Kirigami-based form component.
    • Handles universal settings: file path selection, display name, read-only mode, monitoring, and periodic updates.
    • Eliminates code duplication and ensures a consistent look and feel.
  2. Resource-Specific QML Wrappers:

    • Each resource (Ical, Vcard, Mbox) now has its own Main.qml.
    • Uses a TabBar layout to organize common settings from SingleFileConfig and resource-specific tabs (like compaction for Mbox or activities configuration).

Resources Ported


Lessons Learned


Looking Ahead

While the main scope of my project is complete, there’s still plenty of room to grow.
I plan to continue contributing to KDE by porting more configuration dialogs to QML as time permits.

I’m deeply grateful to my mentors — Carl Schwan, Claudio Cambra, and Aakarsh MJ — and every KDE developer for their constant guidance, patience, and support throughout this journey. Thank you so much!