From 4b90fac0c47a7f00d5d4b147f82c94caa8a60a5e Mon Sep 17 00:00:00 2001 From: arcan1s Date: Fri, 7 Nov 2014 04:56:32 +0300 Subject: [PATCH] implement #28 --- sources/awesome-widget/reinit.cpp | 2 +- sources/desktop-panel/desktop-panel.cpp | 40 +++++++++++++++++++++---- sources/desktop-panel/widget.ui | 6 ++-- 3 files changed, 38 insertions(+), 10 deletions(-) diff --git a/sources/awesome-widget/reinit.cpp b/sources/awesome-widget/reinit.cpp index cb93527..85533ef 100644 --- a/sources/awesome-widget/reinit.cpp +++ b/sources/awesome-widget/reinit.cpp @@ -131,7 +131,7 @@ void AwesomeWidget::updateTooltip() if (tooltipValues.contains(QString("up"))) trueKeys.append(QString("up")); if (tooltipValues.contains(QString("bat"))) trueKeys.append(QString("bat")); for (int i=0; i windows = KWindowSystem::windows(); for (int i=0; isetBackgroundBrush(QBrush(Qt::NoBrush)); + QGraphicsView *toolTipView = new QGraphicsView(toolTipScene); + toolTipView->setStyleSheet(QString("background: transparent")); + toolTipView->setContentsMargins(0, 0, 0, 0); + toolTipView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + toolTipView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + // paint + DesktopWindowsInfo info = getInfoByDesktop(i + 1); + toolTipView->resize(info.desktop.width() * 1.01, info.desktop.height() * 1.03); + QPen pen = QPen(); + pen.setWidthF(2.0 * info.desktop.width() / 400.0); + for (int i=0; iaddLine(info.windows[i].left(), info.windows[i].bottom(), + info.windows[i].left(), info.windows[i].top(), pen); + toolTipScene->addLine(info.windows[i].left(), info.windows[i].top(), + info.windows[i].right(), info.windows[i].top(), pen); + toolTipScene->addLine(info.windows[i].right(), info.windows[i].top(), + info.windows[i].right(), info.windows[i].bottom(), pen); + toolTipScene->addLine(info.windows[i].right(), info.windows[i].bottom(), + info.windows[i].left(), info.windows[i].bottom(), pen); + } + // convert + QPixmap pixmap = QPixmap::grabWidget(toolTipView); QByteArray byteArray; QBuffer buffer(&byteArray); - pixmap.save(&buffer, "PNG"); - QString url = QString(""); + pixmap.scaledToWidth(configuration[QString("tooltipWidth")].toInt()).save(&buffer, "PNG"); + QString url = QString(""); labels[i]->setToolTip(url); } } diff --git a/sources/desktop-panel/widget.ui b/sources/desktop-panel/widget.ui index fadfda5..07efabe 100644 --- a/sources/desktop-panel/widget.ui +++ b/sources/desktop-panel/widget.ui @@ -6,8 +6,8 @@ 0 0 - 725 - 424 + 723 + 422 @@ -442,7 +442,7 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + px