Hi,

Generally, if I read that correctly, a user would rarely need both of your styles. They either have a Desktop type device or a Mobile type device and running the other style makes little sense.

Therefore, in your case, I would propose to compile two variants of all your libraries: one that assumes desktop and one that assumes mobile. Either of those would only deal with one style. Most users would only install one of those variants.

On the practical side, you'd have the style to be used as a CMake property somewhere and you'd have a wrapper module called QtQuick.Controls.KDE, the only purpose of which is to import this style. Then, wherever you import QtQuick.Controls currently, you'd import QtQuick.Controls.KDE instead. From that point on, you can compile the two variants of all dependent libraries and applications without further changes.

If some user actually wants both variants installed, you can use some mechanism like /etc/alternatives or similar to switch between them.

Now, we could also find a fix for this on the Qt side. It would involve additional config files, some weaker form of whole-class FINAL and extra warnings from qmllint etc if you shadow properties you shouldn't shadow. This would be a whole lot of infrastructure, and I currently don't quite see who would build it. We should probably talk at Qt Contributors' Summit about this (and all the other proposals we've recently seen).

best regards,
Ulf
--
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to