From dabeb0aa1ed1a1fe1dc40f00cd44876f5d379c1b Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 24 Jan 2019 11:30:58 +0100 Subject: [PATCH] Move Help item from text editor to core The functionality is not text editor specific. Change-Id: Iee531572f14673e75129f4bfbb64a1437899d31e Reviewed-by: David Schulz --- .../clangcodemodel/clangbackendreceiver.cpp | 18 +++++++++--------- .../clangcodemodel/clanghoverhandler.cpp | 8 ++++---- src/plugins/coreplugin/coreplugin.pro | 2 ++ src/plugins/coreplugin/coreplugin.qbs | 2 ++ .../{texteditor => coreplugin}/helpitem.cpp | 4 ++-- .../{texteditor => coreplugin}/helpitem.h | 8 ++++---- .../cpptools/baseeditordocumentprocessor.h | 4 ++-- src/plugins/cpptools/cppelementevaluator.cpp | 18 +++++++++--------- src/plugins/cpptools/cppelementevaluator.h | 4 ++-- src/plugins/cpptools/cpphoverhandler.h | 2 +- .../profilehoverhandler.cpp | 9 +++++---- src/plugins/qmljseditor/qmljshoverhandler.cpp | 2 +- src/plugins/texteditor/basehoverhandler.cpp | 6 +++--- src/plugins/texteditor/basehoverhandler.h | 8 ++++---- src/plugins/texteditor/texteditor.pro | 2 -- src/plugins/texteditor/texteditor.qbs | 2 -- 16 files changed, 50 insertions(+), 49 deletions(-) rename src/plugins/{texteditor => coreplugin}/helpitem.cpp (98%) rename src/plugins/{texteditor => coreplugin}/helpitem.h (95%) diff --git a/src/plugins/clangcodemodel/clangbackendreceiver.cpp b/src/plugins/clangcodemodel/clangbackendreceiver.cpp index 46bf29f0245..39c7415a840 100644 --- a/src/plugins/clangcodemodel/clangbackendreceiver.cpp +++ b/src/plugins/clangcodemodel/clangbackendreceiver.cpp @@ -277,26 +277,26 @@ void BackendReceiver::references(const ReferencesMessage &message) futureInterface.reportFinished(); } -static TextEditor::HelpItem::Category toHelpItemCategory(ToolTipInfo::QdocCategory category) +static Core::HelpItem::Category toHelpItemCategory(ToolTipInfo::QdocCategory category) { switch (category) { case ToolTipInfo::Unknown: - return TextEditor::HelpItem::Unknown; + return Core::HelpItem::Unknown; case ToolTipInfo::ClassOrNamespace: - return TextEditor::HelpItem::ClassOrNamespace; + return Core::HelpItem::ClassOrNamespace; case ToolTipInfo::Enum: - return TextEditor::HelpItem::Enum; + return Core::HelpItem::Enum; case ToolTipInfo::Typedef: - return TextEditor::HelpItem::Typedef; + return Core::HelpItem::Typedef; case ToolTipInfo::Macro: - return TextEditor::HelpItem::Macro; + return Core::HelpItem::Macro; case ToolTipInfo::Brief: - return TextEditor::HelpItem::Brief; + return Core::HelpItem::Brief; case ToolTipInfo::Function: - return TextEditor::HelpItem::Function; + return Core::HelpItem::Function; } - return TextEditor::HelpItem::Unknown; + return Core::HelpItem::Unknown; } static QStringList toStringList(const Utf8StringVector &utf8StringVector) diff --git a/src/plugins/clangcodemodel/clanghoverhandler.cpp b/src/plugins/clangcodemodel/clanghoverhandler.cpp index 1dc294cab53..fb8b751d879 100644 --- a/src/plugins/clangcodemodel/clanghoverhandler.cpp +++ b/src/plugins/clangcodemodel/clanghoverhandler.cpp @@ -230,8 +230,8 @@ void ClangHoverHandler::abort() } } -#define RETURN_TEXT_FOR_CASE(enumValue) case TextEditor::HelpItem::enumValue: return #enumValue -static const char *helpItemCategoryAsString(TextEditor::HelpItem::Category category) +#define RETURN_TEXT_FOR_CASE(enumValue) case Core::HelpItem::enumValue: return #enumValue +static const char *helpItemCategoryAsString(Core::HelpItem::Category category) { switch (category) { RETURN_TEXT_FOR_CASE(Unknown); @@ -267,7 +267,7 @@ void ClangHoverHandler::processToolTipInfo(const CppTools::ToolTipInfo &info) if (!helpLinks.isEmpty()) { qCDebug(hoverLog) << " Match!"; setLastHelpItemIdentified( - HelpItem(qdocIdCandidate, info.qDocMark, info.qDocCategory, helpLinks)); + Core::HelpItem(qdocIdCandidate, info.qDocMark, info.qDocCategory, helpLinks)); break; } } @@ -283,7 +283,7 @@ void ClangHoverHandler::operateTooltip(TextEditor::TextEditorWidget *editorWidge const QPoint &point) { if (priority() == Priority_Diagnostic) { - const HelpItem helpItem = lastHelpItemIdentified(); + const Core::HelpItem helpItem = lastHelpItemIdentified(); const QString helpId = helpItem.isValid() ? helpItem.helpId() : QString(); processWithEditorDocumentProcessor(editorWidget, point, m_cursorPosition, helpId); return; diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index b722987beb0..2f7ff16397c 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -80,6 +80,7 @@ SOURCES += corejsextensions.cpp \ editormanager/systemeditor.cpp \ designmode.cpp \ editortoolbar.cpp \ + helpitem.cpp \ helpmanager.cpp \ outputpanemanager.cpp \ navigationsubwidget.cpp \ @@ -192,6 +193,7 @@ HEADERS += corejsextensions.h \ editormanager/systemeditor.h \ designmode.h \ editortoolbar.h \ + helpitem.h \ helpmanager.h \ helpmanager_implementation.h \ outputpanemanager.h \ diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 885aeba1e38..cc4da8d2fda 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -84,6 +84,8 @@ Project { "generalsettings.ui", "generatedfile.cpp", "generatedfile.h", + "helpitem.cpp", + "helpitem.h", "helpmanager.cpp", "helpmanager.h", "helpmanager_implementation.h", diff --git a/src/plugins/texteditor/helpitem.cpp b/src/plugins/coreplugin/helpitem.cpp similarity index 98% rename from src/plugins/texteditor/helpitem.cpp rename to src/plugins/coreplugin/helpitem.cpp index a87c2efd8b6..dfb152ed056 100644 --- a/src/plugins/texteditor/helpitem.cpp +++ b/src/plugins/coreplugin/helpitem.cpp @@ -24,11 +24,11 @@ ****************************************************************************/ #include "helpitem.h" +#include "helpmanager.h" -#include #include -using namespace TextEditor; +using namespace Core; HelpItem::HelpItem() = default; diff --git a/src/plugins/texteditor/helpitem.h b/src/plugins/coreplugin/helpitem.h similarity index 95% rename from src/plugins/texteditor/helpitem.h rename to src/plugins/coreplugin/helpitem.h index 2618f7f5e47..f79836ce98d 100644 --- a/src/plugins/texteditor/helpitem.h +++ b/src/plugins/coreplugin/helpitem.h @@ -25,15 +25,15 @@ #pragma once -#include "texteditor_global.h" +#include "core_global.h" #include #include #include -namespace TextEditor { +namespace Core { -class TEXTEDITOR_EXPORT HelpItem +class CORE_EXPORT HelpItem { public: enum Category { @@ -79,4 +79,4 @@ private: mutable QMap m_helpLinks; // cached help links }; -} // namespace TextEditor +} // namespace Core diff --git a/src/plugins/cpptools/baseeditordocumentprocessor.h b/src/plugins/cpptools/baseeditordocumentprocessor.h index 3fcf3630466..efdb29a9f8f 100644 --- a/src/plugins/cpptools/baseeditordocumentprocessor.h +++ b/src/plugins/cpptools/baseeditordocumentprocessor.h @@ -31,8 +31,8 @@ #include "cppsemanticinfo.h" #include "cpptools_global.h" +#include #include -#include #include #include #include @@ -56,7 +56,7 @@ struct CPPTOOLS_EXPORT ToolTipInfo { QStringList qDocIdCandidates; QString qDocMark; - TextEditor::HelpItem::Category qDocCategory; + Core::HelpItem::Category qDocCategory; QString sizeInBytes; }; diff --git a/src/plugins/cpptools/cppelementevaluator.cpp b/src/plugins/cpptools/cppelementevaluator.cpp index 95932c0e2cd..949442c459f 100644 --- a/src/plugins/cpptools/cppelementevaluator.cpp +++ b/src/plugins/cpptools/cppelementevaluator.cpp @@ -85,7 +85,7 @@ public: : path(QDir::toNativeSeparators(includeFile.resolvedFileName())) , fileName(Utils::FileName::fromString(includeFile.resolvedFileName()).fileName()) { - helpCategory = TextEditor::HelpItem::Brief; + helpCategory = Core::HelpItem::Brief; helpIdCandidates = QStringList(fileName); helpMark = fileName; link = Utils::Link(path); @@ -102,7 +102,7 @@ class CppMacro : public CppElement public: explicit CppMacro(const Macro ¯o) { - helpCategory = TextEditor::HelpItem::Macro; + helpCategory = Core::HelpItem::Macro; const QString macroName = QString::fromUtf8(macro.name(), macro.name().size()); helpIdCandidates = QStringList(macroName); helpMark = macroName; @@ -142,7 +142,7 @@ public: explicit CppNamespace(Symbol *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::ClassOrNamespace; + helpCategory = Core::HelpItem::ClassOrNamespace; tooltip = qualifiedName; } }; @@ -150,7 +150,7 @@ public: CppClass::CppClass(Symbol *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::ClassOrNamespace; + helpCategory = Core::HelpItem::ClassOrNamespace; tooltip = qualifiedName; } @@ -221,7 +221,7 @@ public: explicit CppFunction(Symbol *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::Function; + helpCategory = Core::HelpItem::Function; const FullySpecifiedType &type = declaration->type(); @@ -242,7 +242,7 @@ public: explicit CppEnum(Enum *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::Enum; + helpCategory = Core::HelpItem::Enum; tooltip = qualifiedName; } }; @@ -253,7 +253,7 @@ public: explicit CppTypedef(Symbol *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::Typedef; + helpCategory = Core::HelpItem::Typedef; tooltip = Overview().prettyType(declaration->type(), qualifiedName); } }; @@ -288,7 +288,7 @@ public: LookupContext::fullyQualifiedName(symbol)); if (!name.isEmpty()) { tooltip = name; - helpCategory = TextEditor::HelpItem::ClassOrNamespace; + helpCategory = Core::HelpItem::ClassOrNamespace; const QStringList &allNames = stripName(name); if (!allNames.isEmpty()) { helpMark = allNames.last(); @@ -307,7 +307,7 @@ public: explicit CppEnumerator(EnumeratorDeclaration *declaration) : CppDeclarableElement(declaration) { - helpCategory = TextEditor::HelpItem::Enum; + helpCategory = Core::HelpItem::Enum; Overview overview; diff --git a/src/plugins/cpptools/cppelementevaluator.h b/src/plugins/cpptools/cppelementevaluator.h index 04143738c7d..13950a09cc4 100644 --- a/src/plugins/cpptools/cppelementevaluator.h +++ b/src/plugins/cpptools/cppelementevaluator.h @@ -27,8 +27,8 @@ #include "cpptools_global.h" +#include #include -#include #include @@ -93,7 +93,7 @@ public: virtual CppClass *toCppClass(); - TextEditor::HelpItem::Category helpCategory = TextEditor::HelpItem::Unknown; + Core::HelpItem::Category helpCategory = Core::HelpItem::Unknown; QStringList helpIdCandidates; QString helpMark; Utils::Link link; diff --git a/src/plugins/cpptools/cpphoverhandler.h b/src/plugins/cpptools/cpphoverhandler.h index 6905605fab2..c80c36d0c23 100644 --- a/src/plugins/cpptools/cpphoverhandler.h +++ b/src/plugins/cpptools/cpphoverhandler.h @@ -34,7 +34,7 @@ namespace CppTools { class CPPTOOLS_EXPORT CppHoverHandler : public TextEditor::BaseHoverHandler { public: - static QString tooltipTextForHelpItem(const TextEditor::HelpItem &help); + static QString tooltipTextForHelpItem(const Core::HelpItem &help); private: void identifyMatch(TextEditor::TextEditorWidget *editorWidget, diff --git a/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp b/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp index 2aa7fb94b36..25438ee048e 100644 --- a/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp +++ b/src/plugins/qmakeprojectmanager/profilehoverhandler.cpp @@ -63,12 +63,13 @@ void ProFileHoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidg if (m_manualKind != UnknownManual) { QUrl url(QString::fromLatin1("qthelp://org.qt-project.qmake/qmake/qmake-%1-reference.html#%2") .arg(manualName()).arg(m_docFragment)); - setLastHelpItemIdentified(TextEditor::HelpItem(url.toString(), - m_docFragment, TextEditor::HelpItem::QMakeVariableOfFunction)); + setLastHelpItemIdentified(Core::HelpItem(url.toString(), + m_docFragment, + Core::HelpItem::QMakeVariableOfFunction)); } else { // General qmake manual will be shown outside any function or variable - setLastHelpItemIdentified(TextEditor::HelpItem(QLatin1String("qmake"), - TextEditor::HelpItem::Unknown)); + setLastHelpItemIdentified( + Core::HelpItem(QLatin1String("qmake"), Core::HelpItem::Unknown)); } } } diff --git a/src/plugins/qmljseditor/qmljshoverhandler.cpp b/src/plugins/qmljseditor/qmljshoverhandler.cpp index 5171b2750aa..9421941deaa 100644 --- a/src/plugins/qmljseditor/qmljshoverhandler.cpp +++ b/src/plugins/qmljseditor/qmljshoverhandler.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -44,7 +45,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/texteditor/basehoverhandler.cpp b/src/plugins/texteditor/basehoverhandler.cpp index 7eb5bc70b6a..19ab9073e9c 100644 --- a/src/plugins/texteditor/basehoverhandler.cpp +++ b/src/plugins/texteditor/basehoverhandler.cpp @@ -99,12 +99,12 @@ const QString &BaseHoverHandler::toolTip() const return m_toolTip; } -void BaseHoverHandler::setLastHelpItemIdentified(const HelpItem &help) +void BaseHoverHandler::setLastHelpItemIdentified(const Core::HelpItem &help) { m_lastHelpItemIdentified = help; } -const HelpItem &BaseHoverHandler::lastHelpItemIdentified() const +const Core::HelpItem &BaseHoverHandler::lastHelpItemIdentified() const { return m_lastHelpItemIdentified; } @@ -129,7 +129,7 @@ void BaseHoverHandler::process(TextEditorWidget *widget, int pos, ReportPriority { m_toolTip.clear(); m_priority = -1; - m_lastHelpItemIdentified = HelpItem(); + m_lastHelpItemIdentified = Core::HelpItem(); identifyMatch(widget, pos, report); } diff --git a/src/plugins/texteditor/basehoverhandler.h b/src/plugins/texteditor/basehoverhandler.h index 5e0187335a1..ad7e75f42d3 100644 --- a/src/plugins/texteditor/basehoverhandler.h +++ b/src/plugins/texteditor/basehoverhandler.h @@ -26,8 +26,8 @@ #pragma once #include "texteditor_global.h" -#include "helpitem.h" +#include #include #include @@ -68,8 +68,8 @@ protected: void setToolTip(const QString &tooltip); const QString &toolTip() const; - void setLastHelpItemIdentified(const HelpItem &help); - const HelpItem &lastHelpItemIdentified() const; + void setLastHelpItemIdentified(const Core::HelpItem &help); + const Core::HelpItem &lastHelpItemIdentified() const; bool isContextHelpRequest() const; @@ -87,7 +87,7 @@ private: void process(TextEditorWidget *widget, int pos, ReportPriority report); QString m_toolTip; - HelpItem m_lastHelpItemIdentified; + Core::HelpItem m_lastHelpItemIdentified; int m_priority = -1; bool m_isContextHelpRequest = false; }; diff --git a/src/plugins/texteditor/texteditor.pro b/src/plugins/texteditor/texteditor.pro index d9f99ccc9df..6de9e934694 100644 --- a/src/plugins/texteditor/texteditor.pro +++ b/src/plugins/texteditor/texteditor.pro @@ -56,7 +56,6 @@ SOURCES += texteditorplugin.cpp \ outlinefactory.cpp \ basehoverhandler.cpp \ colorpreviewhoverhandler.cpp \ - helpitem.cpp \ autocompleter.cpp \ snippets/snippetssettingspage.cpp \ snippets/snippet.cpp \ @@ -165,7 +164,6 @@ HEADERS += texteditorplugin.h \ ioutlinewidget.h \ basehoverhandler.h \ colorpreviewhoverhandler.h \ - helpitem.h \ autocompleter.h \ snippets/snippetssettingspage.h \ snippets/snippet.h \ diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs index 01fbcc68abc..1e8b4c5be83 100644 --- a/src/plugins/texteditor/texteditor.qbs +++ b/src/plugins/texteditor/texteditor.qbs @@ -80,8 +80,6 @@ Project { "fontsettingspage.ui", "formattexteditor.cpp", "formattexteditor.h", - "helpitem.cpp", - "helpitem.h", "highlighterutils.cpp", "highlighterutils.h", "icodestylepreferences.cpp",