summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwhatsthis.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwhatsthis.cpp b/src/widgets/kernel/qwhatsthis.cpp
index 3548d26647..c3365e46db 100644
--- a/src/widgets/kernel/qwhatsthis.cpp
+++ b/src/widgets/kernel/qwhatsthis.cpp
@@ -110,7 +110,9 @@ public:
static QWhatsThat *instance;
protected:
+#if defined(Q_OS_WIN)
void showEvent(QShowEvent *e) override;
+#endif
void mousePressEvent(QMouseEvent*) override;
void mouseReleaseEvent(QMouseEvent*) override;
void mouseMoveEvent(QMouseEvent*) override;
@@ -123,7 +125,9 @@ private:
QString text;
QTextDocument* doc;
QString anchor;
+#if defined(Q_OS_WIN)
QPixmap background;
+#endif
};
QWhatsThat *QWhatsThat::instance = nullptr;
@@ -197,10 +201,12 @@ QWhatsThat::~QWhatsThat()
delete doc;
}
+#if defined(Q_OS_WIN)
void QWhatsThat::showEvent(QShowEvent *)
{
background = QGuiApplication::primaryScreen()->grabWindow(0, x(), y(), width(), height());
}
+#endif
void QWhatsThat::mousePressEvent(QMouseEvent* e)
{
@@ -261,7 +267,10 @@ void QWhatsThat::paintEvent(QPaintEvent*)
if (drawShadow)
r.adjust(0, 0, -shadowWidth, -shadowWidth);
QPainter p(this);
+#if defined(Q_OS_WIN)
+ // Needed due to supposed lack of support for NoSystemBackground on Windows
p.drawPixmap(0, 0, background);
+#endif
p.setPen(QPen(palette().toolTipText(), 0));
p.setBrush(palette().toolTipBase());
p.drawRect(r);