QtCore: mark obsolete enumerations as deprecated

The following enumerations were obsolete for a log time but not marked
as deprecated:
 - WA_NoBackground
 - WA_MacNoClickThrough
 - WA_MacBrushedMetal
 - WA_MacMetalStyle
 - WA_MSWindowsUseDirect3D
 - WA_MacFrameworkScaled
 - AA_MSWindowsUseDirect3DByDefault
 - AA_X11InitThreads
 - ImMicroFocus

mark them as deprecated and remove the usage inside QtBase so they can
be removed with Qt6

Change-Id: Ia087a7e1d0ff1945286895be6425a6cceaa483fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
Christian Ehrlicher 2019-05-12 21:30:10 +02:00
parent b7a7d61efc
commit 4f6eb43898
11 changed files with 35 additions and 74 deletions

View File

@ -72,7 +72,7 @@ ShadeWidget::ShadeWidget(ShadeType type, QWidget *parent)
setPalette(pal);
} else {
setAttribute(Qt::WA_NoBackground);
setAttribute(Qt::WA_OpaquePaintEvent);
}
QPolygonF points;

View File

@ -59,7 +59,7 @@ PaintArea::PaintArea(QWidget *parent) :
QWidget(parent)
{
setAttribute(Qt::WA_StaticContents);
setAttribute(Qt::WA_NoBackground);
setAttribute(Qt::WA_OpaquePaintEvent);
theImage.fill(qRgb(255, 255, 255));
}

View File

@ -351,14 +351,18 @@ public:
WA_MouseTracking = 2,
WA_ContentsPropagated = 3, // ## deprecated
WA_OpaquePaintEvent = 4,
WA_NoBackground = WA_OpaquePaintEvent, // ## deprecated
#if QT_DEPRECATED_SINCE(5, 14)
WA_NoBackground Q_DECL_ENUMERATOR_DEPRECATED = WA_OpaquePaintEvent,
#endif
WA_StaticContents = 5,
WA_LaidOut = 7,
WA_PaintOnScreen = 8,
WA_NoSystemBackground = 9,
WA_UpdatesDisabled = 10,
WA_Mapped = 11,
WA_MacNoClickThrough = 12, // Mac only
#if QT_DEPRECATED_SINCE(5, 14)
WA_MacNoClickThrough Q_DECL_ENUMERATOR_DEPRECATED = 12,
#endif
WA_InputMethodEnabled = 14,
WA_WState_Visible = 15,
WA_WState_Hidden = 16,
@ -376,8 +380,10 @@ public:
WA_Moved = 43,
WA_PendingUpdate = 44,
WA_InvalidSize = 45,
WA_MacBrushedMetal = 46, // Mac only
WA_MacMetalStyle = WA_MacBrushedMetal, // obsolete
#if QT_DEPRECATED_SINCE(5, 14)
WA_MacBrushedMetal Q_DECL_ENUMERATOR_DEPRECATED = 46,
WA_MacMetalStyle Q_DECL_ENUMERATOR_DEPRECATED = 46,
#endif
WA_CustomWhatsThis = 47,
WA_LayoutOnEntireRect = 48,
WA_OutsideWSRange = 49,
@ -434,7 +440,9 @@ public:
WA_LayoutUsesWidgetRect = 92,
WA_StyledBackground = 93, // internal
WA_MSWindowsUseDirect3D = 94, // Win only
#if QT_DEPRECATED_SINCE(5, 14)
WA_MSWindowsUseDirect3D Q_DECL_ENUMERATOR_DEPRECATED = 94,
#endif
WA_CanHostQMdiSubWindowTitleBar = 95, // Internal
WA_MacAlwaysShowToolWindow = 96, // Mac only
@ -466,9 +474,9 @@ public:
WA_X11NetWmWindowTypeNotification = 114,
WA_X11NetWmWindowTypeCombo = 115,
WA_X11NetWmWindowTypeDND = 116,
WA_MacFrameworkScaled = 117,
#if QT_DEPRECATED_SINCE(5, 14)
WA_MacFrameworkScaled Q_DECL_ENUMERATOR_DEPRECATED = 117,
#endif
WA_SetWindowModality = 118,
WA_WState_WindowOpacitySet = 119, // internal
WA_TranslucentBackground = 120,
@ -495,7 +503,9 @@ public:
enum ApplicationAttribute
{
AA_ImmediateWidgetCreation = 0,
AA_MSWindowsUseDirect3DByDefault = 1, // Win only
#if QT_DEPRECATED_SINCE(5, 14)
AA_MSWindowsUseDirect3DByDefault Q_DECL_ENUMERATOR_DEPRECATED = 1,
#endif
AA_DontShowIconsInMenus = 2,
AA_NativeWindows = 3,
AA_DontCreateNativeWidgetSiblings = 4,
@ -506,7 +516,9 @@ public:
AA_DontUseNativeMenuBar = 6,
AA_MacDontSwapCtrlAndMeta = 7,
AA_Use96Dpi = 8,
AA_X11InitThreads = 10,
#if QT_DEPRECATED_SINCE(5, 14)
AA_X11InitThreads Q_DECL_ENUMERATOR_DEPRECATED = 10,
#endif
AA_SynthesizeTouchForUnhandledMouseEvents = 11,
AA_SynthesizeMouseForUnhandledTouchEvents = 12,
AA_UseHighDpiPixmaps = 13,
@ -1380,7 +1392,9 @@ public:
enum InputMethodQuery {
ImEnabled = 0x1,
ImCursorRectangle = 0x2,
ImMicroFocus = 0x2, // deprecated
#if QT_DEPRECATED_SINCE(5, 14)
ImMicroFocus Q_DECL_ENUMERATOR_DEPRECATED = 0x2,
#endif
ImFont = 0x4,
ImCursorPosition = 0x8,
ImSurroundingText = 0x10,

View File

@ -129,6 +129,7 @@ public:
static Qt::WindowState effectiveState(Qt::WindowStates);
// ### Qt6: unused
virtual bool allowClickThrough(const QPoint &) const { return true; }
QWindow::SurfaceType surfaceType = QWindow::RasterSurface;

View File

@ -222,10 +222,9 @@ static inline bool shouldBePropagatedToWidget(QEvent *event)
}
}
bool QWidgetWindowPrivate::allowClickThrough(const QPoint &globalPos) const
bool QWidgetWindowPrivate::allowClickThrough(const QPoint &) const
{
QWidget *w = QApplication::widgetAt(globalPos);
return w && !w->testAttribute(Qt::WA_MacNoClickThrough);
return true;
}
bool QWidgetWindow::event(QEvent *event)
@ -1107,7 +1106,7 @@ void QWidgetWindow::handleContextMenuEvent(QContextMenuEvent *e)
}
}
if (fw && fw->isEnabled()) {
QPoint pos = fw->inputMethodQuery(Qt::ImMicroFocus).toRect().center();
QPoint pos = fw->inputMethodQuery(Qt::ImCursorRectangle).toRect().center();
QContextMenuEvent widgetEvent(QContextMenuEvent::Keyboard, pos, fw->mapToGlobal(pos),
e->modifiers());
QGuiApplication::forwardEvent(fw, &widgetEvent, e);

View File

@ -4857,7 +4857,7 @@ void tst_QGraphicsView::QTBUG_16063_microFocusRect()
scene.setFocusItem(item);
view.setFocus();
QRectF mfv = view.inputMethodQuery(Qt::ImMicroFocus).toRectF();
QRectF mfv = view.inputMethodQuery(Qt::ImCursorRectangle).toRectF();
QCOMPARE(mfv, IMItem::mf.translated(-view.mapToScene(view.sceneRect().toRect()).boundingRect().topLeft()));
}

View File

@ -3996,7 +3996,7 @@ void tst_QLineEdit::QTBUG7174_inputMaskCursorBlink()
edit.setFocus();
edit.setText(QLatin1String("AAAA"));
edit.show();
QRect cursorRect = edit.inputMethodQuery(Qt::ImMicroFocus).toRect();
QRect cursorRect = edit.inputMethodQuery(Qt::ImCursorRectangle).toRect();
QVERIFY(QTest::qWaitForWindowExposed(&edit));
edit.updateRegion = QRegion();
QTest::qWait(QApplication::cursorFlashTime());

View File

@ -87,7 +87,7 @@ public:
protected:
QVariant inputMethodQuery(Qt::InputMethodQuery query) const
{
if (query == Qt::ImMicroFocus)
if (query == Qt::ImCursorRectangle)
return QRect(width() / 2, height() / 2, 5, 5);
return QWidget::inputMethodQuery(query);
}
@ -110,7 +110,7 @@ void tst_QScrollArea::ensureMicroFocusVisible_Task_167838()
parent->resize(300, 300);
scrollArea.setWidget(parent);
scrollArea.ensureWidgetVisible(child, 10, 10);
QRect microFocus = child->inputMethodQuery(Qt::ImMicroFocus).toRect();
QRect microFocus = child->inputMethodQuery(Qt::ImCursorRectangle).toRect();
QPoint p = child->mapTo(scrollArea.viewport(), microFocus.topLeft());
microFocus.translate(p - microFocus.topLeft());
QVERIFY(scrollArea.viewport()->rect().contains(microFocus));

View File

@ -270,7 +270,6 @@ void MainView::construct()
// Turn off automatic background
setAttribute(Qt::WA_OpaquePaintEvent);
setAttribute(Qt::WA_NoBackground);
setAttribute(Qt::WA_NoSystemBackground);
setAutoFillBackground(false);

View File

@ -1,48 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWidgets>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QWidget w;
QVBoxLayout *vbox = new QVBoxLayout;
QLabel *label = new QLabel("Make the window inactive, but visible.\n"
"Then click on the Two item.\n"
"The item should not be selected, but the window should be active.");
vbox->addWidget(label);
QListWidget *list = new QListWidget;
list->addItems(QStringList() << "One" << "Two" << "Three");
list->selectionModel()->select(list->model()->index(0, 0), QItemSelectionModel::Select);
list->viewport()->setAttribute(Qt::WA_MacNoClickThrough);
vbox->addWidget(list);
w.setLayout(vbox);
w.show();
return a.exec();
}

View File

@ -1,4 +0,0 @@
QT += widgets
TEMPLATE = app
TARGET = noclickthrough
SOURCES += main.cpp