diff --git a/src/plugins/qmlprofiler/qv8profilereventview.cpp b/src/plugins/qmlprofiler/qv8profilereventview.cpp index fdc3ee95925..5b3226b5574 100644 --- a/src/plugins/qmlprofiler/qv8profilereventview.cpp +++ b/src/plugins/qmlprofiler/qv8profilereventview.cpp @@ -135,6 +135,7 @@ QV8ProfilerEventsWidget::QV8ProfilerEventsWidget(QWidget *parent, connect(d->m_eventTree, SIGNAL(eventSelected(int)), d->m_eventParents, SLOT(displayEvent(int))); connect(d->m_eventChildren, SIGNAL(eventClicked(int)), d->m_eventTree, SLOT(selectEvent(int))); connect(d->m_eventParents, SIGNAL(eventClicked(int)), d->m_eventTree, SLOT(selectEvent(int))); + connect(d->v8Model, SIGNAL(changed()), this, SLOT(updateEnabledState())); // widget arrangement QVBoxLayout *groupLayout = new QVBoxLayout; @@ -156,7 +157,7 @@ QV8ProfilerEventsWidget::QV8ProfilerEventsWidget(QWidget *parent, d->m_profilerTool = profilerTool; d->m_viewContainer = container; - + setEnabled(false); } QV8ProfilerEventsWidget::~QV8ProfilerEventsWidget() @@ -164,11 +165,17 @@ QV8ProfilerEventsWidget::~QV8ProfilerEventsWidget() delete d; } +void QV8ProfilerEventsWidget::updateEnabledState() +{ + setEnabled(!d->v8Model->isEmpty()); +} + void QV8ProfilerEventsWidget::clear() { d->m_eventTree->clear(); d->m_eventChildren->clear(); d->m_eventParents->clear(); + setEnabled(false); } QModelIndex QV8ProfilerEventsWidget::selectedItem() const diff --git a/src/plugins/qmlprofiler/qv8profilereventview.h b/src/plugins/qmlprofiler/qv8profilereventview.h index d32b499c1c2..2d366750939 100644 --- a/src/plugins/qmlprofiler/qv8profilereventview.h +++ b/src/plugins/qmlprofiler/qv8profilereventview.h @@ -74,6 +74,7 @@ signals: public slots: void updateSelectedEvent(int eventId) const; void selectBySourceLocation(const QString &filename, int line, int column); + void updateEnabledState(); protected: void contextMenuEvent(QContextMenuEvent *ev);