Mark obsolete QMessageBox members as deprecated
Those overloads have been documented as obsolete, but never been deprecated. Add the deprecation macros to trigger warnings as of Qt 6.2. The overloads taking a single StandardButton should not be deprecated until Qt 7, as otherwise porting from old to new API will require an unnecessary cast to StandardButtons for calls with only a single enum value. The unit test explicitly tests the deprecated members, so disable warnings there. Fixes: QTBUG-92483 Change-Id: I283ddce4681eafda2378607f999946e56bbb777e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
parent
00988adcf9
commit
83eca9a087
@ -2049,6 +2049,7 @@ void QMessageBoxPrivate::retranslateStrings()
|
||||
#endif
|
||||
}
|
||||
|
||||
#if QT_DEPRECATED_SINCE(6,2)
|
||||
/*!
|
||||
\obsolete
|
||||
|
||||
@ -2497,6 +2498,8 @@ void QMessageBox::setButtonText(int button, const QString &text)
|
||||
addButton(QMessageBox::Ok)->setText(text);
|
||||
}
|
||||
}
|
||||
#endif // QT_DEPRECATED_SINCE(6,2)
|
||||
|
||||
|
||||
#if QT_CONFIG(textedit)
|
||||
/*!
|
||||
@ -2724,6 +2727,7 @@ void QMessageBoxPrivate::helperDone(QDialog::DialogCode code, QPlatformDialogHel
|
||||
clickedButton = button;
|
||||
}
|
||||
|
||||
#if QT_DEPRECATED_SINCE(6,2)
|
||||
/*!
|
||||
\obsolete
|
||||
|
||||
@ -2741,6 +2745,7 @@ QPixmap QMessageBox::standardIcon(Icon icon)
|
||||
{
|
||||
return QMessageBoxPrivate::standardIcon(icon, nullptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
\typedef QMessageBox::Button
|
||||
|
@ -127,7 +127,9 @@ public:
|
||||
FlagMask = 0x00000300, // obsolete
|
||||
ButtonMask = ~FlagMask // obsolete
|
||||
};
|
||||
typedef StandardButton Button; // obsolete
|
||||
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
|
||||
typedef StandardButton Button;
|
||||
#endif
|
||||
|
||||
Q_DECLARE_FLAGS(StandardButtons, StandardButton)
|
||||
Q_FLAG(StandardButtons)
|
||||
@ -185,28 +187,59 @@ public:
|
||||
static StandardButton information(QWidget *parent, const QString &title,
|
||||
const QString &text, StandardButtons buttons = Ok,
|
||||
StandardButton defaultButton = NoButton);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) // needed as long as we have int overloads
|
||||
inline static StandardButton information(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1 = NoButton)
|
||||
{ return information(parent, title, text, StandardButtons(button0), button1); }
|
||||
#endif
|
||||
|
||||
static StandardButton question(QWidget *parent, const QString &title,
|
||||
const QString &text, StandardButtons buttons = StandardButtons(Yes | No),
|
||||
StandardButton defaultButton = NoButton);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
|
||||
inline static int question(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return question(parent, title, text, StandardButtons(button0), button1); }
|
||||
#endif
|
||||
|
||||
static StandardButton warning(QWidget *parent, const QString &title,
|
||||
const QString &text, StandardButtons buttons = Ok,
|
||||
StandardButton defaultButton = NoButton);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
|
||||
inline static int warning(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return warning(parent, title, text, StandardButtons(button0), button1); }
|
||||
#endif
|
||||
|
||||
static StandardButton critical(QWidget *parent, const QString &title,
|
||||
const QString &text, StandardButtons buttons = Ok,
|
||||
StandardButton defaultButton = NoButton);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
|
||||
inline static int critical(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return critical(parent, title, text, StandardButtons(button0), button1); }
|
||||
#endif
|
||||
|
||||
static void about(QWidget *parent, const QString &title, const QString &text);
|
||||
static void aboutQt(QWidget *parent, const QString &title = QString());
|
||||
|
||||
#if QT_DEPRECATED_SINCE(6,2)
|
||||
// the following functions are obsolete:
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
QMessageBox(const QString &title, const QString &text, Icon icon,
|
||||
int button0, int button1, int button2,
|
||||
QWidget *parent = nullptr,
|
||||
Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int information(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
int button0, int button1 = 0, int button2 = 0);
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int information(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
const QString& button0Text,
|
||||
@ -214,14 +247,12 @@ public:
|
||||
const QString& button2Text = QString(),
|
||||
int defaultButtonNumber = 0,
|
||||
int escapeButtonNumber = -1);
|
||||
inline static StandardButton information(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1 = NoButton)
|
||||
{ return information(parent, title, text, StandardButtons(button0), button1); }
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int question(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
int button0, int button1 = 0, int button2 = 0);
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int question(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
const QString& button0Text,
|
||||
@ -229,14 +260,12 @@ public:
|
||||
const QString& button2Text = QString(),
|
||||
int defaultButtonNumber = 0,
|
||||
int escapeButtonNumber = -1);
|
||||
inline static int question(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return question(parent, title, text, StandardButtons(button0), button1); }
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int warning(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
int button0, int button1, int button2 = 0);
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int warning(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
const QString& button0Text,
|
||||
@ -244,14 +273,12 @@ public:
|
||||
const QString& button2Text = QString(),
|
||||
int defaultButtonNumber = 0,
|
||||
int escapeButtonNumber = -1);
|
||||
inline static int warning(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return warning(parent, title, text, StandardButtons(button0), button1); }
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int critical(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
int button0, int button1, int button2 = 0);
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use the overload taking StandardButtons instead.")
|
||||
static int critical(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
const QString& button0Text,
|
||||
@ -259,13 +286,12 @@ public:
|
||||
const QString& button2Text = QString(),
|
||||
int defaultButtonNumber = 0,
|
||||
int escapeButtonNumber = -1);
|
||||
inline static int critical(QWidget *parent, const QString &title,
|
||||
const QString& text,
|
||||
StandardButton button0, StandardButton button1)
|
||||
{ return critical(parent, title, text, StandardButtons(button0), button1); }
|
||||
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use button() and QPushButton::text() instead.")
|
||||
QString buttonText(int button) const;
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use addButton() instead.")
|
||||
void setButtonText(int button, const QString &text);
|
||||
#endif
|
||||
|
||||
QString informativeText() const;
|
||||
void setInformativeText(const QString &text);
|
||||
@ -278,8 +304,10 @@ public:
|
||||
void setWindowTitle(const QString &title);
|
||||
void setWindowModality(Qt::WindowModality windowModality);
|
||||
|
||||
|
||||
#if QT_DEPRECATED_SINCE(6,2)
|
||||
QT_DEPRECATED_VERSION_X_6_2("Use QStyle::standardIcon() instead.")
|
||||
static QPixmap standardIcon(Icon icon);
|
||||
#endif
|
||||
|
||||
Q_SIGNALS:
|
||||
void buttonClicked(QAbstractButton *button);
|
||||
|
@ -388,6 +388,8 @@ void tst_QMessageBox::staticSourceCompat()
|
||||
int ret;
|
||||
|
||||
// source compat tests for < 4.2
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
ExecCloseHelper closeHelper;
|
||||
closeHelper.start(Qt::Key_Enter);
|
||||
ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes, QMessageBox::No);
|
||||
@ -438,10 +440,13 @@ void tst_QMessageBox::staticSourceCompat()
|
||||
QCOMPARE(ret, 1);
|
||||
QVERIFY(closeHelper.done());
|
||||
}
|
||||
QT_WARNING_POP
|
||||
}
|
||||
|
||||
void tst_QMessageBox::instanceSourceCompat()
|
||||
{
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
QMessageBox mb("Application name here",
|
||||
"Saving the file will overwrite the original file on the disk.\n"
|
||||
"Do you really want to save?",
|
||||
@ -466,6 +471,7 @@ void tst_QMessageBox::instanceSourceCompat()
|
||||
closeHelper.start(QKeyCombination(Qt::ALT | Qt::Key_Z).toCombined(), &mb);
|
||||
QCOMPARE(mb.exec(), 1);
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
}
|
||||
|
||||
void tst_QMessageBox::detailsText()
|
||||
@ -546,8 +552,11 @@ void tst_QMessageBox::incorrectDefaultButton()
|
||||
closeHelper.start(Qt::Key_Escape);
|
||||
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
|
||||
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
//do not crash here -> call old function of QMessageBox in this case
|
||||
QMessageBox::question(nullptr, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save | QMessageBox::Cancel,QMessageBox::Ok);
|
||||
QT_WARNING_POP
|
||||
QVERIFY(closeHelper.done());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user