From fa814fcfea4b35d14487e68c25beafbaf5579e91 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Thu, 16 Jun 2022 17:22:03 +0200 Subject: [PATCH] Provide overload for Qt::AlignmentFlags in item widget items Amends 53ee4c8b1f7ae72e7005166e1c0dbc4659f2ab32, which deprecated QListWidgetItem::setTextAlignment(int) etc and provided a typesafe Qt::Alignment overload instead. However, Qt::AlignLeft by itself is of type Qt::AlignmentFlag, it only becomes a Qt::Alignment when or'ed with another alignment flag. So the deprecated int-overload was taken by the compiler, resulting in a deprecation warning. Add a Qt::AlignmentFlag overload in addition, and document it as \internal since it is just a C++ technicality that we need both. Pick-to: 6.4 Change-Id: Ide97eed7f6d1f89a5f955b2ed45167e771bd8c81 Reviewed-by: Richard Moe Gustavsen --- src/widgets/itemviews/qlistwidget.cpp | 5 +++++ src/widgets/itemviews/qlistwidget.h | 2 ++ src/widgets/itemviews/qtablewidget.cpp | 5 +++++ src/widgets/itemviews/qtablewidget.h | 2 ++ src/widgets/itemviews/qtreewidget.cpp | 5 +++++ src/widgets/itemviews/qtreewidget.h | 2 ++ 6 files changed, 21 insertions(+) diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index afef9ba5913..5080ab8fc5a 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -1086,6 +1086,11 @@ void QListWidgetItem::setFlags(Qt::ItemFlags aflags) Sets the list item's text alignment to \a alignment. */ +/*! + \fn void QListWidgetItem::setTextAlignment(Qt::AlignmentFlag alignment) + \internal +*/ + /*! \fn void QListWidgetItem::setBackground(const QBrush &brush) \since 4.2 diff --git a/src/widgets/itemviews/qlistwidget.h b/src/widgets/itemviews/qlistwidget.h index 88f8c63b8c6..516553b71b6 100644 --- a/src/widgets/itemviews/qlistwidget.h +++ b/src/widgets/itemviews/qlistwidget.h @@ -84,6 +84,8 @@ public: QT_DEPRECATED_VERSION_X_6_4("Use the overload taking Qt::Alignment") inline void setTextAlignment(int alignment) { setData(Qt::TextAlignmentRole, alignment); } + inline void setTextAlignment(Qt::AlignmentFlag alignment) + { setData(Qt::TextAlignmentRole, QVariant::fromValue(Qt::Alignment(alignment))); } #endif inline void setTextAlignment(Qt::Alignment alignment) { setData(Qt::TextAlignmentRole, QVariant::fromValue(alignment)); } diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp index 5ba79309f23..ae523b2dda8 100644 --- a/src/widgets/itemviews/qtablewidget.cpp +++ b/src/widgets/itemviews/qtablewidget.cpp @@ -1293,6 +1293,11 @@ void QTableWidgetItem::setFlags(Qt::ItemFlags aflags) specified. */ +/*! + \fn void QTableWidgetItem::setTextAlignment(Qt::AlignmentFlag alignment) + \internal +*/ + /*! Constructs a table item of the specified \a type that does not belong to any table. diff --git a/src/widgets/itemviews/qtablewidget.h b/src/widgets/itemviews/qtablewidget.h index a1bfb8a4882..c7545f13dd4 100644 --- a/src/widgets/itemviews/qtablewidget.h +++ b/src/widgets/itemviews/qtablewidget.h @@ -108,6 +108,8 @@ public: QT_DEPRECATED_VERSION_X_6_4("Use the overload taking Qt::Alignment") inline void setTextAlignment(int alignment) { setData(Qt::TextAlignmentRole, alignment); } + inline void setTextAlignment(Qt::AlignmentFlag alignment) + { setData(Qt::TextAlignmentRole, QVariant::fromValue(Qt::Alignment(alignment))); } #endif inline void setTextAlignment(Qt::Alignment alignment) { setData(Qt::TextAlignmentRole, QVariant::fromValue(alignment)); } diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 9fa529127ef..6df5dffb902 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -1366,6 +1366,11 @@ bool QTreeWidgetItem::isFirstColumnSpanned() const the \a alignment specified. */ +/*! + \fn void QTreeWidgetItem::setTextAlignment(int column, Qt::AlignmentFlag alignment) + \internal +*/ + /*! \fn int QTreeWidgetItem::indexOfChild(QTreeWidgetItem *child) const diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h index 09adfe138a6..99f31ee421b 100644 --- a/src/widgets/itemviews/qtreewidget.h +++ b/src/widgets/itemviews/qtreewidget.h @@ -104,6 +104,8 @@ public: QT_DEPRECATED_VERSION_X_6_4("Use the overload taking Qt::Alignment") inline void setTextAlignment(int column, int alignment) { setData(column, Qt::TextAlignmentRole, alignment); } + inline void setTextAlignment(int column, Qt::AlignmentFlag alignment) + { setData(column, Qt::TextAlignmentRole, QVariant::fromValue(Qt::Alignment(alignment))); } #endif inline void setTextAlignment(int column, Qt::Alignment alignment) { setData(column, Qt::TextAlignmentRole, QVariant::fromValue(alignment)); }