diff options
author | David Schulz <david.schulz@qt.io> | 2017-07-26 11:07:32 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2017-07-27 11:42:15 +0000 |
commit | b1390a07ca3f4f31b2d6bfc9a330485df2940d39 (patch) | |
tree | 2238072282f664d5fdb54f6b1e4ae176115aef85 | |
parent | 9205bc7aeb9ff33565dc0ddec621c2b773da46ab (diff) | |
download | qt-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>
-rw-r--r-- | src/plugins/android/android.pro | 2 | ||||
-rw-r--r-- | src/plugins/android/android.qbs | 2 | ||||
-rw-r--r-- | src/plugins/android/androidplugin.cpp | 1 | ||||
-rw-r--r-- | src/plugins/android/javacompletionassistprovider.cpp | 113 | ||||
-rw-r--r-- | src/plugins/android/javacompletionassistprovider.h | 52 | ||||
-rw-r--r-- | src/plugins/android/javaeditor.cpp | 12 |
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 |