From f09bfe37d411c8cb25d11695b2bc642c5924a2b4 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Wed, 20 Dec 2017 01:19:07 +0100 Subject: [PATCH] Make failed external commands reset --- src/settingsdialog.cpp | 2 +- src/utils.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp index 0e40e84..03ac3e6 100644 --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -85,7 +85,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent), ui(new Ui::Se #endif ui->fpsMax->setValue(settings::settings().value("recording/framerate", 30).toInt()); ui->focusedCapture->setText(settings::settings().value("command/activeCommand", "").toString()); - ui->fullscreenCapture->setText(settings::settings().value("command/fullscreenCommand", 0).toString()); + ui->fullscreenCapture->setText(settings::settings().value("command/fullscreenCommand", "").toString()); } void SettingsDialog::setScheme(QString scheme) { diff --git a/src/utils.cpp b/src/utils.cpp index 35bbc73..eec6641 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -148,6 +148,9 @@ void utils::externalScreenshot(std::function callback) { } QFile(tempPath).remove(); }); + QObject::connect(process, &QProcess::errorOccurred, [](QProcess::ProcessError err) { + if (err == QProcess::FailedToStart) settings::settings().remove("command/fullscreenCommand"); + }); process->start(args.takeFirst(), args); } @@ -177,5 +180,8 @@ void utils::externalScreenshotActive(std::function callback) { } QFile(tempPath).remove(); }); + QObject::connect(process, &QProcess::errorOccurred, [](QProcess::ProcessError err) { + if (err == QProcess::FailedToStart) settings::settings().remove("command/activeCommand"); + }); process->start(args.takeFirst(), args); }