diff options
Diffstat (limited to 'src/controls')
-rw-r--r-- | src/controls/Private/BasicButton.qml | 7 | ||||
-rw-r--r-- | src/controls/Private/qquickcontrolsettings.cpp | 7 | ||||
-rw-r--r-- | src/controls/Private/qquickspinboxvalidator.cpp | 4 | ||||
-rw-r--r-- | src/controls/Private/qquickspinboxvalidator_p.h | 3 | ||||
-rw-r--r-- | src/controls/Private/qquickstyleitem.cpp | 40 | ||||
-rw-r--r-- | src/controls/Private/qquicktooltip.cpp | 6 | ||||
-rw-r--r-- | src/controls/Slider.qml | 2 | ||||
-rw-r--r-- | src/controls/Styles/Base/MenuBarStyle.qml | 4 | ||||
-rw-r--r-- | src/controls/doc/includes/icons.qdocinc | 3 | ||||
-rw-r--r-- | src/controls/plugin.cpp | 2 | ||||
-rw-r--r-- | src/controls/qquickaction.cpp | 22 | ||||
-rw-r--r-- | src/controls/qquickmenu.cpp | 6 | ||||
-rw-r--r-- | src/controls/qquickmenuitem.cpp | 10 |
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 |