diff --git a/src/lib/CxxProject.cpp b/src/lib/CxxProject.cpp index de15a302..9100e280 100644 --- a/src/lib/CxxProject.cpp +++ b/src/lib/CxxProject.cpp @@ -32,7 +32,7 @@ CxxProject::CxxProject( { } -bool CxxProject::allowsRefresh() +bool CxxProject::prepareRefresh() { FilePath cdbPath = m_projectSettings->getCompilationDatabasePath(); if (!cdbPath.empty() && !cdbPath.exists()) diff --git a/src/lib/CxxProject.h b/src/lib/CxxProject.h index ac3a9779..7ba687c0 100644 --- a/src/lib/CxxProject.h +++ b/src/lib/CxxProject.h @@ -23,7 +23,7 @@ private: ); CxxProject(const CxxProject&); - virtual bool allowsRefresh(); + virtual bool prepareRefresh(); virtual std::shared_ptr createIndexerTask( PersistentStorage* storage, diff --git a/src/lib/JavaProject.cpp b/src/lib/JavaProject.cpp index 4af42d16..da25bfc4 100644 --- a/src/lib/JavaProject.cpp +++ b/src/lib/JavaProject.cpp @@ -25,6 +25,10 @@ JavaProject::JavaProject( ) : Project(storageAccessProxy, dialogView) , m_projectSettings(projectSettings) +{ +} + +bool JavaProject::prepareIndexing() { if (!JavaEnvironmentFactory::getInstance() && !isTrial()) { @@ -47,7 +51,10 @@ JavaProject::JavaProject( if (!JavaEnvironmentFactory::getInstance() && !isTrial()) { Application::getInstance()->handleDialog("Coati was unable to locate Java on this machine.\nPlease make sure to provide the correct path in your preferences."); + return false; } + + return true; } std::shared_ptr JavaProject::createIndexerTask( diff --git a/src/lib/JavaProject.h b/src/lib/JavaProject.h index 3eb68b13..3577d26c 100644 --- a/src/lib/JavaProject.h +++ b/src/lib/JavaProject.h @@ -23,6 +23,8 @@ private: ); JavaProject(const JavaProject&); + virtual bool prepareIndexing(); + virtual std::shared_ptr createIndexerTask( PersistentStorage* storage, std::shared_ptr storageMutex, diff --git a/src/lib/Project.cpp b/src/lib/Project.cpp index de628dab..36cb4a8c 100644 --- a/src/lib/Project.cpp +++ b/src/lib/Project.cpp @@ -121,7 +121,7 @@ bool Project::refresh(bool forceRefresh) } } - if (!allowsRefresh()) + if (!prepareRefresh()) { return false; } @@ -245,6 +245,11 @@ void Project::load() bool Project::buildIndex(bool forceRefresh) { + if (!prepareIndexing()) + { + return false; + } + m_fileManager.fetchFilePaths( forceRefresh ? std::vector() : m_storage->getInfoOnAllFiles() ); @@ -325,7 +330,12 @@ bool Project::buildIndex(bool forceRefresh) return true; } -bool Project::allowsRefresh() +bool Project::prepareIndexing() +{ + return true; +} + +bool Project::prepareRefresh() { return true; } diff --git a/src/lib/Project.h b/src/lib/Project.h index cbb49d76..1bb908b3 100644 --- a/src/lib/Project.h +++ b/src/lib/Project.h @@ -58,7 +58,8 @@ private: void load(); bool buildIndex(bool forceRefresh); - virtual bool allowsRefresh(); + virtual bool prepareIndexing(); + virtual bool prepareRefresh(); virtual std::shared_ptr createIndexerTask( PersistentStorage* storage, std::shared_ptr storageMutex,