diff options
author | Liang Qi <liang.qi@qt.io> | 2016-12-13 09:36:26 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-12-13 09:39:20 +0100 |
commit | 6755ec891a1740110c48895afd53d39e8370704a (patch) | |
tree | 982606f3bc582262e4b315a63f55ccb141fff97b /src/widgets | |
parent | 449204f8c0d6679ae0e58dbb8a30b8a86fbdb4ec (diff) | |
parent | 00c9ec63a552d040e851b561c11428fabf1a2b08 (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
configure
qmake/Makefile.unix.macos
qmake/Makefile.unix.win32
qmake/generators/win32/msvc_vcproj.cpp
src/3rdparty/pcre/qt_attribution.json
src/corelib/io/qsettings.cpp
src/corelib/kernel/qdeadlinetimer.cpp
src/platformsupport/kmsconvenience/qkmsdevice.cpp
src/platformsupport/kmsconvenience/qkmsdevice_p.h
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h
tests/manual/qstorageinfo/printvolumes.cpp
tools/configure/configureapp.cpp
Change-Id: Ibaabcc8e965c44926f9fb018466e8b132b8df49e
Diffstat (limited to 'src/widgets')
60 files changed, 382 insertions, 442 deletions
diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp index 09eba76fbd..db5af4fd7c 100644 --- a/src/widgets/accessible/itemviews.cpp +++ b/src/widgets/accessible/itemviews.cpp @@ -564,20 +564,8 @@ void QAccessibleTable::modelChange(QAccessibleTableModelChangeEvent *event) QAccessible::Id id = iter.value(); QAccessibleInterface *iface = QAccessible::accessibleInterface(id); Q_ASSERT(iface); - if (iface->role() == QAccessible::Cell || iface->role() == QAccessible::ListItem) { - Q_ASSERT(iface->tableCellInterface()); - QAccessibleTableCell *cell = static_cast<QAccessibleTableCell*>(iface->tableCellInterface()); - if (event->modelChangeType() == QAccessibleTableModelChangeEvent::RowsInserted - && cell->m_index.row() >= event->firstRow()) { - int newRow = cell->m_index.row() + newRows; - cell->m_index = cell->m_index.sibling(newRow, cell->m_index.column()); - } else if (event->modelChangeType() == QAccessibleTableModelChangeEvent::ColumnsInserted - && cell->m_index.column() >= event->firstColumn()) { - int newColumn = cell->m_index.column() + newColumns; - cell->m_index = cell->m_index.sibling(cell->m_index.row(), newColumn); - } - } else if (event->modelChangeType() == QAccessibleTableModelChangeEvent::RowsInserted - && iface->role() == QAccessible::RowHeader) { + if (event->modelChangeType() == QAccessibleTableModelChangeEvent::RowsInserted + && iface->role() == QAccessible::RowHeader) { QAccessibleTableHeaderCell *cell = static_cast<QAccessibleTableHeaderCell*>(iface); if (cell->index >= event->firstRow()) { cell->index += newRows; @@ -616,27 +604,11 @@ void QAccessibleTable::modelChange(QAccessibleTableModelChangeEvent *event) if (iface->role() == QAccessible::Cell || iface->role() == QAccessible::ListItem) { Q_ASSERT(iface->tableCellInterface()); QAccessibleTableCell *cell = static_cast<QAccessibleTableCell*>(iface->tableCellInterface()); - if (event->modelChangeType() == QAccessibleTableModelChangeEvent::RowsRemoved) { - if (cell->m_index.row() < event->firstRow()) { - newCache.insert(indexOfChild(cell), id); - } else if (cell->m_index.row() > event->lastRow()) { - int newRow = cell->m_index.row() - deletedRows; - cell->m_index = cell->m_index.sibling(newRow, cell->m_index.column()); - newCache.insert(indexOfChild(cell), id); - } else { - QAccessible::deleteAccessibleInterface(id); - } - } else if (event->modelChangeType() == QAccessibleTableModelChangeEvent::ColumnsRemoved) { - if (cell->m_index.column() < event->firstColumn()) { - newCache.insert(indexOfChild(cell), id); - } else if (cell->m_index.column() > event->lastColumn()) { - int newColumn = cell->m_index.column() - deletedColumns; - cell->m_index = cell->m_index.sibling(cell->m_index.row(), newColumn); - newCache.insert(indexOfChild(cell), id); - } else { - QAccessible::deleteAccessibleInterface(id); - } - } + // Since it is a QPersistentModelIndex, we only need to check if it is valid + if (cell->m_index.isValid()) + newCache.insert(indexOfChild(cell), id); + else + QAccessible::deleteAccessibleInterface(id); } else if (event->modelChangeType() == QAccessibleTableModelChangeEvent::RowsRemoved && iface->role() == QAccessible::RowHeader) { QAccessibleTableHeaderCell *cell = static_cast<QAccessibleTableHeaderCell*>(iface); diff --git a/src/widgets/accessible/itemviews_p.h b/src/widgets/accessible/itemviews_p.h index 5b73444c67..1b3869f2fa 100644 --- a/src/widgets/accessible/itemviews_p.h +++ b/src/widgets/accessible/itemviews_p.h @@ -216,7 +216,7 @@ private: QHeaderView *verticalHeader() const; QHeaderView *horizontalHeader() const; QPointer<QAbstractItemView > view; - QModelIndex m_index; + QPersistentModelIndex m_index; QAccessible::Role m_role; void selectCell(); diff --git a/src/widgets/configure.json b/src/widgets/configure.json index b241fcdf11..1e72b61886 100644 --- a/src/widgets/configure.json +++ b/src/widgets/configure.json @@ -44,31 +44,31 @@ }, "style-fusion": { "label": "Fusion", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-mac": { "label": "macOS", "condition": "config.osx", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-windows": { "label": "Windows", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-windowsxp": { "label": "WindowsXP", "condition": "features.style-windows && config.win32 && !config.winrt && tests.uxtheme", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-windowsvista": { "label": "WindowsVista", "condition": "features.style-windowsxp", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-android": { "label": "Android", "autoDetect": "config.android", - "output": [ "styles" ] + "output": [ "privateFeature", "styles" ] }, "style-stylesheet": { "label": "QStyleSheetStyle", diff --git a/src/widgets/dialogs/qdialog.h b/src/widgets/dialogs/qdialog.h index 265790b0e5..d88ff4a841 100644 --- a/src/widgets/dialogs/qdialog.h +++ b/src/widgets/dialogs/qdialog.h @@ -65,7 +65,7 @@ public: int result() const; - void setVisible(bool visible); + void setVisible(bool visible) override; void setOrientation(Qt::Orientation orientation); Qt::Orientation orientation() const; @@ -73,8 +73,8 @@ public: void setExtension(QWidget* extension); QWidget* extension() const; - QSize sizeHint() const; - QSize minimumSizeHint() const; + QSize sizeHint() const override; + QSize minimumSizeHint() const override; void setSizeGripEnabled(bool); bool isSizeGripEnabled() const; @@ -99,14 +99,14 @@ public Q_SLOTS: protected: QDialog(QDialogPrivate &, QWidget *parent, Qt::WindowFlags f = Qt::WindowFlags()); - void keyPressEvent(QKeyEvent *); - void closeEvent(QCloseEvent *); - void showEvent(QShowEvent *); - void resizeEvent(QResizeEvent *); + void keyPressEvent(QKeyEvent *) override; + void closeEvent(QCloseEvent *) override; + void showEvent(QShowEvent *) override; + void resizeEvent(QResizeEvent *) override; #ifndef QT_NO_CONTEXTMENU - void contextMenuEvent(QContextMenuEvent *); + void contextMenuEvent(QContextMenuEvent *) override; #endif - bool eventFilter(QObject *, QEvent *); + bool eventFilter(QObject *, QEvent *) override; void adjustPosition(QWidget*); private: Q_DECLARE_PRIVATE(QDialog) diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index bcad069b50..9153d7ea41 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -38,6 +38,7 @@ ****************************************************************************/ #include "qwizard.h" +#include <QtWidgets/private/qtwidgetsglobal_p.h> #ifndef QT_NO_WIZARD @@ -61,7 +62,7 @@ #include <QtCore/QMetaMethod> #include <QtGui/QGuiApplication> #include <qpa/qplatformnativeinterface.h> -#elif !defined(QT_NO_STYLE_WINDOWSVISTA) +#elif QT_CONFIG(style_windowsvista) #include "qwizard_win_p.h" #include "qtimer.h" #endif @@ -295,7 +296,7 @@ public: protected: void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) private: bool vistaDisabled() const; #endif @@ -342,7 +343,7 @@ QWizardHeader::QWizardHeader(QWidget *parent) layout->addWidget(logoLabel, 1, 5, 5, 1); } -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) bool QWizardHeader::vistaDisabled() const { bool styleDisabled = false; @@ -362,7 +363,7 @@ void QWizardHeader::setup(const QWizardLayoutInfo &info, const QString &title, Qt::TextFormat titleFormat, Qt::TextFormat subTitleFormat) { bool modern = ((info.wizStyle == QWizard::ModernStyle) -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) || ((info.wizStyle == QWizard::AeroStyle && QVistaHelper::vistaState() == QVistaHelper::Classic) || vistaDisabled()) #endif @@ -525,7 +526,7 @@ void QWizardPagePrivate::_q_updateCachedCompleteState() class QWizardAntiFlickerWidget : public QWidget { public: -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) QWizardPrivate *wizardPrivate; QWizardAntiFlickerWidget(QWizard *wizard, QWizardPrivate *wizardPrivate) : QWidget(wizard) @@ -572,7 +573,7 @@ public: , titleLabel(0) , subTitleLabel(0) , bottomRuler(0) -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) , vistaHelper(0) , vistaInitPending(false) , vistaState(QVistaHelper::Dirty) @@ -586,7 +587,7 @@ public: { std::fill(btns, btns + QWizard::NButtons, static_cast<QAbstractButton *>(0)); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)) vistaInitPending = true; @@ -611,7 +612,7 @@ public: void setButtonLayout(const QWizard::WizardButton *array, int size); bool buttonLayoutContains(QWizard::WizardButton which); void updatePixmap(QWizard::WizardPixmap which); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) bool vistaDisabled() const; bool isVistaThemeEnabled(QVistaHelper::VistaState state) const; bool handleAeroStyleChange(); @@ -677,7 +678,7 @@ public: QHBoxLayout *buttonLayout; QGridLayout *mainLayout; -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) QVistaHelper *vistaHelper; bool vistaInitPending; QVistaHelper::VistaState vistaState; @@ -692,7 +693,7 @@ public: static QString buttonDefaultText(int wstyle, int which, const QWizardPrivate *wizardPrivate) { -#if defined(QT_NO_STYLE_WINDOWSVISTA) +#if !QT_CONFIG(style_windowsvista) Q_UNUSED(wizardPrivate); #endif const bool macStyle = (wstyle == QWizard::MacStyle); @@ -730,7 +731,7 @@ void QWizardPrivate::init() opts = QWizard::HelpButtonOnRight; } -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) vistaHelper = new QVistaHelper(q); #endif @@ -959,7 +960,7 @@ QWizardLayoutInfo QWizardPrivate::layoutInfoForCurrentPage() info.wizStyle = wizStyle; if (info.wizStyle == QWizard::AeroStyle -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) && (QVistaHelper::vistaState() == QVistaHelper::Classic || vistaDisabled()) #endif ) @@ -1337,7 +1338,7 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info) Q_Q(QWizard); int extraHeight = 0; -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (isVistaThemeEnabled()) extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset(); #endif @@ -1560,7 +1561,7 @@ void QWizardPrivate::updatePixmap(QWizard::WizardPixmap which) } } -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) bool QWizardPrivate::vistaDisabled() const { Q_Q(const QWizard); @@ -1642,7 +1643,7 @@ bool QWizardPrivate::handleAeroStyleChange() bool QWizardPrivate::isVistaThemeEnabled() const { -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) return isVistaThemeEnabled(QVistaHelper::VistaAero) || isVistaThemeEnabled(QVistaHelper::VistaBasic); #else @@ -1720,7 +1721,7 @@ void QWizardPrivate::_q_updateButtonStates() if (QPushButton *finishPush = qobject_cast<QPushButton *>(btn.finish)) finishPush->setDefault(!canContinue && useDefault); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (isVistaThemeEnabled()) { vistaHelper->backButton()->setEnabled(btn.back->isEnabled()); vistaHelper->backButton()->setVisible(backButtonVisible); @@ -1788,7 +1789,7 @@ QPixmap QWizardPrivate::findDefaultBackgroundPixmap() #endif -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) void QWizardAntiFlickerWidget::paintEvent(QPaintEvent *) { if (wizardPrivate->isVistaThemeEnabled()) { @@ -2556,7 +2557,7 @@ void QWizard::setWizardStyle(WizardStyle style) const bool styleChange = style != d->wizStyle; -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) const bool aeroStyleChange = d->vistaInitPending || d->vistaStateChanged || (styleChange && (style == AeroStyle || d->wizStyle == AeroStyle)); d->vistaStateChanged = false; @@ -2564,14 +2565,14 @@ void QWizard::setWizardStyle(WizardStyle style) #endif if (styleChange -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) || aeroStyleChange #endif ) { d->disableUpdates(); d->wizStyle = style; d->updateButtonTexts(); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (aeroStyleChange) { //Send a resizeevent since the antiflicker widget probably needs a new size //because of the backbutton in the window title @@ -2582,7 +2583,7 @@ void QWizard::setWizardStyle(WizardStyle style) d->updateLayout(); updateGeometry(); d->enableUpdates(); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) // Delay initialization when activating Aero style fails due to missing native window. if (aeroStyleChange && !d->handleAeroStyleChange() && d->wizStyle == AeroStyle) d->vistaInitPending = true; @@ -2816,7 +2817,7 @@ void QWizard::setButton(WizardButton which, QAbstractButton *button) QAbstractButton *QWizard::button(WizardButton which) const { Q_D(const QWizard); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (d->wizStyle == AeroStyle && which == BackButton) return d->vistaHelper->backButton(); #endif @@ -3176,7 +3177,7 @@ bool QWizard::event(QEvent *event) d->setStyle(style()); d->updateLayout(); } -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) else if (event->type() == QEvent::Show && d->vistaInitPending) { d->vistaInitPending = false; // Do not force AeroStyle when in Classic theme. @@ -3211,7 +3212,7 @@ void QWizard::resizeEvent(QResizeEvent *event) { Q_D(QWizard); int heightOffset = 0; -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (d->isVistaThemeEnabled()) { heightOffset = d->vistaHelper->topOffset(); if (d->isVistaThemeEnabled(QVistaHelper::VistaAero)) @@ -3219,7 +3220,7 @@ void QWizard::resizeEvent(QResizeEvent *event) } #endif d->antiFlickerWidget->resize(event->size().width(), event->size().height() - heightOffset); -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) if (d->isVistaThemeEnabled()) d->vistaHelper->resizeEvent(event); #endif @@ -3240,7 +3241,7 @@ void QWizard::paintEvent(QPaintEvent * event) QPainter painter(this); painter.drawPixmap(0, (height() - backgroundPixmap.height()) / 2, backgroundPixmap); } -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) else if (d->isVistaThemeEnabled()) { if (d->isVistaThemeEnabled(QVistaHelper::VistaBasic)) { QPainter painter(this); @@ -3260,7 +3261,7 @@ void QWizard::paintEvent(QPaintEvent * event) */ bool QWizard::nativeEvent(const QByteArray &eventType, void *message, long *result) { -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) Q_D(QWizard); if (d->isVistaThemeEnabled() && eventType == "windows_generic_MSG") { MSG *windowsMessage = static_cast<MSG *>(message); diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp index 1a38f43d35..4f6ef49a7f 100644 --- a/src/widgets/dialogs/qwizard_win.cpp +++ b/src/widgets/dialogs/qwizard_win.cpp @@ -38,7 +38,10 @@ ****************************************************************************/ #ifndef QT_NO_WIZARD -#ifndef QT_NO_STYLE_WINDOWSVISTA + +#include <QtWidgets/private/qtwidgetsglobal_p.h> + +#if QT_CONFIG(style_windowsvista) #include "qwizard_win_p.h" #include <private/qapplication_p.h> @@ -723,6 +726,6 @@ int QVistaHelper::topOffset() QT_END_NAMESPACE -#endif // QT_NO_STYLE_WINDOWSVISTA +#endif // style_windowsvista #endif // QT_NO_WIZARD diff --git a/src/widgets/dialogs/qwizard_win_p.h b/src/widgets/dialogs/qwizard_win_p.h index 288e7adaf5..bbba53b879 100644 --- a/src/widgets/dialogs/qwizard_win_p.h +++ b/src/widgets/dialogs/qwizard_win_p.h @@ -54,7 +54,7 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> #ifndef QT_NO_WIZARD -#ifndef QT_NO_STYLE_WINDOWSVISTA +#if QT_CONFIG(style_windowsvista) #include <qobject.h> #include <qwidget.h> @@ -156,6 +156,6 @@ private: QT_END_NAMESPACE -#endif // QT_NO_STYLE_WINDOWSVISTA +#endif // style_windowsvista #endif // QT_NO_WIZARD #endif // QWIZARD_WIN_P_H diff --git a/src/widgets/graphicsview/qgraphicsproxywidget_p.h b/src/widgets/graphicsview/qgraphicsproxywidget_p.h index 0797ba7066..4624772993 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget_p.h +++ b/src/widgets/graphicsview/qgraphicsproxywidget_p.h @@ -80,7 +80,7 @@ public: void embedSubWindow(QWidget *); void unembedSubWindow(QWidget *); - bool isProxyWidget() const; + bool isProxyWidget() const override; QPointer<QWidget> widget; QPointer<QWidget> lastWidgetUnderMouse; diff --git a/src/widgets/graphicsview/qgraphicswidget_p.cpp b/src/widgets/graphicsview/qgraphicswidget_p.cpp index 46d2a4c1aa..660620a5d9 100644 --- a/src/widgets/graphicsview/qgraphicswidget_p.cpp +++ b/src/widgets/graphicsview/qgraphicswidget_p.cpp @@ -52,7 +52,7 @@ #include <QtWidgets/qstyleoption.h> #include <QtWidgets/QStyleOptionTitleBar> #include <QtWidgets/QGraphicsSceneMouseEvent> -#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && !defined(QT_NO_STYLE_MAC) +#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(style_mac) # include <private/qmacstyle_mac_p.h> #endif diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index f8ada6df08..d21ae573cd 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -93,12 +93,12 @@ class QEmptyModel : public QAbstractItemModel { public: explicit QEmptyModel(QObject *parent = 0) : QAbstractItemModel(parent) {} - QModelIndex index(int, int, const QModelIndex &) const { return QModelIndex(); } - QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } - int rowCount(const QModelIndex &) const { return 0; } - int columnCount(const QModelIndex &) const { return 0; } - bool hasChildren(const QModelIndex &) const { return false; } - QVariant data(const QModelIndex &, int) const { return QVariant(); } + QModelIndex index(int, int, const QModelIndex &) const override { return QModelIndex(); } + QModelIndex parent(const QModelIndex &) const override { return QModelIndex(); } + int rowCount(const QModelIndex &) const override { return 0; } + int columnCount(const QModelIndex &) const override { return 0; } + bool hasChildren(const QModelIndex &) const override { return false; } + QVariant data(const QModelIndex &, int) const override { return QVariant(); } }; class Q_AUTOTEST_EXPORT QAbstractItemViewPrivate : public QAbstractScrollAreaPrivate @@ -323,7 +323,7 @@ public: } // reimplemented from QAbstractScrollAreaPrivate - virtual QPoint contentsOffset() const { + QPoint contentsOffset() const override { Q_Q(const QAbstractItemView); return QPoint(q->horizontalOffset(), q->verticalOffset()); } diff --git a/src/widgets/itemviews/qheaderview_p.h b/src/widgets/itemviews/qheaderview_p.h index 0356d79ff7..6affe7af95 100644 --- a/src/widgets/itemviews/qheaderview_p.h +++ b/src/widgets/itemviews/qheaderview_p.h @@ -117,7 +117,7 @@ public: void resizeSections(QHeaderView::ResizeMode globalMode, bool useGlobalMode = false); void _q_sectionsRemoved(const QModelIndex &,int,int); void _q_layoutAboutToBeChanged(); - void _q_layoutChanged(); + void _q_layoutChanged() override; bool isSectionSelected(int section) const; bool isFirstVisibleSection(int section) const; diff --git a/src/widgets/itemviews/qitemeditorfactory.h b/src/widgets/itemviews/qitemeditorfactory.h index 785d4d84ea..dea9bce794 100644 --- a/src/widgets/itemviews/qitemeditorfactory.h +++ b/src/widgets/itemviews/qitemeditorfactory.h @@ -81,8 +81,8 @@ public: inline QStandardItemEditorCreator() : propertyName(T::staticMetaObject.userProperty().name()) {} - inline QWidget *createWidget(QWidget *parent) const { return new T(parent); } - inline QByteArray valuePropertyName() const { return propertyName; } + inline QWidget *createWidget(QWidget *parent) const override { return new T(parent); } + inline QByteArray valuePropertyName() const override { return propertyName; } private: QByteArray propertyName; diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h index 42cb6b4eef..47effcdfd9 100644 --- a/src/widgets/itemviews/qlistview_p.h +++ b/src/widgets/itemviews/qlistview_p.h @@ -69,28 +69,28 @@ class QListViewItem friend class QListModeViewBase; friend class QIconModeViewBase; public: - inline QListViewItem() + Q_DECL_CONSTEXPR QListViewItem() : x(-1), y(-1), w(0), h(0), indexHint(-1), visited(0xffff) {} - inline QListViewItem(QRect r, int i) + Q_DECL_CONSTEXPR QListViewItem(QRect r, int i) : x(r.x()), y(r.y()), w(qMin(r.width(), SHRT_MAX)), h(qMin(r.height(), SHRT_MAX)), indexHint(i), visited(0xffff) {} - inline bool operator==(const QListViewItem &other) const { + Q_DECL_CONSTEXPR bool operator==(const QListViewItem &other) const { return (x == other.x && y == other.y && w == other.w && h == other.h && indexHint == other.indexHint); } - inline bool operator!=(const QListViewItem &other) const + Q_DECL_CONSTEXPR bool operator!=(const QListViewItem &other) const { return !(*this == other); } - inline bool isValid() const + Q_DECL_CONSTEXPR bool isValid() const { return rect().isValid() && (indexHint > -1); } - inline void invalidate() + Q_DECL_RELAXED_CONSTEXPR void invalidate() { x = -1; y = -1; w = 0; h = 0; } - inline void resize(const QSize &size) + Q_DECL_RELAXED_CONSTEXPR void resize(QSize size) { w = qMin(size.width(), SHRT_MAX); h = qMin(size.height(), SHRT_MAX); } - inline void move(const QPoint &position) + Q_DECL_RELAXED_CONSTEXPR void move(QPoint position) { x = position.x(); y = position.y(); } - inline int width() const { return w; } - inline int height() const { return h; } + Q_DECL_CONSTEXPR int width() const { return w; } + Q_DECL_CONSTEXPR int height() const { return h; } private: - inline QRect rect() const + Q_DECL_CONSTEXPR QRect rect() const { return QRect(x, y, w, h); } int x, y; short w, h; @@ -209,24 +209,24 @@ public: int batchSavedPosition; //reimplementations - int itemIndex(const QListViewItem &item) const { return item.indexHint; } - QListViewItem indexToListViewItem(const QModelIndex &index) const; - bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max); - void clear(); - void setRowCount(int rowCount) { flowPositions.resize(rowCount); } - QVector<QModelIndex> intersectingSet(const QRect &area) const; - void dataChanged(const QModelIndex &, const QModelIndex &); + int itemIndex(const QListViewItem &item) const override { return item.indexHint; } + QListViewItem indexToListViewItem(const QModelIndex &index) const override; + bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max) override; + void clear() override; + void setRowCount(int rowCount) override { flowPositions.resize(rowCount); } + QVector<QModelIndex> intersectingSet(const QRect &area) const override; + void dataChanged(const QModelIndex &, const QModelIndex &) override; int horizontalScrollToValue(int index, QListView::ScrollHint hint, - bool leftOf, bool rightOf,const QRect &area, const QRect &rect) const; + bool leftOf, bool rightOf,const QRect &area, const QRect &rect) const override; int verticalScrollToValue(int index, QListView::ScrollHint hint, - bool above, bool below, const QRect &area, const QRect &rect) const; - void scrollContentsBy(int dx, int dy, bool scrollElasticBand); - QRect mapToViewport(const QRect &rect) const; - int horizontalOffset() const; - int verticalOffset() const; - void updateHorizontalScrollBar(const QSize &step); - void updateVerticalScrollBar(const QSize &step); + bool above, bool below, const QRect &area, const QRect &rect) const override; + void scrollContentsBy(int dx, int dy, bool scrollElasticBand) override; + QRect mapToViewport(const QRect &rect) const override; + int horizontalOffset() const override; + int verticalOffset() const override; + void updateHorizontalScrollBar(const QSize &step) override; + void updateVerticalScrollBar(const QSize &step) override; #ifndef QT_NO_DRAGANDDROP // The next two methods are to be used on LefToRight flow only. @@ -261,24 +261,24 @@ public: QVector<QModelIndex> *interSectingVector; //used from within intersectingSet //reimplementations - int itemIndex(const QListViewItem &item) const; - QListViewItem indexToListViewItem(const QModelIndex &index) const; - bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max); - void clear(); - void setRowCount(int rowCount); - QVector<QModelIndex> intersectingSet(const QRect &area) const; - - void scrollContentsBy(int dx, int dy, bool scrollElasticBand); - void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); - void appendHiddenRow(int row); - void removeHiddenRow(int row); - void setPositionForIndex(const QPoint &position, const QModelIndex &index); + int itemIndex(const QListViewItem &item) const override; + QListViewItem indexToListViewItem(const QModelIndex &index) const override; + bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max) override; + void clear() override; + void setRowCount(int rowCount) override; + QVector<QModelIndex> intersectingSet(const QRect &area) const override; + + void scrollContentsBy(int dx, int dy, bool scrollElasticBand) override; + void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) override; + void appendHiddenRow(int row) override; + void removeHiddenRow(int row) override; + void setPositionForIndex(const QPoint &position, const QModelIndex &index) override; #ifndef QT_NO_DRAGANDDROP - bool filterDragMoveEvent(QDragMoveEvent *); - bool filterDragLeaveEvent(QDragLeaveEvent *); - bool filterDropEvent(QDropEvent *e); - bool filterStartDrag(Qt::DropActions); + bool filterDragMoveEvent(QDragMoveEvent *) override; + bool filterDragLeaveEvent(QDragLeaveEvent *) override; + bool filterDropEvent(QDropEvent *e) override; + bool filterStartDrag(Qt::DropActions) override; #endif private: @@ -349,18 +349,18 @@ public: QModelIndex closestIndex(const QRect &target, const QVector<QModelIndex> &candidates) const; QSize itemSize(const QStyleOptionViewItem &option, const QModelIndex &index) const; - bool selectionAllowed(const QModelIndex &index) const + bool selectionAllowed(const QModelIndex &index) const override { if (viewMode == QListView::ListMode && !showElasticBand) return index.isValid(); return true; } int horizontalScrollToValue(const QModelIndex &index, const QRect &rect, QListView::ScrollHint hint) const; int verticalScrollToValue(const QModelIndex &index, const QRect &rect, QListView::ScrollHint hint) const; QItemSelection selection(const QRect &rect) const; - void selectAll(QItemSelectionModel::SelectionFlags command); + void selectAll(QItemSelectionModel::SelectionFlags command) override; #ifndef QT_NO_DRAGANDDROP - virtual QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const; - bool dropOn(QDropEvent *event, int *row, int *col, QModelIndex *index); + QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const override; + bool dropOn(QDropEvent *event, int *row, int *col, QModelIndex *index) override; #endif inline void setGridSize(const QSize &size) { grid = size; } @@ -383,7 +383,7 @@ public: void scrollElasticBandBy(int dx, int dy); - QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const; + QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const override; void emitIndexesMoved(const QModelIndexList &indexes) { emit q_func()->indexesMoved(indexes); } diff --git a/src/widgets/itemviews/qlistwidget_p.h b/src/widgets/itemviews/qlistwidget_p.h index eaddfc6e6e..0594fd511e 100644 --- a/src/widgets/itemviews/qlistwidget_p.h +++ b/src/widgets/itemviews/qlistwidget_p.h @@ -93,22 +93,22 @@ public: QListWidgetItem *take(int row); void move(int srcRow, int dstRow); - int rowCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; QModelIndex index(QListWidgetItem *item) const; - QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const; + QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - bool setData(const QModelIndex &index, const QVariant &value, int role); + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + bool setData(const QModelIndex &index, const QVariant &value, int role) override; - QMap<int, QVariant> itemData(const QModelIndex &index) const; + QMap<int, QVariant> itemData(const QModelIndex &index) const override; - bool insertRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()); - bool removeRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()); + bool insertRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override; + bool removeRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override; - Qt::ItemFlags flags(const QModelIndex &index) const; + Qt::ItemFlags flags(const QModelIndex &index) const override; - void sort(int column, Qt::SortOrder order); + void sort(int column, Qt::SortOrder order) override; void ensureSorted(int column, Qt::SortOrder order, int start, int end); static bool itemLessThan(const QPair<QListWidgetItem*,int> &left, const QPair<QListWidgetItem*,int> &right); @@ -122,12 +122,12 @@ public: void itemChanged(QListWidgetItem *item); // dnd - QStringList mimeTypes() const; - QMimeData *mimeData(const QModelIndexList &indexes) const; + QStringList mimeTypes() const override; + QMimeData *mimeData(const QModelIndexList &indexes) const override; #ifndef QT_NO_DRAGANDDROP bool dropMimeData(const QMimeData *data, Qt::DropAction action, - int row, int column, const QModelIndex &parent); - Qt::DropActions supportedDropActions() const; + int row, int column, const QModelIndex &parent) override; + Qt::DropActions supportedDropActions() const override; #endif QMimeData *internalMimeData() const; diff --git a/src/widgets/itemviews/qtablewidget_p.h b/src/widgets/itemviews/qtablewidget_p.h index 313577befe..2db7337cd6 100644 --- a/src/widgets/itemviews/qtablewidget_p.h +++ b/src/widgets/itemviews/qtablewidget_p.h @@ -99,11 +99,11 @@ public: QTableModel(int rows, int columns, QTableWidget *parent); ~QTableModel(); - bool insertRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()); - bool insertColumns(int column, int count = 1, const QModelIndex &parent = QModelIndex()); + bool insertRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override; + bool insertColumns(int column, int count = 1, const QModelIndex &parent = QModelIndex()) override; - bool removeRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()); - bool removeColumns(int column, int count = 1, const QModelIndex &parent = QModelIndex()); + bool removeRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override; + bool removeColumns(int column, int count = 1, const QModelIndex &parent = QModelIndex()) override; void setItem(int row, int column, QTableWidgetItem *item); QTableWidgetItem *takeItem(int row, int column); @@ -118,7 +118,7 @@ public: QTableWidgetItem *horizontalHeaderItem(int section); QTableWidgetItem *verticalHeaderItem(int section); - QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override { return QAbstractTableModel::index(row, column, parent); } QModelIndex index(const QTableWidgetItem *item) const; @@ -126,21 +126,21 @@ public: void setRowCount(int rows); void setColumnCount(int columns); - int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + int columnCount(const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - bool setData(const QModelIndex &index, const QVariant &value, int role); - bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles); + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + bool setData(const QModelIndex &index, const QVariant &value, int role) override; + bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override; - QMap<int, QVariant> itemData(const QModelIndex &index) const; + QMap<int, QVariant> itemData(const QModelIndex &index) const override; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role); + QVariant headerData(int section, Qt::Orientation orientation, int role) const override; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role) override; - Qt::ItemFlags flags(const QModelIndex &index) const; + Qt::ItemFlags flags(const QModelIndex &index) const override; - void sort(int column, Qt::SortOrder order); + void sort(int column, Qt::SortOrder order) override; static bool itemLessThan(const QPair<QTableWidgetItem*,int> &left, const QPair<QTableWidgetItem*,int> &right); static bool itemGreaterThan(const QPair<QTableWidgetItem*,int> &left, @@ -167,11 +167,11 @@ public: void setItemPrototype(const QTableWidgetItem *item); // dnd - QStringList mimeTypes() const; - QMimeData *mimeData(const QModelIndexList &indexes) const; + QStringList mimeTypes() const override; + QMimeData *mimeData(const QModelIndexList &indexes) const override; bool dropMimeData(const QMimeData *data, Qt::DropAction action, - int row, int column, const QModelIndex &parent); - Qt::DropActions supportedDropActions() const; + int row, int column, const QModelIndex &parent) override; + Qt::DropActions supportedDropActions() const override; QMimeData *internalMimeData() const; diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index 2d1d1f43d0..9583dd9657 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -2194,7 +2194,7 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie return QModelIndex(); } int vi = -1; -#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && !defined(QT_NO_STYLE_MAC) +#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(style_mac) // Selection behavior is slightly different on the Mac. if (d->selectionMode == QAbstractItemView::ExtendedSelection && d->selectionModel diff --git a/src/widgets/itemviews/qtreeview_p.h b/src/widgets/itemviews/qtreeview_p.h index 56f3340966..63af41292b 100644 --- a/src/widgets/itemviews/qtreeview_p.h +++ b/src/widgets/itemviews/qtreeview_p.h @@ -102,8 +102,8 @@ public: return logicalIndex == logicalIndexForTree(); } - QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const; - void adjustViewOptionsForIndex(QStyleOptionViewItem *option, const QModelIndex ¤t) const; + QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const override; + void adjustViewOptionsForIndex(QStyleOptionViewItem *option, const QModelIndex ¤t) const override; #ifndef QT_NO_ANIMATION struct AnimatedOperation : public QVariantAnimation @@ -115,8 +115,8 @@ public: AnimatedOperation() : item(0) { setEasingCurve(QEasingCurve::InOutQuad); } int top() const { return startValue().toInt(); } QRect rect() const { QRect rect = viewport->rect(); rect.moveTop(top()); return rect; } - void updateCurrentValue(const QVariant &) { viewport->update(rect()); } - void updateState(State state, State) { if (state == Stopped) before = after = QPixmap(); } + void updateCurrentValue(const QVariant &) override { viewport->update(rect()); } + void updateState(State state, State) override { if (state == Stopped) before = after = QPixmap(); } } animatedOperation; void prepareAnimatedOperation(int item, QVariantAnimation::Direction d); void beginAnimatedOperation(); @@ -128,11 +128,11 @@ public: void expand(int item, bool emitSignal); void collapse(int item, bool emitSignal); - void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int); - void _q_columnsRemoved(const QModelIndex &, int, int); + void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int) override; + void _q_columnsRemoved(const QModelIndex &, int, int) override; void _q_modelAboutToBeReset(); void _q_sortIndicatorChanged(int column, Qt::SortOrder order); - void _q_modelDestroyed(); + void _q_modelDestroyed() override; void layout(int item, bool recusiveExpanding = false, bool afterIsUninitialized = false); diff --git a/src/widgets/kernel/qapplication_p.h b/src/widgets/kernel/qapplication_p.h index 2a7859b056..271844a23e 100644 --- a/src/widgets/kernel/qapplication_p.h +++ b/src/widgets/kernel/qapplication_p.h @@ -158,6 +158,7 @@ public: #endif static bool inPopupMode(); + bool popupActive() Q_DECL_OVERRIDE { return inPopupMode(); } void closePopup(QWidget *popup); void openPopup(QWidget *popup); static void setFocusWidget(QWidget *focus, Qt::FocusReason reason); diff --git a/src/widgets/kernel/qformlayout.cpp b/src/widgets/kernel/qformlayout.cpp index 3e60723f17..f3f7280030 100644 --- a/src/widgets/kernel/qformlayout.cpp +++ b/src/widgets/kernel/qformlayout.cpp @@ -1410,18 +1410,15 @@ static QLayoutItem *ownershipCleanedItem(QFormLayoutItem *item, QFormLayout *lay return i; } -static void clearQLayoutItem(QLayoutItem *item) +static void clearAndDestroyQLayoutItem(QLayoutItem *item) { if (Q_LIKELY(item)) { + delete item->widget(); if (QLayout *layout = item->layout()) { - while (QLayoutItem *child = layout->takeAt(0)) { - clearQLayoutItem(child); - delete child; - } - delete layout; + while (QLayoutItem *child = layout->takeAt(0)) + clearAndDestroyQLayoutItem(child); } - delete item->widget(); - delete item->spacerItem(); + delete item; } } @@ -1453,8 +1450,8 @@ static void clearQLayoutItem(QLayoutItem *item) void QFormLayout::removeRow(int row) { TakeRowResult result = takeRow(row); - clearQLayoutItem(result.labelItem); - clearQLayoutItem(result.fieldItem); + clearAndDestroyQLayoutItem(result.labelItem); + clearAndDestroyQLayoutItem(result.fieldItem); } /*! @@ -1485,8 +1482,8 @@ void QFormLayout::removeRow(int row) void QFormLayout::removeRow(QWidget *widget) { TakeRowResult result = takeRow(widget); - clearQLayoutItem(result.labelItem); - clearQLayoutItem(result.fieldItem); + clearAndDestroyQLayoutItem(result.labelItem); + clearAndDestroyQLayoutItem(result.fieldItem); } /*! @@ -1518,8 +1515,8 @@ void QFormLayout::removeRow(QWidget *widget) void QFormLayout::removeRow(QLayout *layout) { TakeRowResult result = takeRow(layout); - clearQLayoutItem(result.labelItem); - clearQLayoutItem(result.fieldItem); + clearAndDestroyQLayoutItem(result.labelItem); + clearAndDestroyQLayoutItem(result.fieldItem); } /*! diff --git a/src/widgets/kernel/qlayoutitem.h b/src/widgets/kernel/qlayoutitem.h index 6f701b9f82..059ff2d470 100644 --- a/src/widgets/kernel/qlayoutitem.h +++ b/src/widgets/kernel/qlayoutitem.h @@ -101,14 +101,14 @@ public: void changeSize(int w, int h, QSizePolicy::Policy hData = QSizePolicy::Minimum, QSizePolicy::Policy vData = QSizePolicy::Minimum); - QSize sizeHint() const; - QSize minimumSize() const; - QSize maximumSize() const; - Qt::Orientations expandingDirections() const; - bool isEmpty() const; - void setGeometry(const QRect&); - QRect geometry() const; - QSpacerItem *spacerItem(); + QSize sizeHint() const override; + QSize minimumSize() const override; + QSize maximumSize() const override; + Qt::Orientations expandingDirections() const override; + bool isEmpty() const override; + void setGeometry(const QRect&) override; + QRect geometry() const override; + QSpacerItem *spacerItem() override; QSizePolicy sizePolicy() const { return sizeP; } private: @@ -126,18 +126,18 @@ public: explicit QWidgetItem(QWidget *w) : wid(w) { } ~QWidgetItem(); - QSize sizeHint() const; - QSize minimumSize() const; - QSize maximumSize() const; - Qt::Orientations expandingDirections() const; - bool isEmpty() const; - void setGeometry(const QRect&); - QRect geometry() const; - virtual QWidget *widget(); - - bool hasHeightForWidth() const; - int heightForWidth(int) const; - QSizePolicy::ControlTypes controlTypes() const; + QSize sizeHint() const override; + QSize minimumSize() const override; + QSize maximumSize() const override; + Qt::Orientations expandingDirections() const override; + bool isEmpty() const override; + void setGeometry(const QRect&) override; + QRect geometry() const override; + QWidget *widget() override; + + bool hasHeightForWidth() const override; + int heightForWidth(int) const override; + QSizePolicy::ControlTypes controlTypes() const override; protected: QWidget *wid; }; @@ -148,10 +148,10 @@ public: explicit QWidgetItemV2(QWidget *widget); ~QWidgetItemV2(); - QSize sizeHint() const; - QSize minimumSize() const; - QSize maximumSize() const; - int heightForWidth(int width) const; + QSize sizeHint() const override; + QSize minimumSize() const override; + QSize maximumSize() const override; + int heightForWidth(int width) const override; private: enum { Dirty = -123, HfwCacheMaxSize = 3 }; diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h index daf6b9e85b..4c80038a4f 100644 --- a/src/widgets/kernel/qwidget.h +++ b/src/widgets/kernel/qwidget.h @@ -571,16 +571,6 @@ public: inline QWidget *childAt(int x, int y) const; QWidget *childAt(const QPoint &p) const; -#if 0 // Used to be included in Qt4 for Q_WS_X11 - const QX11Info &x11Info() const; - Qt::HANDLE x11PictureHandle() const; -#endif - -#if 0 // Used to be included in Qt4 for Q_WS_MAC - Qt::HANDLE macQDHandle() const; - Qt::HANDLE macCGHandle() const; -#endif - void setAttribute(Qt::WidgetAttribute, bool on = true); inline bool testAttribute(Qt::WidgetAttribute) const; diff --git a/src/widgets/styles/qandroidstyle.cpp b/src/widgets/styles/qandroidstyle.cpp index 743166549b..b37dffbe80 100644 --- a/src/widgets/styles/qandroidstyle.cpp +++ b/src/widgets/styles/qandroidstyle.cpp @@ -39,7 +39,7 @@ #include "qandroidstyle_p.h" -#if !defined(QT_NO_STYLE_ANDROID) || defined(QT_PLUGIN) +#if QT_CONFIG(style_android) || defined(QT_PLUGIN) #include <QFile> #include <QFont> @@ -1807,4 +1807,4 @@ QRect QAndroidStyle::AndroidSpinnerControl::subControlRect(const QStyleOptionCom QT_END_NAMESPACE -#endif // !defined(QT_NO_STYLE_ANDROID) || defined(QT_PLUGIN) +#endif // QT_CONFIG(style_android) || defined(QT_PLUGIN) diff --git a/src/widgets/styles/qandroidstyle_p.h b/src/widgets/styles/qandroidstyle_p.h index 4649d90852..caff0afada 100644 --- a/src/widgets/styles/qandroidstyle_p.h +++ b/src/widgets/styles/qandroidstyle_p.h @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE -#if !defined(QT_NO_STYLE_ANDROID) +#if QT_CONFIG(style_android) class Q_WIDGETS_EXPORT QAndroidStyle : public QFusionStyle { @@ -388,7 +388,7 @@ private: AndroidCompoundButtonControl *checkBoxControl; }; -#endif // QT_NO_STYLE_ANDROID +#endif // style_android QT_END_NAMESPACE diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 3473ec7fb0..74e4d53dca 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -40,7 +40,7 @@ #include "qfusionstyle_p.h" #include "qfusionstyle_p_p.h" -#if !defined(QT_NO_STYLE_FUSION) || defined(QT_PLUGIN) +#if QT_CONFIG(style_fusion) || defined(QT_PLUGIN) #include "qcommonstyle_p.h" #include <qcombobox.h> #include <qpushbutton.h> @@ -3746,4 +3746,4 @@ QT_END_NAMESPACE #include "moc_qfusionstyle_p.cpp" -#endif // QT_NO_STYLE_FUSION || QT_PLUGIN +#endif // style_fusion|| QT_PLUGIN diff --git a/src/widgets/styles/qfusionstyle_p.h b/src/widgets/styles/qfusionstyle_p.h index 126fb96e78..aac27e51ab 100644 --- a/src/widgets/styles/qfusionstyle_p.h +++ b/src/widgets/styles/qfusionstyle_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE -#if !defined(QT_NO_STYLE_FUSION) +#if QT_CONFIG(style_fusion) class QFusionStylePrivate; class QFusionStyle : public QCommonStyle @@ -110,7 +110,7 @@ protected: }; -#endif // QT_NO_STYLE_FUSION +#endif // style_fusion QT_END_NAMESPACE diff --git a/src/widgets/styles/qfusionstyle_p_p.h b/src/widgets/styles/qfusionstyle_p_p.h index 8d1d27d244..169fd9a407 100644 --- a/src/widgets/styles/qfusionstyle_p_p.h +++ b/src/widgets/styles/qfusionstyle_p_p.h @@ -57,7 +57,7 @@ #include <qpa/qplatformtheme.h> #include "private/qguiapplication_p.h" -#ifndef QT_NO_STYLE_FUSION +#if QT_CONFIG(style_fusion) QT_BEGIN_NAMESPACE @@ -147,6 +147,6 @@ public: QT_END_NAMESPACE -#endif // QT_NO_STYLE_FUSION +#endif // style_fusion #endif //QFUSIONSTYLE_P_P_H diff --git a/src/widgets/styles/qmacstyle_mac_p.h b/src/widgets/styles/qmacstyle_mac_p.h index 459784c538..3642424a14 100644 --- a/src/widgets/styles/qmacstyle_mac_p.h +++ b/src/widgets/styles/qmacstyle_mac_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) class QPalette; diff --git a/src/widgets/styles/qstylefactory.cpp b/src/widgets/styles/qstylefactory.cpp index 09cccff4e8..8dc603f8e6 100644 --- a/src/widgets/styles/qstylefactory.cpp +++ b/src/widgets/styles/qstylefactory.cpp @@ -44,20 +44,20 @@ #include "qapplication.h" #include "qwindowsstyle_p.h" -#ifndef QT_NO_STYLE_FUSION +#if QT_CONFIG(style_fusion) #include "qfusionstyle_p.h" -#ifndef QT_NO_STYLE_ANDROID +#if QT_CONFIG(style_android) #include "qandroidstyle_p.h" #endif #endif -#ifndef QT_NO_STYLE_WINDOWSXP +#if QT_CONFIG(style_windowsxp) #include "qwindowsxpstyle_p.h" #endif -#ifndef QT_NO_STYLE_WINDOWSVISTA +#if QT_CONFIG(style_windowsvista) #include "qwindowsvistastyle_p.h" #endif -#if !defined(QT_NO_STYLE_MAC) && defined(Q_OS_MAC) +#if QT_CONFIG(style_mac) # include "qmacstyle_mac_p.h" #endif @@ -103,32 +103,32 @@ QStyle *QStyleFactory::create(const QString& key) { QStyle *ret = 0; QString style = key.toLower(); -#ifndef QT_NO_STYLE_WINDOWS +#if QT_CONFIG(style_windows) if (style == QLatin1String("windows")) ret = new QWindowsStyle; else #endif -#ifndef QT_NO_STYLE_WINDOWSXP +#if QT_CONFIG(style_windowsxp) if (style == QLatin1String("windowsxp")) ret = new QWindowsXPStyle; else #endif -#ifndef QT_NO_STYLE_WINDOWSVISTA +#if QT_CONFIG(style_windowsvista) if (style == QLatin1String("windowsvista")) ret = new QWindowsVistaStyle; else #endif -#ifndef QT_NO_STYLE_FUSION +#if QT_CONFIG(style_fusion) if (style == QLatin1String("fusion")) ret = new QFusionStyle; else #endif -#ifndef QT_NO_STYLE_ANDROID +#if QT_CONFIG(style_android) if (style == QLatin1String("android")) ret = new QAndroidStyle; else #endif -#ifndef QT_NO_STYLE_MAC +#if QT_CONFIG(style_mac) if (style.startsWith(QLatin1String("macintosh"))) { ret = new QMacStyle; # if 0 // Used to be included in Qt4 for Q_WS_MAC @@ -160,29 +160,29 @@ QStringList QStyleFactory::keys() const PluginKeyMap::const_iterator cend = keyMap.constEnd(); for (PluginKeyMap::const_iterator it = keyMap.constBegin(); it != cend; ++it) list.append(it.value()); -#ifndef QT_NO_STYLE_WINDOWS +#if QT_CONFIG(style_windows) if (!list.contains(QLatin1String("Windows"))) list << QLatin1String("Windows"); #endif -#ifndef QT_NO_STYLE_WINDOWSXP +#if QT_CONFIG(style_windowsxp) if (!list.contains(QLatin1String("WindowsXP")) && (QSysInfo::WindowsVersion >= QSysInfo::WV_XP && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) list << QLatin1String("WindowsXP"); #endif -#ifndef QT_NO_STYLE_WINDOWSVISTA +#if QT_CONFIG(style_windowsvista) if (!list.contains(QLatin1String("WindowsVista")) && (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) list << QLatin1String("WindowsVista"); #endif -#ifndef QT_NO_STYLE_ANDROID +#if QT_CONFIG(style_android) if (!list.contains(QLatin1String("Android"))) list << QLatin1String("Android"); #endif -#ifndef QT_NO_STYLE_FUSION +#if QT_CONFIG(style_fusion) if (!list.contains(QLatin1String("Fusion"))) list << QLatin1String("Fusion"); #endif -#ifndef QT_NO_STYLE_MAC +#if QT_CONFIG(style_mac) QString mstyle = QLatin1String("Macintosh"); # if 0 // Used to be included in Qt4 for Q_WS_MAC mstyle += QLatin1String(" (aqua)"); diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index 83739655af..c12b3285f1 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -37,9 +37,10 @@ ** ****************************************************************************/ +#include <QtWidgets/private/qtwidgetsglobal_p.h> #include "qstyleoption.h" #include "qapplication.h" -#ifdef Q_OS_MAC +#if QT_CONFIG(style_mac) # include "qmacstyle_mac_p.h" #endif #include <qdebug.h> @@ -204,7 +205,7 @@ void QStyleOption::init(const QWidget *widget) if (!(state & QStyle::State_Active) && !qt_mac_can_clickThrough(widget)) state &= ~QStyle::State_Enabled; #endif -#if defined(Q_OS_OSX) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) switch (QMacStyle::widgetSizePolicy(widget)) { case QMacStyle::SizeSmall: state |= QStyle::State_Small; diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 8e77ae0e44..d63c96bf0e 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -5542,9 +5542,9 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp } else { sliderlen = maxlen; } - + const int sliderPosition = sb->orientation == Qt::Horizontal && sb->direction == Qt::RightToLeft ? sb->maximum - sb->sliderPosition + sb->minimum : sb->sliderPosition; int sliderstart = (styleOptionSlider.orientation == Qt::Horizontal ? contentRect.left() : contentRect.top()) - + sliderPositionFromValue(sb->minimum, sb->maximum, sb->sliderPosition, + + sliderPositionFromValue(sb->minimum, sb->maximum, sliderPosition, maxlen - sliderlen, sb->upsideDown); QRect sr = (sb->orientation == Qt::Horizontal) diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index e3bf28608c..a8ee881a30 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -40,7 +40,7 @@ #include "qwindowsstyle_p.h" #include "qwindowsstyle_p_p.h" -#if !defined(QT_NO_STYLE_WINDOWS) || defined(QT_PLUGIN) +#if QT_CONFIG(style_windows) || defined(QT_PLUGIN) #include "qapplication.h" #include "qbitmap.h" @@ -2407,4 +2407,4 @@ QT_END_NAMESPACE #include "moc_qwindowsstyle_p.cpp" -#endif // QT_NO_STYLE_WINDOWS +#endif // style_windows diff --git a/src/widgets/styles/qwindowsstyle_p.h b/src/widgets/styles/qwindowsstyle_p.h index 5d68bfeba0..a1d65610ff 100644 --- a/src/widgets/styles/qwindowsstyle_p.h +++ b/src/widgets/styles/qwindowsstyle_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE -#if !defined(QT_NO_STYLE_WINDOWS) +#if QT_CONFIG(style_windows) class QWindowsStylePrivate; @@ -106,7 +106,7 @@ private: Q_DECLARE_PRIVATE(QWindowsStyle) }; -#endif // QT_NO_STYLE_WINDOWS +#endif // style_windows QT_END_NAMESPACE diff --git a/src/widgets/styles/qwindowsstyle_p_p.h b/src/widgets/styles/qwindowsstyle_p_p.h index 0c23f4b4a8..5023fd1042 100644 --- a/src/widgets/styles/qwindowsstyle_p_p.h +++ b/src/widgets/styles/qwindowsstyle_p_p.h @@ -55,7 +55,7 @@ #include "qwindowsstyle_p.h" #include "qcommonstyle_p.h" -#ifndef QT_NO_STYLE_WINDOWS +#if QT_CONFIG(style_windows) #include <qlist.h> QT_BEGIN_NAMESPACE @@ -103,7 +103,7 @@ private: QT_END_NAMESPACE -#endif // QT_NO_STYLE_WINDOWS +#endif // style_windows #endif //QWINDOWSSTYLE_P_P_H ; diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index 8c91e3a420..d6a4016e4c 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -47,7 +47,7 @@ #include <private/qapplication_p.h> #include <qpa/qplatformnativeinterface.h> -#if !defined(QT_NO_STYLE_WINDOWSVISTA) || defined(QT_PLUGIN) +#if QT_CONFIG(style_windowsvista) || defined(QT_PLUGIN) QT_BEGIN_NAMESPACE diff --git a/src/widgets/styles/qwindowsvistastyle_p.h b/src/widgets/styles/qwindowsvistastyle_p.h index 0289f404dd..8fbd1dc380 100644 --- a/src/widgets/styles/qwindowsvistastyle_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) class QWindowsVistaStylePrivate; class QWindowsVistaStyle : public QWindowsXPStyle @@ -103,7 +103,7 @@ private: Q_DECLARE_PRIVATE(QWindowsVistaStyle) friend class QStyleFactory; }; -#endif //QT_NO_STYLE_WINDOWSVISTA +#endif // style_windowsvista QT_END_NAMESPACE diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index 4ca47fec2c..18b6f9c3f7 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -54,7 +54,7 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> #include "qwindowsvistastyle_p.h" -#if !defined(QT_NO_STYLE_WINDOWSVISTA) +#if QT_CONFIG(style_windowsvista) #include <private/qwindowsxpstyle_p_p.h> #include <private/qstyleanimation_p.h> #include <private/qpaintengine_raster_p.h> @@ -177,6 +177,6 @@ public: QT_END_NAMESPACE -#endif // QT_NO_STYLE_WINDOWSVISTA +#endif // style_windowsvista #endif // QWINDOWSVISTASTYLE_P_P_H diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 4ce359a7c4..f999d823e0 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -39,7 +39,7 @@ #include "qwindowsxpstyle_p.h" #include "qwindowsxpstyle_p_p.h" -#if !defined(QT_NO_STYLE_WINDOWSXP) || defined(QT_PLUGIN) +#if QT_CONFIG(style_windowsxp) || defined(QT_PLUGIN) #include <private/qobject_p.h> #include <private/qpaintengine_raster_p.h> diff --git a/src/widgets/styles/qwindowsxpstyle_p.h b/src/widgets/styles/qwindowsxpstyle_p.h index 088178cb5a..62e3af927c 100644 --- a/src/widgets/styles/qwindowsxpstyle_p.h +++ b/src/widgets/styles/qwindowsxpstyle_p.h @@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE -#if !defined(QT_NO_STYLE_WINDOWSXP) +#if QT_CONFIG(style_windowsxp) class QWindowsXPStylePrivate; class QWindowsXPStyle : public QWindowsStyle @@ -102,7 +102,7 @@ private: friend class QStyleFactory; }; -#endif // QT_NO_STYLE_WINDOWSXP +#endif // style_windowsxp QT_END_NAMESPACE diff --git a/src/widgets/styles/qwindowsxpstyle_p_p.h b/src/widgets/styles/qwindowsxpstyle_p_p.h index d6702c8803..fb5210cb07 100644 --- a/src/widgets/styles/qwindowsxpstyle_p_p.h +++ b/src/widgets/styles/qwindowsxpstyle_p_p.h @@ -94,7 +94,7 @@ QT_BEGIN_NAMESPACE // Uncomment define below to build debug assisting code, and output // #define DEBUG_XP_STYLE -#if !defined(QT_NO_STYLE_WINDOWSXP) +#if QT_CONFIG(style_windowsxp) // Declarations ----------------------------------------------------------------------------------- class XPThemeData @@ -338,7 +338,7 @@ inline QMarginsF XPThemeData::themeMargins(const QWidget *w, QPainter *p, int th return theme.margins(propId); } -#endif // QT_NO_STYLE_WINDOWS +#endif // style_windows QT_END_NAMESPACE diff --git a/src/widgets/styles/styles.pri b/src/widgets/styles/styles.pri index 69e13fb6ec..481123f0d4 100644 --- a/src/widgets/styles/styles.pri +++ b/src/widgets/styles/styles.pri @@ -37,51 +37,35 @@ RESOURCES += styles/qstyle.qrc include($$OUT_PWD/qtwidgets-config.pri) -contains( styles, mac ) { +qtConfig(style-mac) { HEADERS += \ styles/qmacstyle_mac_p.h \ styles/qmacstyle_mac_p_p.h OBJECTIVE_SOURCES += styles/qmacstyle_mac.mm LIBS_PRIVATE += -framework Carbon -} else { - DEFINES += QT_NO_STYLE_MAC } -contains( styles, windowsvista ) { - HEADERS += styles/qwindowsvistastyle_p.h - HEADERS += styles/qwindowsvistastyle_p_p.h +qtConfig(style-windowsvista) { + HEADERS += styles/qwindowsvistastyle_p.h styles/qwindowsvistastyle_p_p.h SOURCES += styles/qwindowsvistastyle.cpp -} else { - DEFINES += QT_NO_STYLE_WINDOWSVISTA } -contains( styles, windowsxp ) { - HEADERS += styles/qwindowsxpstyle_p.h - HEADERS += styles/qwindowsxpstyle_p_p.h +qtConfig(style-windowsxp) { + HEADERS += styles/qwindowsxpstyle_p.h styles/qwindowsxpstyle_p_p.h SOURCES += styles/qwindowsxpstyle.cpp -} else { - DEFINES += QT_NO_STYLE_WINDOWSXP } -contains( styles, windows ) { - HEADERS += styles/qwindowsstyle_p.h - HEADERS += styles/qwindowsstyle_p_p.h +qtConfig(style-windows) { + HEADERS += styles/qwindowsstyle_p.h styles/qwindowsstyle_p_p.h SOURCES += styles/qwindowsstyle.cpp -} else { - DEFINES += QT_NO_STYLE_WINDOWS } -contains( styles, fusion ) { - HEADERS += styles/qfusionstyle_p.h - HEADERS += styles/qfusionstyle_p_p.h - SOURCES += styles/qfusionstyle.cpp -} else { - DEFINES += QT_NO_STYLE_FUSION +qtConfig(style-fusion) { + HEADERS += styles/qfusionstyle_p.h styles/qfusionstyle_p_p.h + SOURCES += styles/qfusionstyle.cpp } -contains( styles, android ) { +qtConfig(style-android) { HEADERS += styles/qandroidstyle_p.h SOURCES += styles/qandroidstyle.cpp -} else { - DEFINES += QT_NO_STYLE_ANDROID } diff --git a/src/widgets/util/qflickgesture_p.h b/src/widgets/util/qflickgesture_p.h index fa70806ef7..74a0f2a0f3 100644 --- a/src/widgets/util/qflickgesture_p.h +++ b/src/widgets/util/qflickgesture_p.h @@ -97,9 +97,9 @@ class QFlickGestureRecognizer : public QGestureRecognizer public: QFlickGestureRecognizer(Qt::MouseButton button); - QGesture *create(QObject *target); - QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event); - void reset(QGesture *state); + QGesture *create(QObject *target) override; + QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event) override; + void reset(QGesture *state) override; private: Qt::MouseButton button; // NoButton == Touch diff --git a/src/widgets/widgets/qabstractspinbox.h b/src/widgets/widgets/qabstractspinbox.h index d93489e663..ac46894a27 100644 --- a/src/widgets/widgets/qabstractspinbox.h +++ b/src/widgets/widgets/qabstractspinbox.h @@ -117,12 +117,12 @@ public: void setGroupSeparatorShown(bool shown); bool isGroupSeparatorShown() const; - QSize sizeHint() const; - QSize minimumSizeHint() const; + QSize sizeHint() const override; + QSize minimumSizeHint() const override; void interpretText(); - bool event(QEvent *event); + bool event(QEvent *event) override; - QVariant inputMethodQuery(Qt::InputMethodQuery) const; + QVariant inputMethodQuery(Qt::InputMethodQuery) const override; virtual QValidator::State validate(QString &input, int &pos) const; virtual void fixup(QString &input) const; @@ -134,24 +134,24 @@ public Q_SLOTS: void selectAll(); virtual void clear(); protected: - void resizeEvent(QResizeEvent *event); - void keyPressEvent(QKeyEvent *event); - void keyReleaseEvent(QKeyEvent *event); + void resizeEvent(QResizeEvent *event) override; + void keyPressEvent(QKeyEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; #ifndef QT_NO_WHEELEVENT - void wheelEvent(QWheelEvent *event); + void wheelEvent(QWheelEvent *event) override; #endif - void focusInEvent(QFocusEvent *event); - void focusOutEvent(QFocusEvent *event); - void contextMenuEvent(QContextMenuEvent *event); - void changeEvent(QEvent *event); - void closeEvent(QCloseEvent *event); - void hideEvent(QHideEvent *event); - void mousePressEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void timerEvent(QTimerEvent *event); - void paintEvent(QPaintEvent *event); - void showEvent(QShowEvent *event); + void focusInEvent(QFocusEvent *event) override; + void focusOutEvent(QFocusEvent *event) override; + void contextMenuEvent(QContextMenuEvent *event) override; + void changeEvent(QEvent *event) override; + void closeEvent(QCloseEvent *event) override; + void hideEvent(QHideEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; + void mouseReleaseEvent(QMouseEvent *event) override; + void mouseMoveEvent(QMouseEvent *event) override; + void timerEvent(QTimerEvent *event) override; + void paintEvent(QPaintEvent *event) override; + void showEvent(QShowEvent *event) override; void initStyleOption(QStyleOptionSpinBox *option) const; QLineEdit *lineEdit() const; diff --git a/src/widgets/widgets/qabstractspinbox_p.h b/src/widgets/widgets/qabstractspinbox_p.h index 47ca10a183..5ec59d899b 100644 --- a/src/widgets/widgets/qabstractspinbox_p.h +++ b/src/widgets/widgets/qabstractspinbox_p.h @@ -156,8 +156,8 @@ class QSpinBoxValidator : public QValidator { public: QSpinBoxValidator(QAbstractSpinBox *qptr, QAbstractSpinBoxPrivate *dptr); - QValidator::State validate(QString &input, int &) const; - void fixup(QString &) const; + QValidator::State validate(QString &input, int &) const override; + void fixup(QString &) const override; private: QAbstractSpinBox *qptr; QAbstractSpinBoxPrivate *dptr; diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 4358e568bf..4519265fb8 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -66,7 +66,7 @@ #include <private/qabstractitemmodel_p.h> #include <private/qabstractscrollarea_p.h> #include <qdebug.h> -#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && !defined(QT_NO_EFFECTS) && !defined(QT_NO_STYLE_MAC) +#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && !defined(QT_NO_EFFECTS) && QT_CONFIG(style_mac) #include <private/qcore_mac_p.h> #include <private/qmacstyle_mac_p.h> #include <private/qt_cocoa_helpers_mac_p.h> @@ -1841,7 +1841,7 @@ QLineEdit *QComboBox::lineEdit() const Sets the \a validator to use instead of the current validator. - \note The validator is removed when the editable property becomes \c false. + \note The validator is removed when the \l editable property becomes \c false. */ void QComboBox::setValidator(const QValidator *v) @@ -1876,7 +1876,7 @@ const QValidator *QComboBox::validator() const By default, for an editable combo box, a QCompleter that performs case insensitive inline completion is automatically created. - \note The completer is removed when the \a editable property becomes \c false. + \note The completer is removed when the \l editable property becomes \c false. */ void QComboBox::setCompleter(QCompleter *c) { diff --git a/src/widgets/widgets/qcombobox_p.h b/src/widgets/widgets/qcombobox_p.h index 7ca077abf9..6c36359f81 100644 --- a/src/widgets/widgets/qcombobox_p.h +++ b/src/widgets/widgets/qcombobox_p.h @@ -86,13 +86,13 @@ public: QComboBoxListView(QComboBox *cmb = 0) : combo(cmb) {} protected: - void resizeEvent(QResizeEvent *event) + void resizeEvent(QResizeEvent *event) override { resizeContents(viewport()->width(), contentsSize().height()); QListView::resizeEvent(event); } - QStyleOptionViewItem viewOptions() const + QStyleOptionViewItem viewOptions() const override { QStyleOptionViewItem option = QListView::viewOptions(); option.showDecorationSelected = true; @@ -101,7 +101,7 @@ protected: return option; } - void paintEvent(QPaintEvent *e) + void paintEvent(QPaintEvent *e) override { if (combo) { QStyleOptionComboBox opt; @@ -142,7 +142,7 @@ public: setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); setAttribute(Qt::WA_NoMousePropagation); } - QSize sizeHint() const { + QSize sizeHint() const override { return QSize(20, style()->pixelMetric(QStyle::PM_MenuScrollerHeight)); } @@ -156,14 +156,14 @@ protected: fast = false; } - void enterEvent(QEvent *) { + void enterEvent(QEvent *) override { startTimer(); } - void leaveEvent(QEvent *) { + void leaveEvent(QEvent *) override { stopTimer(); } - void timerEvent(QTimerEvent *e) { + void timerEvent(QTimerEvent *e) override { if (e->timerId() == timer.timerId()) { emit doScroll(sliderAction); if (fast) { @@ -172,11 +172,11 @@ protected: } } } - void hideEvent(QHideEvent *) { + void hideEvent(QHideEvent *) override { stopTimer(); } - void mouseMoveEvent(QMouseEvent *e) + void mouseMoveEvent(QMouseEvent *e) override { // Enable fast scrolling if the cursor is directly above or below the popup. const int mouseX = e->pos().x(); @@ -188,7 +188,7 @@ protected: fast = horizontallyInside && verticallyOutside; } - void paintEvent(QPaintEvent *) { + void paintEvent(QPaintEvent *) override { QPainter p(this); QStyleOptionMenuItem menuOpt; menuOpt.init(this); @@ -235,15 +235,15 @@ public Q_SLOTS: void viewDestroyed(); protected: - void changeEvent(QEvent *e); - bool eventFilter(QObject *o, QEvent *e); - void mousePressEvent(QMouseEvent *e); - void mouseReleaseEvent(QMouseEvent *e); - void showEvent(QShowEvent *e); - void hideEvent(QHideEvent *e); - void timerEvent(QTimerEvent *timerEvent); - void leaveEvent(QEvent *e); - void resizeEvent(QResizeEvent *e); + void changeEvent(QEvent *e) override; + bool eventFilter(QObject *o, QEvent *e) override; + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + void showEvent(QShowEvent *e) override; + void hideEvent(QHideEvent *e) override; + void timerEvent(QTimerEvent *timerEvent) override; + void leaveEvent(QEvent *e) override; + void resizeEvent(QResizeEvent *e) override; QStyleOptionComboBox comboStyleOption() const; Q_SIGNALS: @@ -270,13 +270,13 @@ public: protected: void paint(QPainter *painter, const QStyleOptionViewItem &option, - const QModelIndex &index) const { + const QModelIndex &index) const override { QStyleOptionMenuItem opt = getStyleOption(option, index); painter->fillRect(option.rect, opt.palette.background()); mCombo->style()->drawControl(QStyle::CE_MenuItem, &opt, painter, mCombo); } QSize sizeHint(const QStyleOptionViewItem &option, - const QModelIndex &index) const { + const QModelIndex &index) const override { QStyleOptionMenuItem opt = getStyleOption(option, index); return mCombo->style()->sizeFromContents( QStyle::CT_MenuItem, &opt, option.rect.size(), mCombo); @@ -309,7 +309,7 @@ public: protected: void paint(QPainter *painter, const QStyleOptionViewItem &option, - const QModelIndex &index) const { + const QModelIndex &index) const override { if (isSeparator(index)) { QRect rect = option.rect; if (const QAbstractItemView *view = qobject_cast<const QAbstractItemView*>(option.widget)) @@ -323,7 +323,7 @@ protected: } QSize sizeHint(const QStyleOptionViewItem &option, - const QModelIndex &index) const { + const QModelIndex &index) const override { if (isSeparator(index)) { int pm = mCombo->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, 0, mCombo); return QSize(pm, pm); diff --git a/src/widgets/widgets/qdatetimeedit.h b/src/widgets/widgets/qdatetimeedit.h index c261ce369b..5c9f4e0f9d 100644 --- a/src/widgets/widgets/qdatetimeedit.h +++ b/src/widgets/widgets/qdatetimeedit.h @@ -159,12 +159,12 @@ public: Qt::TimeSpec timeSpec() const; void setTimeSpec(Qt::TimeSpec spec); - QSize sizeHint() const; + QSize sizeHint() const override; - virtual void clear(); - virtual void stepBy(int steps); + void clear() override; + void stepBy(int steps) override; - bool event(QEvent *event); + bool event(QEvent *event) override; Q_SIGNALS: void dateTimeChanged(const QDateTime &dateTime); void timeChanged(const QTime &time); @@ -176,20 +176,20 @@ public Q_SLOTS: void setTime(const QTime &time); protected: - virtual void keyPressEvent(QKeyEvent *event); + void keyPressEvent(QKeyEvent *event) override; #ifndef QT_NO_WHEELEVENT - virtual void wheelEvent(QWheelEvent *event); + void wheelEvent(QWheelEvent *event) override; #endif - virtual void focusInEvent(QFocusEvent *event); - virtual bool focusNextPrevChild(bool next); - virtual QValidator::State validate(QString &input, int &pos) const; - virtual void fixup(QString &input) const; + void focusInEvent(QFocusEvent *event) override; + bool focusNextPrevChild(bool next) override; + QValidator::State validate(QString &input, int &pos) const override; + void fixup(QString &input) const override; virtual QDateTime dateTimeFromText(const QString &text) const; virtual QString textFromDateTime(const QDateTime &dt) const; - virtual StepEnabled stepEnabled() const; - virtual void mousePressEvent(QMouseEvent *event); - virtual void paintEvent(QPaintEvent *event); + StepEnabled stepEnabled() const override; + void mousePressEvent(QMouseEvent *event) override; + void paintEvent(QPaintEvent *event) override; void initStyleOption(QStyleOptionSpinBox *option) const; QDateTimeEdit(const QVariant &val, QVariant::Type parserType, QWidget *parent = Q_NULLPTR); diff --git a/src/widgets/widgets/qdatetimeedit_p.h b/src/widgets/widgets/qdatetimeedit_p.h index 6889bda041..730aa0f0b2 100644 --- a/src/widgets/widgets/qdatetimeedit_p.h +++ b/src/widgets/widgets/qdatetimeedit_p.h @@ -167,10 +167,10 @@ private Q_SLOTS: void dateSelectionChanged(); protected: - void hideEvent(QHideEvent *); - void mousePressEvent(QMouseEvent *e); - void mouseReleaseEvent(QMouseEvent *); - bool event(QEvent *e); + void hideEvent(QHideEvent *) override; + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *) override; + bool event(QEvent *e) override; private: QCalendarWidget *verifyCalendarInstance(); diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 1df7259aba..c9cb826213 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -797,8 +797,10 @@ void QDockWidgetPrivate::endDrag(bool abort) if (abort || !mwLayout->plug(state->widgetItem)) { if (hasFeature(this, QDockWidget::DockWidgetFloatable)) { // This QDockWidget will now stay in the floating state. - if (state->ownWidgetItem) + if (state->ownWidgetItem) { delete state->widgetItem; + state->widgetItem = nullptr; + } mwLayout->restore(); QDockWidgetLayout *dwLayout = qobject_cast<QDockWidgetLayout*>(layout); if (!dwLayout->nativeWindowDeco()) { diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index dd5f5325b1..ffe1ca1c66 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -603,7 +603,7 @@ const QValidator * QLineEdit::validator() const The initial setting is to have no input validator (i.e. any input is accepted up to maxLength()). - \sa validator(), QIntValidator, QDoubleValidator, QRegExpValidator + \sa validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator, QRegExpValidator */ void QLineEdit::setValidator(const QValidator *v) diff --git a/src/widgets/widgets/qmacnativewidget_mac.h b/src/widgets/widgets/qmacnativewidget_mac.h index 84389f16df..a8faffd6be 100644 --- a/src/widgets/widgets/qmacnativewidget_mac.h +++ b/src/widgets/widgets/qmacnativewidget_mac.h @@ -54,11 +54,11 @@ public: QMacNativeWidget(NSView *parentView = Q_NULLPTR); ~QMacNativeWidget(); - QSize sizeHint() const; + QSize sizeHint() const override; NSView *nativeView() const; protected: - bool event(QEvent *ev); + bool event(QEvent *ev) override; }; QT_END_NAMESPACE diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 183f1c2848..9b39743281 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -160,7 +160,7 @@ #include <QApplication> #include <QStyle> -#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && !defined(QT_NO_STYLE_MAC) +#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(style_mac) #include <private/qmacstyle_mac_p.h> #endif #include <QChildEvent> diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 2fff2fc729..a627c86871 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -158,7 +158,7 @@ #include <QMainWindow> #include <QScrollBar> #include <QDebug> -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) #include <private/qmacstyle_mac_p.h> #endif #include <QMdiArea> @@ -295,7 +295,7 @@ static void showToolTip(QHelpEvent *helpEvent, QWidget *widget, const QStyleOpti Q_ASSERT(helpEvent->type() == QEvent::ToolTip); Q_ASSERT(widget); -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) // Native Mac windows don't show tool tip. if (qobject_cast<QMacStyle *>(widget->style())) return; @@ -1076,7 +1076,7 @@ void QMdiSubWindowPrivate::updateCursor() { #ifndef QT_NO_CURSOR Q_Q(QMdiSubWindow); -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(q->style())) return; #endif @@ -1504,7 +1504,7 @@ void QMdiSubWindowPrivate::processClickedSubControl() q->showNormal(); break; case QStyle::SC_TitleBarMinButton: -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(q->style())) { if (q->isMinimized()) q->showNormal(); @@ -1521,7 +1521,7 @@ void QMdiSubWindowPrivate::processClickedSubControl() q->showNormal(); break; case QStyle::SC_TitleBarMaxButton: -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(q->style())) { if (q->isMaximized()) q->showNormal(); @@ -1568,7 +1568,7 @@ QRegion QMdiSubWindowPrivate::getRegion(Operation operation) const } QRegion region; -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(q->style())) return region; #endif @@ -1775,7 +1775,7 @@ bool QMdiSubWindowPrivate::drawTitleBarWhenMaximized() const if (isChildOfTabbedQMdiArea(q)) return false; -#if defined(Q_OS_DARWIN) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) Q_UNUSED(isChildOfQMdiSubWindow); return true; #else @@ -2191,7 +2191,7 @@ void QMdiSubWindowPrivate::setSizeGrip(QSizeGrip *newSizeGrip) return; newSizeGrip->setFixedSize(newSizeGrip->sizeHint()); bool putSizeGripInLayout = layout ? true : false; -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(q->style())) putSizeGripInLayout = false; #endif @@ -2843,7 +2843,7 @@ bool QMdiSubWindow::event(QEvent *event) d->isMaximizeMode = false; d->isWidgetHiddenByUs = false; if (!parent()) { -#if !defined(QT_NO_SIZEGRIP) && defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if !defined(QT_NO_SIZEGRIP) && QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(style())) delete d->sizeGrip; #endif @@ -2938,7 +2938,7 @@ void QMdiSubWindow::showEvent(QShowEvent *showEvent) return; } -#if !defined(QT_NO_SIZEGRIP) && defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if !defined(QT_NO_SIZEGRIP) && QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(style()) && !d->sizeGrip && !(windowFlags() & Qt::FramelessWindowHint)) { d->setSizeGrip(new QSizeGrip(this)); @@ -3333,7 +3333,7 @@ void QMdiSubWindow::mouseMoveEvent(QMouseEvent *mouseEvent) hoverRegion += style()->subControlRect(QStyle::CC_TitleBar, &options, d->hoveredSubControl, this); } -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) if (qobject_cast<QMacStyle *>(style()) && !hoverRegion.isEmpty()) hoverRegion += QRegion(0, 0, width(), d->titleBarHeight(options)); #endif @@ -3543,7 +3543,7 @@ QSize QMdiSubWindow::minimumSizeHint() const int sizeGripHeight = 0; if (d->sizeGrip && d->sizeGrip->isVisibleTo(const_cast<QMdiSubWindow *>(this))) sizeGripHeight = d->sizeGrip->height(); -#if defined(Q_OS_MAC) && !defined(QT_NO_STYLE_MAC) +#if QT_CONFIG(style_mac) else if (parent() && qobject_cast<QMacStyle *>(style()) && !d->sizeGrip) sizeGripHeight = style()->pixelMetric(QStyle::PM_SizeGripSize, 0, this); #endif diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h index 650d3b0bfb..33fa73eb0d 100644 --- a/src/widgets/widgets/qmdisubwindow_p.h +++ b/src/widgets/widgets/qmdisubwindow_p.h @@ -80,7 +80,7 @@ public: mdiChild = child; } - void *qt_metacast(const char *classname) + void *qt_metacast(const char *classname) override { if (classname && strcmp(classname, "ControlElement") == 0) return this; diff --git a/src/widgets/widgets/qmenubar.h b/src/widgets/widgets/qmenubar.h index ec15155710..7ad205b77a 100644 --- a/src/widgets/widgets/qmenubar.h +++ b/src/widgets/widgets/qmenubar.h @@ -86,9 +86,9 @@ public: void setDefaultUp(bool); bool isDefaultUp() const; - QSize sizeHint() const; - QSize minimumSizeHint() const; - int heightForWidth(int) const; + QSize sizeHint() const override; + QSize minimumSizeHint() const override; + int heightForWidth(int) const override; QRect actionGeometry(QAction *) const; QAction *actionAt(const QPoint &) const; @@ -104,27 +104,27 @@ public: void setNativeMenuBar(bool nativeMenuBar); QPlatformMenuBar *platformMenuBar(); public Q_SLOTS: - virtual void setVisible(bool visible); + void setVisible(bool visible) override; Q_SIGNALS: void triggered(QAction *action); void hovered(QAction *action); protected: - void changeEvent(QEvent *); - void keyPressEvent(QKeyEvent *); - void mouseReleaseEvent(QMouseEvent *); - void mousePressEvent(QMouseEvent *); - void mouseMoveEvent(QMouseEvent *); - void leaveEvent(QEvent *); - void paintEvent(QPaintEvent *); - void resizeEvent(QResizeEvent *); - void actionEvent(QActionEvent *); - void focusOutEvent(QFocusEvent *); - void focusInEvent(QFocusEvent *); - void timerEvent(QTimerEvent *); - bool eventFilter(QObject *, QEvent *); - bool event(QEvent *); + void changeEvent(QEvent *) override; + void keyPressEvent(QKeyEvent *) override; + void mouseReleaseEvent(QMouseEvent *) override; + void mousePressEvent(QMouseEvent *) override; + void mouseMoveEvent(QMouseEvent *) override; + void leaveEvent(QEvent *) override; + void paintEvent(QPaintEvent *) override; + void resizeEvent(QResizeEvent *) override; + void actionEvent(QActionEvent *) override; + void focusOutEvent(QFocusEvent *) override; + void focusInEvent(QFocusEvent *) override; + void timerEvent(QTimerEvent *) override; + bool eventFilter(QObject *, QEvent *) override; + bool event(QEvent *) override; void initStyleOption(QStyleOptionMenuItem *option, const QAction *action) const; private: diff --git a/src/widgets/widgets/qpushbutton.h b/src/widgets/widgets/qpushbutton.h index 859ac247fb..b0d1ccacdb 100644 --- a/src/widgets/widgets/qpushbutton.h +++ b/src/widgets/widgets/qpushbutton.h @@ -87,9 +87,6 @@ public Q_SLOTS: protected: bool event(QEvent *e) Q_DECL_OVERRIDE; -#if 0 // Used to be included in Qt4 for Q_WS_MAC - bool hitButton(const QPoint &pos) const; -#endif void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE; void keyPressEvent(QKeyEvent *) Q_DECL_OVERRIDE; void focusInEvent(QFocusEvent *) Q_DECL_OVERRIDE; diff --git a/src/widgets/widgets/qspinbox.h b/src/widgets/widgets/qspinbox.h index 2e77f0be7a..2eb12fd90d 100644 --- a/src/widgets/widgets/qspinbox.h +++ b/src/widgets/widgets/qspinbox.h @@ -91,11 +91,11 @@ public: void setDisplayIntegerBase(int base); protected: - bool event(QEvent *event); - virtual QValidator::State validate(QString &input, int &pos) const; + bool event(QEvent *event) override; + QValidator::State validate(QString &input, int &pos) const override; virtual int valueFromText(const QString &text) const; virtual QString textFromValue(int val) const; - virtual void fixup(QString &str) const; + void fixup(QString &str) const override; public Q_SLOTS: @@ -151,10 +151,10 @@ public: int decimals() const; void setDecimals(int prec); - virtual QValidator::State validate(QString &input, int &pos) const; + QValidator::State validate(QString &input, int &pos) const override; virtual double valueFromText(const QString &text) const; virtual QString textFromValue(double val) const; - virtual void fixup(QString &str) const; + void fixup(QString &str) const override; public Q_SLOTS: void setValue(double val); diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 9b65dc43d1..a862274a3d 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -1924,19 +1924,15 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event) unknown = false; } - // QTBUG-35734: ignore Ctrl/Ctrl+Shift; accept only AltGr (Alt+Ctrl) on German keyboards - if (unknown && !isReadOnly() - && event->modifiers() != Qt::ControlModifier - && event->modifiers() != (Qt::ControlModifier | Qt::ShiftModifier)) { - QString t = event->text(); - if (!t.isEmpty() && t.at(0).isPrint()) { - insert(t); + if (unknown + && !isReadOnly() + && isAcceptableInput(event)) { + insert(event->text()); #ifndef QT_NO_COMPLETER - complete(event->key()); + complete(event->key()); #endif - event->accept(); - return; - } + event->accept(); + return; } if (unknown) diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h index d4a4534fb5..b9340c0aff 100644 --- a/src/widgets/widgets/qwidgetlinecontrol_p.h +++ b/src/widgets/widgets/qwidgetlinecontrol_p.h @@ -64,6 +64,7 @@ #include "QtCore/qpoint.h" #include "QtWidgets/qcompleter.h" #include "QtCore/qthread.h" +#include "QtGui/private/qinputcontrol_p.h" #include "qplatformdefs.h" @@ -76,13 +77,14 @@ QT_BEGIN_NAMESPACE -class Q_WIDGETS_EXPORT QWidgetLineControl : public QObject +class Q_WIDGETS_EXPORT QWidgetLineControl : public QInputControl { Q_OBJECT public: QWidgetLineControl(const QString &txt = QString()) - : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LayoutDirectionAuto), + : QInputControl(LineEdit) + , m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LayoutDirectionAuto), m_hideCursor(false), m_separator(0), m_readOnly(0), m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0), m_validInput(1), m_blinkStatus(0), m_blinkEnabled(false), m_blinkTimer(0), m_deleteAllTimer(0), diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 47806a194e..f5672bd87a 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -848,21 +848,21 @@ void QWidgetTextControl::redo() } QWidgetTextControl::QWidgetTextControl(QObject *parent) - : QObject(*new QWidgetTextControlPrivate, parent) + : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent) { Q_D(QWidgetTextControl); d->init(); } QWidgetTextControl::QWidgetTextControl(const QString &text, QObject *parent) - : QObject(*new QWidgetTextControlPrivate, parent) + : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent) { Q_D(QWidgetTextControl); d->init(Qt::RichText, text); } QWidgetTextControl::QWidgetTextControl(QTextDocument *doc, QObject *parent) - : QObject(*new QWidgetTextControlPrivate, parent) + : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent) { Q_D(QWidgetTextControl); d->init(Qt::RichText, QString(), doc); @@ -1361,14 +1361,7 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e) process: { - // QTBUG-35734: ignore Ctrl/Ctrl+Shift; accept only AltGr (Alt+Ctrl) on German keyboards - if (e->modifiers() == Qt::ControlModifier - || e->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) { - e->ignore(); - return; - } - QString text = e->text(); - if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t'))) { + if (q->isAcceptableInput(e)) { if (overwriteMode // no need to call deleteChar() if we have a selection, insertText // does it already @@ -1376,7 +1369,7 @@ process: && !cursor.atBlockEnd()) cursor.deleteChar(); - cursor.insertText(text); + cursor.insertText(e->text()); selectionChanged(); } else { e->ignore(); diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h index b45f4fff74..f540a3c9ad 100644 --- a/src/widgets/widgets/qwidgettextcontrol_p.h +++ b/src/widgets/widgets/qwidgettextcontrol_p.h @@ -63,6 +63,7 @@ #include <QtGui/qtextdocumentfragment.h> #include <QtGui/qclipboard.h> #include <QtCore/qmimedata.h> +#include <QtGui/private/qinputcontrol_p.h> QT_BEGIN_NAMESPACE @@ -75,7 +76,7 @@ class QAbstractScrollArea; class QEvent; class QTimerEvent; -class Q_WIDGETS_EXPORT QWidgetTextControl : public QObject +class Q_WIDGETS_EXPORT QWidgetTextControl : public QInputControl { Q_OBJECT Q_DECLARE_PRIVATE(QWidgetTextControl) |