summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r--src/libs/cplusplus/Overview.cpp13
-rw-r--r--src/libs/cplusplus/Overview.h4
-rw-r--r--src/libs/cplusplus/TypePrettyPrinter.cpp17
-rw-r--r--src/libs/cplusplus/TypePrettyPrinter.h1
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);