summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-08-04 13:44:54 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-08-04 13:44:54 +0200
commit90e7bac4d8051bcbeaa3adf0ba1899efabbf6e1c (patch)
treed0ca4693f636c7b8fbee498a5f5e40c1f130c20c
parent2356bdc7addbc410f12391414ad008452d2c5672 (diff)
downloadqt-creator-90e7bac4d8051bcbeaa3adf0ba1899efabbf6e1c.tar.gz
Made `Rename Symbol under Cursor' a command/action.
-rw-r--r--src/plugins/cppeditor/cppeditor.cpp16
-rw-r--r--src/plugins/cppeditor/cppeditor.h2
-rw-r--r--src/plugins/cppeditor/cppeditorconstants.h1
-rw-r--r--src/plugins/cppeditor/cppplugin.cpp16
-rw-r--r--src/plugins/cppeditor/cppplugin.h1
5 files changed, 22 insertions, 14 deletions
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index e7216e13ee..9acbd0ff90 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -543,9 +543,6 @@ CPPEditor::CPPEditor(QWidget *parent)
setCodeFoldingVisible(true);
baseTextDocument()->setSyntaxHighlighter(new CppHighlighter);
- new QShortcut(QKeySequence(tr("CTRL+SHIFT+r")), this, SLOT(renameInPlace()),
- /*ambiguousMember=*/ 0, Qt::WidgetShortcut);
-
#ifdef WITH_TOKEN_MOVE_POSITION
new QShortcut(QKeySequence::MoveToPreviousWord, this, SLOT(moveToPreviousToken()),
/*ambiguousMember=*/ 0, Qt::WidgetShortcut);
@@ -829,7 +826,7 @@ void CPPEditor::reformatDocument()
c.insertText(QString::fromUtf8(str.c_str(), str.length()));
}
-void CPPEditor::renameInPlace()
+void CPPEditor::renameSymbolUnderCursor()
{
updateSemanticInfo(m_semanticHighlighter->semanticInfo(currentSource()));
@@ -1331,8 +1328,8 @@ void CPPEditor::contextMenuEvent(QContextMenuEvent *e)
if (lastAction->menu() && QLatin1String(lastAction->menu()->metaObject()->className()) == QLatin1String("QUnicodeControlCharacterMenu"))
menu->removeAction(lastAction);
- Core::ActionContainer *mcontext =
- Core::ICore::instance()->actionManager()->actionContainer(CppEditor::Constants::M_CONTEXT);
+ Core::ActionManager *am = Core::ICore::instance()->actionManager();
+ Core::ActionContainer *mcontext = am->actionContainer(CppEditor::Constants::M_CONTEXT);
QMenu *contextMenu = mcontext->menu();
foreach (QAction *action, contextMenu->actions())
@@ -1341,13 +1338,6 @@ void CPPEditor::contextMenuEvent(QContextMenuEvent *e)
const QList<QTextEdit::ExtraSelection> selections =
extraSelections(BaseTextEditor::CodeSemanticsSelection);
- if (! selections.isEmpty()) {
- const QString name = selections.first().cursor.selectedText();
- QAction *renameAction = new QAction(tr("Rename '%1'").arg(name), menu);
- connect(renameAction, SIGNAL(triggered()), this, SLOT(renameInPlace()));
- menu->addAction(renameAction);
- }
-
menu->exec(e->globalPos());
delete menu;
}
diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h
index b13ac2a636..eefb2b521c 100644
--- a/src/plugins/cppeditor/cppeditor.h
+++ b/src/plugins/cppeditor/cppeditor.h
@@ -197,6 +197,7 @@ public Q_SLOTS:
void setSortedMethodOverview(bool sort);
void switchDeclarationDefinition();
void jumpToDefinition();
+ void renameSymbolUnderCursor();
void moveToPreviousToken();
void moveToNextToken();
@@ -228,7 +229,6 @@ private Q_SLOTS:
void updateUsesNow();
void onDocumentUpdated(CPlusPlus::Document::Ptr doc);
void reformatDocument();
- void renameInPlace();
void onContentsChanged(int position, int charsRemoved, int charsAdded);
void semanticRehighlight();
diff --git a/src/plugins/cppeditor/cppeditorconstants.h b/src/plugins/cppeditor/cppeditorconstants.h
index 3f30d8537b..ab802531cf 100644
--- a/src/plugins/cppeditor/cppeditorconstants.h
+++ b/src/plugins/cppeditor/cppeditorconstants.h
@@ -38,6 +38,7 @@ const char * const M_CONTEXT = "CppEditor.ContextMenu";
const char * const C_CPPEDITOR = "C++ Editor";
const char * const CPPEDITOR_KIND = QT_TRANSLATE_NOOP("OpenWith::Editors", "C++ Editor");
const char * const SWITCH_DECLARATION_DEFINITION = "CppEditor.SwitchDeclarationDefinition";
+const char * const RENAME_SYMBOL_UNDER_CURSOR = "CppEditor.RenameSymbolUnderCursor";
const char * const JUMP_TO_DEFINITION = "CppEditor.JumpToDefinition";
const char * const HEADER_FILE_TYPE = "CppHeaderFiles";
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp
index b5cc600ffa..e57e38a06f 100644
--- a/src/plugins/cppeditor/cppplugin.cpp
+++ b/src/plugins/cppeditor/cppplugin.cpp
@@ -212,6 +212,14 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess
am->actionContainer(CppEditor::Constants::M_CONTEXT)->addAction(cmd);
am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd);
+ QAction *renameSymbolUnderCursorAction = new QAction(tr("Rename Symbol under Cursor"), this);
+ cmd = am->registerAction(renameSymbolUnderCursorAction,
+ Constants::RENAME_SYMBOL_UNDER_CURSOR, context);
+ cmd->setDefaultKeySequence(QKeySequence("CTRL+SHIFT+R"));
+ connect(renameSymbolUnderCursorAction, SIGNAL(triggered()), this, SLOT(renameSymbolUnderCursor()));
+ am->actionContainer(CppEditor::Constants::M_CONTEXT)->addAction(cmd);
+ am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd);
+
m_actionHandler = new TextEditor::TextEditorActionHandler(CppEditor::Constants::C_CPPEDITOR,
TextEditor::TextEditorActionHandler::Format
| TextEditor::TextEditorActionHandler::UnCommentSelection
@@ -265,4 +273,12 @@ void CppPlugin::jumpToDefinition()
editor->jumpToDefinition();
}
+void CppPlugin::renameSymbolUnderCursor()
+{
+ Core::EditorManager *em = Core::EditorManager::instance();
+ CPPEditor *editor = qobject_cast<CPPEditor*>(em->currentEditor()->widget());
+ if (editor)
+ editor->renameSymbolUnderCursor();
+}
+
Q_EXPORT_PLUGIN(CppPlugin)
diff --git a/src/plugins/cppeditor/cppplugin.h b/src/plugins/cppeditor/cppplugin.h
index 9e5cc9eead..5e058fa3fc 100644
--- a/src/plugins/cppeditor/cppplugin.h
+++ b/src/plugins/cppeditor/cppplugin.h
@@ -73,6 +73,7 @@ public slots:
private slots:
void switchDeclarationDefinition();
void jumpToDefinition();
+ void renameSymbolUnderCursor();
private:
Core::IEditor *createEditor(QWidget *parent);