This commit is contained in:
arcan1s 2014-11-28 21:02:45 +03:00
parent 4e3593a2a9
commit 6bcb6798a2
3 changed files with 52 additions and 15 deletions

View File

@ -258,7 +258,16 @@ void AwesomeWidget::replyRecieved(QNetworkReply *reply)
version.remove(QString("V."));
break;
}
if (version != QString(VERSION))
int old_major = QString(VERSION).split(QChar('.'))[0].toInt();
int old_minor = QString(VERSION).split(QChar('.'))[1].toInt();
int old_patch = QString(VERSION).split(QChar('.'))[2].toInt();
int new_major = QString(version).split(QChar('.'))[0].toInt();
int new_minor = QString(version).split(QChar('.'))[1].toInt();
int new_patch = QString(version).split(QChar('.'))[2].toInt();
if ((old_major < new_major) ||
(old_minor < new_minor) ||
(old_patch < new_patch))
emit(thereIsUpdates(version));
}

View File

@ -26,6 +26,7 @@
#include <Plasma/Theme>
#include <Plasma/ToolTipManager>
#include <QDebug>
#include <QDesktopWidget>
#include <QFile>
#include <QGraphicsGridLayout>
#include <QGraphicsProxyWidget>
@ -141,6 +142,29 @@ void DesktopPanel::init()
}
WId DesktopPanel::getDesktopId(const int num)
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Number" << num;
WId wid = 0;
QList<WId> windows = KWindowSystem::windows();
for (int i=0; i<windows.count(); i++) {
KWindowInfo winInfo = KWindowSystem::windowInfo(windows[i], NET::Property::WMName |
NET::Property::WMDesktop | NET::Property::WMGeometry |
NET::Property::WMState | NET::Property::WMWindowType);
if (winInfo.windowType(NET::WindowTypeMask::DesktopMask) != NET::WindowType::Desktop) continue;
if (!winInfo.isOnDesktop(num)) continue;
wid = winInfo.win();
break;
}
qDebug() << QApplication::desktop()->winId();
wid = QApplication::desktop()->winId();
return wid;
}
DesktopPanel::DesktopWindowsInfo DesktopPanel::getInfoByDesktop(const int num)
{
if (debug) qDebug() << PDEBUG;
@ -318,21 +342,24 @@ void DesktopPanel::paintTooltip(const int active)
info.desktop.width() + 2.0 * margin, 0);
toolTipScene->addLine(info.desktop.width() + 2.0 * margin, 0, 0, 0);
QPen pen = QPen();
pen.setWidthF(2.0 * info.desktop.width() / 400.0);
pen.setColor(QColor(configuration[QString("tooltipColor")]));
for (int i=0; i<info.windows.count(); i++) {
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin,
info.windows[i].left() + margin, info.windows[i].top() + margin, pen);
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin,
info.windows[i].right() + margin, info.windows[i].top() + margin, pen);
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin,
info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen);
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].bottom() + margin,
info.windows[i].left() + margin, info.windows[i].bottom() + margin, pen);
}
// only contours
// QPen pen = QPen();
// pen.setWidthF(2.0 * info.desktop.width() / 400.0);
// pen.setColor(QColor(configuration[QString("tooltipColor")]));
// for (int i=0; i<info.windows.count(); i++) {
// toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin,
// info.windows[i].left() + margin, info.windows[i].top() + margin, pen);
// toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin,
// info.windows[i].right() + margin, info.windows[i].top() + margin, pen);
// toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin,
// info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen);
// toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].bottom() + margin,
// info.windows[i].left() + margin, info.windows[i].bottom() + margin, pen);
// }
toolTip.setImage(QPixmap::grabWindow(getDesktopId(active + 1)).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
toolTip.setWindowsToPreview(KWindowSystem::windows());
toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
// toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
Plasma::ToolTipManager::self()->setContent(this, toolTip);
}

View File

@ -71,6 +71,7 @@ public:
DesktopPanel(QObject *parent, const QVariantList &args);
~DesktopPanel();
void init();
WId getDesktopId(const int num);
DesktopWindowsInfo getInfoByDesktop(const int num);
QString parsePattern(const QString rawLine, const int num);