summaryrefslogtreecommitdiff
path: root/src/plugins/cppeditor/cppquickfixes.cpp
diff options
context:
space:
mode:
authorLorenz Haas <lykurg@gmail.com>2015-02-01 11:32:45 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-06-09 10:11:56 +0000
commit7879aa5fae37968173b0c29d06ea4bade85c358e (patch)
treea44eb7cc7b941acfaaf91db8ac496c53c57dc7d8 /src/plugins/cppeditor/cppquickfixes.cpp
parent03212d6e49429e2cb11d60e2a1d1176ab09c2848 (diff)
downloadqt-creator-7879aa5fae37968173b0c29d06ea4bade85c358e.tar.gz
CppEditor: Fix added newlines for GenerateGetterSetter quick fix
As a nice side effect superfluous new lines - introduced by quick fixes that are using InsertionPointLocator::methodDefinition - vanished. Task-number: QTCREATORBUG-13872 Change-Id: Ib3df2b2acbc22449f16f4444092a57ae93d53d35 Reviewed-by: Jochen Becher <jochen_becher@gmx.de> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/plugins/cppeditor/cppquickfixes.cpp')
-rw-r--r--src/plugins/cppeditor/cppquickfixes.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp
index 7d408ebf9a..98516a3aed 100644
--- a/src/plugins/cppeditor/cppquickfixes.cpp
+++ b/src/plugins/cppeditor/cppquickfixes.cpp
@@ -3046,26 +3046,30 @@ public:
const QString implementationGetterTypeAndNameString = oo.prettyType(
getterType, QString::fromLatin1("%1::%2").arg(classString, m_getterName));
const QString implementationGetter = QString::fromLatin1(
- "\n%1()%2\n"
+ "%1()%2\n"
"{\n"
"return %3;\n"
- "}\n")
+ "}")
.arg(implementationGetterTypeAndNameString)
.arg(isStatic ? QString() : QLatin1String(" const"))
.arg(m_variableString);
const QString implementationSetter = QString::fromLatin1(
- "\nvoid %1::%2(%3)\n"
+ "void %1::%2(%3)\n"
"{\n"
"%4 = %5;\n"
- "}\n")
+ "}")
.arg(classString).arg(m_setterName)
.arg(paramString).arg(m_variableString)
.arg(paramName);
+
QString implementation;
if (generateGetter())
implementation += implementationGetter;
- if (generateSetter())
+ if (generateSetter() && !fullySpecifiedType.isConst()) {
+ if (!implementation.isEmpty())
+ implementation += QLatin1String("\n\n");
implementation += implementationSetter;
+ }
// Create and apply changes
ChangeSet currChanges;
@@ -3076,6 +3080,7 @@ public:
if (sameFile) {
InsertionLocation loc = insertLocationForMethodDefinition(m_symbol, false, refactoring,
currentFile->fileName());
+ implementation = loc.prefix() + implementation + loc.suffix();
currChanges.insert(currentFile->position(loc.line(), loc.column()), implementation);
} else {
CppRefactoringChanges implRef(snapshot());
@@ -3083,6 +3088,7 @@ public:
ChangeSet implChanges;
InsertionLocation loc = insertLocationForMethodDefinition(m_symbol, false,
implRef, implFileName);
+ implementation = loc.prefix() + implementation + loc.suffix();
const int implInsertPos = implFile->position(loc.line(), loc.column());
implChanges.insert(implInsertPos, implementation);
implFile->setChangeSet(implChanges);