summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-01-16 18:04:47 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-01-16 18:04:47 +0100
commit7dee76ca7bfdf12e3d98a309c8a913409265863c (patch)
tree54ded69c9958ffe0906eff99e1977648c633efbb
parent49285034d2f1235bc3caa99fc895ecf70393f380 (diff)
parent1ce34aa1c88d98120c3f632caffac19c2a834deb (diff)
downloadqtquickcontrols-7dee76ca7bfdf12e3d98a309c8a913409265863c.tar.gz
Merge 5.4 into 5.4.1
Change-Id: I5a1536a048d8ee0b727331b0e2ec4bd211544d87
-rw-r--r--src/controls/Private/qquickcontrolsettings.cpp21
-rw-r--r--src/controls/Styles/Base/MenuBarStyle.qml2
-rw-r--r--src/controls/Styles/Base/MenuStyle.qml2
-rw-r--r--src/controls/qquickmenuitem.cpp6
4 files changed, 26 insertions, 5 deletions
diff --git a/src/controls/Private/qquickcontrolsettings.cpp b/src/controls/Private/qquickcontrolsettings.cpp
index eca533d7..ca57f394 100644
--- a/src/controls/Private/qquickcontrolsettings.cpp
+++ b/src/controls/Private/qquickcontrolsettings.cpp
@@ -35,6 +35,7 @@
#include <qquickitem.h>
#include <qcoreapplication.h>
#include <qqmlengine.h>
+#include <qlibrary.h>
#include <qdir.h>
#include <QTouchDevice>
#include <QGuiApplication>
@@ -128,11 +129,29 @@ QQuickControlSettings::QQuickControlSettings(QQmlEngine *engine)
if (fromResource(path))
path = path.remove(0, 3); // remove qrc from the path
- if (!QDir(path).exists()) {
+ QDir dir(path);
+ if (!dir.exists()) {
QString unknownStyle = m_name;
m_name = defaultStyleName();
m_path = styleImportPath(engine, m_name);
qWarning() << "WARNING: Cannot find style" << unknownStyle << "- fallback:" << styleFilePath();
+ } else {
+ typedef bool (*StyleInitFunc)();
+ typedef const char *(*StylePathFunc)();
+
+ foreach (const QString &fileName, dir.entryList()) {
+ if (QLibrary::isLibrary(fileName)) {
+ QLibrary lib(dir.absoluteFilePath(fileName));
+ StyleInitFunc initFunc = (StyleInitFunc) lib.resolve("qt_quick_controls_style_init");
+ if (initFunc)
+ initFunc();
+ StylePathFunc pathFunc = (StylePathFunc) lib.resolve("qt_quick_controls_style_path");
+ if (pathFunc)
+ m_path = QString::fromLocal8Bit(pathFunc());
+ if (initFunc || pathFunc)
+ break;
+ }
+ }
}
connect(this, SIGNAL(styleNameChanged()), SIGNAL(styleChanged()));
diff --git a/src/controls/Styles/Base/MenuBarStyle.qml b/src/controls/Styles/Base/MenuBarStyle.qml
index 40e6ea5d..c49dbb1d 100644
--- a/src/controls/Styles/Base/MenuBarStyle.qml
+++ b/src/controls/Styles/Base/MenuBarStyle.qml
@@ -65,7 +65,7 @@ Style {
for \c underline will return the plain text form (e.g., \c formatMnemonic("&File", false)
will return \c "File").
- \sa label
+ \sa Label
*/
function formatMnemonic(text, underline) {
return underline ? StyleHelpers.stylizeMnemonics(text) : StyleHelpers.removeMnemonics(text)
diff --git a/src/controls/Styles/Base/MenuStyle.qml b/src/controls/Styles/Base/MenuStyle.qml
index 61202bae..a63fd358 100644
--- a/src/controls/Styles/Base/MenuStyle.qml
+++ b/src/controls/Styles/Base/MenuStyle.qml
@@ -106,7 +106,7 @@ Style {
for \c underline will return the plain text form (e.g., \c formatMnemonic("&Open...", false)
will return \c "Open...").
- \sa label
+ \sa Label
*/
function formatMnemonic(text, underline) {
return underline ? StyleHelpers.stylizeMnemonics(text) : StyleHelpers.removeMnemonics(text)
diff --git a/src/controls/qquickmenuitem.cpp b/src/controls/qquickmenuitem.cpp
index 275a6fa7..447db00c 100644
--- a/src/controls/qquickmenuitem.cpp
+++ b/src/controls/qquickmenuitem.cpp
@@ -177,8 +177,9 @@ void QQuickMenuBase::setVisualItem(QQuickItem *item)
/*!
\qmlproperty enumeration MenuSeparator::type
+ \readonly
- This property is read-only and constant, and its value is \l MenuItemType.Separator.
+ This property is read-only and constant, and its value is \c MenuItemType.Separator.
*/
QQuickMenuSeparator::QQuickMenuSeparator(QObject *parent)
@@ -320,8 +321,9 @@ void QQuickMenuText::updateIcon()
/*!
\qmlproperty enumeration MenuItem::type
+ \readonly
- This property is read-only and constant, and its value is \l MenuItemType.Item.
+ This property is read-only and constant, and its value is \c MenuItemType.Item.
*/
/*!