diff options
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qabstractbutton.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qabstractbutton.h | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qcombobox.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qdatetimeedit.cpp | 60 | ||||
-rw-r--r-- | src/widgets/widgets/qdatetimeedit_p.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qlabel.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit_p.cpp | 18 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit_p.h | 8 | ||||
-rw-r--r-- | src/widgets/widgets/qmdisubwindow.cpp | 8 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 38 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu.h | 54 | ||||
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 17 | ||||
-rw-r--r-- | src/widgets/widgets/qsplitter.h | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbar.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarlayout.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarlayout_p.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 2 |
19 files changed, 130 insertions, 100 deletions
diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index 022f41738c..29d28847f3 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -52,7 +52,6 @@ #include "qpainter.h" #include "qapplication.h" #include "qstyle.h" -#include "qaction.h" #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif diff --git a/src/widgets/widgets/qabstractbutton.h b/src/widgets/widgets/qabstractbutton.h index 50c94654f3..d44da2f4f3 100644 --- a/src/widgets/widgets/qabstractbutton.h +++ b/src/widgets/widgets/qabstractbutton.h @@ -42,7 +42,9 @@ #include <QtWidgets/qtwidgetsglobal.h> #include <QtGui/qicon.h> -#include <QtGui/qkeysequence.h> +#if QT_CONFIG(shortcut) +# include <QtGui/qkeysequence.h> +#endif #include <QtWidgets/qwidget.h> QT_REQUIRE_CONFIG(abstractbutton); diff --git a/src/widgets/widgets/qcombobox.h b/src/widgets/widgets/qcombobox.h index 4f89d7f542..1b80f90c74 100644 --- a/src/widgets/widgets/qcombobox.h +++ b/src/widgets/widgets/qcombobox.h @@ -170,7 +170,7 @@ public: void setItemDelegate(QAbstractItemDelegate *delegate); QAbstractItemModel *model() const; - void setModel(QAbstractItemModel *model); + virtual void setModel(QAbstractItemModel *model); QModelIndex rootModelIndex() const; void setRootModelIndex(const QModelIndex &index); diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp index 5c123b45a5..33300b542a 100644 --- a/src/widgets/widgets/qdatetimeedit.cpp +++ b/src/widgets/widgets/qdatetimeedit.cpp @@ -53,6 +53,9 @@ #include <qlayout.h> #include <qset.h> #include <qstyle.h> +#if QT_CONFIG(timezone) +#include <QTimeZone> +#endif #include <algorithm> @@ -218,8 +221,8 @@ QDateTimeEdit::~QDateTimeEdit() \property QDateTimeEdit::dateTime \brief the QDateTime that is set in the QDateTimeEdit - When setting this property the timespec of the QDateTimeEdit remains the same - and the timespec of the new QDateTime is ignored. + When setting this property, the new QDateTime is converted to the timespec of + the QDateTimeEdit, which thus remains unchanged. By default, this property is set to the start of 2000 CE. It can only be set to a valid QDateTime value. If any operation causes this property to have an @@ -243,11 +246,14 @@ void QDateTimeEdit::setDateTime(const QDateTime &datetime) { Q_D(QDateTimeEdit); if (datetime.isValid()) { + QDateTime when = d->convertTimeSpec(datetime); + Q_ASSERT(when.timeSpec() == d->spec); + d->clearCache(); - const QDate date = datetime.date(); + const QDate date = when.date(); if (!(d->sections & DateSections_Mask)) setDateRange(date, date); - d->setValue(QDateTime(date, datetime.time(), d->spec), EmitIfChanged); + d->setValue(when, EmitIfChanged); } } @@ -1706,6 +1712,25 @@ QDateTimeEditPrivate::QDateTimeEditPrivate() #endif } +QDateTime QDateTimeEditPrivate::convertTimeSpec(const QDateTime &datetime) +{ + Q_ASSERT(value.toDateTime().timeSpec() == spec); + switch (spec) { + case Qt::UTC: + return datetime.toUTC(); + case Qt::LocalTime: + return datetime.toLocalTime(); + case Qt::OffsetFromUTC: + return datetime.toOffsetFromUtc(value.toDateTime().offsetFromUtc()); +#if QT_CONFIG(timezone) + case Qt::TimeZone: + return datetime.toTimeZone(value.toDateTime().timeZone()); +#endif + } + Q_UNREACHABLE(); +} + +// FIXME: architecturaly incompatible with OffsetFromUTC or TimeZone as spec (QTBUG-80417). void QDateTimeEditPrivate::updateTimeSpec() { minimum = minimum.toDateTime().toTimeSpec(spec); @@ -2337,33 +2362,6 @@ void QDateTimeEdit::paintEvent(QPaintEvent *event) style()->drawComplexControl(QStyle::CC_ComboBox, &optCombo, &p, this); } -/* - Returns the string for AM and PM markers. - - If a translation for "AM" and "PM" is installed, then use that. - Otherwise, use the default implementation, which uses the locale. -*/ -QString QDateTimeEditPrivate::getAmPmText(AmPm ap, Case cs) const -{ - QString original; - QString translated; - if (ap == AmText) { - original = QLatin1String(cs == UpperCase ? "AM" : "am"); - translated = (cs == UpperCase ? QDateTimeParser::tr("AM") : QDateTimeParser::tr("am")); - } else { - original = QLatin1String(cs == UpperCase ? "PM" : "pm"); - translated = (cs == UpperCase ? QDateTimeParser::tr("PM") : QDateTimeParser::tr("pm")); - } - - // This logic fails if a translation exists but doesn't change the string, - // which we can accept as a corner-case for which a locale-derived answer - // will be acceptable. - if (original != translated) - return translated; - - return QDateTimeParser::getAmPmText(ap, cs); -} - int QDateTimeEditPrivate::absoluteIndex(QDateTimeEdit::Section s, int index) const { for (int i=0; i<sectionNodes.size(); ++i) { diff --git a/src/widgets/widgets/qdatetimeedit_p.h b/src/widgets/widgets/qdatetimeedit_p.h index dcf8863c8b..0a4433846f 100644 --- a/src/widgets/widgets/qdatetimeedit_p.h +++ b/src/widgets/widgets/qdatetimeedit_p.h @@ -97,7 +97,6 @@ public: QDateTime getMinimum() const override { return minimum.toDateTime(); } QDateTime getMaximum() const override { return maximum.toDateTime(); } QLocale locale() const override { return q_func()->locale(); } - QString getAmPmText(AmPm ap, Case cs) const override; int cursorPosition() const override { return edit ? edit->cursorPosition() : -1; } int absoluteIndex(QDateTimeEdit::Section s, int index) const; @@ -110,6 +109,7 @@ public: void updateCache(const QVariant &val, const QString &str) const; + QDateTime convertTimeSpec(const QDateTime &datetime); void updateTimeSpec(); QString valueToText(const QVariant &var) const { return textFromValue(var); } diff --git a/src/widgets/widgets/qlabel.cpp b/src/widgets/widgets/qlabel.cpp index 77d117775a..7bd7283adf 100644 --- a/src/widgets/widgets/qlabel.cpp +++ b/src/widgets/widgets/qlabel.cpp @@ -47,7 +47,6 @@ #include "qstyle.h" #include "qstyleoption.h" #include <limits.h> -#include "qaction.h" #include "qclipboard.h" #include <qdebug.h> #include <qurl.h> diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index 19a95be0ff..bd5e0b047e 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -40,7 +40,9 @@ #include "qlineedit.h" #include "qlineedit_p.h" -#include "qaction.h" +#if QT_CONFIG(action) +# include "qaction.h" +#endif #include "qapplication.h" #include "qclipboard.h" #if QT_CONFIG(draganddrop) @@ -78,7 +80,7 @@ #endif #include "private/qstylesheetstyle_p.h" -#ifndef QT_NO_SHORTCUT +#if QT_CONFIG(shortcut) #include "private/qapplication_p.h" #include "private/qshortcutmap_p.h" #include "qkeysequence.h" diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index feb34ef403..29e0ae3b39 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -47,7 +47,9 @@ #if QT_CONFIG(draganddrop) #include "qdrag.h" #endif -#include "qwidgetaction.h" +#if QT_CONFIG(action) +# include "qwidgetaction.h" +#endif #include "qclipboard.h" #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" @@ -370,7 +372,7 @@ void QLineEditIconButton::actionEvent(QActionEvent *e) { switch (e->type()) { case QEvent::ActionChanged: { - const QAction *action = e->action(); + const auto *action = e->action(); if (isVisibleTo(parentWidget()) != action->isVisible()) { setVisible(action->isVisible()); if (QLineEditPrivate *lep = lineEditPrivate()) @@ -545,7 +547,8 @@ void QLineEditPrivate::positionSideWidgets() } } -QLineEditPrivate::SideWidgetLocation QLineEditPrivate::findSideWidget(const QAction *a) const +#if QT_CONFIG(action) +QLineEditPrivate::SideWidgetLocation QLineEditPrivate::findSideWidget(const QGuiAction *a) const { int i = 0; for (const auto &e : leadingSideWidgets) { @@ -574,12 +577,10 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE QWidget *w = nullptr; // Store flags about QWidgetAction here since removeAction() may be called from ~QAction, // in which a qobject_cast<> no longer works. -#if QT_CONFIG(action) if (QWidgetAction *widgetAction = qobject_cast<QWidgetAction *>(newAction)) { if ((w = widgetAction->requestWidget(q))) flags |= SideWidgetCreatedByWidgetAction; } -#endif if (!w) { #if QT_CONFIG(toolbutton) QLineEditIconButton *toolButton = new QLineEditIconButton(q); @@ -634,9 +635,8 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE return w; } -void QLineEditPrivate::removeAction(QAction *action) +void QLineEditPrivate::removeAction(QGuiAction *action) { -#if QT_CONFIG(action) Q_Q(QLineEdit); const auto location = findSideWidget(action); if (!location.isValid()) @@ -652,10 +652,8 @@ void QLineEditPrivate::removeAction(QAction *action) if (!hasSideWidgets()) // Last widget, remove connection QObject::disconnect(q, SIGNAL(textChanged(QString)), q, SLOT(_q_textChanged(QString))); q->update(); -#else - Q_UNUSED(action); -#endif // QT_CONFIG(action) } +#endif // QT_CONFIG(action) static int effectiveTextMargin(int defaultMargin, const QLineEditPrivate::SideWidgetEntryList &widgets, const QLineEditPrivate::SideWidgetParameters ¶meters) diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h index 5ae402b992..9fe571b4bb 100644 --- a/src/widgets/widgets/qlineedit_p.h +++ b/src/widgets/widgets/qlineedit_p.h @@ -238,8 +238,10 @@ public: QString placeholderText; +#if QT_CONFIG(action) QWidget *addAction(QAction *newAction, QAction *before, QLineEdit::ActionPosition, int flags = 0); - void removeAction(QAction *action); + void removeAction(QGuiAction *action); +#endif SideWidgetParameters sideWidgetParameters() const; QIcon clearButtonIcon() const; void setClearButtonEnabled(bool enabled); @@ -261,7 +263,9 @@ private: }; friend class QTypeInfo<SideWidgetLocation>; - SideWidgetLocation findSideWidget(const QAction *a) const; +#if QT_CONFIG(action) + SideWidgetLocation findSideWidget(const QGuiAction *a) const; +#endif SideWidgetEntryList leadingSideWidgets; SideWidgetEntryList trailingSideWidgets; diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 84568c35db..f8460a4718 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -162,7 +162,9 @@ #include <QDebug> #include <QMdiArea> #include <QScopedValueRollback> -#include <QAction> +#if QT_CONFIG(action) +# include <qaction.h> +#endif #if QT_CONFIG(menu) #include <QMenu> #endif @@ -895,7 +897,7 @@ QMdiSubWindowPrivate::QMdiSubWindowPrivate() */ void QMdiSubWindowPrivate::_q_updateStaysOnTopHint() { -#ifndef QT_NO_ACTION +#if QT_CONFIG(action) Q_Q(QMdiSubWindow); if (QAction *senderAction = qobject_cast<QAction *>(q->sender())) { if (senderAction->isChecked()) { @@ -906,7 +908,7 @@ void QMdiSubWindowPrivate::_q_updateStaysOnTopHint() q->lower(); } } -#endif // QT_NO_ACTION +#endif // QT_CONFIG(action) } /*! diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 8ba5b98fa9..fc7e2dbbcb 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -157,10 +157,11 @@ public: Q_D(QTornOffMenu); if(menu != d->causedMenu) return; + auto action = static_cast<QAction *>(act->action()); if (act->type() == QEvent::ActionAdded) { - insertAction(act->before(), act->action()); + insertAction(static_cast<QAction *>(act->before()), action); } else if (act->type() == QEvent::ActionRemoved) - removeAction(act->action()); + removeAction(action); } void actionEvent(QActionEvent *e) override { @@ -403,7 +404,9 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const //calculate size QFontMetrics qfm = q->fontMetrics(); bool previousWasSeparator = true; // this is true to allow removing the leading separators +#if QT_CONFIG(shortcut) const bool contextMenu = isContextMenu(); +#endif for(int i = 0; i <= lastVisibleAction; i++) { QAction *action = actions.at(i); const bool isSection = action->isSeparator() && (!action->text().isEmpty() || !action->icon().isNull()); @@ -434,12 +437,12 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const if (t != -1) { tabWidth = qMax(int(tabWidth), qfm.horizontalAdvance(s.mid(t+1))); s = s.left(t); - #ifndef QT_NO_SHORTCUT +#if QT_CONFIG(shortcut) } else if (action->isShortcutVisibleInContextMenu() || !contextMenu) { QKeySequence seq = action->shortcut(); if (!seq.isEmpty()) tabWidth = qMax(int(tabWidth), qfm.horizontalAdvance(seq.toString(QKeySequence::NativeText))); - #endif +#endif } sz.setWidth(fm.boundingRect(QRect(), Qt::TextSingleLine | Qt::TextShowMnemonic, s).width()); sz.setHeight(qMax(fm.height(), qfm.height())); @@ -1769,12 +1772,14 @@ QAction *QMenu::addAction(const QIcon &icon, const QString &text) \sa QWidget::addAction() */ -QAction *QMenu::addAction(const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut) +QAction *QMenu::addAction(const QString &text, const QObject *receiver, const char* member +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut +#endif + ) { QAction *action = new QAction(text, this); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut); -#else +#if QT_CONFIG(shortcut) action->setShortcut(shortcut); #endif QObject::connect(action, SIGNAL(triggered(bool)), receiver, member); @@ -1862,12 +1867,14 @@ QAction *QMenu::addAction(const QString &text, const QObject *receiver, const ch \sa QWidget::addAction() */ QAction *QMenu::addAction(const QIcon &icon, const QString &text, const QObject *receiver, - const char* member, const QKeySequence &shortcut) + const char* member +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut +#endif + ) { QAction *action = new QAction(icon, text, this); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut); -#else +#if QT_CONFIG(shortcut) action->setShortcut(shortcut); #endif QObject::connect(action, SIGNAL(triggered(bool)), receiver, member); @@ -3543,15 +3550,16 @@ void QMenu::actionEvent(QActionEvent *e) wa->releaseWidget(widget); } } - d->widgetItems.remove(e->action()); + d->widgetItems.remove(static_cast<QAction *>(e->action())); } if (!d->platformMenu.isNull()) { + auto action = static_cast<QAction *>(e->action()); if (e->type() == QEvent::ActionAdded) { QPlatformMenuItem *beforeItem = e->before() ? d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->before())) : nullptr; - d->insertActionInPlatformMenu(e->action(), beforeItem); + d->insertActionInPlatformMenu(action, beforeItem); } else if (e->type() == QEvent::ActionRemoved) { QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action())); d->platformMenu->removeMenuItem(menuItem); @@ -3559,7 +3567,7 @@ void QMenu::actionEvent(QActionEvent *e) } else if (e->type() == QEvent::ActionChanged) { QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action())); if (menuItem) { - d->copyActionToPlatformItem(e->action(), menuItem); + d->copyActionToPlatformItem(action, menuItem); d->platformMenu->syncMenuItem(menuItem); } } diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h index 84ab9e027a..35d5a865ff 100644 --- a/src/widgets/widgets/qmenu.h +++ b/src/widgets/widgets/qmenu.h @@ -78,8 +78,17 @@ public: using QWidget::addAction; QAction *addAction(const QString &text); QAction *addAction(const QIcon &icon, const QString &text); - QAction *addAction(const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0); - QAction *addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0); + + QAction *addAction(const QString &text, const QObject *receiver, const char* member +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ); + QAction *addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char* member +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ); #ifdef Q_CLANG_QDOC template<typename Functor> @@ -95,12 +104,14 @@ public: template<class Obj, typename Func1> inline typename std::enable_if<!std::is_same<const char*, Func1>::value && QtPrivate::IsPointerToTypeDerivedFromQObject<Obj*>::Value, QAction *>::type - addAction(const QString &text, const Obj *object, Func1 slot, const QKeySequence &shortcut = 0) + addAction(const QString &text, const Obj *object, Func1 slot +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ) { QAction *result = addAction(text); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut) -#else +#if QT_CONFIG(shortcut) result->setShortcut(shortcut); #endif connect(result, &QAction::triggered, object, std::move(slot)); @@ -108,12 +119,14 @@ public: } // addAction(QString): Connect to a functor or function pointer (without context) template <typename Func1> - inline QAction *addAction(const QString &text, Func1 slot, const QKeySequence &shortcut = 0) + inline QAction *addAction(const QString &text, Func1 slot +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ) { QAction *result = addAction(text); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut) -#else +#if QT_CONFIG(shortcut) result->setShortcut(shortcut); #endif connect(result, &QAction::triggered, std::move(slot)); @@ -123,12 +136,15 @@ public: template<class Obj, typename Func1> inline typename std::enable_if<!std::is_same<const char*, Func1>::value && QtPrivate::IsPointerToTypeDerivedFromQObject<Obj*>::Value, QAction *>::type - addAction(const QIcon &actionIcon, const QString &text, const Obj *object, Func1 slot, const QKeySequence &shortcut = 0) + addAction(const QIcon &actionIcon, const QString &text, const Obj *object, Func1 slot +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ) + { QAction *result = addAction(actionIcon, text); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut) -#else +#if QT_CONFIG(shortcut) result->setShortcut(shortcut); #endif connect(result, &QAction::triggered, object, std::move(slot)); @@ -136,12 +152,14 @@ public: } // addAction(QIcon, QString): Connect to a functor or function pointer (without context) template <typename Func1> - inline QAction *addAction(const QIcon &actionIcon, const QString &text, Func1 slot, const QKeySequence &shortcut = 0) + inline QAction *addAction(const QIcon &actionIcon, const QString &text, Func1 slot +#if QT_CONFIG(shortcut) + , const QKeySequence &shortcut = {} +#endif + ) { QAction *result = addAction(actionIcon, text); -#ifdef QT_NO_SHORTCUT - Q_UNUSED(shortcut) -#else +#if QT_CONFIG(shortcut) result->setShortcut(shortcut); #endif connect(result, &QAction::triggered, std::move(slot)); diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index ccd91ebee1..59c8af30b4 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -1289,21 +1289,22 @@ void QMenuBar::actionEvent(QActionEvent *e) if (!nativeMenuBar) return; + auto action = static_cast<QAction *>(e->action()); if (e->type() == QEvent::ActionAdded) { - QPlatformMenu *menu = d->getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(action); if (menu) { - d->copyActionToPlatformMenu(e->action(), menu); + d->copyActionToPlatformMenu(action, menu); - QPlatformMenu *beforeMenu = d->findInsertionPlatformMenu(e->action()); + QPlatformMenu *beforeMenu = d->findInsertionPlatformMenu(action); d->platformMenuBar->insertMenu(menu, beforeMenu); } } else if (e->type() == QEvent::ActionRemoved) { - QPlatformMenu *menu = d->getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(action); if (menu) d->platformMenuBar->removeMenu(menu); } else if (e->type() == QEvent::ActionChanged) { QPlatformMenu *cur = d->platformMenuBar->menuForTag(reinterpret_cast<quintptr>(e->action())); - QPlatformMenu *menu = d->getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(action); // the menu associated with the action can change, need to // remove and/or insert the new platform menu @@ -1311,13 +1312,13 @@ void QMenuBar::actionEvent(QActionEvent *e) if (cur) d->platformMenuBar->removeMenu(cur); if (menu) { - d->copyActionToPlatformMenu(e->action(), menu); + d->copyActionToPlatformMenu(action, menu); - QPlatformMenu *beforeMenu = d->findInsertionPlatformMenu(e->action()); + QPlatformMenu *beforeMenu = d->findInsertionPlatformMenu(action); d->platformMenuBar->insertMenu(menu, beforeMenu); } } else if (menu) { - d->copyActionToPlatformMenu(e->action(), menu); + d->copyActionToPlatformMenu(action, menu); d->platformMenuBar->syncMenu(menu); } } diff --git a/src/widgets/widgets/qsplitter.h b/src/widgets/widgets/qsplitter.h index ec980d9ee3..658914ae39 100644 --- a/src/widgets/widgets/qsplitter.h +++ b/src/widgets/widgets/qsplitter.h @@ -50,7 +50,6 @@ QT_BEGIN_NAMESPACE class QSplitterPrivate; class QTextStream; -template <typename T> class QList; class QSplitterHandle; diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index b4e90c7d71..f35c02f2fb 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -961,7 +961,7 @@ QAction *QToolBar::actionAt(const QPoint &p) const void QToolBar::actionEvent(QActionEvent *event) { Q_D(QToolBar); - QAction *action = event->action(); + auto action = static_cast<QAction *>(event->action()); QWidgetAction *widgetAction = qobject_cast<QWidgetAction *>(action); switch (event->type()) { diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp index d77ba3c13e..93aded6876 100644 --- a/src/widgets/widgets/qtoolbarlayout.cpp +++ b/src/widgets/widgets/qtoolbarlayout.cpp @@ -207,7 +207,7 @@ void QToolBarLayout::insertAction(int index, QAction *action) } } -int QToolBarLayout::indexOf(QAction *action) const +int QToolBarLayout::indexOf(const QGuiAction *action) const { for (int i = 0; i < items.count(); ++i) { if (items.at(i)->action == action) diff --git a/src/widgets/widgets/qtoolbarlayout_p.h b/src/widgets/widgets/qtoolbarlayout_p.h index b5dc121b93..1a406a3d29 100644 --- a/src/widgets/widgets/qtoolbarlayout_p.h +++ b/src/widgets/widgets/qtoolbarlayout_p.h @@ -96,7 +96,7 @@ public: QSize sizeHint() const override; void insertAction(int index, QAction *action); - int indexOf(QAction *action) const; + int indexOf(const QGuiAction *action) const; using QLayout::indexOf; // bring back the hidden members bool layoutActions(const QSize &size); diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index 263fe5d8ce..127960b23c 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -466,7 +466,7 @@ void QToolButton::paintEvent(QPaintEvent *) void QToolButton::actionEvent(QActionEvent *event) { Q_D(QToolButton); - QAction *action = event->action(); + auto action = static_cast<QAction *>(event->action()); switch (event->type()) { case QEvent::ActionChanged: if (action == d->defaultAction) diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index bb28db7fac..49a1a02867 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -92,7 +92,7 @@ #include <QtGui/qaccessible.h> #include <QtCore/qmetaobject.h> -#ifndef QT_NO_SHORTCUT +#if QT_CONFIG(shortcut) #include "private/qapplication_p.h" #include "private/qshortcutmap_p.h" #include <qkeysequence.h> |