Roshani's KDE & GSoC Blog

Week 3 — Bug Fixes and Import/Export Feature

This week, I worked on two things: a bug fix that was created during the ActionCollection port and starting the import/export feature.

Bug fix: Lock/Unlock action text:

A bug was created after !29 was merged. When a wallet was locked, the placeholder message displayed a "Lock" button instead of "Unlock". The issue came from ActionData using static text, while the lock action needs to reflect the wallet's current state. The fix was easy — switch between the lock and unlock ActionData dynamically based on the locked property.

AC.ActionCollection.action: locked ? "unlock" : "lock"

This was submitted as !31 and merged.

Configure Shortcuts menu item:

I added a "Configure Shortcuts…" menu item to the globalDrawer(!32), using AC.StandardActionData.KeyBindings to attach to the action automatically created by ActionCollectionManager.

Import/Export feature: I started implementing the import/export feature. The format is KWalletManager-compatible XML, so users can migrate between KWalletManager and KeepSecret. The implementation adds: -ImportExportManager C++ class with exportToFile() and importFromFile() methods. -Export… and Import… menu items in the globalDrawer. -File picker dialogs using QtQuick.Dialogs.

The merge request !33 is open and under review.