logic: Added indexing mode to reindex incomplete files (issue #493, #496)

* added radio buttons to start indexing dialog
* don't block task scheduler thread while start indexing dialog is visible
* don't force whole project refresh on settings change
* added help button to start indexing dialog explaining indexing modes
* disable unavailable modes when project needs full refresh
* improved label texts on indexing dialogs
* added --incomplete flag to index command of commandline API
* fixed deletion of window stack elements
This commit is contained in:
Eberhard Graether
2017-12-03 22:30:09 +01:00
parent faf9e7655f
commit f9e4afda77
33 changed files with 748 additions and 529 deletions
+3 -7
View File
@@ -7,8 +7,8 @@
#include "settings/LanguageType.h"
#include "settings/SourceGroupType.h"
#include "utility/file/FilePath.h"
class FilePath;
class IndexerCommand;
class SourceGroupSettings;
@@ -20,24 +20,20 @@ public:
virtual SourceGroupType getType() const = 0;
LanguageType getLanguage() const;
virtual bool prepareRefresh();
virtual bool prepareIndexing();
void fetchAllSourceFilePaths();
void fetchSourceFilePathsToIndex(const std::set<FilePath>& staticSourceFilePaths);
std::set<FilePath> getAllSourceFilePaths() const;
std::set<FilePath> getSourceFilePathsToIndex() const;
std::set<FilePath> getSourceFilePathsToIndex(const std::set<FilePath>& staticSourceFilePaths);
virtual std::vector<std::shared_ptr<IndexerCommand>> getIndexerCommands(
const std::set<FilePath>& filesToIndex, bool fullRefresh) = 0;
virtual std::vector<std::shared_ptr<IndexerCommand>> getIndexerCommands(const std::set<FilePath>& filesToIndex) = 0;
protected:
std::set<FilePath> getIndexedPaths();
std::set<FilePath> getExcludedPaths();
std::set<FilePath> m_allSourceFilePaths;
std::set<FilePath> m_sourceFilePathsToIndex;
private:
virtual std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() = 0;