This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goplasmabindings. commit e9cfac93c663d170a8fcf11fb66f699312a7e501 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu Jun 29 22:19:17 2023 +0200 /: add x2goplasmoidkf5.cpp, developed by Robert Tari, C++ part of a new KF5-based implementation. --- debian/changelog | 2 ++ x2goplasmoidkf5.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/debian/changelog b/debian/changelog index 8ce7e9c..d077040 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,8 @@ x2goplasmabindings (3.0.2.3-0x2go1) UNRELEASED; urgency=medium - plasmoidhoveredicon.{cpp,h}: revert QFrame change. We will use a new QML-based plugin for KF5. - /: remove plasma_compat.h. + - /: add x2goplasmoidkf5.cpp, developed by Robert Tari, C++ part of a new + KF5-based implementation. * debian/control: + Adapt description to also mention KDE 5. + Build-Depend on libkf5plasma-dev and libkf5i18n-dev, with a fallback to diff --git a/x2goplasmoidkf5.cpp b/x2goplasmoidkf5.cpp new file mode 100644 index 0000000..35eed8b --- /dev/null +++ b/x2goplasmoidkf5.cpp @@ -0,0 +1,71 @@ +/* +* Copyright 2023 Robert Tari +* +* This program is free software: you can redistribute it and/or modify it +* under the terms of the GNU General Public License version 3, as published +* by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranties of +* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +* PURPOSE. See the GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License along +* with this program. If not, see <http://www.gnu.org/licenses/>. +* +* Authors: +* Robert Tari <robert@tari.in> +*/ + +#include <QQmlExtensionPlugin> +#include <QQmlEngine> +#include <QProcess> + +class Helpers : public QObject +{ + Q_OBJECT + +public: + + Q_INVOKABLE bool isSession () + { + this->sSessionId = qgetenv("X2GO_SESSION"); + + if (this->sSessionId.isEmpty()) + { + return false; + } + + return true; + } + + Q_INVOKABLE void suspendSession () + { + QString sCommand = "x2gosuspend-session"; + QStringList lAgs = {this->sSessionId}; + QProcess *pProcess = new QProcess (); + pProcess->start (sCommand, lAgs); + } + +private: + + QString sSessionId; +}; + +class X2GoPlasmoidPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA (IID "org.qt-project.Qt.QQmlExtensionInterface") + +public: + + void registerTypes(const char *sUri) override + { + qmlRegisterSingletonType<Helpers> (sUri, 1, 0, "Helpers", [](QQmlEngine *, QJSEngine *) + { + return new Helpers(); + }); + } +}; + +#include "x2go-plasmoid-plugin.moc" -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goplasmabindings.git