diff options
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r-- | src/libs/cplusplus/Overview.cpp | 13 | ||||
-rw-r--r-- | src/libs/cplusplus/Overview.h | 4 | ||||
-rw-r--r-- | src/libs/cplusplus/TypePrettyPrinter.cpp | 17 | ||||
-rw-r--r-- | src/libs/cplusplus/TypePrettyPrinter.h | 1 |
4 files changed, 30 insertions, 5 deletions
diff --git a/src/libs/cplusplus/Overview.cpp b/src/libs/cplusplus/Overview.cpp index 8b4ad673b7..dcb51db981 100644 --- a/src/libs/cplusplus/Overview.cpp +++ b/src/libs/cplusplus/Overview.cpp @@ -39,12 +39,23 @@ Overview::Overview() _showArgumentNames(false), _showReturnTypes(false), _showFunctionSignatures(true), - _showFullyQualifiedNames(false) + _showFullyQualifiedNames(false), + _richText(false) { } Overview::~Overview() { } +bool Overview::richText() const +{ + return _richText; +} + +void Overview::setRichText(bool richText) +{ + _richText = richText; +} + bool Overview::showArgumentNames() const { return _showArgumentNames; diff --git a/src/libs/cplusplus/Overview.h b/src/libs/cplusplus/Overview.h index 1af633353b..8d2facac8e 100644 --- a/src/libs/cplusplus/Overview.h +++ b/src/libs/cplusplus/Overview.h @@ -44,6 +44,9 @@ public: Overview(); ~Overview(); + bool richText() const; + void setRichText(bool richText); + bool showArgumentNames() const; void setShowArgumentNames(bool showArgumentNames); @@ -77,6 +80,7 @@ private: bool _showReturnTypes: 1; bool _showFunctionSignatures: 1; bool _showFullyQualifiedNames: 1; + bool _richText: 1; }; } // end of namespace CPlusPlus diff --git a/src/libs/cplusplus/TypePrettyPrinter.cpp b/src/libs/cplusplus/TypePrettyPrinter.cpp index 0334e8d44f..f2594bacfe 100644 --- a/src/libs/cplusplus/TypePrettyPrinter.cpp +++ b/src/libs/cplusplus/TypePrettyPrinter.cpp @@ -35,6 +35,7 @@ #include <Scope.h> #include <QStringList> #include <QtDebug> +#include <QTextDocument> // Qt::escape() using namespace CPlusPlus; @@ -54,7 +55,7 @@ static QString fullyQualifiedName(Symbol *symbol, const Overview *overview) } if (! owner->name()) - nestedNameSpecifier.prepend(QLatin1String("<anonymous>")); + nestedNameSpecifier.prepend(QLatin1String("$anonymous")); else { const QString name = overview->prettyName(owner->name()); @@ -325,7 +326,7 @@ void TypePrettyPrinter::visit(Function *type) if (Argument *arg = type->argumentAt(index)->asArgument()) { if (index + 1 == _overview->markArgument()) - out(QLatin1String("<b>")); + outPlain(QLatin1String("<b>")); Name *name = 0; @@ -335,7 +336,7 @@ void TypePrettyPrinter::visit(Function *type) out(argumentText(arg->type(), name)); if (index + 1 == _overview->markArgument()) - out(QLatin1String("</b>")); + outPlain(QLatin1String("</b>")); } } @@ -367,9 +368,17 @@ void TypePrettyPrinter::space() _text += QLatin1Char(' '); } -void TypePrettyPrinter::out(const QString &text) +void TypePrettyPrinter::outPlain(const QString &text) { _text += text; } +void TypePrettyPrinter::out(const QString &text) +{ + if (overview()->richText()) + _text += Qt::escape(text); + else + _text += text; +} + void TypePrettyPrinter::out(const QChar &ch) { _text += ch; } diff --git a/src/libs/cplusplus/TypePrettyPrinter.h b/src/libs/cplusplus/TypePrettyPrinter.h index 432b400dd8..42f020fa12 100644 --- a/src/libs/cplusplus/TypePrettyPrinter.h +++ b/src/libs/cplusplus/TypePrettyPrinter.h @@ -72,6 +72,7 @@ protected: virtual void visit(Enum *type); void space(); + void outPlain(const QString &text); void out(const QString &text); void out(const QChar &ch); void outCV(const FullySpecifiedType &ty); |