diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) -find_package(Qt5 5.6.0 REQUIRED CONFIG COMPONENTS Widgets Concurrent) +find_package(Qt5 5.7.0 REQUIRED CONFIG COMPONENTS Widgets Concurrent) include(KDEInstallDirs) include(KDECMakeSettings NO_POLICY_SCOPE) include(KDECompilerSettings NO_POLICY_SCOPE) diff --git a/src/muonapt/QAptActions.cpp b/src/muonapt/QAptActions.cpp --- a/src/muonapt/QAptActions.cpp +++ b/src/muonapt/QAptActions.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -39,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -386,7 +386,7 @@ void QAptActions::runSourcesEditor() { - KProcess *proc = new KProcess(this); + QProcess *proc = new QProcess(this); QStringList arguments; int winID = m_mainWindow->effectiveWinId(); @@ -397,28 +397,30 @@ } if (editor.isEmpty()) { - QString text = i18nc("@label", - "Could not find software-properties-qt " + QString text = xi18nc("@info", + "Could not find software-properties-qt " "nor software-properties-kde " - "on your system, please install it. Alternatively, you can use " - "Plasma Discover to configure " - "software sources."); - QString title = i18nc("@title:window", + "on your system, please install it." + "Alternatively, you can use Plasma Discover " + "to configure software sources."); + QString title = xi18nc("@title:window", "Cannot find software-properties-qt"); KMessageBox::sorry(m_mainWindow, text, title); return; } - arguments << kdesu << "--" << editor << QStringLiteral("--attach") << QString::number(winID); + arguments << QStringLiteral("--") << editor << QStringLiteral("--attach") << QString::number(winID); if (m_reloadWhenEditorFinished) { arguments << QStringLiteral("--dont-update"); } - proc->setProgram(arguments); + connect(proc, QOverload::of(&QProcess::finished), + this, &QAptActions::sourcesEditorFinished); + connect(proc, QOverload::of(&QProcess::finished), + proc, &QProcess::deleteLater); m_mainWindow->find(winID)->setEnabled(false); - proc->start(); - connect(proc, SIGNAL(finished(int,QProcess::ExitStatus)), - this, SLOT(sourcesEditorFinished(int))); + proc->setProcessChannelMode(QProcess::ForwardedChannels); + proc->start(kdesu, arguments); } void QAptActions::sourcesEditorFinished(int exitStatus) @@ -536,10 +538,14 @@ return; } - KProcess* checkerProcess = new KProcess(this); - checkerProcess->setProgram(QStringList() << "/usr/bin/python3" << checkerFile); - connect(checkerProcess, SIGNAL(finished(int)), this, SLOT(checkerFinished(int))); - connect(checkerProcess, SIGNAL(finished(int)), checkerProcess, SLOT(deleteLater())); + QProcess *checkerProcess = new QProcess(this); + checkerProcess->setProgram(QStringLiteral("/usr/bin/python3")); + checkerProcess->setArguments(QStringList() << checkerFile); + checkerProcess->setProcessChannelMode(QProcess::ForwardedChannels); + connect(checkerProcess, QOverload::of(&QProcess::finished), + this, &QAptActions::checkerFinished); + connect(checkerProcess, QOverload::of(&QProcess::finished), + checkerProcess, &QProcess::deleteLater); checkerProcess->start(); }