diff --git a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.h b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.h --- a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.h +++ b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.h @@ -33,7 +33,6 @@ Q_INTERFACES( KDevelop::IProjectBuilder ) public: KDevNinjaBuilderPlugin(QObject* parent = 0, const QVariantList& args = QVariantList()); - bool hasError() const override; KJob* build(KDevelop::ProjectBaseItem* item) override; KJob* clean(KDevelop::ProjectBaseItem* item) override; diff --git a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp --- a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp +++ b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp @@ -38,13 +38,9 @@ : KDevelop::IPlugin("kdevninja", parent) { KDEV_USE_EXTENSION_INTERFACE( KDevelop::IProjectBuilder ) - if(hasError()) - qWarning() << "Ninja plugin installed but ninja is not installed."; -} - -bool KDevNinjaBuilderPlugin::hasError() const -{ - return NinjaJob::ninjaBinary().isEmpty(); + if(NinjaJob::ninjaBinary().isEmpty()) { + setErrorDescription(i18n("Unable to find ninja executable. Is it installed on the system?")); + } } static QStringList targetsInFolder(KDevelop::ProjectFolderItem* item) diff --git a/projectmanagers/cmake/cmakedocumentation.h b/projectmanagers/cmake/cmakedocumentation.h --- a/projectmanagers/cmake/cmakedocumentation.h +++ b/projectmanagers/cmake/cmakedocumentation.h @@ -41,9 +41,6 @@ public: explicit CMakeDocumentation( QObject* parent = 0, const QVariantList& args = QVariantList() ); - bool hasError() const override; - QString errorDescription() const override; - KDevelop::IDocumentation::Ptr description(const QString& identifier, const QUrl &file) const override; KDevelop::IDocumentation::Ptr documentationForDeclaration(KDevelop::Declaration* declaration) const override; diff --git a/projectmanagers/cmake/cmakedocumentation.cpp b/projectmanagers/cmake/cmakedocumentation.cpp --- a/projectmanagers/cmake/cmakedocumentation.cpp +++ b/projectmanagers/cmake/cmakedocumentation.cpp @@ -55,6 +55,7 @@ KDEV_USE_EXTENSION_INTERFACE( ICMakeDocumentation ) if (mCMakeCmd.isEmpty()) { + setErrorDescription(i18n("Unable to find cmake executable. Is it installed on the system?") ); return; } @@ -63,16 +64,6 @@ initializeModel(); } -bool CMakeDocumentation::hasError() const -{ - return mCMakeCmd.isEmpty(); -} - -QString CMakeDocumentation::errorDescription() const -{ - return mCMakeCmd.isEmpty() ? i18n("cmake is not installed") : QString(); -} - static const char* args[] = { "--help-command", "--help-variable", "--help-module", "--help-property", 0, 0 }; void CMakeDocumentation::delayedInitialization() diff --git a/projectmanagers/cmake/cmakemanager.h b/projectmanagers/cmake/cmakemanager.h --- a/projectmanagers/cmake/cmakemanager.h +++ b/projectmanagers/cmake/cmakemanager.h @@ -81,9 +81,6 @@ ~CMakeManager() override; - bool hasError() const override; - QString errorDescription() const override; - Features features() const override { return Features(Folders | Targets | Files ); } KDevelop::IProjectBuilder* builder() const override; bool hasBuildInfo(KDevelop::ProjectBaseItem*) const override; diff --git a/projectmanagers/cmake/cmakemanager.cpp b/projectmanagers/cmake/cmakemanager.cpp --- a/projectmanagers/cmake/cmakemanager.cpp +++ b/projectmanagers/cmake/cmakemanager.cpp @@ -89,7 +89,8 @@ KDEV_USE_EXTENSION_INTERFACE( KDevelop::ILanguageSupport ) KDEV_USE_EXTENSION_INTERFACE( ICMakeManager) - if (hasError()) { + if (CMake::findExecutable().isEmpty()) { + setErrorDescription(i18n("Unable to find cmake executable. Is it installed on the system?")); m_highlight = nullptr; return; } @@ -107,16 +108,6 @@ // connect(m_fileSystemChangeTimer,SIGNAL(timeout()),SLOT(filesystemBuffererTimeout())); } -bool CMakeManager::hasError() const -{ - return CMake::findExecutable().isEmpty(); -} - -QString CMakeManager::errorDescription() const -{ - return hasError() ? i18n("cmake is not installed") : QString(); -} - CMakeManager::~CMakeManager() { parseLock()->lockForWrite();