49 const QString style = QQuickStyle::name();
50 if (!QQuickStylePrivate::isCustomStyle()) {
52 const QString styleName = QQuickStylePrivate::effectiveStyleName(style);
53 return QString::fromLatin1(
"QtQuick.Controls.%1").arg(styleName);
57 QString styleName = style;
58 if (styleName.startsWith(QLatin1String(
":/")))
59 styleName.remove(0, 2);
137 qCDebug(lcQtQuickControls2Plugin) <<
"registerTypes() called with uri" << uri;
140 QQuickStylePrivate::init();
143 rawFallbackStyleName = QQuickStylePrivate::fallbackStyle();
145 const QString styleName = QQuickStylePrivate::effectiveStyleName(QQuickStyle::name());
147 const QString fallbackStyleName = QQuickStylePrivate::effectiveStyleName(rawFallbackStyleName);
148 qCDebug(lcQtQuickControls2Plugin) <<
"style:" << QQuickStyle::name() <<
"effective style:" << styleName
149 <<
"fallback style:" << rawFallbackStyleName <<
"effective fallback style:" << fallbackStyleName;
151 customStyle = QQuickStylePrivate::isCustomStyle();
154 registeredStyleUri = ::styleUri();
159 if (styleName != fallbackStyleName && styleName != QLatin1String(
"Basic")) {
164 QString parentModule;
165 QString fallbackModule;
168 registeredFallbackStyleUri = ::fallbackStyleUri();
170 if (!rawFallbackStyleName.isEmpty()) {
172 fallbackModule = registeredFallbackStyleUri;
173 }
else if (customStyle) {
177 Q_ASSERT(registeredFallbackStyleUri == QLatin1String(
"QtQuick.Controls.Basic"));
179 fallbackModule = QLatin1String(
"QtQuick.Controls.IndirectBasic");
181 parentModule = registeredStyleUri;
182 fallbackModule = registeredFallbackStyleUri;
185 qCDebug(lcQtQuickControls2Plugin)
186 <<
"calling qmlRegisterModuleImport() to register fallback style with"
187 <<
" uri \"" << parentModule <<
"\" moduleMajor" << QQmlModuleImportModuleAny
188 <<
"import" << fallbackModule <<
"importMajor" << QQmlModuleImportAuto;
191 qmlRegisterModuleImport(parentModule.toUtf8().constData(), QQmlModuleImportModuleAny,
192 fallbackModule.toUtf8().constData(),
193 QQmlModuleImportAuto, QQmlModuleImportAuto);
199 const int importMajor = customStyle ? QQmlModuleImportLatest : QQmlModuleImportAuto;
200 qCDebug(lcQtQuickControls2Plugin).nospace()
201 <<
"calling qmlRegisterModuleImport() to register primary style with"
202 <<
" uri \"" << qtQuickControlsUri <<
"\" moduleMajor " << importMajor
203 <<
" import " << registeredStyleUri <<
" importMajor " << importMajor;
205 qmlRegisterModuleImport(qtQuickControlsUri, QQmlModuleImportModuleAny,
206 registeredStyleUri.toUtf8().constData(), importMajor);
209 QFileSelectorPrivate::addStatics(QStringList() << styleName);
214 qCDebug(lcQtQuickControls2Plugin) <<
"unregisterTypes() called";
216 const int importMajor = customStyle ? QQmlModuleImportLatest : QQmlModuleImportAuto;
217 qCDebug(lcQtQuickControls2Plugin).nospace()
218 <<
"calling qmlUnregisterModuleImport() to unregister primary style with"
219 <<
" uri \"" << qtQuickControlsUri <<
"\" moduleMajor " << importMajor
220 <<
" import " << registeredStyleUri <<
" importMajor " << importMajor;
221 qmlUnregisterModuleImport(qtQuickControlsUri, QQmlModuleImportModuleAny,
222 registeredStyleUri.toUtf8().constData(), importMajor);
224 if (!registeredFallbackStyleUri.isEmpty()) {
225 QString parentModule;
226 QString fallbackModule;
228 if (!rawFallbackStyleName.isEmpty()) {
230 fallbackModule = registeredFallbackStyleUri;
231 rawFallbackStyleName.clear();
232 }
else if (customStyle) {
234 fallbackModule = QLatin1String(
"QtQuick.Controls.IndirectBasic");
236 parentModule = registeredStyleUri;
237 fallbackModule = registeredFallbackStyleUri;
240 qCDebug(lcQtQuickControls2Plugin)
241 <<
"calling qmlUnregisterModuleImport() to unregister fallback style with"
242 <<
" uri \"" << parentModule <<
"\" moduleMajor" << QQmlModuleImportModuleAny
243 <<
"import" << fallbackModule <<
"importMajor" << QQmlModuleImportAuto;
244 qmlUnregisterModuleImport(parentModule.toUtf8().constData(), QQmlModuleImportModuleAny,
245 fallbackModule.toUtf8().constData(),
246 QQmlModuleImportAuto, QQmlModuleImportAuto);
248 registeredFallbackStyleUri.clear();
252 registeredStyleUri.clear();