Jump to content

GSoC/2025/StatusReports/ShubhamShinde

From KDE Community Wiki

Merkuro – Modernize Account Management with QML

This project focuses on creating a shared infrastructure in Akonadi that supports both QWidget and QML-based configuration dialogs and after that porting SingleFileResource-based config dialogs to QML.

Mentors

Carl Schwan - Claudio Cambra - Aakarsh MJ

Work report

Week 1:

  • Implemented AbstractAgentConfiguration as a common base class.
  • Updated existing AgentConfigurationBase to inherit from the abstract base, maintaining support for QWidget-based dialogs.

Week 2:

  • Implemented QuickAgentConfigurationBase for QML-based configuration.
  • Created QuickAgentConfigurationFactoryBase to instantiate QML configuration dialogs dynamically.

Week 3:

  • Integrated a shared QML engine within Akonadi to support shared engine.
  • Tested the infrastructure using existing QWidget-based dialogs.
  • Performed miscellaneous fixes and cleanup during integration.

Week 4:

  • Ported the Knut configuration dialog to QML.
  • Started work on porting SingleFileResource-based configuration dialogs to QML.

Week 5:

  • Worked on porting the SingleFileConfig dialog to QML and removed QWidgets UI.
  • Ensured compatibility and correctness with refined UI & interactions.

Week 6:

  • Ported the ICal resource configuration dialog to QML.
  • Verified functionality with resource settings and fixed UI alignment issues.

Week 7:

  • Ported the VCard resource configuration dialog to QML.
  • Focused on testing and to ensure proper handling of contact resources.

Week 8:

  • Started porting the MBox resource configuration dialog to QML.
  • Introduced support for Compact Page and aligned it with the old UI design.

Week 9:

  • Completed the MBox configuration port, adding support for Lock Method Page and their features.
  • Conducted testing to validate stability across UI.

Week 10:

  • Implemented an Activities Page equivalent in QML, which is in the pimcommon repository.
  • Focused on seamless integration and UI consistency across resources.

Week 11:

  • Dedicated efforts to fixing common issues and bugs reported during testing.
  • Improved resource stability and addressed UI bugs in multiple dialogs.

Week 12:

  • Worked on addressing Akonadi MR reviews, including changes to load QML via `loadFromModule`.
  • Fixed documentation, polished details, and performed overall testing and final fixes.

Merge Requests


Links to Blogs