Use 1-based locations.

This commit is contained in:
Roberto Raggi
2010-07-29 14:59:38 +02:00
parent 2b53ca3218
commit d3761d10e2
3 changed files with 22 additions and 18 deletions

View File

@@ -93,9 +93,10 @@ public:
Document::Ptr targetDoc = changes->document(m_targetFileName);
InsertionPointLocator locator(targetDoc);
const InsertionLocation loc = locator.methodDeclarationInClass(m_targetSymbol, InsertionPointLocator::Public);
Q_ASSERT(loc.isValid());
int targetPosition1 = changes->positionInFile(m_targetFileName, loc.line() - 1, loc.column() - 1);
int targetPosition2 = changes->positionInFile(m_targetFileName, loc.line(), 0) - 1;
int targetPosition1 = changes->positionInFile(m_targetFileName, loc.line(), loc.column());
int targetPosition2 = qMax(0, changes->positionInFile(m_targetFileName, loc.line(), 1) - 1);
Utils::ChangeSet target;
target.insert(targetPosition1, loc.prefix() + m_decl);
@@ -104,7 +105,7 @@ public:
changes->reindent(m_targetFileName,
Utils::ChangeSet::Range(targetPosition1, targetPosition2));
changes->openEditor(m_targetFileName, loc.line() - 1, loc.column() - 1);
changes->openEditor(m_targetFileName, loc.line(), loc.column());
}
private: