From b1390a07ca3f4f31b2d6bfc9a330485df2940d39 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 26 Jul 2017 11:07:32 +0200 Subject: [PATCH] Android: Simplify code assist by using KeywordsCompletionProvider Change-Id: I566e54e8cb539227019fd9cf94113924d1ac9822 Reviewed-by: Eike Ziller Reviewed-by: Vikas Pachdha --- src/plugins/android/android.pro | 2 - src/plugins/android/android.qbs | 2 - src/plugins/android/androidplugin.cpp | 1 - .../android/javacompletionassistprovider.cpp | 113 ------------------ .../android/javacompletionassistprovider.h | 52 -------- src/plugins/android/javaeditor.cpp | 12 +- 6 files changed, 10 insertions(+), 172 deletions(-) delete mode 100644 src/plugins/android/javacompletionassistprovider.cpp delete mode 100644 src/plugins/android/javacompletionassistprovider.h diff --git a/src/plugins/android/android.pro b/src/plugins/android/android.pro index d4bbcb95d39..67cc03f6ca4 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 af7106439f3..4fccdaddcf8 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 c73b73d4835..2af142e0d31 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 a237c570add..00000000000 --- 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 -#include -#include - -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()); - return new TextEditor::KeywordsCompletionAssistProcessor(keywords); -} diff --git a/src/plugins/android/javacompletionassistprovider.h b/src/plugins/android/javacompletionassistprovider.h deleted file mode 100644 index 277f5c45476..00000000000 --- 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 - -#include - -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 6cddfa95a6a..81c3112219f 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 #include #include #include @@ -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