forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.1'
Change-Id: Ie96fa53a88bcd06fa688a579c1d84aaf6f5e905f
This commit is contained in:
@@ -77,9 +77,16 @@ void BaseEditorDocumentParser::setConfiguration(const Configuration &configurati
|
||||
}
|
||||
|
||||
void BaseEditorDocumentParser::update(const WorkingCopy &workingCopy)
|
||||
{
|
||||
QFutureInterface<void> dummy;
|
||||
update(dummy, workingCopy);
|
||||
}
|
||||
|
||||
void BaseEditorDocumentParser::update(const QFutureInterface<void> &future,
|
||||
const WorkingCopy &workingCopy)
|
||||
{
|
||||
QMutexLocker locker(&m_updateIsRunning);
|
||||
updateHelper(workingCopy);
|
||||
updateHelper(future, workingCopy);
|
||||
}
|
||||
|
||||
BaseEditorDocumentParser::State BaseEditorDocumentParser::state() const
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cppworkingcopy.h"
|
||||
#include "projectpart.h"
|
||||
|
||||
#include <QFutureInterface>
|
||||
#include <QObject>
|
||||
#include <QMutex>
|
||||
|
||||
@@ -39,7 +40,7 @@ class CPPTOOLS_EXPORT BaseEditorDocumentParser : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
using Ptr = QSharedPointer<BaseEditorDocumentParser>;;
|
||||
using Ptr = QSharedPointer<BaseEditorDocumentParser>;
|
||||
static Ptr get(const QString &filePath);
|
||||
|
||||
struct Configuration {
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
void setConfiguration(const Configuration &configuration);
|
||||
|
||||
void update(const WorkingCopy &workingCopy);
|
||||
void update(const QFutureInterface<void> &future, const WorkingCopy &workingCopy);
|
||||
|
||||
ProjectPart::Ptr projectPart() const;
|
||||
|
||||
@@ -76,7 +78,8 @@ protected:
|
||||
mutable QMutex m_stateAndConfigurationMutex;
|
||||
|
||||
private:
|
||||
virtual void updateHelper(const WorkingCopy &workingCopy) = 0;
|
||||
virtual void updateHelper(const QFutureInterface<void> &future,
|
||||
const WorkingCopy &workingCopy) = 0;
|
||||
|
||||
const QString m_filePath;
|
||||
Configuration m_configuration;
|
||||
|
||||
@@ -63,7 +63,7 @@ bool BaseEditorDocumentProcessor::hasDiagnosticsAt(uint, uint) const
|
||||
return false;
|
||||
}
|
||||
|
||||
void BaseEditorDocumentProcessor::showDiagnosticTooltip(const QPoint &, QWidget *, uint, uint) const
|
||||
void BaseEditorDocumentProcessor::addDiagnosticToolTipToLayout(uint, uint, QLayout *) const
|
||||
{
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ void BaseEditorDocumentProcessor::runParser(QFutureInterface<void> &future,
|
||||
return;
|
||||
}
|
||||
|
||||
parser->update(workingCopy);
|
||||
parser->update(future, workingCopy);
|
||||
CppToolsBridge::finishedRefreshingSourceFiles({parser->filePath()});
|
||||
|
||||
future.setProgressValue(1);
|
||||
|
||||
@@ -65,10 +65,7 @@ public:
|
||||
extraRefactoringOperations(const TextEditor::AssistInterface &assistInterface);
|
||||
|
||||
virtual bool hasDiagnosticsAt(uint line, uint column) const;
|
||||
virtual void showDiagnosticTooltip(const QPoint &point,
|
||||
QWidget *parent,
|
||||
uint line,
|
||||
uint column) const;
|
||||
virtual void addDiagnosticToolTipToLayout(uint line, uint column, QLayout *layout) const;
|
||||
|
||||
signals:
|
||||
// Signal interface to implement
|
||||
|
||||
@@ -55,7 +55,8 @@ BuiltinEditorDocumentParser::BuiltinEditorDocumentParser(const QString &filePath
|
||||
qRegisterMetaType<CPlusPlus::Snapshot>("CPlusPlus::Snapshot");
|
||||
}
|
||||
|
||||
void BuiltinEditorDocumentParser::updateHelper(const WorkingCopy &theWorkingCopy)
|
||||
void BuiltinEditorDocumentParser::updateHelper(const QFutureInterface<void> &future,
|
||||
const WorkingCopy &theWorkingCopy)
|
||||
{
|
||||
if (filePath().isEmpty())
|
||||
return;
|
||||
@@ -181,6 +182,10 @@ void BuiltinEditorDocumentParser::updateHelper(const WorkingCopy &theWorkingCopy
|
||||
if (releaseSourceAndAST_)
|
||||
doc->releaseSourceAndAST();
|
||||
});
|
||||
sourceProcessor.setCancelChecker([future]() {
|
||||
return future.isCanceled();
|
||||
});
|
||||
|
||||
Snapshot globalSnapshot = modelManager->snapshot();
|
||||
globalSnapshot.remove(filePath());
|
||||
sourceProcessor.setGlobalSnapshot(globalSnapshot);
|
||||
|
||||
@@ -58,7 +58,8 @@ public:
|
||||
static Ptr get(const QString &filePath);
|
||||
|
||||
private:
|
||||
void updateHelper(const WorkingCopy &workingCopy) override;
|
||||
void updateHelper(const QFutureInterface<void> &future,
|
||||
const WorkingCopy &workingCopy) override;
|
||||
void addFileAndDependencies(CPlusPlus::Snapshot *snapshot,
|
||||
QSet<Utils::FileName> *toRemove,
|
||||
const Utils::FileName &fileName) const;
|
||||
|
||||
@@ -40,7 +40,7 @@ using namespace CPlusPlus;
|
||||
|
||||
namespace CppTools {
|
||||
|
||||
CppCompletionAssistProcessor::CppCompletionAssistProcessor()
|
||||
CppCompletionAssistProcessor::CppCompletionAssistProcessor(int snippetItemOrder)
|
||||
: m_positionForProposal(-1)
|
||||
, m_preprocessorCompletions(QStringList()
|
||||
<< QLatin1String("define")
|
||||
@@ -72,7 +72,8 @@ CppCompletionAssistProcessor::CppCompletionAssistProcessor()
|
||||
<< QLatin1String("endif"))
|
||||
, m_hintProposal(0)
|
||||
, m_snippetCollector(QLatin1String(CppEditor::Constants::CPP_SNIPPETS_GROUP_ID),
|
||||
QIcon(QLatin1String(":/texteditor/images/snippet.png")))
|
||||
QIcon(QLatin1String(":/texteditor/images/snippet.png")),
|
||||
snippetItemOrder)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace CppTools {
|
||||
class CPPTOOLS_EXPORT CppCompletionAssistProcessor : public TextEditor::IAssistProcessor
|
||||
{
|
||||
public:
|
||||
CppCompletionAssistProcessor();
|
||||
CppCompletionAssistProcessor(int snippetItemOrder = 0);
|
||||
|
||||
protected:
|
||||
void addSnippets();
|
||||
|
||||
@@ -121,6 +121,11 @@ CppSourceProcessor::CppSourceProcessor(const Snapshot &snapshot, DocumentCallbac
|
||||
CppSourceProcessor::~CppSourceProcessor()
|
||||
{ }
|
||||
|
||||
void CppSourceProcessor::setCancelChecker(const CppSourceProcessor::CancelChecker &cancelChecker)
|
||||
{
|
||||
m_preprocess.setCancelChecker(cancelChecker);
|
||||
}
|
||||
|
||||
void CppSourceProcessor::setWorkingCopy(const WorkingCopy &workingCopy)
|
||||
{ m_workingCopy = workingCopy; }
|
||||
|
||||
|
||||
@@ -59,6 +59,9 @@ public:
|
||||
CppSourceProcessor(const CPlusPlus::Snapshot &snapshot, DocumentCallback documentFinished);
|
||||
~CppSourceProcessor();
|
||||
|
||||
using CancelChecker = std::function<bool()>;
|
||||
void setCancelChecker(const CancelChecker &cancelChecker);
|
||||
|
||||
void setWorkingCopy(const CppTools::WorkingCopy &workingCopy);
|
||||
void setHeaderPaths(const ProjectPartHeaderPaths &headerPaths);
|
||||
void setLanguageFeatures(CPlusPlus::LanguageFeatures languageFeatures);
|
||||
|
||||
Reference in New Issue
Block a user