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.")); version.remove(QString("V."));
break; 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)); emit(thereIsUpdates(version));
} }

View File

@ -26,6 +26,7 @@
#include <Plasma/Theme> #include <Plasma/Theme>
#include <Plasma/ToolTipManager> #include <Plasma/ToolTipManager>
#include <QDebug> #include <QDebug>
#include <QDesktopWidget>
#include <QFile> #include <QFile>
#include <QGraphicsGridLayout> #include <QGraphicsGridLayout>
#include <QGraphicsProxyWidget> #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) DesktopPanel::DesktopWindowsInfo DesktopPanel::getInfoByDesktop(const int num)
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
@ -318,21 +342,24 @@ void DesktopPanel::paintTooltip(const int active)
info.desktop.width() + 2.0 * margin, 0); info.desktop.width() + 2.0 * margin, 0);
toolTipScene->addLine(info.desktop.width() + 2.0 * margin, 0, 0, 0); toolTipScene->addLine(info.desktop.width() + 2.0 * margin, 0, 0, 0);
QPen pen = QPen(); // only contours
pen.setWidthF(2.0 * info.desktop.width() / 400.0); // QPen pen = QPen();
pen.setColor(QColor(configuration[QString("tooltipColor")])); // pen.setWidthF(2.0 * info.desktop.width() / 400.0);
for (int i=0; i<info.windows.count(); i++) { // pen.setColor(QColor(configuration[QString("tooltipColor")]));
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin, // for (int i=0; i<info.windows.count(); i++) {
info.windows[i].left() + margin, info.windows[i].top() + margin, pen); // toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin,
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin, // info.windows[i].left() + margin, info.windows[i].top() + margin, pen);
info.windows[i].right() + margin, info.windows[i].top() + margin, pen); // toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin,
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin, // info.windows[i].right() + margin, info.windows[i].top() + margin, pen);
info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen); // toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin,
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].bottom() + margin, // info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen);
info.windows[i].left() + 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); Plasma::ToolTipManager::self()->setContent(this, toolTip);
} }

View File

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