From 6c49480040ca9c1de91e4a5f563a56230cbb3097 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 29 Mar 2012 15:30:04 +0200 Subject: [PATCH] QmlJSPropertyInspector: Show Headers Change-Id: I5970157281f64d1f256c125a61eb7e60446e36cc Reviewed-by: Kai Koehne --- .../qmljsinspector/qmljspropertyinspector.cpp | 19 +++++++++++++++++-- .../qmljsinspector/qmljspropertyinspector.h | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmljsinspector/qmljspropertyinspector.cpp b/src/plugins/qmljsinspector/qmljspropertyinspector.cpp index c48e5ccdaaa..36d2db1bcc8 100644 --- a/src/plugins/qmljsinspector/qmljspropertyinspector.cpp +++ b/src/plugins/qmljsinspector/qmljspropertyinspector.cpp @@ -269,6 +269,18 @@ Qt::ItemFlags QmlJSPropertyInspectorModel::flags(const QModelIndex &index) const return m_contentsValid ? QStandardItemModel::flags(index) : Qt::ItemFlags(); } +QVariant QmlJSPropertyInspectorModel::headerData(int section, Qt::Orientation orient, int role) const +{ + if (orient == Qt::Horizontal && role == Qt::DisplayRole) { + switch (section) { + case PROPERTY_NAME_COLUMN: return tr("Name"); + case PROPERTY_VALUE_COLUMN: return tr("Value"); + case PROPERTY_TYPE_COLUMN: return tr("Type"); + }; + } + return QStandardItemModel::headerData(section, orient, role); +} + void QmlJSPropertyInspectorModel::setContentsValid(bool contentsValid) { m_contentsValid = contentsValid; @@ -293,7 +305,8 @@ QmlJSPropertyInspector::QmlJSPropertyInspector(QWidget *parent) setItemDelegateForColumn(PROPERTY_VALUE_COLUMN, new PropertyEditDelegate(this)); setModel(&m_model); - + //Add an empty Row to make the headers visible! + addRow(QString(), QString(), QString(), -1, false); connect(header(), SIGNAL(sectionClicked(int)), SLOT(headerSectionClicked(int))); } @@ -305,7 +318,7 @@ void QmlJSPropertyInspector::headerSectionClicked(int logicalIndex) void QmlJSPropertyInspector::clear() { - m_model.clear(); + m_model.removeRows(0, m_model.rowCount()); m_currentObjects.clear(); } @@ -478,6 +491,8 @@ void QmlJSPropertyInspector::contextMenuEvent(QContextMenuEvent *ev) { QMenu menu; QModelIndex itemIndex = indexAt(ev->pos()); + if (!itemIndex.isValid()) + return; bool isEditable = false; bool isColor = false; if (itemIndex.isValid()) { diff --git a/src/plugins/qmljsinspector/qmljspropertyinspector.h b/src/plugins/qmljsinspector/qmljspropertyinspector.h index 9de8fdc483f..568f28624bb 100644 --- a/src/plugins/qmljsinspector/qmljspropertyinspector.h +++ b/src/plugins/qmljsinspector/qmljspropertyinspector.h @@ -102,6 +102,7 @@ public: protected: Qt::ItemFlags flags(const QModelIndex &index) const; + QVariant headerData(int section, Qt::Orientation orientation, int role) const; private: bool m_contentsValid;