X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/74c1d61aa3547c80e1c7ee05397c76ccd6260fa7..7eeb8dba6aeba09aa3dfa7fa5f0b00840d4d8317:/src/tooltips/ktooltipwindow.cpp diff --git a/src/tooltips/ktooltipwindow.cpp b/src/tooltips/ktooltipwindow.cpp index 9a1cb45eb..035e141eb 100644 --- a/src/tooltips/ktooltipwindow.cpp +++ b/src/tooltips/ktooltipwindow.cpp @@ -22,14 +22,11 @@ #include "ktooltipwindow_p.h" #include +#include #include #include -#ifdef Q_WS_X11 - #include -#endif - KToolTipWindow::KToolTipWindow(QWidget* content) : QWidget(0) { @@ -53,11 +50,7 @@ void KToolTipWindow::paintEvent(QPaintEvent* event) QColor toColor = palette().brush(QPalette::ToolTipBase).color(); QColor fromColor = KColorScheme::shade(toColor, KColorScheme::LightShade, 0.2); -#ifdef Q_WS_X11 - const bool haveAlphaChannel = QX11Info::isCompositingManagerRunning(); -#else - const bool haveAlphaChannel = false; -#endif + const bool haveAlphaChannel = KWindowSystem::compositingActive(); if (haveAlphaChannel) { painter.setRenderHint(QPainter::Antialiasing); painter.translate(0.5, 0.5); @@ -65,24 +58,28 @@ void KToolTipWindow::paintEvent(QPaintEvent* event) fromColor.setAlpha(220); } - QLinearGradient gradient(QPointF(0.0, 0.0), QPointF(width(), height())); + QLinearGradient gradient(QPointF(0.0, 0.0), QPointF(0.0, height())); gradient.setColorAt(0.0, fromColor); gradient.setColorAt(1.0, toColor); painter.setPen(Qt::NoPen); painter.setBrush(gradient); const QRect rect(0, 0, width(), height()); - const qreal radius = 5; - - QPainterPath path; - path.moveTo(rect.left(), rect.top() + radius); - arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); - arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); - arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); - arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); - path.closeSubpath(); - - painter.drawPath(path); + if (haveAlphaChannel) { + const qreal radius = 5.0; + + QPainterPath path; + path.moveTo(rect.left(), rect.top() + radius); + arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); + arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); + arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); + arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); + path.closeSubpath(); + + painter.drawPath(path); + } else { + painter.drawRect(rect); + } } void KToolTipWindow::arc(QPainterPath& path, qreal cx, qreal cy, qreal radius, qreal angle, qreal sweeplength)