summaryrefslogtreecommitdiff
path: root/src/plugins/qmljseditor
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmljseditor')
-rw-r--r--src/plugins/qmljseditor/qmljseditor.cpp10
-rw-r--r--src/plugins/qmljseditor/qmljseditor.h1
-rw-r--r--src/plugins/qmljseditor/qmljseditor.pro2
-rw-r--r--src/plugins/qmljseditor/qmljseditorplugin.cpp2
-rw-r--r--src/plugins/qmljseditor/qmljsindenter.cpp86
-rw-r--r--src/plugins/qmljseditor/qmljsindenter.h57
-rw-r--r--src/plugins/qmljseditor/qmljssnippetprovider.cpp3
-rw-r--r--src/plugins/qmljseditor/quicktoolbarsettingspage.cpp2
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