diff --git a/interfaces/ibuddydocumentfinder.h b/interfaces/ibuddydocumentfinder.h --- a/interfaces/ibuddydocumentfinder.h +++ b/interfaces/ibuddydocumentfinder.h @@ -132,9 +132,6 @@ * Used in the DocumentController (shell). */ static IBuddyDocumentFinder* finderForMimeType(const QString& mimeType); - -private: - struct Private; }; } diff --git a/interfaces/ibuddydocumentfinder.cpp b/interfaces/ibuddydocumentfinder.cpp --- a/interfaces/ibuddydocumentfinder.cpp +++ b/interfaces/ibuddydocumentfinder.cpp @@ -25,8 +25,9 @@ //Our private data is entirely static, so don't need to create an //instance of the private data class -struct IBuddyDocumentFinder::Private +class IBuddyDocumentFinderPrivate { +public: static QMap& finders() { static QMap finders; @@ -37,17 +38,17 @@ // ---------------- "Registry" interface -------------------------------------------- void IBuddyDocumentFinder::addFinder(const QString& mimeType, IBuddyDocumentFinder *finder) { - Private::finders()[mimeType] = finder; + IBuddyDocumentFinderPrivate::finders()[mimeType] = finder; } void IBuddyDocumentFinder::removeFinder(const QString& mimeType) { - Private::finders().remove(mimeType); + IBuddyDocumentFinderPrivate::finders().remove(mimeType); } IBuddyDocumentFinder* IBuddyDocumentFinder::finderForMimeType(const QString& mimeType) { - return Private::finders().value(mimeType, nullptr); + return IBuddyDocumentFinderPrivate::finders().value(mimeType, nullptr); } } diff --git a/language/assistant/staticassistantsmanager.h b/language/assistant/staticassistantsmanager.h --- a/language/assistant/staticassistantsmanager.h +++ b/language/assistant/staticassistantsmanager.h @@ -41,6 +41,7 @@ class IDocument; class DUContext; class TopDUContext; +class StaticAssistantsManagerPrivate; /** * @brief Class managing instances of StaticAssistant @@ -68,8 +69,7 @@ void problemsChanged(const IndexedString& url); private: - struct Private; - QScopedPointer const d; + QScopedPointer const d; }; } diff --git a/language/assistant/staticassistantsmanager.cpp b/language/assistant/staticassistantsmanager.cpp --- a/language/assistant/staticassistantsmanager.cpp +++ b/language/assistant/staticassistantsmanager.cpp @@ -39,9 +39,10 @@ using namespace KDevelop; using namespace KTextEditor; -struct StaticAssistantsManager::Private +class KDevelop::StaticAssistantsManagerPrivate { - explicit Private(StaticAssistantsManager* qq) +public: + explicit StaticAssistantsManagerPrivate(StaticAssistantsManager* qq) : q(qq) { } @@ -57,7 +58,7 @@ StaticAssistantsManager::StaticAssistantsManager(QObject* parent) : QObject(parent) - , d(new Private(this)) + , d(new StaticAssistantsManagerPrivate(this)) { connect(KDevelop::ICore::self()->documentController(), &IDocumentController::documentLoaded, @@ -92,22 +93,22 @@ return d->m_registeredAssistants; } -void StaticAssistantsManager::Private::documentLoaded(IDocument* document) +void StaticAssistantsManagerPrivate::documentLoaded(IDocument* document) { if (document->textDocument()) { auto doc = document->textDocument(); - connect(doc, &KTextEditor::Document::textInserted, q, + QObject::connect(doc, &KTextEditor::Document::textInserted, q, [&] (KTextEditor::Document* doc, const Cursor& cursor, const QString& text) { textInserted(doc, cursor, text); }); - connect(doc, &KTextEditor::Document::textRemoved, q, + QObject::connect(doc, &KTextEditor::Document::textRemoved, q, [&] (KTextEditor::Document* doc, const Range& range, const QString& removedText) { textRemoved(doc, range, removedText); }); } } -void StaticAssistantsManager::Private::textInserted(Document* doc, const Cursor& cursor, const QString& text) +void StaticAssistantsManagerPrivate::textInserted(Document* doc, const Cursor& cursor, const QString& text) { auto changed = false; Q_FOREACH ( auto assistant, m_registeredAssistants ) { @@ -123,7 +124,7 @@ } } -void StaticAssistantsManager::Private::textRemoved(Document* doc, const Range& range, +void StaticAssistantsManagerPrivate::textRemoved(Document* doc, const Range& range, const QString& removedText) { auto changed = false; diff --git a/language/duchain/duchaindumper.h b/language/duchain/duchaindumper.h --- a/language/duchain/duchaindumper.h +++ b/language/duchain/duchaindumper.h @@ -33,7 +33,7 @@ namespace KDevelop { class DUContext; - +class DUChainDumperPrivate; /** * @brief Debugging utility function to dump a DUContext including contained declarations. @@ -64,8 +64,7 @@ void dump(DUContext* context, int allowedDepth, QTextStream& out); private: - struct Private; - QScopedPointer d; + QScopedPointer d; }; } diff --git a/language/duchain/duchaindumper.cpp b/language/duchain/duchaindumper.cpp --- a/language/duchain/duchaindumper.cpp +++ b/language/duchain/duchaindumper.cpp @@ -62,22 +62,23 @@ } -struct DUChainDumper::Private +class KDevelop::DUChainDumperPrivate { - Private() +public: + DUChainDumperPrivate() : m_indent(0) {} void dumpProblems(TopDUContext* top, QTextStream& out); void dump(DUContext* context, int allowedDepth, bool isFromImport, QTextStream& out); int m_indent; - Features m_features; + DUChainDumper::Features m_features; QSet m_visitedContexts; }; DUChainDumper::DUChainDumper(Features features) - : d(new Private) + : d(new DUChainDumperPrivate) { d->m_features = features; } @@ -102,7 +103,7 @@ int m_level; }; -void DUChainDumper::Private::dumpProblems(TopDUContext* top, QTextStream& out) +void DUChainDumperPrivate::dumpProblems(TopDUContext* top, QTextStream& out) { QDebug qout = fromTextStream(out); @@ -115,7 +116,7 @@ } } -void DUChainDumper::Private::dump(DUContext * context, int allowedDepth, bool isFromImport, QTextStream& out) +void DUChainDumperPrivate::dump(DUContext* context, int allowedDepth, bool isFromImport, QTextStream& out) { QDebug qout = fromTextStream(out); diff --git a/project/abstractfilemanagerplugin.h b/project/abstractfilemanagerplugin.h --- a/project/abstractfilemanagerplugin.h +++ b/project/abstractfilemanagerplugin.h @@ -33,6 +33,8 @@ namespace KDevelop { +class AbstractFileManagerPluginPrivate; + /** * This class can be used as a common base for file managers. * @@ -102,9 +104,8 @@ KDirWatch* projectWatcher( IProject* project ) const; private: - struct Private; -// friend class Private; - Private* const d; + friend class AbstractFileManagerPluginPrivate; + AbstractFileManagerPluginPrivate* const d; Q_SIGNALS: void reloadedFileItem(KDevelop::ProjectFileItem* file); diff --git a/project/abstractfilemanagerplugin.cpp b/project/abstractfilemanagerplugin.cpp --- a/project/abstractfilemanagerplugin.cpp +++ b/project/abstractfilemanagerplugin.cpp @@ -66,8 +66,10 @@ //BEGIN Private -struct AbstractFileManagerPlugin::Private { - explicit Private(AbstractFileManagerPlugin* qq) +class KDevelop::AbstractFileManagerPluginPrivate +{ +public: + explicit AbstractFileManagerPluginPrivate(AbstractFileManagerPlugin* qq) : q(qq) { } @@ -104,7 +106,7 @@ ProjectFilterManager m_filters; }; -void AbstractFileManagerPlugin::Private::projectClosing(IProject* project) +void AbstractFileManagerPluginPrivate::projectClosing(IProject* project) { if ( m_projectJobs.contains(project) ) { // make sure the import job does not live longer than the project @@ -119,7 +121,7 @@ m_filters.remove(project); } -KIO::Job* AbstractFileManagerPlugin::Private::eventuallyReadFolder( ProjectFolderItem* item ) +KIO::Job* AbstractFileManagerPluginPrivate::eventuallyReadFolder(ProjectFolderItem* item) { FileManagerListJob* listJob = new FileManagerListJob( item ); m_projectJobs[ item->project() ] << listJob; @@ -135,7 +137,7 @@ return listJob; } -void AbstractFileManagerPlugin::Private::jobFinished(KJob* job) +void AbstractFileManagerPluginPrivate::jobFinished(KJob* job) { FileManagerListJob* gmlJob = qobject_cast(job); if (gmlJob) { @@ -152,7 +154,7 @@ } } -void AbstractFileManagerPlugin::Private::addJobItems(FileManagerListJob* job, +void AbstractFileManagerPluginPrivate::addJobItems(FileManagerListJob* job, ProjectFolderItem* baseItem, const KIO::UDSEntryList& entries) { @@ -245,7 +247,7 @@ } } -void AbstractFileManagerPlugin::Private::created(const QString &path_) +void AbstractFileManagerPluginPrivate::created(const QString& path_) { qCDebug(FILEMANAGER) << "created:" << path_; QFileInfo info(path_); @@ -301,7 +303,7 @@ } } -void AbstractFileManagerPlugin::Private::deleted(const QString &path_) +void AbstractFileManagerPluginPrivate::deleted(const QString& path_) { if ( QFile::exists(path_) ) { // stopDirScan... @@ -346,7 +348,7 @@ } } -bool AbstractFileManagerPlugin::Private::rename(ProjectBaseItem* item, const Path& newPath) +bool AbstractFileManagerPluginPrivate::rename(ProjectBaseItem* item, const Path& newPath) { if ( !q->isValid(newPath, true, item->project()) ) { int cancel = KMessageBox::warningContinueCancel( qApp->activeWindow(), @@ -381,7 +383,7 @@ return false; } -void AbstractFileManagerPlugin::Private::stopWatcher(ProjectFolderItem* folder) +void AbstractFileManagerPluginPrivate::stopWatcher(ProjectFolderItem* folder) { if ( !folder->path().isLocalFile() ) { return; @@ -392,7 +394,7 @@ m_stoppedFolders.append(path); } -void AbstractFileManagerPlugin::Private::continueWatcher(ProjectFolderItem* folder) +void AbstractFileManagerPluginPrivate::continueWatcher(ProjectFolderItem* folder) { if ( !folder->path().isLocalFile() ) { return; @@ -417,7 +419,7 @@ return false; } -void AbstractFileManagerPlugin::Private::removeFolder(ProjectFolderItem* folder) +void AbstractFileManagerPluginPrivate::removeFolder(ProjectFolderItem* folder) { ifDebug(qCDebug(FILEMANAGER) << "removing folder:" << folder << folder->path();) foreach(FileManagerListJob* job, m_projectJobs[folder->project()]) { @@ -441,7 +443,7 @@ const QVariantList & /*args*/ ) : IProjectFileManager(), IPlugin( componentName, parent ), - d(new Private(this)) + d(new AbstractFileManagerPluginPrivate(this)) { connect(core()->projectController(), &IProjectController::projectClosing, this, [&] (IProject* project) { d->projectClosing(project); }); diff --git a/project/projectfiltermanager.h b/project/projectfiltermanager.h --- a/project/projectfiltermanager.h +++ b/project/projectfiltermanager.h @@ -35,6 +35,7 @@ class IPlugin; class IProject; class Path; +class ProjectFilterManagerPrivate; /** * @short A helper class to manage project filtering in file managers. @@ -87,8 +88,7 @@ QVector > filtersForProject(IProject* project) const; private: - struct Private; - QScopedPointer d; + QScopedPointer d; Q_PRIVATE_SLOT(d, void filterChanged( KDevelop::IProjectFilterProvider*, KDevelop::IProject* ) ) }; diff --git a/project/projectfiltermanager.cpp b/project/projectfiltermanager.cpp --- a/project/projectfiltermanager.cpp +++ b/project/projectfiltermanager.cpp @@ -52,8 +52,9 @@ //END helper //BEGIN private -struct ProjectFilterManager::Private +class KDevelop::ProjectFilterManagerPrivate { +public: void pluginLoaded(IPlugin* plugin); void unloadingPlugin(IPlugin* plugin); void filterChanged(IProjectFilterProvider* provider, IProject* project); @@ -64,7 +65,7 @@ ProjectFilterManager* q; }; -void ProjectFilterManager::Private::pluginLoaded(IPlugin* plugin) +void ProjectFilterManagerPrivate::pluginLoaded(IPlugin* plugin) { IProjectFilterProvider* filterProvider = plugin->extension(); if (filterProvider) { @@ -83,7 +84,7 @@ } } -void ProjectFilterManager::Private::unloadingPlugin(IPlugin* plugin) +void ProjectFilterManagerPrivate::unloadingPlugin(IPlugin* plugin) { IProjectFilterProvider* filterProvider = plugin->extension(); if (filterProvider) { @@ -106,7 +107,7 @@ } } -void ProjectFilterManager::Private::filterChanged(IProjectFilterProvider* provider, IProject* project) +void ProjectFilterManagerPrivate::filterChanged(IProjectFilterProvider* provider, IProject* project) { if (!m_filters.contains(project)) { return; @@ -130,7 +131,7 @@ //BEGIN ProjectFilterManager::ProjectFilterManager(QObject* parent) : QObject(parent) - , d(new ProjectFilterManager::Private) + , d(new ProjectFilterManagerPrivate) { d->q = this; diff --git a/shell/runcontroller.h b/shell/runcontroller.h --- a/shell/runcontroller.h +++ b/shell/runcontroller.h @@ -41,6 +41,7 @@ class IProject; class LaunchConfiguration; class LaunchConfigurationType; +class RunControllerPrivate; class KDEVPLATFORMSHELL_EXPORT RunController : public IRunController { @@ -146,7 +147,6 @@ void checkState(); void removeLaunchConfigurationInternal( LaunchConfiguration* l ); - class RunControllerPrivate; RunControllerPrivate* const d; }; diff --git a/shell/runcontroller.cpp b/shell/runcontroller.cpp --- a/shell/runcontroller.cpp +++ b/shell/runcontroller.cpp @@ -119,7 +119,7 @@ QString name() const override { return i18n("Execute"); } }; -class RunController::RunControllerPrivate +class KDevelop::RunControllerPrivate { public: QItemDelegate* delegate; diff --git a/util/projecttestjob.h b/util/projecttestjob.h --- a/util/projecttestjob.h +++ b/util/projecttestjob.h @@ -29,6 +29,7 @@ namespace KDevelop { class IProject; +class ProjectTestJobPrivate; /** * A combined result of a project test job @@ -107,8 +108,8 @@ bool doKill() override; private: - struct Private; - QScopedPointer d; + friend class ProjectTestJobPrivate; + QScopedPointer d; }; } diff --git a/util/projecttestjob.cpp b/util/projecttestjob.cpp --- a/util/projecttestjob.cpp +++ b/util/projecttestjob.cpp @@ -28,9 +28,10 @@ using namespace KDevelop; -struct ProjectTestJob::Private +class KDevelop::ProjectTestJobPrivate { - explicit Private(ProjectTestJob* q) +public: + explicit ProjectTestJobPrivate(ProjectTestJob* q) : q(q) , m_currentJob(nullptr) , m_currentSuite(nullptr) @@ -47,14 +48,14 @@ ProjectTestResult m_result; }; -void ProjectTestJob::Private::runNext() +void ProjectTestJobPrivate::runNext() { m_currentSuite = m_suites.takeFirst(); m_currentJob = m_currentSuite->launchAllCases(ITestSuite::Silent); m_currentJob->start(); } -void ProjectTestJob::Private::gotResult(ITestSuite* suite, const TestResult& result) +void ProjectTestJobPrivate::gotResult(ITestSuite* suite, const TestResult& result) { if (suite == m_currentSuite) { m_result.total++; @@ -88,7 +89,7 @@ ProjectTestJob::ProjectTestJob(IProject* project, QObject* parent) : KJob(parent) - , d(new Private(this)) + , d(new ProjectTestJobPrivate(this)) { setCapabilities(Killable); setObjectName(i18n("Run all tests in %1", project->name())); diff --git a/vcs/vcspluginhelper.h b/vcs/vcspluginhelper.h --- a/vcs/vcspluginhelper.h +++ b/vcs/vcspluginhelper.h @@ -33,6 +33,7 @@ class IPlugin; class IBasicVersionControl; class Context; +class VcsPluginHelperPrivate; class KDEVPLATFORMVCS_EXPORT VcsPluginHelper : public QObject @@ -77,7 +78,6 @@ private: void diffForRev(const QUrl& url); - struct VcsPluginHelperPrivate; QScopedPointer d; }; diff --git a/vcs/vcspluginhelper.cpp b/vcs/vcspluginhelper.cpp --- a/vcs/vcspluginhelper.cpp +++ b/vcs/vcspluginhelper.cpp @@ -59,7 +59,9 @@ namespace KDevelop { -struct VcsPluginHelper::VcsPluginHelperPrivate { +class VcsPluginHelperPrivate +{ +public: IPlugin * plugin; IBasicVersionControl * vcs; @@ -89,17 +91,17 @@ pushAction = new QAction(QIcon::fromTheme(QStringLiteral("arrow-up-double")), i18n("Push"), parent); pullAction = new QAction(QIcon::fromTheme(QStringLiteral("arrow-down-double")), i18n("Pull"), parent); - connect(commitAction, &QAction::triggered, parent, &VcsPluginHelper::commit); - connect(addAction, &QAction::triggered, parent, &VcsPluginHelper::add); - connect(updateAction, &QAction::triggered, parent, &VcsPluginHelper::update); - connect(diffToBaseAction, &QAction::triggered, parent, &VcsPluginHelper::diffToBase); - connect(revertAction, &QAction::triggered, parent, &VcsPluginHelper::revert); - connect(historyAction, &QAction::triggered, parent, [=] { parent->history(); }); - connect(annotationAction, &QAction::triggered, parent, &VcsPluginHelper::annotation); - connect(diffForRevAction, &QAction::triggered, parent, static_cast(&VcsPluginHelper::diffForRev)); - connect(diffForRevGlobalAction, &QAction::triggered, parent, &VcsPluginHelper::diffForRevGlobal); - connect(pullAction, &QAction::triggered, parent, &VcsPluginHelper::pull); - connect(pushAction, &QAction::triggered, parent, &VcsPluginHelper::push); + QObject::connect(commitAction, &QAction::triggered, parent, &VcsPluginHelper::commit); + QObject::connect(addAction, &QAction::triggered, parent, &VcsPluginHelper::add); + QObject::connect(updateAction, &QAction::triggered, parent, &VcsPluginHelper::update); + QObject::connect(diffToBaseAction, &QAction::triggered, parent, &VcsPluginHelper::diffToBase); + QObject::connect(revertAction, &QAction::triggered, parent, &VcsPluginHelper::revert); + QObject::connect(historyAction, &QAction::triggered, parent, [=] { parent->history(); }); + QObject::connect(annotationAction, &QAction::triggered, parent, &VcsPluginHelper::annotation); + QObject::connect(diffForRevAction, &QAction::triggered, parent, static_cast(&VcsPluginHelper::diffForRev)); + QObject::connect(diffForRevGlobalAction, &QAction::triggered, parent, &VcsPluginHelper::diffForRevGlobal); + QObject::connect(pullAction, &QAction::triggered, parent, &VcsPluginHelper::pull); + QObject::connect(pushAction, &QAction::triggered, parent, &VcsPluginHelper::push); } bool allLocalFiles(const QList& urls)