diff --git a/src/plugins/coreplugin/progressmanager/processprogress.cpp b/src/plugins/coreplugin/progressmanager/processprogress.cpp index d2109f072a4..f2d37767ce1 100644 --- a/src/plugins/coreplugin/progressmanager/processprogress.cpp +++ b/src/plugins/coreplugin/progressmanager/processprogress.cpp @@ -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 diff --git a/src/plugins/coreplugin/progressmanager/processprogress.h b/src/plugins/coreplugin/progressmanager/processprogress.h index d6e1721622a..339a4fd173f 100644 --- a/src/plugins/coreplugin/progressmanager/processprogress.h +++ b/src/plugins/coreplugin/progressmanager/processprogress.h @@ -3,15 +3,12 @@ #pragma once -#include +#include "../core_global.h" + +#include "futureprogress.h" #include -QT_BEGIN_NAMESPACE -template -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 d; }; } // namespace Core diff --git a/src/plugins/coreplugin/progressmanager/taskprogress.cpp b/src/plugins/coreplugin/progressmanager/taskprogress.cpp index 2d7509aaab3..3e75ece5026 100644 --- a/src/plugins/coreplugin/progressmanager/taskprogress.cpp +++ b/src/plugins/coreplugin/progressmanager/taskprogress.cpp @@ -131,6 +131,8 @@ TaskProgress::TaskProgress(TaskTree *taskTree) }); } +TaskProgress::~TaskProgress() = default; + void TaskProgress::setHalfLifeTimePerTask(int msecs) { d->m_halfLifeTimePerTask = msecs; diff --git a/src/plugins/coreplugin/progressmanager/taskprogress.h b/src/plugins/coreplugin/progressmanager/taskprogress.h index 318dc2ab8a3..e9dab64124a 100644 --- a/src/plugins/coreplugin/progressmanager/taskprogress.h +++ b/src/plugins/coreplugin/progressmanager/taskprogress.h @@ -3,9 +3,9 @@ #pragma once -#include +#include "../core_global.h" -#include "futureprogress.h" // TODO: just because of KeepOnFinishType enum - move it outside +#include "futureprogress.h" #include @@ -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 d; }; } // namespace Core