Hi Ben,
On 21.06.2017 05:45, Nobody III wrote:
I've started working on the implementation, and here's my plan: The component tree is the same as what you suggested, but fs_filter provides a "pipe" file to send requests (in XML format). The fs_filter component responds by spawning the Qt file picker. When the user chooses a file, the file is added to the filesystem provided by fs_filter, and fs_filter acknowledges the packet. The app can then read another file/pipe that contains the name of the selected file, then open the selected file.
this sacrifices the second advantage of my original suggestion, namely that the fs_filter is transparent to existing applications. With your approach, the application needs to speak an additional protocol (generating the requests to the "pipe").
In principle, the selection of multiple files could instead be handled by letting the fs_filter populate a virtual directory instead of providing a single file. But as I haven't thought this through, I don't want to keep you from exploring the direction you picked.
Also, how do I spawn and use the file picker? Is there any existing example of using a child component like a library?
Please have a look at gems/src/app/launcher, which hosts a number of components (e.g., menu_view) as child subsystems.
Cheers Norman