Compare commits

..

24 Commits

Author SHA1 Message Date
7363e083e5 Merge pull request #146 from arcan1s/development
Release 3.4.2
2021-01-07 06:56:28 +03:00
fc663f92dc Merge pull request #145 from arcan1s/development
Release 3.4.0
2020-11-07 17:15:29 +03:00
c7cfdd66d3 Merge pull request #129 from arcan1s/development
Release 3.3.3
2017-08-03 17:50:39 +03:00
c2cee4943e Merge pull request #128 from arcan1s/development
Master update
2017-07-27 17:30:31 +03:00
760d9f91c7 Merge pull request #126 from arcan1s/development
Release 3.3.2
2017-06-02 17:55:16 +03:00
1a5caee4bc Merge pull request #124 from arcan1s/development
MPRIS related fixes
2017-05-21 23:08:36 +03:00
b4658d61b2 Merge pull request #123 from arcan1s/development
release 3.3.1
2017-05-15 20:16:47 +03:00
1a50484deb Merge pull request #122 from arcan1s/development
Release 3.3.0
2017-05-15 17:29:53 +03:00
4109f21bf6 Merge pull request #121 from arcan1s/development
Master update
2017-05-03 14:38:23 +03:00
8cc2e5ad02 Merge pull request #113 from arcan1s/development
Master update
2016-09-19 10:58:22 +04:00
a7b2d16342 Merge pull request #103 from arcan1s/development
Release 3.2.1 merge
2016-08-11 16:07:16 +04:00
53918f4528 Merge pull request #100 from arcan1s/development
Release 3.2
2016-07-10 01:09:49 +04:00
77675a8e2f Merge pull request #99 from arcan1s/development
Master update
2016-07-08 15:11:07 +04:00
e4e8f299c0 Merge pull request #98 from arcan1s/development
add last sources test for playersource
2016-06-18 06:09:06 +04:00
1465657648 Merge pull request #97 from arcan1s/development
Master update
2016-06-17 16:22:07 +04:00
082efcc127 Merge pull request #93 from arcan1s/development
Release master update
2016-05-09 01:13:10 +04:00
24d45c6d48 Merge pull request #92 from arcan1s/development
Prerelease master update
2016-04-29 14:02:33 +04:00
7eb82c8c8d Merge pull request #90 from arcan1s/development
Master update
2016-04-21 17:46:47 +04:00
48e98239d9 Merge pull request #89 from arcan1s/development
Devel branch backports
2016-04-10 01:23:39 +04:00
2514dcc74d Merge pull request #88 from arcan1s/development
release 3.1.1
2016-04-06 14:51:48 +03:00
4a499a6157 Merge pull request #86 from arcan1s/development
master release update
2016-04-06 01:40:25 +03:00
6916c8f992 Merge pull request #79 from wlemuel/master
update zh translations
2016-03-02 20:07:23 +03:00
2c7b072829 update zh translations 2016-02-14 13:51:10 +08:00
636978b442 Merge pull request #78 from arcan1s/development
One more master update
2016-01-31 23:37:50 +06:00
28 changed files with 232 additions and 762 deletions

View File

@ -1,14 +1,12 @@
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
FROM ubuntu:bionic
RUN apt-get update
# toolchain
RUN apt-get install -yq cmake extra-cmake-modules g++ git gettext
RUN apt-get install -y cmake extra-cmake-modules g++ git gettext
# kf5 and qt5 libraries
RUN apt-get install -yq libkf5i18n-dev libkf5notifications-dev libkf5service-dev \
libkf5windowsystem-dev libkf5plasma-dev qtbase5-dev qtdeclarative5-dev \
RUN apt-get install -y libkf5i18n-dev libkf5notifications-dev libkf5service-dev \
libkf5windowsystem-dev plasma-framework-dev qtbase5-dev qtdeclarative5-dev \
plasma-framework
# required by tests
RUN apt-get install -yq xvfb
RUN apt-get install -y xvfb

View File

@ -0,0 +1,12 @@
FROM multiarch/ubuntu-core:i386-bionic
RUN apt-get update
# toolchain
RUN apt-get install -y cmake extra-cmake-modules g++ git gettext
# kf5 and qt5 libraries
RUN apt-get install -y libkf5i18n-dev libkf5notifications-dev libkf5service-dev \
libkf5windowsystem-dev plasma-framework-dev qtbase5-dev qtdeclarative5-dev \
plasma-framework
# required by tests
RUN apt-get install -y xvfb

View File

@ -6,7 +6,8 @@ rm -rf build-ubuntu
mkdir build-ubuntu
# patches
git apply patches/qt5.14-splitbehavior-and-qset.patch
#git apply patches/qt5.6-qversionnumber.patch
#git apply patches/qt5.5-qstringlist-and-qinfo.patch
# build
cd build-ubuntu

View File

@ -6,7 +6,8 @@ rm -rf build-ubuntu
mkdir build-ubuntu
# patches
git apply patches/qt5.14-splitbehavior-and-qset.patch
git apply patches/qt5.6-qversionnumber.patch
git apply patches/qt5.5-qstringlist-and-qinfo.patch
# build
cd build-ubuntu

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "sources/3rdparty/fontdialog"]
path = sources/3rdparty/fontdialog
url = https://github.com/arcan1s/qtadds-fontdialog.git

View File

@ -31,7 +31,6 @@ Dependencies
------------
* plasma-framework
* ksysguard (since plasma 5.22)
Optional dependencies
---------------------

View File

@ -2,13 +2,13 @@
pkgname=plasma5-applet-awesome-widgets
_pkgname=awesome-widgets
pkgver=3.4.3
pkgver=3.4.2
pkgrel=1
pkgdesc="Collection of minimalistic Plasmoids which look like Awesome WM widgets (ex-PyTextMonitor)"
arch=('i686' 'x86_64')
url="https://arcanis.me/projects/awesome-widgets"
license=('GPL3')
depends=('ksysguard' 'plasma-framework')
depends=('plasma-framework')
optdepends=("catalyst: for GPU monitor"
"hddtemp: for HDD temperature monitor"
"smartmontools: for HDD temperature monitor"
@ -17,7 +17,7 @@ optdepends=("catalyst: for GPU monitor"
makedepends=('cmake' 'extra-cmake-modules' 'python')
source=(https://github.com/arcan1s/awesome-widgets/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz)
install=${pkgname}.install
md5sums=('5953ba518191bb6fff83cdb8633c735c')
md5sums=('df3ad1c626fdc1893f0f6e0b0fe636c2')
backup=('etc/xdg/plasma-dataengine-extsysmon.conf')
prepare() {

View File

@ -1,255 +0,0 @@
diff --git a/sources/awdebug.cpp b/sources/awdebug.cpp
index 7135db6..a2870ec 100644
--- a/sources/awdebug.cpp
+++ b/sources/awdebug.cpp
@@ -67,7 +67,7 @@ QString AWDebug::getAboutText(const QString &_type)
translator = QString("<li>%1</li>").arg(translator);
text = i18n("Translators:") + "<ul>" + translatorList.join("") + "</ul>";
} else if (_type == "3rdparty") {
- QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(';', Qt::SkipEmptyParts);
+ QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(';', QString::SkipEmptyParts);
for (int i = 0; i < trdPartyList.count(); i++)
trdPartyList[i] = QString("<li><a href=\"%3\">%1</a> (%2 license)</li>")
.arg(trdPartyList.at(i).split(',')[0])
@@ -75,7 +75,7 @@ QString AWDebug::getAboutText(const QString &_type)
.arg(trdPartyList.at(i).split(',')[2]);
text = i18n("This software uses:") + "<ul>" + trdPartyList.join("") + "</ul>";
} else if (_type == "thanks") {
- QStringList thanks = QString(SPECIAL_THANKS).split(';', Qt::SkipEmptyParts);
+ QStringList thanks = QString(SPECIAL_THANKS).split(';', QString::SkipEmptyParts);
for (int i = 0; i < thanks.count(); i++)
thanks[i] = QString("<li><a href=\"%2\">%1</a></li>")
.arg(thanks.at(i).split(',')[0])
diff --git a/sources/awesome-widget/plugin/awabstractpairhelper.cpp b/sources/awesome-widget/plugin/awabstractpairhelper.cpp
index 55a4e91..f7c2969 100644
--- a/sources/awesome-widget/plugin/awabstractpairhelper.cpp
+++ b/sources/awesome-widget/plugin/awabstractpairhelper.cpp
@@ -61,7 +61,7 @@ QStringList AWAbstractPairHelper::values() const
QSet<QString> AWAbstractPairHelper::valuesSet() const
{
auto values = m_pairs.values();
- return QSet(values.cbegin(), values.cend());
+ return QSet<QString>::fromList(values);
}
@@ -138,4 +138,4 @@ bool AWAbstractPairHelper::removeUnusedKeys(const QStringList &_keys) const
settings.sync();
return (settings.status() == QSettings::NoError);
-}
\ No newline at end of file
+}
diff --git a/sources/awesome-widget/plugin/awkeycache.cpp b/sources/awesome-widget/plugin/awkeycache.cpp
index 15aab94..54b47b3 100644
--- a/sources/awesome-widget/plugin/awkeycache.cpp
+++ b/sources/awesome-widget/plugin/awkeycache.cpp
@@ -83,9 +83,9 @@ QStringList AWKeyCache::getRequiredKeys(const QStringList &_keys, const QStringL
<< _tooltip;
// initial copy
- QSet<QString> used(_keys.cbegin(), _keys.cend());
- used.unite(QSet(_bars.cbegin(), _bars.cend()));
- used.unite(QSet(_userKeys.cbegin(), _userKeys.cend()));
+ auto used = QSet<QString>::fromList(_keys);
+ used.unite(QSet<QString>::fromList(_bars));
+ used.unite(QSet<QString>::fromList(_userKeys));
// insert keys from tooltip
for (auto &key : _tooltip.keys()) {
if ((key.endsWith("Tooltip")) && (_tooltip[key].toBool())) {
diff --git a/sources/awesomewidgets/awjsonformatter.cpp b/sources/awesomewidgets/awjsonformatter.cpp
index bbdd7ce..8a1c5e0 100644
--- a/sources/awesomewidgets/awjsonformatter.cpp
+++ b/sources/awesomewidgets/awjsonformatter.cpp
@@ -178,7 +178,7 @@ QVariant AWJsonFormatter::getFromMap(const QVariant &_value, const QString &_key
void AWJsonFormatter::initPath()
{
m_splittedPath.clear();
- QStringList splittedByDot = m_path.split('.', Qt::SkipEmptyParts);
+ QStringList splittedByDot = m_path.split('.', QString::SkipEmptyParts);
for (auto &element : splittedByDot) {
bool ok;
diff --git a/sources/awesomewidgets/extscript.cpp b/sources/awesomewidgets/extscript.cpp
index 3017dac..da009f9 100644
--- a/sources/awesomewidgets/extscript.cpp
+++ b/sources/awesomewidgets/extscript.cpp
@@ -218,7 +218,7 @@ void ExtScript::readConfiguration()
setExecutable(settings.value("Exec", executable()).toString());
setStrRedirect(settings.value("X-AW-Redirect", strRedirect()).toString());
// api == 3
- setFilters(settings.value("X-AW-Filters", filters()).toString().split(',', Qt::SkipEmptyParts));
+ setFilters(settings.value("X-AW-Filters", filters()).toString().split(',', QString::SkipEmptyParts));
settings.endGroup();
bumpApi(AW_EXTSCRIPT_API);
diff --git a/sources/awesomewidgets/extupgrade.cpp b/sources/awesomewidgets/extupgrade.cpp
index 0195779..0081cc9 100644
--- a/sources/awesomewidgets/extupgrade.cpp
+++ b/sources/awesomewidgets/extupgrade.cpp
@@ -219,8 +219,8 @@ void ExtUpgrade::updateValue()
= QTextCodec::codecForMib(106)->toUnicode(m_process->readAllStandardOutput()).trimmed();
m_values[tag("pkgcount")] = [this](const QString &output) {
return filter().isEmpty()
- ? output.split('\n', Qt::SkipEmptyParts).count() - null()
- : output.split('\n', Qt::SkipEmptyParts).filter(QRegExp(filter())).count();
+ ? output.split('\n', QString::SkipEmptyParts).count() - null()
+ : output.split('\n', QString::SkipEmptyParts).filter(QRegExp(filter())).count();
}(qoutput);
emit(dataReceived(m_values));
diff --git a/sources/awesomewidgets/qcronscheduler.cpp b/sources/awesomewidgets/qcronscheduler.cpp
index 6f67590..c72abc9 100644
--- a/sources/awesomewidgets/qcronscheduler.cpp
+++ b/sources/awesomewidgets/qcronscheduler.cpp
@@ -87,7 +87,7 @@ QList<int> QCronScheduler::parseField(const QString &_value, const int _min, con
parsedField.fromRange(field.split('/').first(), _min, _max);
if (field.contains('/')) {
bool status;
- parsedField.div = field.split('/', Qt::SkipEmptyParts).at(1).toInt(&status);
+ parsedField.div = field.split('/', QString::SkipEmptyParts).at(1).toInt(&status);
if (!status)
parsedField.div = 1;
}
@@ -107,7 +107,7 @@ void QCronScheduler::QCronField::fromRange(const QString &_range, const int _min
minValue = _min;
maxValue = _max;
} else if (_range.contains("-")) {
- auto interval = _range.split('-', Qt::SkipEmptyParts);
+ auto interval = _range.split('-', QString::SkipEmptyParts);
if (interval.count() != 2)
return;
bool status;
diff --git a/sources/extsysmon/extsysmon.cpp b/sources/extsysmon/extsysmon.cpp
index 88b6e39..5bdc7f3 100644
--- a/sources/extsysmon/extsysmon.cpp
+++ b/sources/extsysmon/extsysmon.cpp
@@ -126,7 +126,7 @@ QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QStri
} else if (_rawConfig["HDDDEV"] == "disable") {
_rawConfig["HDDDEV"] = "";
} else {
- QStringList deviceList = _rawConfig["HDDDEV"].split(',', Qt::SkipEmptyParts);
+ QStringList deviceList = _rawConfig["HDDDEV"].split(',', QString::SkipEmptyParts);
QStringList devices;
QRegExp diskRegexp = QRegExp("^/dev/[hms]d[a-z]$");
for (auto &device : deviceList)
diff --git a/sources/extsysmonsources/gpuloadsource.cpp b/sources/extsysmonsources/gpuloadsource.cpp
index 6281637..e81be26 100644
--- a/sources/extsysmonsources/gpuloadsource.cpp
+++ b/sources/extsysmonsources/gpuloadsource.cpp
@@ -132,7 +132,7 @@ void GPULoadSource::updateValue()
qCInfo(LOG_ESS) << "Output" << qoutput;
if (m_device == "nvidia") {
- for (auto &str : qoutput.split('\n', Qt::SkipEmptyParts)) {
+ for (auto &str : qoutput.split('\n', QString::SkipEmptyParts)) {
if (!str.contains("<gpu_util>"))
continue;
auto load = str.remove("<gpu_util>").remove("</gpu_util>").remove('%');
@@ -140,10 +140,10 @@ void GPULoadSource::updateValue()
break;
}
} else if (m_device == "ati") {
- for (auto &str : qoutput.split('\n', Qt::SkipEmptyParts)) {
+ for (auto &str : qoutput.split('\n', QString::SkipEmptyParts)) {
if (!str.contains("load"))
continue;
- QString load = str.split(' ', Qt::SkipEmptyParts)[3].remove('%');
+ QString load = str.split(' ', QString::SkipEmptyParts)[3].remove('%');
m_values["gpu/load"] = load.toFloat();
break;
}
diff --git a/sources/extsysmonsources/gputempsource.cpp b/sources/extsysmonsources/gputempsource.cpp
index 55fbadc..dce0c6e 100644
--- a/sources/extsysmonsources/gputempsource.cpp
+++ b/sources/extsysmonsources/gputempsource.cpp
@@ -112,7 +112,7 @@ void GPUTemperatureSource::updateValue()
qCInfo(LOG_ESS) << "Output" << qoutput;
if (m_device == "nvidia") {
- for (auto &str : qoutput.split('\n', Qt::SkipEmptyParts)) {
+ for (auto &str : qoutput.split('\n', QString::SkipEmptyParts)) {
if (!str.contains("<gpu_temp>"))
continue;
QString temp = str.remove("<gpu_temp>").remove("C</gpu_temp>");
@@ -120,10 +120,10 @@ void GPUTemperatureSource::updateValue()
break;
}
} else if (m_device == "ati") {
- for (auto &str : qoutput.split('\n', Qt::SkipEmptyParts)) {
+ for (auto &str : qoutput.split('\n', QString::SkipEmptyParts)) {
if (!str.contains("Temperature"))
continue;
- QString temp = str.split(' ', Qt::SkipEmptyParts).at(4);
+ QString temp = str.split(' ', QString::SkipEmptyParts).at(4);
m_values["gpu/temperature"] = temp.toFloat();
break;
}
diff --git a/sources/extsysmonsources/hddtempsource.cpp b/sources/extsysmonsources/hddtempsource.cpp
index efaae08..dad47a3 100644
--- a/sources/extsysmonsources/hddtempsource.cpp
+++ b/sources/extsysmonsources/hddtempsource.cpp
@@ -31,7 +31,7 @@ HDDTemperatureSource::HDDTemperatureSource(QObject *_parent, const QStringList &
Q_ASSERT(_args.count() == 2);
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
- m_devices = _args.at(0).split(',', Qt::SkipEmptyParts);
+ m_devices = _args.at(0).split(',', QString::SkipEmptyParts);
m_cmd = _args.at(1).split(' '); // lets hope no one put cmd with spaces here lol
m_smartctl = m_cmd.contains("smartctl");
@@ -131,17 +131,17 @@ void HDDTemperatureSource::updateValue(const QString &_device)
// parse
if (m_smartctl) {
- QStringList lines = qoutput.split('\n', Qt::SkipEmptyParts);
+ QStringList lines = qoutput.split('\n', QString::SkipEmptyParts);
for (auto &str : lines) {
if (!str.startsWith("194"))
continue;
- if (str.split(' ', Qt::SkipEmptyParts).count() < 9)
+ if (str.split(' ', QString::SkipEmptyParts).count() < 9)
continue;
- m_values[_device] = str.split(' ', Qt::SkipEmptyParts).at(9).toFloat();
+ m_values[_device] = str.split(' ', QString::SkipEmptyParts).at(9).toFloat();
break;
}
} else {
- QStringList lines = qoutput.split(':', Qt::SkipEmptyParts);
+ QStringList lines = qoutput.split(':', QString::SkipEmptyParts);
if (lines.count() >= 3) {
QString temp = lines.at(2);
temp.remove(QChar(0260)).remove('C');
diff --git a/sources/extsysmonsources/playersource.cpp b/sources/extsysmonsources/playersource.cpp
index aaca22f..e127a05 100644
--- a/sources/extsysmonsources/playersource.cpp
+++ b/sources/extsysmonsources/playersource.cpp
@@ -256,11 +256,11 @@ void PlayerSource::mpdSocketReadyRead()
qCInfo(LOG_ESS) << "Output" << qoutput;
// parse
- for (auto &str : qoutput.split('\n', Qt::SkipEmptyParts)) {
- if (str.split(": ", Qt::SkipEmptyParts).count() == 2) {
+ for (auto &str : qoutput.split('\n', QString::SkipEmptyParts)) {
+ if (str.split(": ", QString::SkipEmptyParts).count() == 2) {
// "Metadata: data"
- QString metadata = str.split(": ", Qt::SkipEmptyParts).first().toLower();
- QString data = str.split(": ", Qt::SkipEmptyParts).last().trimmed();
+ QString metadata = str.split(": ", QString::SkipEmptyParts).first().toLower();
+ QString data = str.split(": ", QString::SkipEmptyParts).last().trimmed();
// there are one more time...
if ((metadata == "time") && (data.contains(':'))) {
QStringList times = data.split(':');
diff --git a/sources/test/testawtelemetryhandler.cpp b/sources/test/testawtelemetryhandler.cpp
index ffb0e79..b4181e0 100644
--- a/sources/test/testawtelemetryhandler.cpp
+++ b/sources/test/testawtelemetryhandler.cpp
@@ -51,7 +51,7 @@ void TestAWTelemetryHandler::test_get()
QStringList output = plugin->get(telemetryGroup);
QVERIFY(!output.isEmpty());
- QCOMPARE(QSet<QString>(output.cbegin(), output.cend()).count(), output.count());
+ QCOMPARE(QSet<QString>::fromList(output).count(), output.count());
QVERIFY(output.contains(telemetryData));
}

View File

@ -0,0 +1,33 @@
diff --git a/sources/awdebug.h b/sources/awdebug.h
index 8447c65..4eef49a 100644
--- a/sources/awdebug.h
+++ b/sources/awdebug.h
@@ -23,10 +23,15 @@
#include "version.h"
+#ifndef qCInfo
+#define qCInfo qCDebug
+#endif
+
+
namespace AWDebug
{
const char LOG_FORMAT[] = "[%{time "
- "process}][%{if-debug}DD%{endif}%{if-info}II%{endif}%"
+ "process}][%{if-debug}DD%{endif}%"
"{if-warning}WW%{endif}%{if-critical}CC%{endif}%{if-"
"fatal}FF%{endif}][%{category}][%{function}] "
"%{message}";
diff --git a/sources/awesome-widget/plugin/awkeysaggregator.h b/sources/awesome-widget/plugin/awkeysaggregator.h
index d6d5d1a..ee301df 100644
--- a/sources/awesome-widget/plugin/awkeysaggregator.h
+++ b/sources/awesome-widget/plugin/awkeysaggregator.h
@@ -21,6 +21,7 @@
#include <QHash>
#include <QObject>
+#include <QStringList>
class AWFormatterHelper;

View File

@ -0,0 +1,139 @@
diff --git a/sources/awesome-widget/plugin/awupdatehelper.cpp b/sources/awesome-widget/plugin/awupdatehelper.cpp
index f6b5338..b5a3163 100644
--- a/sources/awesome-widget/plugin/awupdatehelper.cpp
+++ b/sources/awesome-widget/plugin/awupdatehelper.cpp
@@ -35,7 +35,7 @@ AWUpdateHelper::AWUpdateHelper(QObject *_parent)
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
- m_foundVersion = QVersionNumber::fromString(VERSION);
+ m_foundVersion = VERSION;
m_genericConfig = QString("%1/awesomewidgets/general.ini")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation));
@@ -67,8 +67,7 @@ void AWUpdateHelper::checkUpdates(const bool _showAnyway)
bool AWUpdateHelper::checkVersion()
{
QSettings settings(m_genericConfig, QSettings::IniFormat);
- QVersionNumber version = QVersionNumber::fromString(
- settings.value("Version", QString(VERSION)).toString());
+ QString version = settings.value("Version", VERSION).toString();
// update version
settings.setValue("Version", QString(VERSION));
settings.sync();
@@ -91,12 +90,11 @@ bool AWUpdateHelper::checkVersion()
}
-void AWUpdateHelper::showInfo(const QVersionNumber &_version)
+void AWUpdateHelper::showInfo(const QString &_version)
{
qCDebug(LOG_AW) << "Version" << _version;
- QString text
- = i18n("You are using the actual version %1", _version.toString());
+ QString text = i18n("You are using the actual version %1", _version);
if (!QString(COMMIT_SHA).isEmpty())
text += QString(" (%1)").arg(QString(COMMIT_SHA));
return genMessageBox(i18n("No new version found"), text, QMessageBox::Ok)
@@ -104,7 +102,7 @@ void AWUpdateHelper::showInfo(const QVersionNumber &_version)
}
-void AWUpdateHelper::showUpdates(const QVersionNumber &_version)
+void AWUpdateHelper::showUpdates(const QString &_version)
{
qCDebug(LOG_AW) << "Version" << _version;
@@ -113,7 +111,7 @@ void AWUpdateHelper::showUpdates(const QVersionNumber &_version)
text += QString(COMMIT_SHA).isEmpty()
? "\n"
: QString(" (%1)\n").arg(QString(COMMIT_SHA));
- text += i18n("New version : %1", _version.toString()) + "\n\n";
+ text += i18n("New version : %1", _version) + "\n\n";
text += i18n("Click \"Ok\" to download");
genMessageBox(i18n("There are updates"), text,
@@ -130,8 +128,7 @@ void AWUpdateHelper::userReplyOnUpdates(QAbstractButton *_button)
switch (ret) {
case QMessageBox::AcceptRole:
- QDesktopServices::openUrl(QString(RELEASES)
- + m_foundVersion.toString());
+ QDesktopServices::openUrl(QString(RELEASES) + m_foundVersion);
break;
case QMessageBox::RejectRole:
default:
@@ -162,14 +159,23 @@ void AWUpdateHelper::versionReplyRecieved(QNetworkReply *_reply,
QVariantMap firstRelease = jsonDoc.toVariant().toList().first().toMap();
QString version = firstRelease["tag_name"].toString();
version.remove("V.");
- m_foundVersion = QVersionNumber::fromString(version);
+ m_foundVersion = version;
qCInfo(LOG_AW) << "Update found version to" << m_foundVersion;
- QVersionNumber oldVersion = QVersionNumber::fromString(VERSION);
- if (oldVersion < m_foundVersion)
- return showUpdates(m_foundVersion);
+ // FIXME: possible there is a better way to check versions
+ int old_major = QString(VERSION).split(QChar('.')).at(0).toInt();
+ int old_minor = QString(VERSION).split(QChar('.')).at(1).toInt();
+ int old_patch = QString(VERSION).split(QChar('.')).at(2).toInt();
+ int new_major = version.split(QChar('.')).at(0).toInt();
+ int new_minor = version.split(QChar('.')).at(1).toInt();
+ int new_patch = version.split(QChar('.')).at(2).toInt();
+ if ((old_major < new_major)
+ || ((old_major == new_major) && (old_minor < new_minor))
+ || ((old_major == new_major) && (old_minor == new_minor)
+ && (old_patch < new_patch)))
+ return showUpdates(version);
else if (_showAnyway)
- return showInfo(m_foundVersion);
+ return showInfo(version);
}
diff --git a/sources/awesome-widget/plugin/awupdatehelper.h b/sources/awesome-widget/plugin/awupdatehelper.h
index cfd26e7..b311be2 100644
--- a/sources/awesome-widget/plugin/awupdatehelper.h
+++ b/sources/awesome-widget/plugin/awupdatehelper.h
@@ -21,7 +21,6 @@
#include <QMessageBox>
#include <QObject>
-#include <QVersionNumber>
class QNetworkReply;
@@ -37,15 +36,15 @@ public:
bool checkVersion();
private slots:
- void showInfo(const QVersionNumber &_version);
- void showUpdates(const QVersionNumber &_version);
+ void showInfo(const QString &_version);
+ void showUpdates(const QString &_version);
void userReplyOnUpdates(QAbstractButton *_button);
void versionReplyRecieved(QNetworkReply *_reply, const bool _showAnyway);
private:
QMessageBox *genMessageBox(const QString &_title, const QString &_body,
const QMessageBox::StandardButtons _buttons);
- QVersionNumber m_foundVersion;
+ QString m_foundVersion;
QString m_genericConfig;
};
diff --git a/sources/libraries.cmake b/sources/libraries.cmake
index 6f171a6..004b39f 100644
--- a/sources/libraries.cmake
+++ b/sources/libraries.cmake
@@ -2,7 +2,7 @@
find_package(Gettext REQUIRED)
# main qt libraries
-find_package(Qt5 5.6.0 REQUIRED COMPONENTS Core DBus Network Qml Test Widgets)
+find_package(Qt5 5.5.0 REQUIRED COMPONENTS Core DBus Network Qml Test Widgets)
add_definitions(
${Qt5Core_DEFINITIONS} ${Qt5DBus_DEFINITIONS} ${Qt5Network_DEFINITIONS}
${Qt5Qml_DEFINITIONS} ${Qt5Widgets_DEFINITIONS}

1
sources/3rdparty/fontdialog vendored Submodule

View File

@ -1,165 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@ -1,4 +0,0 @@
qtadds-fontdialog
=================
Font dialog which provides a font color settings

View File

@ -1,215 +0,0 @@
/***************************************************************************
* Copyright (C) 2014 Evgeniy Alekseev *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 3.0 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library. *
***************************************************************************/
#include "fontdialog.h"
#include <QGridLayout>
CFont::CFont(const QString family, int pointSize, int weight, bool italic, QColor color)
: QFont(family, pointSize, weight, italic)
{
setCurrentColor(color);
}
QColor CFont::color()
{
return currentColor;
}
void CFont::setCurrentColor(const QColor color)
{
currentColor = color;
}
int CFont::html2QFont(const int htmlWeight)
{
int weight = 16;
switch(htmlWeight) {
case 100:
weight = 16;
break;
case 200:
case 300:
weight = 25;
break;
case 400:
weight = 50;
break;
case 500:
case 600:
weight = 63;
break;
case 700:
case 800:
weight = 75;
break;
case 900:
weight = 87;
break;
default:
break;
}
return weight;
}
int CFont::qFont2html(const int weight)
{
int htmlWeight = 400;
switch(weight) {
case 16:
htmlWeight = 100;
break;
case 25:
htmlWeight = 300;
break;
case 50:
htmlWeight = 400;
break;
case 63:
htmlWeight = 600;
break;
case 75:
htmlWeight = 800;
break;
case 87:
htmlWeight = 900;
break;
default:
break;
}
return htmlWeight;
}
int CFont::htmlWeight()
{
return CFont::qFont2html(weight());
}
void CFont::setHtmlWeight(const int htmlWeight)
{
setWeight(CFont::html2QFont(htmlWeight));
}
CFont CFont::fromQFont(const QFont font, const QColor color)
{
return CFont(font.family(), font.pointSize(), font.weight(), font.italic(), color);
}
QFont CFont::toQFont()
{
return QFont(family(), pointSize(), weight(), italic());
}
CFontDialog::CFontDialog(QWidget *parent, bool needWeight, bool needItalic)
: QDialog(parent)
{
QGridLayout *mainGrid = new QGridLayout(this);
setLayout(mainGrid);
colorBox = new QComboBox(this);
connect(colorBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateColor(QString)));
QStringList colorNames = QColor::colorNames();
int index = 0;
for (int i=0; i<colorNames.count(); i++) {
QColor color(colorNames[i]);
colorBox->addItem(colorNames[i], color);
QModelIndex idx = colorBox->model()->index(index++, 0);
colorBox->model()->setData(idx, color, Qt::BackgroundRole);
}
mainGrid->addWidget(colorBox, 0, 0);
fontBox = new QFontComboBox(this);
mainGrid->addWidget(fontBox, 0, 1);
sizeBox = new QSpinBox(this);
mainGrid->addWidget(sizeBox, 0, 2);
weightBox = new QSpinBox(this);
mainGrid->addWidget(weightBox, 0, 3);
italicBox = new QComboBox(this);
italicBox->addItem(tr("normal"));
italicBox->addItem(tr("italic"));
mainGrid->addWidget(italicBox, 0, 4);
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
Qt::Horizontal, this);
QObject::connect(buttons, SIGNAL(accepted()), this, SLOT(accept()));
QObject::connect(buttons, SIGNAL(rejected()), this, SLOT(reject()));
mainGrid->addWidget(buttons, 1, 0, 1, 5);
italicBox->setHidden(!needItalic);
weightBox->setHidden(!needWeight);
}
CFontDialog::~CFontDialog()
{
delete colorBox;
delete buttons;
delete fontBox;
delete italicBox;
delete sizeBox;
delete weightBox;
}
void CFontDialog::updateColor(const QString color)
{
colorBox->setStyleSheet(QString("background:%1").arg(QColor(color).name()));
}
CFont CFontDialog::getFont(const QString title, CFont defaultFont, bool needWeight, bool needItalic, int *status)
{
CFontDialog dlg(0, needWeight, needItalic);
dlg.setWindowTitle(title);
QStringList colorNames = QColor::colorNames();
for (int i=0; i<colorNames.count(); i++)
if (QColor(colorNames[i]) == defaultFont.color()) {
dlg.colorBox->setCurrentIndex(i);
break;
}
dlg.fontBox->setCurrentFont(defaultFont);
dlg.sizeBox->setValue(defaultFont.pointSize());
dlg.weightBox->setValue(defaultFont.weight());
if (defaultFont.italic())
dlg.italicBox->setCurrentIndex(1);
else
dlg.italicBox->setCurrentIndex(0);
CFont font = CFont(defaultFont);
int ret = dlg.exec();
if (ret == 1)
font = CFont(dlg.fontBox->currentFont().family(),
dlg.sizeBox->value(),
dlg.weightBox->value(),
dlg.italicBox->currentIndex() == 1,
QColor(dlg.colorBox->currentText()));
if (status != nullptr)
*status = ret;
return font;
}

View File

@ -1,82 +0,0 @@
/***************************************************************************
* Copyright (C) 2014 Evgeniy Alekseev *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 3.0 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library. *
***************************************************************************/
#ifndef FONTDIALOG_H
#define FONTDIALOG_H
#include <QComboBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QFontComboBox>
#include <QSpinBox>
class CFont : public QFont
{
public:
explicit CFont(const QString family, int pointSize = -1,
int weight = -1, bool italic = false,
QColor color = QColor(QString("#000000")));
// color properties
QColor color();
void setCurrentColor(const QColor color);
// html weight properties
static int html2QFont(const int htmlWeight);
static int qFont2html(const int weight);
int htmlWeight();
void setHtmlWeight(const int htmlWeight);
// conversion to QFont
static CFont fromQFont(const QFont font,
const QColor color = QColor(QString("#000000")));
QFont toQFont();
private:
QColor currentColor;
};
class CFontDialog : public QDialog
{
Q_OBJECT
public:
explicit CFontDialog(QWidget *parent = 0,
const bool needWeight = true,
const bool needItalic = true);
~CFontDialog();
static CFont getFont(const QString title = tr("Select font"),
CFont defaultFont = CFont(QString("Arial"),
12, 400, false,
QColor(QString("#000000"))),
const bool needWeight = true,
const bool needItalic = true,
int *status = nullptr);
private slots:
void updateColor(const QString color);
private:
QComboBox *colorBox;
QDialogButtonBox *buttons;
QFontComboBox *fontBox;
QComboBox *italicBox;
QSpinBox *sizeBox;
QSpinBox *weightBox;
};
#endif /* FONTDIALOG_H */

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16.0)
cmake_minimum_required(VERSION 2.8.12)
# some fucking magic
cmake_policy(SET CMP0011 NEW)
@ -16,7 +16,7 @@ set(PROJECT_CONTACT "esalexeev@gmail.com")
set(PROJECT_LICENSE "GPL3")
set(PROJECT_VERSION_MAJOR "3")
set(PROJECT_VERSION_MINOR "4")
set(PROJECT_VERSION_PATCH "3")
set(PROJECT_VERSION_PATCH "2")
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
# append git version if any
set(PROJECT_COMMIT_SHA "Commit hash" CACHE INTERNAL "")

View File

@ -22,5 +22,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.awesomewidget
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
X-KDE-PluginInfo-Website=https://arcanis.me/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=true

View File

@ -19,8 +19,9 @@ X-Plasma-MainScript=ui/main.qml
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.awesomewidget
X-KDE-PluginInfo-Version=3.4.3
X-KDE-PluginInfo-Version=3.4.2
X-KDE-PluginInfo-Website=https://arcanis.me/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=true

View File

@ -49,7 +49,7 @@ QStringList AWDBusAdaptor::ActiveServices() const
QStringList arguments = listServices.arguments().first().toStringList();
return std::accumulate(arguments.cbegin(), arguments.cend(), QStringList(),
[](QStringList source, const QString &service) {
[](QStringList &source, const QString &service) {
if (service.startsWith(AWDBUS_SERVICE))
source.append(service);
return source;

View File

@ -37,11 +37,11 @@ public:
public slots:
// get methods
QStringList ActiveServices() const;
QString Info(const QString &key) const;
QStringList Keys(const QString &regexp) const;
QString Value(const QString &key) const;
qlonglong WhoAmI() const;
[[nodiscard]] QStringList ActiveServices() const;
[[nodiscard]] QString Info(const QString &key) const;
[[nodiscard]] QStringList Keys(const QString &regexp) const;
[[nodiscard]] QString Value(const QString &key) const;
[[nodiscard]] qlonglong WhoAmI() const;
// set methods
void SetLogLevel(const QString &what, int level);
void SetLogLevel(const QString &what, const QString &level, bool enabled);

View File

@ -79,7 +79,7 @@ public slots:
virtual void readConfiguration();
virtual QVariantHash run() = 0;
virtual int showConfiguration(const QVariant &_args) = 0;
virtual bool tryDelete() const;
[[nodiscard]] virtual bool tryDelete() const;
virtual void writeConfiguration() const;
private slots:

View File

@ -28,20 +28,20 @@ class QCronScheduler : public QObject
Q_OBJECT
public:
struct QCronRunSchedule {
typedef struct {
QList<int> minutes;
QList<int> hours;
QList<int> days;
QList<int> months;
QList<int> weekdays;
};
struct QCronField {
} QCronRunSchedule;
typedef struct {
int minValue = -1;
int maxValue = -1;
int div = 1;
void fromRange(const QString &_range, int _min, int _max);
QList<int> toList();
};
} QCronField;
explicit QCronScheduler(QObject *_parent = nullptr);
~QCronScheduler() override;

View File

@ -17,7 +17,7 @@ else ()
endif ()
# some flags
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# verbose output for debug builds

View File

@ -22,5 +22,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.desktoppanel
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
X-KDE-PluginInfo-Website=https://arcanis.me/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=true

View File

@ -19,8 +19,9 @@ X-Plasma-MainScript=ui/main.qml
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.desktoppanel
X-KDE-PluginInfo-Version=3.4.3
X-KDE-PluginInfo-Version=3.4.2
X-KDE-PluginInfo-Website=https://arcanis.me/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=true

View File

@ -20,7 +20,6 @@
#include <KI18n/KLocalizedString>
#include <KNotifications/KNotification>
#include <KWindowSystem/KWindowSystem>
#include <KWindowSystem/KX11Extras>
#include <QBuffer>
#include <QGraphicsPixmapItem>
@ -65,7 +64,7 @@ bool DPAdds::isDebugEnabled()
int DPAdds::currentDesktop()
{
return KX11Extras::currentDesktop();
return KWindowSystem::currentDesktop();
}
@ -88,7 +87,7 @@ QStringList DPAdds::dictKeys(const bool _sorted, const QString &_regexp)
int DPAdds::numberOfDesktops()
{
return KX11Extras::numberOfDesktops();
return KWindowSystem::numberOfDesktops();
}
@ -237,7 +236,7 @@ QString DPAdds::valueByKey(const QString &_key, int _desktop) const
.arg(currentMark, m_mark.count(), QLatin1Char(' '))
.replace(" ", "&nbsp;");
else if (_key == "name")
return KX11Extras::desktopName(_desktop).replace(" ", "&nbsp;");
return KWindowSystem::desktopName(_desktop).replace(" ", "&nbsp;");
else if (_key == "number")
return QString::number(_desktop);
else if (_key == "total")
@ -291,7 +290,7 @@ void DPAdds::setCurrentDesktop(const int _desktop)
{
qCDebug(LOG_DP) << "Desktop" << _desktop;
KX11Extras::setCurrentDesktop(_desktop);
KWindowSystem::setCurrentDesktop(_desktop);
}
@ -301,9 +300,9 @@ DPAdds::DesktopWindowsInfo DPAdds::getInfoByDesktop(const int _desktop)
DesktopWindowsInfo info;
info.desktop = KX11Extras::workArea(_desktop);
info.desktop = KWindowSystem::workArea(_desktop);
for (auto &id : KX11Extras::windows()) {
for (auto &id : KWindowSystem::windows()) {
KWindowInfo winInfo = KWindowInfo(
id, NET::Property::WMDesktop | NET::Property::WMGeometry | NET::Property::WMState
| NET::Property::WMWindowType | NET::Property::WMVisibleName);

View File

@ -13,4 +13,5 @@ X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=extsysmon
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL3

View File

@ -18,7 +18,7 @@
#include "desktopsource.h"
#include <KX11Extras>
#include <KWindowSystem>
#include "awdebug.h"
@ -41,17 +41,17 @@ QVariant DesktopSource::data(const QString &_source)
{
qCDebug(LOG_ESS) << "Source" << _source;
int current = KX11Extras::currentDesktop();
int total = KX11Extras::numberOfDesktops();
int current = KWindowSystem::currentDesktop();
int total = KWindowSystem::numberOfDesktops();
if (_source == "desktop/current/name") {
return KX11Extras::desktopName(current);
return KWindowSystem::desktopName(current);
} else if (_source == "desktop/current/number") {
return current;
} else if (_source == "desktop/total/name") {
QStringList desktops;
for (int i = 1; i < total + 1; i++)
desktops.append(KX11Extras::desktopName(i));
desktops.append(KWindowSystem::desktopName(i));
return desktops;
} else if (_source == "desktop/total/number") {
return total;