summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-04-03 15:00:58 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-04-14 17:30:55 +0200
commitd6fe9c2160f70c2135a45a135f92c847508fb43e (patch)
tree38c74ee8c2ba5a50b65d5f45efa0780cfd80bbc3
parenteaada70d4e76d0c35afcb36930154818a1eb1e49 (diff)
Deprecate QMacNativeWidget and QMacCocoaViewContainer
Change-Id: I489870f97dcf7b54a4427ead3a9e627dd938f4ca Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-rw-r--r--src/corelib/global/qcompilerdetection.h8
-rw-r--r--src/widgets/widgets/qmaccocoaviewcontainer_mac.h5
-rw-r--r--src/widgets/widgets/qmaccocoaviewcontainer_mac.mm2
-rw-r--r--src/widgets/widgets/qmacnativewidget_mac.h5
-rw-r--r--src/widgets/widgets/qmenu.cpp2
-rw-r--r--src/widgets/widgets/qmenu_mac.mm2
6 files changed, 19 insertions, 5 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index aa38ef18c0..ebffe74188 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -1306,6 +1306,14 @@
# define QT_WARNING_DISABLE_DEPRECATED
#endif
+#ifndef QT_IGNORE_DEPRECATIONS
+#define QT_IGNORE_DEPRECATIONS(statement) \
+ QT_WARNING_PUSH \
+ QT_WARNING_DISABLE_DEPRECATED \
+ statement \
+ QT_WARNING_POP
+#endif
+
/*
Proper for-scoping in MIPSpro CC
*/
diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
index 0de3989167..a9d075638f 100644
--- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
+++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
@@ -47,8 +47,10 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSView);
QT_BEGIN_NAMESPACE
+#if QT_DEPRECATED_SINCE(5, 15)
class QMacCocoaViewContainerPrivate;
-class Q_WIDGETS_EXPORT QMacCocoaViewContainer : public QWidget
+class QT_DEPRECATED_X("Use QWindow::fromWinId and QWidget::createWindowContainer instead")
+Q_WIDGETS_EXPORT QMacCocoaViewContainer : public QWidget
{
Q_OBJECT
public:
@@ -61,6 +63,7 @@ public:
private:
Q_DECLARE_PRIVATE(QMacCocoaViewContainer)
};
+#endif
QT_END_NAMESPACE
diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
index f261314c64..d56c6ab68b 100644
--- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
+++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
@@ -114,7 +114,7 @@ QT_BEGIN_NAMESPACE
class QMacCocoaViewContainerPrivate : public QWidgetPrivate
{
- Q_DECLARE_PUBLIC(QMacCocoaViewContainer)
+ QT_IGNORE_DEPRECATIONS(Q_DECLARE_PUBLIC(QMacCocoaViewContainer))
public:
NSView *nsview;
QMacCocoaViewContainerPrivate();
diff --git a/src/widgets/widgets/qmacnativewidget_mac.h b/src/widgets/widgets/qmacnativewidget_mac.h
index 6fd90516ac..751f520934 100644
--- a/src/widgets/widgets/qmacnativewidget_mac.h
+++ b/src/widgets/widgets/qmacnativewidget_mac.h
@@ -47,7 +47,9 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSView);
QT_BEGIN_NAMESPACE
-class Q_WIDGETS_EXPORT QMacNativeWidget : public QWidget
+#if QT_DEPRECATED_SINCE(5, 15)
+class QT_DEPRECATED_X("Use QWidget::winId instead")
+Q_WIDGETS_EXPORT QMacNativeWidget : public QWidget
{
Q_OBJECT
public:
@@ -60,6 +62,7 @@ public:
protected:
bool event(QEvent *ev) override;
};
+#endif
QT_END_NAMESPACE
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 86978cb681..865e3b2fb6 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -3549,7 +3549,7 @@ void QMenu::actionEvent(QActionEvent *e)
if (QWidget *widget = d->widgetItems.value(wa)) {
#ifdef Q_OS_MACOS
QWidget *p = widget->parentWidget();
- if (p != this && qobject_cast<QMacNativeWidget *>(p)) {
+ if (p != this && QT_IGNORE_DEPRECATIONS(qobject_cast<QMacNativeWidget *>(p))) {
// This widget was reparented into a native Mac view
// (see QMenuPrivate::moveWidgetToPlatformItem).
// Reset the parent and delete the native widget.
diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm
index 0872da803d..81a98f2d14 100644
--- a/src/widgets/widgets/qmenu_mac.mm
+++ b/src/widgets/widgets/qmenu_mac.mm
@@ -125,7 +125,7 @@ void QMenu::setAsDockMenu()
void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem* item)
{
- QMacNativeWidget *container = new QMacNativeWidget;
+ auto *container = new QT_IGNORE_DEPRECATIONS(QMacNativeWidget);
QObject::connect(platformMenu, SIGNAL(destroyed()), container, SLOT(deleteLater()));
container->resize(widget->sizeHint());
widget->setParent(container);