Show the KCM with the run commands open when a setup packet is received

Summary: Depends on D11683.

Test Plan: Tested the `kcmshell kdeconnect --args mydeviceid:kdeconnect_runcommand` works

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11684
This commit is contained in:
Aleix Pol
2018-04-19 02:28:02 +02:00
parent 4a4e8216aa
commit dd031d3deb
4 changed files with 25 additions and 3 deletions

View File

@@ -68,6 +68,8 @@ bool RunCommandPlugin::receivePacket(const NetworkPacket& np)
qCInfo(KDECONNECT_PLUGIN_RUNCOMMAND) << "Running:" << "/bin/sh" << "-c" << commandJson[QStringLiteral("command")].toString();
QProcess::startDetached(QStringLiteral("/bin/sh"), QStringList()<< QStringLiteral("-c") << commandJson[QStringLiteral("command")].toString());
return true;
} else if (np.has("setup")) {
QProcess::startDetached(QStringLiteral("kcmshell5"), {QStringLiteral("kdeconnect"), QStringLiteral("--args"), QString(device()->id() + QStringLiteral(":kdeconnect_runcommand")) });
}
return false;
@@ -83,6 +85,7 @@ void RunCommandPlugin::sendConfig()
{
QString commands = config()->get<QString>(QStringLiteral("commands"),QStringLiteral("{}"));
NetworkPacket np(PACKET_TYPE_RUNCOMMAND, {{"commandList", commands}});
np.set<bool>(QStringLiteral("canAddCommand"), true);
sendPacket(np);
}