diff options
author | Christian Stenger <christian.stenger@qt.io> | 2019-05-17 09:26:05 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2019-05-17 11:36:22 +0000 |
commit | ed77e105717eb9713a56254375e2646a3a6ddcee (patch) | |
tree | 941605b16cd5fd220eaf7f33d44899e2a4fc66fd /src/plugins/languageclient | |
parent | 4de9d8b2f6ee9bcf50d956cb31e664ea81b5f952 (diff) | |
download | qt-creator-ed77e105717eb9713a56254375e2646a3a6ddcee.tar.gz |
LanguageClient: Visualize special trigger characters
Instead of having strange looking cells that appear to be empty
try to cope at least with some common trigger characters and
visualize them.
Change-Id: Id0f696eb47df204756a1387535a15c2a1d75cc30
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/languageclient')
-rw-r--r-- | src/plugins/languageclient/languageclientsettings.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp index 93c930ee31..7bb3182e2d 100644 --- a/src/plugins/languageclient/languageclientsettings.cpp +++ b/src/plugins/languageclient/languageclientsettings.cpp @@ -529,6 +529,26 @@ BaseClientInterface *StdIOSettings::createInterface() const return new StdIOClientInterface(m_executable, arguments()); } +class JsonTreeItemDelegate : public QStyledItemDelegate +{ +public: + QString displayText(const QVariant &value, const QLocale &) const override + { + QString result = value.toString(); + if (result.size() == 1) { + switch (result.at(0).toLatin1()) { + case '\n': + return "\\n"; + case '\t': + return "\\t"; + case '\r': + return "\\r"; + } + } + return result; + } +}; + static QWidget *createCapabilitiesView(const QJsonValue &capabilities) { auto root = new Utils::JsonTreeItem("Capabilities", capabilities); @@ -543,6 +563,7 @@ static QWidget *createCapabilitiesView(const QJsonValue &capabilities) capabilitiesView->setModel(capabilitiesModel); capabilitiesView->setAlternatingRowColors(true); capabilitiesView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); + capabilitiesView->setItemDelegate(new JsonTreeItemDelegate); return capabilitiesView; } |