Please use a native file chooser dialogue in GNOME environments
It looks as if the current dialogue also does not support the system's dark mode.
Dangerzone 0.8.1 Using Fedora Workstation 41
Which widget does Dangerzone use for this purpose?
It uses the QFileDialog widget:
https://github.com/freedomofpress/dangerzone/blob/83be5fb151b0c30bad47f173f875b6ce1c20e0bd/dangerzone/gui/main_window.py#L739-L744
By default it should present a native dialog to you. Do you see any difference with other file dialogs in your system? A screenshot could help here perhaps.
By default it should present a native dialog to you.
Native in terms of which toolkit? Qt or GTK?
Do you see any difference with other file dialogs in your system? A screenshot could help here perhaps.
I have looked at various installed apps (Image download with Firefox, Metadata Cleaner, Audio Player, KeePassXC) KeePassXC is also a Qt app. All dialogues look different from those in Dangerzone.
Woot, thanks a lot for the screenshots. I checked locally and they differ in my case (but I have a theory). Here's what I see in my Fedora 41 system:
Firefox (save page as)
Rhythmbox (open file)
Keepass (open database file)
As we can see, the first two screenshots (Firefox/Rhythmbox) differ from the ones in your system, and are similar to the Dangerzone file dialog (see https://github.com/freedomofpress/dangerzone/issues/1125#issuecomment-2824891557). However, the third one (Keepass) matches your screenshot.
Here's my theory. In my system, Firefox/Rhythmbox are programs installed on the host, whereas Keepass was installed via Flatpak. It could be that Flatpak decorates file dialogs in a different way. My guess is that the apps you posted the screenshots for are installed via Flatpak as well. If you install Firefox via dnf, I think you'll see a file dialog similar to Dangerzone's. Let me know if this is the case.
Native in terms of which toolkit? Qt or GTK?
Native in terms of the default desktop environment in Fedora 41, which is Gnome, and therefore GTK. From the QFileDialog docs:
By default, a platform-native file dialog is used if the platform has one.
Btw, the Qt file dialog has a distinctively different style than GTK's:

(example taken from a Linux Mint forum post)
As we can see, the first two screenshots (Firefox/Rhythmbox) differ from the ones in your system, and are similar to the Dangerzone file dialog
I did some tests with Rhythmbox. And I couldn't find out exactly which dialogue you opened there. I clicked on the + at the bottom left and then clicked something like ‘Load new file’. And this dialogue looked the same in the Flatpak version and in the RPM version. And yes, they look like those from Dangerzone. By the way, Rhythmbox has not yet been ported to GTK 4, I wonder if that might have something to do with it?
What I also noticed is that although it is not a file dialogue, the layout of the ‘Files’ app, which is installed as standard in RPM in Fedora 41, looks more like my screenshots.
I find the question of which dialogue Flatpaks use by default interesting. It works there via the portals, doesn't it?
What does the dialogue look like when you install KeePassXC as an RPM?
I did some tests with Rhythmbox. And I couldn't find out exactly which dialogue you opened there. I clicked on the + at the bottom left and then clicked something like ‘Load new file’. And this dialogue looked the same in the Flatpak version and in the RPM version. And yes, they look like those from Dangerzone.
Right, that's what I did as well. I hadn't tested the Flatpak version though, so I stand corrected! Thanks for looking into it.
By the way, Rhythmbox has not yet been ported to GTK 4, I wonder if that might have something to do with it?
Oh, I did not expect this actually! I thought being a stock Gnome app that it would have been ported already. So, you're saying that maybe we're invoking a native file dialog, but written in GTK3 instead of GTK4. I don't know how Qt chooses what to show, so I probably need to dig more a bit there.
I find the question of which dialogue Flatpaks use by default interesting. It works there via the portals, doesn't it?
I think but I'm not that well-versed in the Gnome ecosystem.
What does the dialogue look like when you install KeePassXC as an RPM?
Just checked, it's the same as in Flatpak. I should have verified this earlier, but I installed Keepass instead of KeepassXC, and it threw me off.
In Qubes, in an AppVM based on a debian-12 (GNOME) template, here's what I see:
Based on https://github.com/freedomofpress/dangerzone/issues/1122#issuecomment-2827452017 that seems like the builtin Qt one, not the native GNOME one.
Is some package or dependency missing? (possibly on the Qubes side?)