File indexing completed on 2024-05-19 05:36:46

0001 /*
0002  *   SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "taskpanel.h"
0008 
0009 #include <QDBusConnection>
0010 #include <QDBusPendingReply>
0011 #include <QDebug>
0012 #include <QGuiApplication>
0013 #include <QtQml>
0014 
0015 // register type for Keyboards.KWinVirtualKeyboard.forceActivate();
0016 Q_DECLARE_METATYPE(QDBusPendingReply<>)
0017 
0018 TaskPanel::TaskPanel(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
0019     : Plasma::Containment(parent, data, args)
0020 {
0021 }
0022 
0023 void TaskPanel::triggerTaskSwitcher() const
0024 {
0025     QDBusMessage message = QDBusMessage::createMethodCall("org.kde.kglobalaccel", "/component/kwin", "org.kde.kglobalaccel.Component", "invokeShortcut");
0026     message.setArguments({QStringLiteral("Mobile Task Switcher")});
0027 
0028     // this does not block, so it won't necessarily be called before the method returns
0029     QDBusConnection::sessionBus().send(message);
0030 }
0031 
0032 K_PLUGIN_CLASS(TaskPanel)
0033 
0034 #include "taskpanel.moc"