summaryrefslogtreecommitdiff
path: root/src/plugins/android
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2017-07-26 11:07:32 +0200
committerDavid Schulz <david.schulz@qt.io>2017-07-27 11:42:15 +0000
commitb1390a07ca3f4f31b2d6bfc9a330485df2940d39 (patch)
tree2238072282f664d5fdb54f6b1e4ae176115aef85 /src/plugins/android
parent9205bc7aeb9ff33565dc0ddec621c2b773da46ab (diff)
downloadqt-creator-b1390a07ca3f4f31b2d6bfc9a330485df2940d39.tar.gz
Android: Simplify code assist by using KeywordsCompletionProvider
Change-Id: I566e54e8cb539227019fd9cf94113924d1ac9822 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Diffstat (limited to 'src/plugins/android')
-rw-r--r--src/plugins/android/android.pro2
-rw-r--r--src/plugins/android/android.qbs2
-rw-r--r--src/plugins/android/androidplugin.cpp1
-rw-r--r--src/plugins/android/javacompletionassistprovider.cpp113
-rw-r--r--src/plugins/android/javacompletionassistprovider.h52
-rw-r--r--src/plugins/android/javaeditor.cpp12
6 files changed, 10 insertions, 172 deletions
diff --git a/src/plugins/android/android.pro b/src/plugins/android/android.pro
index d4bbcb95d3..67cc03f6ca 100644
--- a/src/plugins/android/android.pro
+++ b/src/plugins/android/android.pro
@@ -41,7 +41,6 @@ HEADERS += \
androidsignaloperation.h \
javaeditor.h \
javaindenter.h \
- javacompletionassistprovider.h \
avddialog.h \
android_global.h \
androidbuildapkstep.h \
@@ -86,7 +85,6 @@ SOURCES += \
androidsignaloperation.cpp \
javaeditor.cpp \
javaindenter.cpp \
- javacompletionassistprovider.cpp \
avddialog.cpp \
androidbuildapkstep.cpp \
androidbuildapkwidget.cpp \
diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs
index af7106439f..4fccdaddcf 100644
--- a/src/plugins/android/android.qbs
+++ b/src/plugins/android/android.qbs
@@ -107,8 +107,6 @@ Project {
"avddialog.h",
"certificatesmodel.cpp",
"certificatesmodel.h",
- "javacompletionassistprovider.cpp",
- "javacompletionassistprovider.h",
"javaeditor.cpp",
"javaeditor.h",
"javaindenter.cpp",
diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp
index c73b73d483..2af142e0d3 100644
--- a/src/plugins/android/androidplugin.cpp
+++ b/src/plugins/android/androidplugin.cpp
@@ -42,7 +42,6 @@
#include "androidruncontrol.h"
#include "androidsettingspage.h"
#include "androidtoolchain.h"
-#include "javacompletionassistprovider.h"
#include "javaeditor.h"
#ifdef HAVE_QBS
diff --git a/src/plugins/android/javacompletionassistprovider.cpp b/src/plugins/android/javacompletionassistprovider.cpp
deleted file mode 100644
index a237c570ad..0000000000
--- a/src/plugins/android/javacompletionassistprovider.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#include "javacompletionassistprovider.h"
-#include "androidconstants.h"
-
-#include <texteditor/codeassist/assistinterface.h>
-#include <texteditor/codeassist/keywordscompletionassist.h>
-#include <coreplugin/id.h>
-
-using namespace Android;
-using namespace Android::Internal;
-
-static const char *const keywords[] = {
- "abstract",
- "continue",
- "for",
- "new",
- "switch",
- "assert",
- "default",
- "goto",
- "package",
- "synchronized",
- "boolean",
- "do",
- "if",
- "private",
- "this",
- "break",
- "double",
- "implements",
- "protected",
- "throw",
- "byte",
- "else",
- "import",
- "public",
- "throws",
- "case",
- "enum",
- "instanceof",
- "return",
- "transient",
- "catch",
- "extends",
- "int",
- "short",
- "try",
- "char",
- "final",
- "interface",
- "static",
- "void",
- "class",
- "finally",
- "long",
- "strictfp",
- "volatile",
- "const",
- "float",
- "native",
- "super",
- "while",
- 0
-};
-
-JavaCompletionAssistProvider::JavaCompletionAssistProvider()
-{
-}
-
-JavaCompletionAssistProvider::~JavaCompletionAssistProvider()
-{
-
-}
-
-void JavaCompletionAssistProvider::init() const
-{
- for (uint i = 0; i < sizeof keywords / sizeof keywords[0] - 1; i++)
- m_keywords.append(QLatin1String(keywords[i]));
-}
-
-TextEditor::IAssistProcessor *JavaCompletionAssistProvider::createProcessor() const
-{
- if (m_keywords.isEmpty())
- init();
- TextEditor::Keywords keywords = TextEditor::Keywords(m_keywords,
- QStringList(),
- QMap<QString, QStringList>());
- return new TextEditor::KeywordsCompletionAssistProcessor(keywords);
-}
diff --git a/src/plugins/android/javacompletionassistprovider.h b/src/plugins/android/javacompletionassistprovider.h
deleted file mode 100644
index 277f5c4547..0000000000
--- a/src/plugins/android/javacompletionassistprovider.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#pragma once
-
-#include <texteditor/codeassist/completionassistprovider.h>
-
-#include <QStringList>
-
-namespace Android {
-namespace Internal {
-
-class JavaCompletionAssistProvider : public TextEditor::CompletionAssistProvider
-{
- Q_OBJECT
-
-public:
- JavaCompletionAssistProvider();
- ~JavaCompletionAssistProvider();
-
- void init() const;
-
- TextEditor::IAssistProcessor *createProcessor() const;
-
-private:
- mutable QStringList m_keywords;
-};
-
-} // namespace Internal
-} // namespace Android
diff --git a/src/plugins/android/javaeditor.cpp b/src/plugins/android/javaeditor.cpp
index 6cddfa95a6..81c3112219 100644
--- a/src/plugins/android/javaeditor.cpp
+++ b/src/plugins/android/javaeditor.cpp
@@ -26,8 +26,8 @@
#include "javaeditor.h"
#include "javaindenter.h"
#include "androidconstants.h"
-#include "javacompletionassistprovider.h"
+#include <texteditor/codeassist/keywordscompletionassist.h>
#include <coreplugin/editormanager/ieditorfactory.h>
#include <texteditor/normalindenter.h>
#include <texteditor/textdocument.h>
@@ -59,6 +59,14 @@ static TextEditor::TextDocument *createJavaDocument()
JavaEditorFactory::JavaEditorFactory()
{
+ static QStringList keywords = {
+ "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const",
+ "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally",
+ "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface",
+ "long", "native", "new", "package", "private", "protected", "public", "return", "short",
+ "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws",
+ "transient", "try", "void", "volatile", "while"
+ };
setId(Constants::JAVA_EDITOR_ID);
setDisplayName(tr("Java Editor"));
addMimeType(Constants::JAVA_MIMETYPE);
@@ -67,8 +75,8 @@ JavaEditorFactory::JavaEditorFactory()
setUseGenericHighlighter(true);
setCommentDefinition(Utils::CommentDefinition::CppStyle);
setEditorActionHandlers(TextEditor::TextEditorActionHandler::UnCommentSelection);
- setCompletionAssistProvider(new JavaCompletionAssistProvider);
setMarksVisible(true);
+ setCompletionAssistProvider(new TextEditor::KeywordsCompletionAssistProvider(keywords));
}
} // namespace Internal