The file picker should be Kirigami-based.
@jbbgameich and @lnj worked on this already (based on the xdg-desktop-portal-kde):
https://invent.kde.org/jbbgameich/xdg-desktop-portal-kirigami
The file picker should be Kirigami-based.
@jbbgameich and @lnj worked on this already (based on the xdg-desktop-portal-kde):
https://invent.kde.org/jbbgameich/xdg-desktop-portal-kirigami
Other approach (using qpa): https://invent.kde.org/lnj/plasma-integration/-/tree/feature/mobile-kirigami-ui
(I prefer xdg portals, because I don't want to maintain this twice for sandboxed and non-sandboxed apps)
@davidedmundson I'm mentioning you here because I think you had the idea to base the PlaMo file dialog on xdg-desktop-portal. I have been working on this approach for some time. Now I wonder where to best put the code. I began by forking xdg-desktop-portal-kde, but it would be probably better to integrate it into the exisiting portal.
My current approach is to put the QML part into kirigami-addons in D29168: WIP: Import filepicker from xdg-desktop-portal-kirigami and fix various issues, as other people where interested in using it in their applications. xdg-desktop-portal-kde would then choose the correct file dialog to open based on either environment variables or kirigami tablet mode. A thin KFileWidget like c++ wrapper around the QML would have to be added to xdg-desktop-portal for that. What do you think?
@davidedmundson @jbbgameich alternate idea is to simply put the QML file dialog in the plasma-integration, AFAIU, portal ultimately ends up using the dialog in plasma-integration?
No, the portal uses the KFileWidget directly. After posting this I also had the idea of implementing this in KIO directly.
@jgrulich, since you are working on xdg-desktop-portal-kde, do you have an opionion on where the mobile file picker ui should go?
Options are basically:
2-3) Kirigami-addons will be probably my preference. It sounds like something that can be re-used so why not write it that way. Then in xdg-desktop-portal-kde we will just check if it's running on mobile and create a dialog based on that.