forked from qt-creator/qt-creator
Task/ProcessProgress: Delete private data on destruction
Change-Id: I81787984ff8dbb541f88922c90e51a68184c392b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -107,6 +107,8 @@ ProcessProgress::ProcessProgress(QtcProcess *process)
|
||||
});
|
||||
}
|
||||
|
||||
ProcessProgress::~ProcessProgress() = default;
|
||||
|
||||
void ProcessProgress::setDisplayName(const QString &name)
|
||||
{
|
||||
d->m_displayName = name;
|
||||
@@ -123,9 +125,9 @@ void ProcessProgress::setProgressParser(const ProgressParser &parser)
|
||||
{
|
||||
if (d->m_parser) {
|
||||
disconnect(d->m_process, &QtcProcess::textOnStandardOutput,
|
||||
d, &ProcessProgressPrivate::parseProgress);
|
||||
d.get(), &ProcessProgressPrivate::parseProgress);
|
||||
disconnect(d->m_process, &QtcProcess::textOnStandardError,
|
||||
d, &ProcessProgressPrivate::parseProgress);
|
||||
d.get(), &ProcessProgressPrivate::parseProgress);
|
||||
}
|
||||
d->m_parser = parser;
|
||||
if (!d->m_parser)
|
||||
@@ -136,9 +138,9 @@ void ProcessProgress::setProgressParser(const ProgressParser &parser)
|
||||
"text channel mode is no-op.");
|
||||
|
||||
connect(d->m_process, &QtcProcess::textOnStandardOutput,
|
||||
d, &ProcessProgressPrivate::parseProgress);
|
||||
d.get(), &ProcessProgressPrivate::parseProgress);
|
||||
connect(d->m_process, &QtcProcess::textOnStandardError,
|
||||
d, &ProcessProgressPrivate::parseProgress);
|
||||
d.get(), &ProcessProgressPrivate::parseProgress);
|
||||
}
|
||||
|
||||
} // namespace Core
|
||||
|
@@ -3,15 +3,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <coreplugin/core_global.h>
|
||||
#include "../core_global.h"
|
||||
|
||||
#include "futureprogress.h"
|
||||
|
||||
#include <QObject>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
template <typename T>
|
||||
class QFutureInterface;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace Utils { class QtcProcess; }
|
||||
|
||||
namespace Core {
|
||||
@@ -24,13 +21,14 @@ class CORE_EXPORT ProcessProgress : public QObject
|
||||
{
|
||||
public:
|
||||
ProcessProgress(Utils::QtcProcess *process); // Makes ProcessProgress a child of process
|
||||
~ProcessProgress() override;
|
||||
|
||||
void setDisplayName(const QString &name);
|
||||
void setKeepOnFinish(FutureProgress::KeepOnFinishType keepType);
|
||||
void setProgressParser(const ProgressParser &parser);
|
||||
|
||||
private:
|
||||
ProcessProgressPrivate *d;
|
||||
std::unique_ptr<ProcessProgressPrivate> d;
|
||||
};
|
||||
|
||||
} // namespace Core
|
||||
|
@@ -131,6 +131,8 @@ TaskProgress::TaskProgress(TaskTree *taskTree)
|
||||
});
|
||||
}
|
||||
|
||||
TaskProgress::~TaskProgress() = default;
|
||||
|
||||
void TaskProgress::setHalfLifeTimePerTask(int msecs)
|
||||
{
|
||||
d->m_halfLifeTimePerTask = msecs;
|
||||
|
@@ -3,9 +3,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <coreplugin/core_global.h>
|
||||
#include "../core_global.h"
|
||||
|
||||
#include "futureprogress.h" // TODO: just because of KeepOnFinishType enum - move it outside
|
||||
#include "futureprogress.h"
|
||||
|
||||
#include <QObject>
|
||||
|
||||
@@ -19,6 +19,7 @@ class CORE_EXPORT TaskProgress : public QObject
|
||||
{
|
||||
public:
|
||||
TaskProgress(Utils::TaskTree *taskTree); // Makes TaskProgress a child of task tree
|
||||
~TaskProgress() override;
|
||||
|
||||
void setHalfLifeTimePerTask(int msecs); // Default is 1000 ms
|
||||
void setDisplayName(const QString &name);
|
||||
@@ -27,7 +28,7 @@ public:
|
||||
void setSubtitle(const QString &subtitle);
|
||||
|
||||
private:
|
||||
TaskProgressPrivate *d;
|
||||
std::unique_ptr<TaskProgressPrivate> d;
|
||||
};
|
||||
|
||||
} // namespace Core
|
||||
|
Reference in New Issue
Block a user