GSoC/2025/StatusReports/ShubhamShinde
Appearance
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
- https://invent.kde.org/pim/kdepim-runtime/-/merge_requests/263
- https://invent.kde.org/pim/akonadi/-/merge_requests/263
- https://invent.kde.org/pim/pimcommon/-/merge_requests/52