Commit 72822969 authored by Eike Ziller's avatar Eike Ziller

UpdateInfo: Fix status of progress bar

MaintenanceTool returns with exit status != 0 in case there are no updates,
so that is no indicator of failure.

Change-Id: Ibe94cc8b5ecbd7a04be5da41112a4eda0cd84153
Reviewed-by: Tobias Hunger's avatarTobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller's avatarEike Ziller <eike.ziller@qt.io>
parent ba75cf8b
......@@ -33,6 +33,7 @@
#include <coreplugin/settingsdatabase.h>
#include <coreplugin/shellcommand.h>
#include <utils/fileutils.h>
#include <utils/synchronousprocess.h>
#include <QDate>
#include <QDomDocument>
......@@ -60,6 +61,13 @@ using namespace Core;
namespace UpdateInfo {
namespace Internal {
class IgnoreExitCode : public Utils::ExitCodeInterpreter
{
public:
IgnoreExitCode(QObject *parent);
Utils::SynchronousProcessResponse::Result interpretExitCode(int code) const override;
};
class UpdateInfoPluginPrivate
{
public:
......@@ -76,6 +84,16 @@ public:
QDate m_lastCheckDate;
};
IgnoreExitCode::IgnoreExitCode(QObject *parent)
: Utils::ExitCodeInterpreter(parent)
{
}
Utils::SynchronousProcessResponse::Result IgnoreExitCode::interpretExitCode(int code) const
{
Q_UNUSED(code)
return Utils::SynchronousProcessResponse::Finished;
}
UpdateInfoPlugin::UpdateInfoPlugin()
: d(new UpdateInfoPluginPrivate)
......@@ -128,7 +146,8 @@ void UpdateInfoPlugin::startCheckForUpdates()
d->m_checkUpdatesCommand = new ShellCommand(QString(), env);
connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput);
connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished);
d->m_checkUpdatesCommand->addJob(Utils::FileName(QFileInfo(d->m_maintenanceTool)), QStringList(QLatin1String("--checkupdates")));
d->m_checkUpdatesCommand->addJob(Utils::FileName(QFileInfo(d->m_maintenanceTool)), QStringList(QLatin1String("--checkupdates")),
/*workingDirectory=*/QString(), new IgnoreExitCode(d->m_checkUpdatesCommand));
d->m_checkUpdatesCommand->execute();
emit checkForUpdatesRunningChanged(true);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment