File: helper.cpp

package info (click to toggle)
calligra 1%3A25.04.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 309,164 kB
  • sloc: cpp: 667,890; xml: 126,105; perl: 2,724; python: 2,497; yacc: 1,817; ansic: 1,326; sh: 1,223; lex: 1,107; javascript: 495; makefile: 24
file content (33 lines) | stat: -rw-r--r-- 742 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// SPDX-FileCopyrightText: 2024 Carl Schwan <carl@carlschwan.eu>
// SPDX-License-Identifier: LGPL-2.1-or-later

#include "helper.h"

#include <KIO/CommandLauncherJob>
#include <KIO/JobUiDelegateFactory>
#include <KJobUiDelegate>
#include <KService>
#include <QApplication>

using namespace Qt::StringLiterals;

Helper::Helper(QObject *parent)
    : QObject(parent)
{
}

void Helper::execute(const QString &appId)
{
    if (appId.isEmpty()) {
        qApp->quit();
    }

    auto job = new KIO::CommandLauncherJob(appId, QStringList{});
    connect(job, &KJob::result, this, [job](KJob *) {
        if (job->error() != KJob::NoError) {
            qWarning() << job->errorString();
        }
        qApp->quit();
    });
    job->start();
}