Move Help item from text editor to core

The functionality is not text editor specific.

Change-Id: Iee531572f14673e75129f4bfbb64a1437899d31e
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2019-01-24 11:30:58 +01:00
parent 65b0b99988
commit dabeb0aa1e
16 changed files with 50 additions and 49 deletions

View File

@@ -277,26 +277,26 @@ void BackendReceiver::references(const ReferencesMessage &message)
futureInterface.reportFinished(); futureInterface.reportFinished();
} }
static TextEditor::HelpItem::Category toHelpItemCategory(ToolTipInfo::QdocCategory category) static Core::HelpItem::Category toHelpItemCategory(ToolTipInfo::QdocCategory category)
{ {
switch (category) { switch (category) {
case ToolTipInfo::Unknown: case ToolTipInfo::Unknown:
return TextEditor::HelpItem::Unknown; return Core::HelpItem::Unknown;
case ToolTipInfo::ClassOrNamespace: case ToolTipInfo::ClassOrNamespace:
return TextEditor::HelpItem::ClassOrNamespace; return Core::HelpItem::ClassOrNamespace;
case ToolTipInfo::Enum: case ToolTipInfo::Enum:
return TextEditor::HelpItem::Enum; return Core::HelpItem::Enum;
case ToolTipInfo::Typedef: case ToolTipInfo::Typedef:
return TextEditor::HelpItem::Typedef; return Core::HelpItem::Typedef;
case ToolTipInfo::Macro: case ToolTipInfo::Macro:
return TextEditor::HelpItem::Macro; return Core::HelpItem::Macro;
case ToolTipInfo::Brief: case ToolTipInfo::Brief:
return TextEditor::HelpItem::Brief; return Core::HelpItem::Brief;
case ToolTipInfo::Function: 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) static QStringList toStringList(const Utf8StringVector &utf8StringVector)

View File

@@ -230,8 +230,8 @@ void ClangHoverHandler::abort()
} }
} }
#define RETURN_TEXT_FOR_CASE(enumValue) case TextEditor::HelpItem::enumValue: return #enumValue #define RETURN_TEXT_FOR_CASE(enumValue) case Core::HelpItem::enumValue: return #enumValue
static const char *helpItemCategoryAsString(TextEditor::HelpItem::Category category) static const char *helpItemCategoryAsString(Core::HelpItem::Category category)
{ {
switch (category) { switch (category) {
RETURN_TEXT_FOR_CASE(Unknown); RETURN_TEXT_FOR_CASE(Unknown);
@@ -267,7 +267,7 @@ void ClangHoverHandler::processToolTipInfo(const CppTools::ToolTipInfo &info)
if (!helpLinks.isEmpty()) { if (!helpLinks.isEmpty()) {
qCDebug(hoverLog) << " Match!"; qCDebug(hoverLog) << " Match!";
setLastHelpItemIdentified( setLastHelpItemIdentified(
HelpItem(qdocIdCandidate, info.qDocMark, info.qDocCategory, helpLinks)); Core::HelpItem(qdocIdCandidate, info.qDocMark, info.qDocCategory, helpLinks));
break; break;
} }
} }
@@ -283,7 +283,7 @@ void ClangHoverHandler::operateTooltip(TextEditor::TextEditorWidget *editorWidge
const QPoint &point) const QPoint &point)
{ {
if (priority() == Priority_Diagnostic) { if (priority() == Priority_Diagnostic) {
const HelpItem helpItem = lastHelpItemIdentified(); const Core::HelpItem helpItem = lastHelpItemIdentified();
const QString helpId = helpItem.isValid() ? helpItem.helpId() : QString(); const QString helpId = helpItem.isValid() ? helpItem.helpId() : QString();
processWithEditorDocumentProcessor(editorWidget, point, m_cursorPosition, helpId); processWithEditorDocumentProcessor(editorWidget, point, m_cursorPosition, helpId);
return; return;

View File

@@ -80,6 +80,7 @@ SOURCES += corejsextensions.cpp \
editormanager/systemeditor.cpp \ editormanager/systemeditor.cpp \
designmode.cpp \ designmode.cpp \
editortoolbar.cpp \ editortoolbar.cpp \
helpitem.cpp \
helpmanager.cpp \ helpmanager.cpp \
outputpanemanager.cpp \ outputpanemanager.cpp \
navigationsubwidget.cpp \ navigationsubwidget.cpp \
@@ -192,6 +193,7 @@ HEADERS += corejsextensions.h \
editormanager/systemeditor.h \ editormanager/systemeditor.h \
designmode.h \ designmode.h \
editortoolbar.h \ editortoolbar.h \
helpitem.h \
helpmanager.h \ helpmanager.h \
helpmanager_implementation.h \ helpmanager_implementation.h \
outputpanemanager.h \ outputpanemanager.h \

View File

@@ -84,6 +84,8 @@ Project {
"generalsettings.ui", "generalsettings.ui",
"generatedfile.cpp", "generatedfile.cpp",
"generatedfile.h", "generatedfile.h",
"helpitem.cpp",
"helpitem.h",
"helpmanager.cpp", "helpmanager.cpp",
"helpmanager.h", "helpmanager.h",
"helpmanager_implementation.h", "helpmanager_implementation.h",

View File

@@ -24,11 +24,11 @@
****************************************************************************/ ****************************************************************************/
#include "helpitem.h" #include "helpitem.h"
#include "helpmanager.h"
#include <coreplugin/helpmanager.h>
#include <utils/htmldocextractor.h> #include <utils/htmldocextractor.h>
using namespace TextEditor; using namespace Core;
HelpItem::HelpItem() = default; HelpItem::HelpItem() = default;

View File

@@ -25,15 +25,15 @@
#pragma once #pragma once
#include "texteditor_global.h" #include "core_global.h"
#include <QMap> #include <QMap>
#include <QString> #include <QString>
#include <QUrl> #include <QUrl>
namespace TextEditor { namespace Core {
class TEXTEDITOR_EXPORT HelpItem class CORE_EXPORT HelpItem
{ {
public: public:
enum Category { enum Category {
@@ -79,4 +79,4 @@ private:
mutable QMap<QString, QUrl> m_helpLinks; // cached help links mutable QMap<QString, QUrl> m_helpLinks; // cached help links
}; };
} // namespace TextEditor } // namespace Core

View File

@@ -31,8 +31,8 @@
#include "cppsemanticinfo.h" #include "cppsemanticinfo.h"
#include "cpptools_global.h" #include "cpptools_global.h"
#include <coreplugin/helpitem.h>
#include <texteditor/codeassist/assistinterface.h> #include <texteditor/codeassist/assistinterface.h>
#include <texteditor/helpitem.h>
#include <texteditor/quickfix.h> #include <texteditor/quickfix.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <texteditor/textdocument.h> #include <texteditor/textdocument.h>
@@ -56,7 +56,7 @@ struct CPPTOOLS_EXPORT ToolTipInfo {
QStringList qDocIdCandidates; QStringList qDocIdCandidates;
QString qDocMark; QString qDocMark;
TextEditor::HelpItem::Category qDocCategory; Core::HelpItem::Category qDocCategory;
QString sizeInBytes; QString sizeInBytes;
}; };

View File

@@ -85,7 +85,7 @@ public:
: path(QDir::toNativeSeparators(includeFile.resolvedFileName())) : path(QDir::toNativeSeparators(includeFile.resolvedFileName()))
, fileName(Utils::FileName::fromString(includeFile.resolvedFileName()).fileName()) , fileName(Utils::FileName::fromString(includeFile.resolvedFileName()).fileName())
{ {
helpCategory = TextEditor::HelpItem::Brief; helpCategory = Core::HelpItem::Brief;
helpIdCandidates = QStringList(fileName); helpIdCandidates = QStringList(fileName);
helpMark = fileName; helpMark = fileName;
link = Utils::Link(path); link = Utils::Link(path);
@@ -102,7 +102,7 @@ class CppMacro : public CppElement
public: public:
explicit CppMacro(const Macro &macro) explicit CppMacro(const Macro &macro)
{ {
helpCategory = TextEditor::HelpItem::Macro; helpCategory = Core::HelpItem::Macro;
const QString macroName = QString::fromUtf8(macro.name(), macro.name().size()); const QString macroName = QString::fromUtf8(macro.name(), macro.name().size());
helpIdCandidates = QStringList(macroName); helpIdCandidates = QStringList(macroName);
helpMark = macroName; helpMark = macroName;
@@ -142,7 +142,7 @@ public:
explicit CppNamespace(Symbol *declaration) explicit CppNamespace(Symbol *declaration)
: CppDeclarableElement(declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::ClassOrNamespace; helpCategory = Core::HelpItem::ClassOrNamespace;
tooltip = qualifiedName; tooltip = qualifiedName;
} }
}; };
@@ -150,7 +150,7 @@ public:
CppClass::CppClass(Symbol *declaration) : CppDeclarableElement(declaration) CppClass::CppClass(Symbol *declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::ClassOrNamespace; helpCategory = Core::HelpItem::ClassOrNamespace;
tooltip = qualifiedName; tooltip = qualifiedName;
} }
@@ -221,7 +221,7 @@ public:
explicit CppFunction(Symbol *declaration) explicit CppFunction(Symbol *declaration)
: CppDeclarableElement(declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::Function; helpCategory = Core::HelpItem::Function;
const FullySpecifiedType &type = declaration->type(); const FullySpecifiedType &type = declaration->type();
@@ -242,7 +242,7 @@ public:
explicit CppEnum(Enum *declaration) explicit CppEnum(Enum *declaration)
: CppDeclarableElement(declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::Enum; helpCategory = Core::HelpItem::Enum;
tooltip = qualifiedName; tooltip = qualifiedName;
} }
}; };
@@ -253,7 +253,7 @@ public:
explicit CppTypedef(Symbol *declaration) explicit CppTypedef(Symbol *declaration)
: CppDeclarableElement(declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::Typedef; helpCategory = Core::HelpItem::Typedef;
tooltip = Overview().prettyType(declaration->type(), qualifiedName); tooltip = Overview().prettyType(declaration->type(), qualifiedName);
} }
}; };
@@ -288,7 +288,7 @@ public:
LookupContext::fullyQualifiedName(symbol)); LookupContext::fullyQualifiedName(symbol));
if (!name.isEmpty()) { if (!name.isEmpty()) {
tooltip = name; tooltip = name;
helpCategory = TextEditor::HelpItem::ClassOrNamespace; helpCategory = Core::HelpItem::ClassOrNamespace;
const QStringList &allNames = stripName(name); const QStringList &allNames = stripName(name);
if (!allNames.isEmpty()) { if (!allNames.isEmpty()) {
helpMark = allNames.last(); helpMark = allNames.last();
@@ -307,7 +307,7 @@ public:
explicit CppEnumerator(EnumeratorDeclaration *declaration) explicit CppEnumerator(EnumeratorDeclaration *declaration)
: CppDeclarableElement(declaration) : CppDeclarableElement(declaration)
{ {
helpCategory = TextEditor::HelpItem::Enum; helpCategory = Core::HelpItem::Enum;
Overview overview; Overview overview;

View File

@@ -27,8 +27,8 @@
#include "cpptools_global.h" #include "cpptools_global.h"
#include <coreplugin/helpitem.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <texteditor/helpitem.h>
#include <cplusplus/CppDocument.h> #include <cplusplus/CppDocument.h>
@@ -93,7 +93,7 @@ public:
virtual CppClass *toCppClass(); virtual CppClass *toCppClass();
TextEditor::HelpItem::Category helpCategory = TextEditor::HelpItem::Unknown; Core::HelpItem::Category helpCategory = Core::HelpItem::Unknown;
QStringList helpIdCandidates; QStringList helpIdCandidates;
QString helpMark; QString helpMark;
Utils::Link link; Utils::Link link;

View File

@@ -34,7 +34,7 @@ namespace CppTools {
class CPPTOOLS_EXPORT CppHoverHandler : public TextEditor::BaseHoverHandler class CPPTOOLS_EXPORT CppHoverHandler : public TextEditor::BaseHoverHandler
{ {
public: public:
static QString tooltipTextForHelpItem(const TextEditor::HelpItem &help); static QString tooltipTextForHelpItem(const Core::HelpItem &help);
private: private:
void identifyMatch(TextEditor::TextEditorWidget *editorWidget, void identifyMatch(TextEditor::TextEditorWidget *editorWidget,

View File

@@ -63,12 +63,13 @@ void ProFileHoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidg
if (m_manualKind != UnknownManual) { if (m_manualKind != UnknownManual) {
QUrl url(QString::fromLatin1("qthelp://org.qt-project.qmake/qmake/qmake-%1-reference.html#%2") QUrl url(QString::fromLatin1("qthelp://org.qt-project.qmake/qmake/qmake-%1-reference.html#%2")
.arg(manualName()).arg(m_docFragment)); .arg(manualName()).arg(m_docFragment));
setLastHelpItemIdentified(TextEditor::HelpItem(url.toString(), setLastHelpItemIdentified(Core::HelpItem(url.toString(),
m_docFragment, TextEditor::HelpItem::QMakeVariableOfFunction)); m_docFragment,
Core::HelpItem::QMakeVariableOfFunction));
} else { } else {
// General qmake manual will be shown outside any function or variable // General qmake manual will be shown outside any function or variable
setLastHelpItemIdentified(TextEditor::HelpItem(QLatin1String("qmake"), setLastHelpItemIdentified(
TextEditor::HelpItem::Unknown)); Core::HelpItem(QLatin1String("qmake"), Core::HelpItem::Unknown));
} }
} }
} }

View File

@@ -32,6 +32,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/helpitem.h>
#include <coreplugin/helpmanager.h> #include <coreplugin/helpmanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
@@ -44,7 +45,6 @@
#include <qmljs/qmljsutils.h> #include <qmljs/qmljsutils.h>
#include <qmljs/qmljsqrcparser.h> #include <qmljs/qmljsqrcparser.h>
#include <texteditor/texteditor.h> #include <texteditor/texteditor.h>
#include <texteditor/helpitem.h>
#include <utils/executeondestruction.h> #include <utils/executeondestruction.h>
#include <utils/tooltip/tooltip.h> #include <utils/tooltip/tooltip.h>

View File

@@ -99,12 +99,12 @@ const QString &BaseHoverHandler::toolTip() const
return m_toolTip; return m_toolTip;
} }
void BaseHoverHandler::setLastHelpItemIdentified(const HelpItem &help) void BaseHoverHandler::setLastHelpItemIdentified(const Core::HelpItem &help)
{ {
m_lastHelpItemIdentified = help; m_lastHelpItemIdentified = help;
} }
const HelpItem &BaseHoverHandler::lastHelpItemIdentified() const const Core::HelpItem &BaseHoverHandler::lastHelpItemIdentified() const
{ {
return m_lastHelpItemIdentified; return m_lastHelpItemIdentified;
} }
@@ -129,7 +129,7 @@ void BaseHoverHandler::process(TextEditorWidget *widget, int pos, ReportPriority
{ {
m_toolTip.clear(); m_toolTip.clear();
m_priority = -1; m_priority = -1;
m_lastHelpItemIdentified = HelpItem(); m_lastHelpItemIdentified = Core::HelpItem();
identifyMatch(widget, pos, report); identifyMatch(widget, pos, report);
} }

View File

@@ -26,8 +26,8 @@
#pragma once #pragma once
#include "texteditor_global.h" #include "texteditor_global.h"
#include "helpitem.h"
#include <coreplugin/helpitem.h>
#include <coreplugin/icontext.h> #include <coreplugin/icontext.h>
#include <functional> #include <functional>
@@ -68,8 +68,8 @@ protected:
void setToolTip(const QString &tooltip); void setToolTip(const QString &tooltip);
const QString &toolTip() const; const QString &toolTip() const;
void setLastHelpItemIdentified(const HelpItem &help); void setLastHelpItemIdentified(const Core::HelpItem &help);
const HelpItem &lastHelpItemIdentified() const; const Core::HelpItem &lastHelpItemIdentified() const;
bool isContextHelpRequest() const; bool isContextHelpRequest() const;
@@ -87,7 +87,7 @@ private:
void process(TextEditorWidget *widget, int pos, ReportPriority report); void process(TextEditorWidget *widget, int pos, ReportPriority report);
QString m_toolTip; QString m_toolTip;
HelpItem m_lastHelpItemIdentified; Core::HelpItem m_lastHelpItemIdentified;
int m_priority = -1; int m_priority = -1;
bool m_isContextHelpRequest = false; bool m_isContextHelpRequest = false;
}; };

View File

@@ -56,7 +56,6 @@ SOURCES += texteditorplugin.cpp \
outlinefactory.cpp \ outlinefactory.cpp \
basehoverhandler.cpp \ basehoverhandler.cpp \
colorpreviewhoverhandler.cpp \ colorpreviewhoverhandler.cpp \
helpitem.cpp \
autocompleter.cpp \ autocompleter.cpp \
snippets/snippetssettingspage.cpp \ snippets/snippetssettingspage.cpp \
snippets/snippet.cpp \ snippets/snippet.cpp \
@@ -165,7 +164,6 @@ HEADERS += texteditorplugin.h \
ioutlinewidget.h \ ioutlinewidget.h \
basehoverhandler.h \ basehoverhandler.h \
colorpreviewhoverhandler.h \ colorpreviewhoverhandler.h \
helpitem.h \
autocompleter.h \ autocompleter.h \
snippets/snippetssettingspage.h \ snippets/snippetssettingspage.h \
snippets/snippet.h \ snippets/snippet.h \

View File

@@ -80,8 +80,6 @@ Project {
"fontsettingspage.ui", "fontsettingspage.ui",
"formattexteditor.cpp", "formattexteditor.cpp",
"formattexteditor.h", "formattexteditor.h",
"helpitem.cpp",
"helpitem.h",
"highlighterutils.cpp", "highlighterutils.cpp",
"highlighterutils.h", "highlighterutils.h",
"icodestylepreferences.cpp", "icodestylepreferences.cpp",