diff --git a/gui/main-kf5.qml b/gui/main-kf5.qml index de684da..60fc31e 100644 --- a/gui/main-kf5.qml +++ b/gui/main-kf5.qml @@ -190,6 +190,7 @@ ApplicationWindow { function openNewSessionDialog() { nameInput.text = "" + remoteInput.text = "" newSessionDialog.backendModel = dbus.listBackends() newSessionDialog.agentModel = dbus.listAgents() newSessionDialog.cwdField.text = dbus.activeCwd || "" @@ -224,7 +225,8 @@ ApplicationWindow { var model = modelSelect.editText.trim() || modelSelect.currentText var agent = agentSelect.currentText var name = nameInput.text.trim() - dbus.createSession(cwd, backend, model, name, agent) + var remote = remoteInput.text.trim() + dbus.createSession(cwd, backend, model, name, agent, remote) } GridLayout { @@ -284,6 +286,13 @@ ApplicationWindow { editable: true editText: "" } + + Label { text: "Remote:" } + TextField { + id: remoteInput + Layout.fillWidth: true + placeholderText: "user@host (empty = local)" + } } } diff --git a/plasmoid/plugin/olliedbusclient.cpp b/plasmoid/plugin/olliedbusclient.cpp index ba15208..f265118 100644 --- a/plasmoid/plugin/olliedbusclient.cpp +++ b/plasmoid/plugin/olliedbusclient.cpp @@ -279,12 +279,12 @@ QStringList OllieDBusClient::listAgents() return {}; } -QString OllieDBusClient::createSession(const QString &cwd, const QString &backend, const QString &model, const QString &name, const QString &agent) +QString OllieDBusClient::createSession(const QString &cwd, const QString &backend, const QString &model, const QString &name, const QString &agent, const QString &remote) { QString dir = cwd.isEmpty() ? QDir::homePath() : cwd; QString agentName = agent.isEmpty() ? QString("default") : agent; auto *watcher = new QDBusPendingCallWatcher( - m_iface->asyncCall("CreateSession", dir, backend, model, agentName, QString(), QString()), + m_iface->asyncCall("CreateSession", dir, backend, model, agentName, QString(), remote), this); connect(watcher, &QDBusPendingCallWatcher::finished, this, [this, name](QDBusPendingCallWatcher *w) { QDBusPendingReply reply = *w; diff --git a/plasmoid/plugin/olliedbusclient.h b/plasmoid/plugin/olliedbusclient.h index 87ce956..c8097f9 100644 --- a/plasmoid/plugin/olliedbusclient.h +++ b/plasmoid/plugin/olliedbusclient.h @@ -47,7 +47,7 @@ public: Q_INVOKABLE void refreshSessions(); Q_INVOKABLE void fetchChat(); - Q_INVOKABLE QString createSession(const QString &cwd, const QString &backend = QString(), const QString &model = QString(), const QString &name = QString(), const QString &agent = QString()); + Q_INVOKABLE QString createSession(const QString &cwd, const QString &backend = QString(), const QString &model = QString(), const QString &name = QString(), const QString &agent = QString(), const QString &remote = QString()); Q_INVOKABLE QStringList listAgents(); Q_INVOKABLE void createSessionWithDialog(); Q_INVOKABLE bool killSession(const QString &sessionId);