diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-09-30 14:25:20 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-09-30 17:43:19 +0200 |
commit | 4c185a9ac4477686f01af42534c7d6f28f8598df (patch) | |
tree | 4995d5a86fffde737c6f4845387126aeab32288d /src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp | |
parent | 2d5049645c502b20c2a8c4c2ce800319d067cbd2 (diff) | |
download | qt-creator-4c185a9ac4477686f01af42534c7d6f28f8598df.tar.gz |
QmlDesigner.model: rename id is now a proper refactoring operation
I an id is now changed in the navaigator or property editor,
we now use the qmljseditor to properly refactor.
Also I changed dynamic_cast to qobject_cast
Reviewed-by: Erik Verbruggen
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp b/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp index 3127be6ead..113ee3b471 100644 --- a/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp +++ b/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp @@ -32,6 +32,7 @@ #include <extensionsystem/pluginmanager.h> #include <qmljs/qmljsdocument.h> #include <qmljs/qmljsmodelmanagerinterface.h> +#include <qmljseditor/qmljseditor.h> #include <texteditor/tabsettings.h> using namespace QmlDesigner; @@ -46,7 +47,7 @@ void BaseTextEditModifier::indent(int offset, int length) if (length == 0 || offset < 0 || offset + length >= text().length()) return; - if (TextEditor::BaseTextEditor *bte = dynamic_cast<TextEditor::BaseTextEditor*>(plainTextEdit())) { + if (TextEditor::BaseTextEditor *bte = qobject_cast<TextEditor::BaseTextEditor*>(plainTextEdit())) { // find the applicable block: QTextDocument *doc = bte->document(); QTextCursor tc(doc); @@ -60,13 +61,23 @@ void BaseTextEditModifier::indent(int offset, int length) int BaseTextEditModifier::indentDepth() const { - if (TextEditor::BaseTextEditor *bte = dynamic_cast<TextEditor::BaseTextEditor*>(plainTextEdit())) { + if (TextEditor::BaseTextEditor *bte = qobject_cast<TextEditor::BaseTextEditor*>(plainTextEdit())) { return bte->tabSettings().m_indentSize; } else { return 0; } } +bool BaseTextEditModifier::renameId(const QString &oldId, const QString &newId) +{ + if (QmlJSEditor::Internal::QmlJSTextEditor *qmljse = qobject_cast<QmlJSEditor::Internal::QmlJSTextEditor*>(plainTextEdit())) { + qmljse->renameId(oldId, newId); + return true; + } else { + return false; + } +} + namespace { static inline QmlJS::ModelManagerInterface *getModelManager() { |