diff options
Diffstat (limited to 'src/plugins/qmljseditor')
-rw-r--r-- | src/plugins/qmljseditor/qmljseditor.cpp | 10 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljseditor.h | 1 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljseditor.pro | 2 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljseditorplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljsindenter.cpp | 86 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljsindenter.h | 57 | ||||
-rw-r--r-- | src/plugins/qmljseditor/qmljssnippetprovider.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qmljseditor/quicktoolbarsettingspage.cpp | 2 |
8 files changed, 15 insertions, 148 deletions
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 017ae2b80c..6d0f030f74 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -38,7 +38,6 @@ #include "qmloutlinemodel.h" #include "qmljsfindreferences.h" #include "qmljssemantichighlighter.h" -#include "qmljsindenter.h" #include "qmljsautocompleter.h" #include "qmljscompletionassist.h" #include "qmljsquickfixassist.h" @@ -53,6 +52,7 @@ #include <qmljs/parser/qmljsast_p.h> #include <qmljs/parser/qmljsengine_p.h> +#include <qmljstools/qmljsindenter.h> #include <qmljstools/qmljsqtstylecodeformatter.h> #include <coreplugin/actionmanager/actionmanager.h> @@ -1448,6 +1448,14 @@ void QmlJSTextEditorWidget::unCommentSelection() Utils::unCommentSelection(this); } +void QmlJSTextEditorWidget::setTabSettings(const TextEditor::TabSettings &ts) +{ + QmlJSTools::QtStyleCodeFormatter formatter(ts); + formatter.invalidateCache(document()); + + TextEditor::BaseTextEditorWidget::setTabSettings(ts); +} + void QmlJSTextEditorWidget::forceSemanticRehighlight() { m_semanticHighlighter->rehighlight(currentSource(/* force = */ true)); diff --git a/src/plugins/qmljseditor/qmljseditor.h b/src/plugins/qmljseditor/qmljseditor.h index dabe5bf295..ee66b782b8 100644 --- a/src/plugins/qmljseditor/qmljseditor.h +++ b/src/plugins/qmljseditor/qmljseditor.h @@ -164,6 +164,7 @@ public: TextEditor::AssistReason reason) const; public slots: + virtual void setTabSettings(const TextEditor::TabSettings &ts); void forceSemanticRehighlight(); void followSymbolUnderCursor(); void findUsages(); diff --git a/src/plugins/qmljseditor/qmljseditor.pro b/src/plugins/qmljseditor/qmljseditor.pro index b52dcfc679..78c09fdf8f 100644 --- a/src/plugins/qmljseditor/qmljseditor.pro +++ b/src/plugins/qmljseditor/qmljseditor.pro @@ -30,7 +30,6 @@ HEADERS += \ qmljsfindreferences.h \ qmljseditoreditable.h \ qmljssemantichighlighter.h \ - qmljsindenter.h \ qmljsautocompleter.h \ jsfilewizard.h \ qmljssnippetprovider.h \ @@ -61,7 +60,6 @@ SOURCES += \ qmljsfindreferences.cpp \ qmljseditoreditable.cpp \ qmljssemantichighlighter.cpp \ - qmljsindenter.cpp \ qmljsautocompleter.cpp \ jsfilewizard.cpp \ qmljssnippetprovider.cpp \ diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index e18c8e6e4e..9051907e6a 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -49,6 +49,7 @@ #include <qmljs/qmljsicons.h> #include <qmljs/qmljsmodelmanagerinterface.h> +#include <qmljstools/qmljstoolsconstants.h> #include <qmldesigner/qmldesignerconstants.h> @@ -264,6 +265,7 @@ void QmlJSEditorPlugin::initializeEditor(QmlJSEditor::QmlJSTextEditorWidget *edi m_actionHandler->setupActions(editor); + editor->setLanguageSettingsId(QmlJSTools::Constants::QML_JS_SETTINGS_ID); TextEditor::TextEditorSettings::instance()->initializeEditor(editor); } diff --git a/src/plugins/qmljseditor/qmljsindenter.cpp b/src/plugins/qmljseditor/qmljsindenter.cpp deleted file mode 100644 index 97f641a734..0000000000 --- a/src/plugins/qmljseditor/qmljsindenter.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#include "qmljsindenter.h" - -#include <qmljstools/qmljsqtstylecodeformatter.h> -#include <texteditor/basetexteditor.h> -#include <texteditor/tabsettings.h> - -#include <QtCore/QChar> -#include <QtGui/QTextDocument> -#include <QtGui/QTextBlock> -#include <QtGui/QTextCursor> - -using namespace QmlJSEditor; -using namespace Internal; - -Indenter::Indenter() -{} - -Indenter::~Indenter() -{} - -bool Indenter::isElectricCharacter(const QChar &ch) const -{ - if (ch == QLatin1Char('{') - || ch == QLatin1Char('}') - || ch == QLatin1Char(']') - || ch == QLatin1Char(':')) - return true; - return false; -} - -void Indenter::indentBlock(QTextDocument *doc, - const QTextBlock &block, - const QChar &typedChar, - TextEditor::BaseTextEditorWidget *editor) -{ - Q_UNUSED(doc) - Q_UNUSED(editor) - - const TextEditor::TabSettings &ts = editor->tabSettings(); - QmlJSTools::QtStyleCodeFormatter codeFormatter(ts); - - codeFormatter.updateStateUntil(block); - const int depth = codeFormatter.indentFor(block); - - if (isElectricCharacter(typedChar)) { - // only reindent the current line when typing electric characters if the - // indent is the same it would be if the line were empty - const int newlineIndent = codeFormatter.indentForNewLineAfter(block.previous()); - if (ts.indentationColumn(block.text()) != newlineIndent) - return; - } - - ts.indentLine(block, depth); -} diff --git a/src/plugins/qmljseditor/qmljsindenter.h b/src/plugins/qmljseditor/qmljsindenter.h deleted file mode 100644 index 5b39fe4c08..0000000000 --- a/src/plugins/qmljseditor/qmljsindenter.h +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (info@qt.nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at info@qt.nokia.com. -** -**************************************************************************/ - -#ifndef QMLJSINDENTER_H -#define QMLJSINDENTER_H - -#include <texteditor/indenter.h> - -namespace QmlJSEditor { -namespace Internal { - -class Indenter : public TextEditor::Indenter -{ -public: - Indenter(); - virtual ~Indenter(); - - virtual bool isElectricCharacter(const QChar &ch) const; - virtual void indentBlock(QTextDocument *doc, - const QTextBlock &block, - const QChar &typedChar, - TextEditor::BaseTextEditorWidget *editor); -}; - -} // Internal -} // QmlJSEditor - -#endif // QMLJSINDENTER_H diff --git a/src/plugins/qmljseditor/qmljssnippetprovider.cpp b/src/plugins/qmljseditor/qmljssnippetprovider.cpp index f48dccf1e3..9d140cb434 100644 --- a/src/plugins/qmljseditor/qmljssnippetprovider.cpp +++ b/src/plugins/qmljseditor/qmljssnippetprovider.cpp @@ -33,7 +33,6 @@ #include "qmljssnippetprovider.h" #include "qmljshighlighter.h" #include "qmljseditor.h" -#include "qmljsindenter.h" #include "qmljsautocompleter.h" #include "qmljseditorconstants.h" @@ -42,6 +41,8 @@ #include <texteditor/texteditorconstants.h> #include <texteditor/snippets/snippeteditor.h> +#include <qmljstools/qmljsindenter.h> + #include <QtCore/QLatin1String> #include <QtCore/QCoreApplication> diff --git a/src/plugins/qmljseditor/quicktoolbarsettingspage.cpp b/src/plugins/qmljseditor/quicktoolbarsettingspage.cpp index 523fdcaa9d..2d95efe9fc 100644 --- a/src/plugins/qmljseditor/quicktoolbarsettingspage.cpp +++ b/src/plugins/qmljseditor/quicktoolbarsettingspage.cpp @@ -130,7 +130,7 @@ QuickToolBarSettingsPage::QuickToolBarSettingsPage() : QString QuickToolBarSettingsPage::id() const { - return QLatin1String("QmlToolbar"); + return QLatin1String("C.QmlToolbar"); } QString QuickToolBarSettingsPage::displayName() const |