summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorDoris Verria <doris.verria@qt.io>2020-12-10 01:42:22 +0100
committerDoris Verria <doris.verria@qt.io>2020-12-11 11:01:27 +0100
commitd3ee976acab59019fdd781691f29e6f12e4dedc8 (patch)
tree53cf3b71109b46fb057c24a5b58b4dcf5fa8e3be /src/widgets
parent86a655387c26cd25dde69cebd18b5ff9379fbe3e (diff)
Override initStyleOption() for QCommandLinkButton
In QPushButton::initStyleOption() there is no style option feature set to distinguish QCommandLinkButtons. The QStyleOptionButton::CommandLink Button feature is only set during the paintEvent, but in some cases we need to check for this feature before painting. To fix, override initStyleOption for QCommandLinkButton and set the fea ture there. Pick-to: 5.15 6.0 Change-Id: I8831a6be7da642dcf8830812d99681213e7515dc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qcommandlinkbutton.cpp6
-rw-r--r--src/widgets/widgets/qcommandlinkbutton.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/widgets/widgets/qcommandlinkbutton.cpp b/src/widgets/widgets/qcommandlinkbutton.cpp
index e9462ed229..4f0de092be 100644
--- a/src/widgets/widgets/qcommandlinkbutton.cpp
+++ b/src/widgets/widgets/qcommandlinkbutton.cpp
@@ -264,6 +264,12 @@ QSize QCommandLinkButton::minimumSizeHint() const
return size;
}
+void QCommandLinkButton::initStyleOption(QStyleOptionButton *option) const
+{
+ QPushButton::initStyleOption(option);
+ option->features |= QStyleOptionButton::CommandLinkButton;
+}
+
/*!
Constructs a command link with no text and a \a parent.
*/
diff --git a/src/widgets/widgets/qcommandlinkbutton.h b/src/widgets/widgets/qcommandlinkbutton.h
index c48522ee62..2a1ae05807 100644
--- a/src/widgets/widgets/qcommandlinkbutton.h
+++ b/src/widgets/widgets/qcommandlinkbutton.h
@@ -69,6 +69,7 @@ public:
QSize sizeHint() const override;
int heightForWidth(int) const override;
QSize minimumSizeHint() const override;
+ void initStyleOption(QStyleOptionButton *option) const override;
protected:
bool event(QEvent *e) override;