Export Dateidialog

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
rynn
Posts: 376
Joined: Tue Jul 31, 2018 7:00 am

Re: Export Dateidialog

Post by rynn »

chrisb wrote: Sat Jul 02, 2022 3:50 pm Mir ist nicht klar wo diese Änderungen überhaupt verloren gehen können.
[…]
Wo werden denn die Endungen weggeschnippelt?
Die KDE Qt Platform Abstraction ersetzt den QtFileDialog durch sein KDE Pendant. Das verwendet für die Filter einen andere Syntax
Beispiel: Qt: "STL Mesh (*.stl)", KDE: "*.stl|STL Mesh"
Der Qt-Dateidialog kann die Filter optional anhängen (QFileDialog::HideNameFilterDetails), der KDE Dialog macht das nicht.
Man muß die Filter also in die Beschreibung hineinschreiben, wenn man sie sehen möchte. z.B. "*.stl|STL Mesh (*.stl)"

Verantwortlich ist die Funktion qt2KdeFilter() in plasma-integration/src/platformtheme/kdeplatformfiledialoghelper.cpp
chrisb
Veteran
Posts: 43647
Joined: Tue Mar 17, 2015 9:14 am

Re: Export Dateidialog

Post by chrisb »

@rynn, heißt das, dass diese Funktion den kompletten Klammerausdruck löscht?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
rynn
Posts: 376
Joined: Tue Jul 31, 2018 7:00 am

Re: Export Dateidialog

Post by rynn »

chrisb wrote: Sun Jul 03, 2022 1:04 am @rynn, heißt das, dass diese Funktion den kompletten Klammerausdruck löscht?
@chrisb Ja, quasi.

Wenn man im QtFileDialog einen Filter setzen will gibt man ihm einen String der Form "Beschreibung (glob-pattern)'
Der KDE Dateidialog hat eine andere Syntax und erwartet einen String der Form "glob-pattern|Beschreibung"
Die Funktion wandelt die eine Form in die andere um.
Der QtFileDialog zeigt defaultmäßig den String komplett an (kann man mit QFileDialog::HideNameFilterDetails abstellen), der KDE Dateidialog nur die Beschreibung.
Wenn man das glob-pattern im KDE Dialog sehen will, muß man "glob-pattern|Beschreibung (glob-pattern)" daraus machen.
Es macht aber keinen Sinn das in FreeCAD einzubauen, das muß die KDE Qt Platform Abstraction machen.
(Bei mir macht sie das jetzt ;) )
chrisb
Veteran
Posts: 43647
Joined: Tue Mar 17, 2015 9:14 am

Re: Export Dateidialog

Post by chrisb »

@rynn, danke für die Erläuterung, ich glaube jetzt zu verstehen was da passiert. (Das ist ein schönes Beispiel dafür, dass zu viel Automatisierungskomfort auch nicht immer eine Verbesserung ist.)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
rynn
Posts: 376
Joined: Tue Jul 31, 2018 7:00 am

Re: Export Dateidialog

Post by rynn »

chrisb wrote: Sun Jul 03, 2022 10:13 am @rynn, danke für die Erläuterung, ich glaube jetzt zu verstehen was da passiert. (Das ist ein schönes Beispiel dafür, dass zu viel Automatisierungskomfort auch nicht immer eine Verbesserung ist.)
Jo. Es hat mich auch gestern eine längere IRC-Session gekostet, bis ich verstanden habe was da passiert und woher eigentlich der KDE FileDialog kommt und welche Komponente das überhaupt macht. Im FreeCAD-Code kommt nämlich ausschließlich der QtFileDialog vor.
wmayer
Founder
Posts: 18815
Joined: Thu Feb 19, 2009 10:32 am

Re: Export Dateidialog

Post by wmayer »

Im FreeCAD-Code kommt nämlich ausschließlich der QtFileDialog vor.
FreeCAD benutzt nur die QFileDialog-API. Die Klasse bietet aber eine Option DontUseNativeDialog und je nach dem, ob sie gesetzt ist, wird die Qt-Implementierung verwendet oder der native System-Dialog.

Wenn der native Dialog zum Einsatz kommt, dann wird der Aufruf an ein Plattform-Plugin delegiert.
rynn
Posts: 376
Joined: Tue Jul 31, 2018 7:00 am

Re: Export Dateidialog

Post by rynn »

wmayer wrote: Sun Jul 03, 2022 3:50 pm FreeCAD benutzt nur die QFileDialog-API. Die Klasse bietet aber eine Option DontUseNativeDialog und je nach dem, ob sie gesetzt ist, wird die Qt-Implementierung verwendet oder der native System-Dialog.

Wenn der native Dialog zum Einsatz kommt, dann wird der Aufruf an ein Plattform-Plugin delegiert.
Ja, aber ich will ja den KDE Dialog. Der kann nämlich Thumbnails anzeigen.
Screenshot_20220704_094151.png
Screenshot_20220704_094151.png (97 KiB) Viewed 117 times
Post Reply