summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolsreuse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cpptoolsreuse.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolsreuse.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cpptoolsreuse.cpp b/src/plugins/cpptools/cpptoolsreuse.cpp
index 4b7713cf7e..305e84aded 100644
--- a/src/plugins/cpptools/cpptoolsreuse.cpp
+++ b/src/plugins/cpptools/cpptoolsreuse.cpp
@@ -45,18 +45,31 @@ using namespace CPlusPlus;
namespace CppTools {
-void moveCursorToEndOfIdentifier(QTextCursor *tc) {
+static void moveCursorToStartOrEndOfIdentifier(QTextCursor *tc,
+ QTextCursor::MoveOperation op,
+ int posDiff = 0)
+{
QTextDocument *doc = tc->document();
if (!doc)
return;
- QChar ch = doc->characterAt(tc->position());
+ QChar ch = doc->characterAt(tc->position() - posDiff);
while (ch.isLetterOrNumber() || ch == QLatin1Char('_')) {
- tc->movePosition(QTextCursor::NextCharacter);
- ch = doc->characterAt(tc->position());
+ tc->movePosition(op);
+ ch = doc->characterAt(tc->position() - posDiff);
}
}
+void moveCursorToEndOfIdentifier(QTextCursor *tc)
+{
+ moveCursorToStartOrEndOfIdentifier(tc, QTextCursor::NextCharacter);
+}
+
+void moveCursorToStartOfIdentifier(QTextCursor *tc)
+{
+ moveCursorToStartOrEndOfIdentifier(tc, QTextCursor::PreviousCharacter, 1);
+}
+
static bool isOwnershipRAIIName(const QString &name)
{
static QSet<QString> knownNames;