summaryrefslogtreecommitdiff
path: root/src/controls
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls')
-rw-r--r--src/controls/Private/BasicButton.qml7
-rw-r--r--src/controls/Private/qquickcontrolsettings.cpp7
-rw-r--r--src/controls/Private/qquickspinboxvalidator.cpp4
-rw-r--r--src/controls/Private/qquickspinboxvalidator_p.h3
-rw-r--r--src/controls/Private/qquickstyleitem.cpp40
-rw-r--r--src/controls/Private/qquicktooltip.cpp6
-rw-r--r--src/controls/Slider.qml2
-rw-r--r--src/controls/Styles/Base/MenuBarStyle.qml4
-rw-r--r--src/controls/doc/includes/icons.qdocinc3
-rw-r--r--src/controls/plugin.cpp2
-rw-r--r--src/controls/qquickaction.cpp22
-rw-r--r--src/controls/qquickmenu.cpp6
-rw-r--r--src/controls/qquickmenuitem.cpp10
13 files changed, 94 insertions, 22 deletions
diff --git a/src/controls/Private/BasicButton.qml b/src/controls/Private/BasicButton.qml
index 437ab407..0206c72f 100644
--- a/src/controls/Private/BasicButton.qml
+++ b/src/controls/Private/BasicButton.qml
@@ -122,6 +122,8 @@ Control {
/*! The image label source as theme name.
When an icon from the platform icon theme is found, this takes
precedence over iconSource.
+
+ \include icons.qdocinc iconName
*/
property string iconName: action ? action.iconName : ""
@@ -167,8 +169,10 @@ Control {
activeFocusOnTab: true
Keys.onPressed: {
- if (event.key === Qt.Key_Space && !event.isAutoRepeat && !behavior.pressed)
+ if (event.key === Qt.Key_Space && !event.isAutoRepeat && !behavior.pressed) {
behavior.keyPressed = true;
+ event.accepted = true;
+ }
}
onFocusChanged: if (!focus) behavior.keyPressed = false
@@ -178,6 +182,7 @@ Control {
behavior.keyPressed = false;
__action.trigger(button)
behavior.toggle()
+ event.accepted = true;
}
}
diff --git a/src/controls/Private/qquickcontrolsettings.cpp b/src/controls/Private/qquickcontrolsettings.cpp
index a2fb824c..e6345082 100644
--- a/src/controls/Private/qquickcontrolsettings.cpp
+++ b/src/controls/Private/qquickcontrolsettings.cpp
@@ -43,7 +43,9 @@
#include <qdebug.h>
#include <qqmlengine.h>
#include <qfileinfo.h>
+#if QT_CONFIG(library)
#include <qlibrary.h>
+#endif
#include <qdir.h>
#include <QTouchDevice>
#include <QGuiApplication>
@@ -249,6 +251,7 @@ QQuickControlSettings1::QQuickControlSettings1(QQmlEngine *engine)
bool QQuickControlSettings1::resolveCurrentStylePath()
{
+#if QT_CONFIG(library)
if (!m_styleMap.contains(m_name)) {
qWarning() << "WARNING: Cannot find style" << m_name;
return false;
@@ -279,7 +282,7 @@ bool QQuickControlSettings1::resolveCurrentStylePath()
m_styleMap[m_name] = styleData;
m_path = styleData.m_styleDirPath;
}
-
+#endif // QT_CONFIG(library)
return true;
}
@@ -294,7 +297,7 @@ void QQuickControlSettings1::findStyle(QQmlEngine *engine, const QString &styleN
StyleData styleData;
-#ifndef QT_STATIC
+#if QT_CONFIG(library) && !defined(QT_STATIC)
const auto list = dir.entryList();
for (const QString &fileName : list) {
// This assumes that there is only one library in the style directory,
diff --git a/src/controls/Private/qquickspinboxvalidator.cpp b/src/controls/Private/qquickspinboxvalidator.cpp
index 6723defe..0806523a 100644
--- a/src/controls/Private/qquickspinboxvalidator.cpp
+++ b/src/controls/Private/qquickspinboxvalidator.cpp
@@ -39,6 +39,8 @@
#include "qquickspinboxvalidator_p.h"
+#if QT_CONFIG(validator)
+
QT_BEGIN_NAMESPACE
QQuickSpinBoxValidator1::QQuickSpinBoxValidator1(QObject *parent)
@@ -242,3 +244,5 @@ QString QQuickSpinBoxValidator1::textFromValue(qreal value) const
}
QT_END_NAMESPACE
+
+#endif // QT_CONFIG(validator)
diff --git a/src/controls/Private/qquickspinboxvalidator_p.h b/src/controls/Private/qquickspinboxvalidator_p.h
index 7ca6901e..baaeb1b3 100644
--- a/src/controls/Private/qquickspinboxvalidator_p.h
+++ b/src/controls/Private/qquickspinboxvalidator_p.h
@@ -43,6 +43,8 @@
#include <QtGui/qvalidator.h>
#include <QtQml/qqml.h>
+#if QT_CONFIG(validator)
+
QT_BEGIN_NAMESPACE
class QQuickSpinBoxValidator1 : public QValidator, public QQmlParserStatus
@@ -123,4 +125,5 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickSpinBoxValidator1)
+#endif // QT_CONFIG(validator)
#endif // QQUICKSPINBOXVALIDATOR_P_H
diff --git a/src/controls/Private/qquickstyleitem.cpp b/src/controls/Private/qquickstyleitem.cpp
index 1d79d634..1e53fa69 100644
--- a/src/controls/Private/qquickstyleitem.cpp
+++ b/src/controls/Private/qquickstyleitem.cpp
@@ -163,30 +163,42 @@ QQuickStyleItem1::~QQuickStyleItem1()
{
if (const QStyleOptionButton *aux = qstyleoption_cast<const QStyleOptionButton*>(m_styleoption))
delete aux;
+#if QT_CONFIG(itemviews)
else if (const QStyleOptionViewItem *aux = qstyleoption_cast<const QStyleOptionViewItem*>(m_styleoption))
delete aux;
+#endif
else if (const QStyleOptionHeader *aux = qstyleoption_cast<const QStyleOptionHeader*>(m_styleoption))
delete aux;
else if (const QStyleOptionToolButton *aux = qstyleoption_cast<const QStyleOptionToolButton*>(m_styleoption))
delete aux;
+#if QT_CONFIG(toolbar)
else if (const QStyleOptionToolBar *aux = qstyleoption_cast<const QStyleOptionToolBar*>(m_styleoption))
delete aux;
+#endif
+#if QT_CONFIG(tabbar)
else if (const QStyleOptionTab *aux = qstyleoption_cast<const QStyleOptionTab*>(m_styleoption))
delete aux;
+#endif
else if (const QStyleOptionFrame *aux = qstyleoption_cast<const QStyleOptionFrame*>(m_styleoption))
delete aux;
else if (const QStyleOptionFocusRect *aux = qstyleoption_cast<const QStyleOptionFocusRect*>(m_styleoption))
delete aux;
+#if QT_CONFIG(tabwidget)
else if (const QStyleOptionTabWidgetFrame *aux = qstyleoption_cast<const QStyleOptionTabWidgetFrame*>(m_styleoption))
delete aux;
+#endif
else if (const QStyleOptionMenuItem *aux = qstyleoption_cast<const QStyleOptionMenuItem*>(m_styleoption))
delete aux;
else if (const QStyleOptionComboBox *aux = qstyleoption_cast<const QStyleOptionComboBox*>(m_styleoption))
delete aux;
+#if QT_CONFIG(spinbox)
else if (const QStyleOptionSpinBox *aux = qstyleoption_cast<const QStyleOptionSpinBox*>(m_styleoption))
delete aux;
+#endif
+#if QT_CONFIG(slider)
else if (const QStyleOptionSlider *aux = qstyleoption_cast<const QStyleOptionSlider*>(m_styleoption))
delete aux;
+#endif
else if (const QStyleOptionProgressBar *aux = qstyleoption_cast<const QStyleOptionProgressBar*>(m_styleoption))
delete aux;
else if (const QStyleOptionGroupBox *aux = qstyleoption_cast<const QStyleOptionGroupBox*>(m_styleoption))
@@ -249,6 +261,7 @@ void QQuickStyleItem1::initStyleOption()
}
}
break;
+#if QT_CONFIG(itemviews)
case ItemRow: {
if (!m_styleoption)
m_styleoption = new QStyleOptionViewItem();
@@ -259,14 +272,14 @@ void QQuickStyleItem1::initStyleOption()
opt->features |= QStyleOptionViewItem::Alternate;
}
break;
-
+#endif // QT_CONFIG(itemviews)
case Splitter: {
if (!m_styleoption) {
m_styleoption = new QStyleOption;
}
}
break;
-
+#if QT_CONFIG(itemviews)
case Item: {
if (!m_styleoption) {
m_styleoption = new QStyleOptionViewItem();
@@ -288,6 +301,7 @@ void QQuickStyleItem1::initStyleOption()
}
}
break;
+#endif // QT_CONFIG(itemviews)
case ItemBranchIndicator: {
if (!m_styleoption)
m_styleoption = new QStyleOption;
@@ -357,11 +371,14 @@ void QQuickStyleItem1::initStyleOption()
}
break;
+#if QT_CONFIG(toolbar)
case ToolBar: {
if (!m_styleoption)
m_styleoption = new QStyleOptionToolBar();
}
break;
+#endif
+#if QT_CONFIG(tabbar)
case Tab: {
if (!m_styleoption)
m_styleoption = new QStyleOptionTab();
@@ -395,7 +412,7 @@ void QQuickStyleItem1::initStyleOption()
} break;
-
+#endif // QT_CONFIG(tabbar)
case Frame: {
if (!m_styleoption)
m_styleoption = new QStyleOptionFrame();
@@ -413,6 +430,7 @@ void QQuickStyleItem1::initStyleOption()
m_styleoption->state |= QStyle::State_KeyboardFocusChange;
}
break;
+#if QT_CONFIG(tabwidget)
case TabFrame: {
if (!m_styleoption)
m_styleoption = new QStyleOptionTabWidgetFrame();
@@ -427,6 +445,7 @@ void QQuickStyleItem1::initStyleOption()
opt->leftCornerWidgetSize = QSize(value(), 0);
}
break;
+#endif // QT_CONFIG(tabwidget)
case MenuBar:
if (!m_styleoption) {
QStyleOptionMenuItem *menuOpt = new QStyleOptionMenuItem();
@@ -562,6 +581,7 @@ void QQuickStyleItem1::initStyleOption()
#endif
}
break;
+#if QT_CONFIG(spinbox)
case SpinBox: {
if (!m_styleoption)
m_styleoption = new QStyleOptionSpinBox();
@@ -581,6 +601,8 @@ void QQuickStyleItem1::initStyleOption()
opt->stepEnabled |= QAbstractSpinBox::StepDownEnabled;
}
break;
+#endif // QT_CONFIG(spinbox)
+#if QT_CONFIG(slider)
case Slider:
case Dial:
{
@@ -617,6 +639,7 @@ void QQuickStyleItem1::initStyleOption()
opt->activeSubControls = QStyle::SC_SliderHandle;
}
break;
+#endif // QT_CONFIG(slider)
case ProgressBar: {
if (!m_styleoption)
m_styleoption = new QStyleOptionProgressBar();
@@ -647,6 +670,7 @@ void QQuickStyleItem1::initStyleOption()
}
break;
+#if QT_CONFIG(slider)
case ScrollBar: {
if (!m_styleoption)
m_styleoption = new QStyleOptionSlider();
@@ -672,6 +696,7 @@ void QQuickStyleItem1::initStyleOption()
setTransient(qApp->style()->styleHint(QStyle::SH_ScrollBar_Transient, m_styleoption));
break;
}
+#endif // QT_CONFIG(slider)
default:
break;
}
@@ -1050,12 +1075,14 @@ qreal QQuickStyleItem1::baselineOffset()
r.adjust(0,0,0,1);
}
break;
+#if QT_CONFIG(spinbox)
case SpinBox:
if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast<const QStyleOptionSpinBox *>(m_styleoption)) {
r = qApp->style()->subControlRect(QStyle::CC_SpinBox, spinbox, QStyle::SC_SpinBoxEditField);
ceilResult = false;
}
break;
+#endif
default:
break;
}
@@ -1197,8 +1224,10 @@ QVariant QQuickStyleItem1::styleHint(const QString &metric)
return qApp->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick);
else if (metric == QLatin1String("submenupopupdelay"))
return qApp->style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, m_styleoption);
+#if QT_CONFIG(wheelevent)
else if (metric == QLatin1String("wheelScrollLines"))
return qApp->wheelScrollLines();
+#endif
return 0;
// Add SH_Menu_SpaceActivatesItem
@@ -1792,7 +1821,7 @@ QPixmap QQuickTableRowImageProvider1::requestPixmap(const QString &id, QSize *si
*size = QSize(width, height);
QPixmap pixmap(width, height);
-
+#if QT_CONFIG(itemviews)
QStyleOptionViewItem opt;
opt.state |= QStyle::State_Enabled;
opt.rect = QRect(0, 0, width, height);
@@ -1821,6 +1850,9 @@ QPixmap QQuickTableRowImageProvider1::requestPixmap(const QString &id, QSize *si
QPainter pixpainter(&pixmap);
qApp->style()->drawPrimitive(QStyle::PE_PanelItemViewRow, &opt, &pixpainter);
}
+#else
+ Q_UNUSED(id);
+#endif
return pixmap;
}
diff --git a/src/controls/Private/qquicktooltip.cpp b/src/controls/Private/qquicktooltip.cpp
index aa09ea6b..c8eb81f6 100644
--- a/src/controls/Private/qquicktooltip.cpp
+++ b/src/controls/Private/qquicktooltip.cpp
@@ -44,7 +44,7 @@
#include <qpa/qplatformintegration.h>
#include <QtQuick/QQuickRenderControl>
-#ifdef QT_WIDGETS_LIB
+#if defined(QT_WIDGETS_LIB) && !defined(QT_NO_TOOLTIP)
#include <qtooltip.h>
#endif
@@ -60,7 +60,7 @@ void QQuickTooltip1::showText(QQuickItem *item, const QPointF &pos, const QStrin
{
if (!item || !item->window())
return;
-#ifdef QT_WIDGETS_LIB
+#if defined(QT_WIDGETS_LIB) && !defined(QT_NO_TOOLTIP)
if (QGuiApplicationPrivate::platformIntegration()->
hasCapability(QPlatformIntegration::MultipleWindows) &&
QCoreApplication::instance()->inherits("QApplication")) {
@@ -80,7 +80,7 @@ void QQuickTooltip1::showText(QQuickItem *item, const QPointF &pos, const QStrin
void QQuickTooltip1::hideText()
{
-#ifdef QT_WIDGETS_LIB
+#if defined(QT_WIDGETS_LIB) && !defined(QT_NO_TOOLTIP)
QToolTip::hideText();
#endif
}
diff --git a/src/controls/Slider.qml b/src/controls/Slider.qml
index d55e81a3..3c89a159 100644
--- a/src/controls/Slider.qml
+++ b/src/controls/Slider.qml
@@ -320,6 +320,8 @@ Control {
WheelArea {
id: wheelarea
anchors.fill: parent
+ verticalValue: slider.value
+ horizontalValue: slider.value
horizontalMinimumValue: slider.minimumValue
horizontalMaximumValue: slider.maximumValue
verticalMinimumValue: slider.minimumValue
diff --git a/src/controls/Styles/Base/MenuBarStyle.qml b/src/controls/Styles/Base/MenuBarStyle.qml
index e5823a14..7add8f09 100644
--- a/src/controls/Styles/Base/MenuBarStyle.qml
+++ b/src/controls/Styles/Base/MenuBarStyle.qml
@@ -100,7 +100,7 @@ Style {
property Component itemDelegate: Rectangle {
implicitWidth: text.width + 12
implicitHeight: text.height + 4
- color: styleData.open ? "#49d" : "transparent"
+ color: styleData.enabled && styleData.open ? "#49d" : "transparent"
Text {
id: text
@@ -108,7 +108,7 @@ Style {
text: formatMnemonic(styleData.text, styleData.underlineMnemonic)
anchors.centerIn: parent
renderType: Settings.isMobile ? Text.QtRendering : Text.NativeRendering
- color: styleData.open ? "white" : SystemPaletteSingleton.windowText(control.enabled)
+ color: styleData.open ? "white" : SystemPaletteSingleton.windowText(control.enabled && styleData.enabled)
}
}
diff --git a/src/controls/doc/includes/icons.qdocinc b/src/controls/doc/includes/icons.qdocinc
new file mode 100644
index 00000000..37bc3758
--- /dev/null
+++ b/src/controls/doc/includes/icons.qdocinc
@@ -0,0 +1,3 @@
+//! [iconName]
+\note This property requires \l QApplication.
+//! [iconName]
diff --git a/src/controls/plugin.cpp b/src/controls/plugin.cpp
index 0d60ec56..2abd906e 100644
--- a/src/controls/plugin.cpp
+++ b/src/controls/plugin.cpp
@@ -164,7 +164,9 @@ void QtQuickControls1Plugin::initializeEngine(QQmlEngine *engine, const char *ur
qmlRegisterType<QQuickRangedDate1>(private_uri, 1, 0, "RangedDate");
qmlRegisterType<QQuickRangeModel1>(private_uri, 1, 0, "RangeModel");
qmlRegisterType<QQuickWheelArea1>(private_uri, 1, 0, "WheelArea");
+#if QT_CONFIG(validator)
qmlRegisterType<QQuickSpinBoxValidator1>(private_uri, 1, 0, "SpinBoxValidator");
+#endif
qmlRegisterSingletonType<QQuickTooltip1>(private_uri, 1, 0, "Tooltip", QQuickControlsPrivate1::registerTooltipModule);
qmlRegisterSingletonType<QQuickControlSettings1>(private_uri, 1, 0, "Settings", QQuickControlsPrivate1::registerSettingsModule);
diff --git a/src/controls/qquickaction.cpp b/src/controls/qquickaction.cpp
index f04b13ab..836c02da 100644
--- a/src/controls/qquickaction.cpp
+++ b/src/controls/qquickaction.cpp
@@ -86,13 +86,13 @@ QT_BEGIN_NAMESPACE
For instance, \c "\&Open" will bind the \c Alt-O shortcut to the
\c "Open" menu item. Note that not all platforms support mnemonics.
- Defaults to the empty string.
+ Defaults to an empty string.
*/
/*!
\qmlproperty url Action::iconSource
- Sets the icon file or resource url for the action. Defaults to the empty URL.
+ Sets the icon file or resource url for the action. Defaults to an empty URL.
*/
/*!
@@ -101,7 +101,9 @@ QT_BEGIN_NAMESPACE
Sets the icon name for the action. This will pick the icon
with the given name from the current theme.
- Defaults to the empty string.
+ Defaults to an empty string.
+
+ \include icons.qdocinc iconName
*/
/*!
@@ -110,7 +112,7 @@ QT_BEGIN_NAMESPACE
Tooltip to be shown when hovering the control bound to this action.
Not all controls support tooltips on all platforms, especially \l MenuItem.
- Defaults to the empty string.
+ Defaults to an empty string.
*/
/*!
@@ -280,11 +282,16 @@ bool qMnemonicContextMatcher(QObject *o, Qt::ShortcutContext context)
QVariant QQuickAction1::shortcut() const
{
+#if QT_CONFIG(shortcut)
return m_shortcut.toString(QKeySequence::NativeText);
+#else
+ return QString();
+#endif
}
void QQuickAction1::setShortcut(const QVariant &arg)
{
+#if QT_CONFIG(shortcut)
QKeySequence sequence;
if (arg.type() == QVariant::Int)
sequence = QKeySequence(static_cast<QKeySequence::StandardKey>(arg.toInt()));
@@ -304,10 +311,12 @@ void QQuickAction1::setShortcut(const QVariant &arg)
QGuiApplicationPrivate::instance()->shortcutMap.addShortcut(this, m_shortcut, context, qShortcutContextMatcher);
}
emit shortcutChanged(shortcut());
+#endif // QT_CONFIG(shortcut)
}
void QQuickAction1::setMnemonicFromText(const QString &text)
{
+#if QT_CONFIG(shortcut)
QKeySequence sequence = QKeySequence::mnemonic(text);
if (m_mnemonic == sequence)
return;
@@ -321,6 +330,7 @@ void QQuickAction1::setMnemonicFromText(const QString &text)
Qt::ShortcutContext context = Qt::WindowShortcut;
QGuiApplicationPrivate::instance()->shortcutMap.addShortcut(this, m_mnemonic, context, qMnemonicContextMatcher);
}
+#endif // QT_CONFIG(shortcut)
}
void QQuickAction1::setIconSource(const QUrl &iconSource)
@@ -416,6 +426,7 @@ void QQuickAction1::setExclusiveGroup(QQuickExclusiveGroup1 *eg)
bool QQuickAction1::event(QEvent *e)
{
+#if QT_CONFIG(shortcut)
if (!m_enabled)
return false;
@@ -435,6 +446,9 @@ bool QQuickAction1::event(QEvent *e)
trigger();
return true;
+#else
+ return false;
+#endif // QT_CONFIG(shortcut)
}
void QQuickAction1::trigger(QObject *source)
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 67682ad3..d309b67e 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -133,7 +133,7 @@ QT_BEGIN_NAMESPACE
For instance, \c "\&File" will bind the \c Alt-F shortcut to the
\c "File" menu. Note that not all platforms support mnemonics.
- Its value defaults to the empty string.
+ Its value defaults to an empty string.
*/
/*!
@@ -147,7 +147,7 @@ QT_BEGIN_NAMESPACE
\qmlproperty url Menu::iconSource
Sets the icon file or resource url for the menu icon as a submenu.
- Defaults to the empty URL.
+ Defaults to an empty URL.
\sa iconName
*/
@@ -158,7 +158,7 @@ QT_BEGIN_NAMESPACE
Sets the icon name for the menu icon. This will pick the icon
with the given name from the current theme. Only works as a submenu.
- Its value defaults to the empty string.
+ Its value defaults to an empty string.
\sa iconSource
*/
diff --git a/src/controls/qquickmenuitem.cpp b/src/controls/qquickmenuitem.cpp
index 33acff9e..60aa0f6f 100644
--- a/src/controls/qquickmenuitem.cpp
+++ b/src/controls/qquickmenuitem.cpp
@@ -343,7 +343,7 @@ void QQuickMenuText1::updateIcon()
For instance, \c "\&Open" will bind the \c Alt-O shortcut to the
\c "Open" menu item. Note that not all platforms support mnemonics.
- Defaults to the empty string.
+ Defaults to an empty string.
\sa Action::text
*/
@@ -358,7 +358,7 @@ void QQuickMenuText1::updateIcon()
\qmlproperty url MenuItem::iconSource
Sets the icon file or resource url for the \l MenuItem icon.
- Overrides the item's bound action \c iconSource property. Defaults to the empty URL.
+ Overrides the item's bound action \c iconSource property. Defaults to an empty URL.
\sa iconName, Action::iconSource
*/
@@ -368,7 +368,9 @@ void QQuickMenuText1::updateIcon()
Sets the icon name for the \l MenuItem icon. This will pick the icon
with the given name from the current theme. Overrides the item's bound
- action \c iconName property. Defaults to the empty string.
+ action \c iconName property. Defaults to an empty string.
+
+ \include icons.qdocinc iconName
\sa iconSource, Action::iconName
*/
@@ -604,6 +606,7 @@ void QQuickMenuItem1::setShortcut(const QVariant &shortcut)
void QQuickMenuItem1::updateShortcut()
{
+#if QT_CONFIG(shortcut)
if (platformItem()) {
QKeySequence sequence;
QVariant var = shortcut();
@@ -615,6 +618,7 @@ void QQuickMenuItem1::updateShortcut()
syncWithPlatformMenu();
}
emit shortcutChanged();
+#endif // QT_CONFIG(shortcut)
}
bool QQuickMenuItem1::checkable() const