Skip to content
Snippets Groups Projects
Commit fd17d2f9 authored by Christian Kamm's avatar Christian Kamm
Browse files

QuickFixOperation: don't pass the text cursor in constructor and apply


Instead, reintroduce setTextCursor and let CPPQuickFixCollector
call it just before invoking apply.

Reviewed-by: default avatarRoberto Raggi <roberto.raggi@nokia.com>
parent dd1eaec0
No related branches found
No related tags found
No related merge requests found
...@@ -96,9 +96,8 @@ protected: ...@@ -96,9 +96,8 @@ protected:
class HelloQuickFixOp: public QuickFixOperation class HelloQuickFixOp: public QuickFixOperation
{ {
public: public:
HelloQuickFixOp(Document::Ptr doc, const Snapshot &snapshot, HelloQuickFixOp(Document::Ptr doc, const Snapshot &snapshot)
const QTextCursor &textCursor) : QuickFixOperation(doc, snapshot)
: QuickFixOperation(doc, snapshot, textCursor)
{} {}
virtual QString description() const virtual QString description() const
...@@ -106,7 +105,7 @@ public: ...@@ -106,7 +105,7 @@ public:
return QLatin1String("Hello"); // ### tr? return QLatin1String("Hello"); // ### tr?
} }
virtual void apply(QTextCursor) virtual void apply()
{ {
// nothing to do. // nothing to do.
} }
...@@ -116,9 +115,8 @@ public: ...@@ -116,9 +115,8 @@ public:
QuickFixOperation::QuickFixOperation(CPlusPlus::Document::Ptr doc, QuickFixOperation::QuickFixOperation(CPlusPlus::Document::Ptr doc,
const CPlusPlus::Snapshot &snapshot, const CPlusPlus::Snapshot &snapshot)
const QTextCursor &textCursor) : _doc(doc), _snapshot(snapshot)
: _doc(doc), _snapshot(snapshot), _textCursor(textCursor)
{ } { }
QuickFixOperation::~QuickFixOperation() QuickFixOperation::~QuickFixOperation()
...@@ -127,6 +125,9 @@ QuickFixOperation::~QuickFixOperation() ...@@ -127,6 +125,9 @@ QuickFixOperation::~QuickFixOperation()
QTextCursor QuickFixOperation::textCursor() const QTextCursor QuickFixOperation::textCursor() const
{ return _textCursor; } { return _textCursor; }
void QuickFixOperation::setTextCursor(const QTextCursor &cursor)
{ _textCursor = cursor; }
QTextCursor QuickFixOperation::cursor(AST *ast) const QTextCursor QuickFixOperation::cursor(AST *ast) const
{ {
TranslationUnit *unit = document()->translationUnit(); TranslationUnit *unit = document()->translationUnit();
...@@ -245,7 +246,8 @@ void CPPQuickFixCollector::complete(const TextEditor::CompletionItem &item) ...@@ -245,7 +246,8 @@ void CPPQuickFixCollector::complete(const TextEditor::CompletionItem &item)
if (index < _quickFixes.size()) { if (index < _quickFixes.size()) {
QuickFixOperationPtr quickFix = _quickFixes.at(index); QuickFixOperationPtr quickFix = _quickFixes.at(index);
quickFix->apply(_editor->textCursor()); quickFix->setTextCursor(_editor->textCursor());
quickFix->apply();
} }
} }
......
...@@ -55,18 +55,18 @@ class QuickFixOperation ...@@ -55,18 +55,18 @@ class QuickFixOperation
public: public:
QuickFixOperation(CPlusPlus::Document::Ptr doc, QuickFixOperation(CPlusPlus::Document::Ptr doc,
const CPlusPlus::Snapshot &snapshot, const CPlusPlus::Snapshot &snapshot);
const QTextCursor &textCursor);
virtual ~QuickFixOperation(); virtual ~QuickFixOperation();
virtual QString description() const = 0; virtual QString description() const = 0;
virtual void apply(QTextCursor tc) = 0; virtual void apply() = 0;
CPlusPlus::Document::Ptr document() const { return _doc; } CPlusPlus::Document::Ptr document() const { return _doc; }
CPlusPlus::Snapshot snapshot() const { return _snapshot; } CPlusPlus::Snapshot snapshot() const { return _snapshot; }
QTextCursor textCursor() const; QTextCursor textCursor() const;
void setTextCursor(const QTextCursor &cursor);
protected: protected:
const CPlusPlus::Token &tokenAt(unsigned index) const; const CPlusPlus::Token &tokenAt(unsigned index) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment