From f464de1cd5229d3fecf73ec14971699bb2295f65 Mon Sep 17 00:00:00 2001
From: Lasse Holmstedt <lasse.holmstedt@nokia.com>
Date: Mon, 2 Aug 2010 18:03:27 +0200
Subject: [PATCH] Qml JS Inspector: Show "no context" element in crumble path
 when empty

---
 src/plugins/qmljsinspector/qmljscontextcrumblepath.cpp | 8 +++++++-
 src/plugins/qmljsinspector/qmljscontextcrumblepath.h   | 3 ++-
 src/plugins/qmljsinspector/qmljsinspector.cpp          | 4 +---
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/plugins/qmljsinspector/qmljscontextcrumblepath.cpp b/src/plugins/qmljsinspector/qmljscontextcrumblepath.cpp
index 295c15321ae..736733434d8 100644
--- a/src/plugins/qmljsinspector/qmljscontextcrumblepath.cpp
+++ b/src/plugins/qmljsinspector/qmljscontextcrumblepath.cpp
@@ -7,9 +7,10 @@ namespace QmlJSInspector {
 namespace Internal {
 
 ContextCrumblePath::ContextCrumblePath(QWidget *parent)
-    : CrumblePath(parent)
+    : CrumblePath(parent), m_isEmpty(true)
 {
     setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+    updateContextPath(QStringList());
 }
 
 ContextCrumblePath::~ContextCrumblePath()
@@ -23,6 +24,11 @@ void ContextCrumblePath::updateContextPath(const QStringList &path)
     foreach(const QString &pathPart, path) {
         pushElement(pathPart);
     }
+
+    m_isEmpty = path.isEmpty();
+    if (m_isEmpty) {
+        pushElement(tr("[no context]"));
+    }
 }
 
 } // namespace Internal
diff --git a/src/plugins/qmljsinspector/qmljscontextcrumblepath.h b/src/plugins/qmljsinspector/qmljscontextcrumblepath.h
index c19de84596d..14a5dff36d2 100644
--- a/src/plugins/qmljsinspector/qmljscontextcrumblepath.h
+++ b/src/plugins/qmljsinspector/qmljscontextcrumblepath.h
@@ -16,7 +16,8 @@ public:
 
 public slots:
     void updateContextPath(const QStringList &path);
-
+private:
+    bool m_isEmpty;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp
index ef024f5133e..d65e70efcfd 100644
--- a/src/plugins/qmljsinspector/qmljsinspector.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspector.cpp
@@ -164,7 +164,6 @@ void Inspector::disconnected()
 {
     resetViews();
     updateMenuActions();
-
     applyChangesToQmlObserverHelper(false);
 }
 
@@ -324,7 +323,7 @@ void Inspector::startQmlProjectDebugger()
 
 void Inspector::resetViews()
 {
-    m_crumblePath->clear();
+    m_crumblePath->updateContextPath(QStringList());
 }
 
 void Inspector::simultaneouslyDebugQmlCppApplication()
@@ -572,7 +571,6 @@ void Inspector::setSimpleDockWidgetArrangement()
     mainWindow->removeDockWidget(m_crumblePathDock);
     mainWindow->addDockWidget(Qt::BottomDockWidgetArea, m_crumblePathDock);
     mainWindow->splitDockWidget(mainWindow->toolBarDockWidget(), m_crumblePathDock, Qt::Vertical);
-    //m_crumblePathDock->setVisible(true);
 
     mainWindow->setTrackingEnabled(true);
 }
-- 
GitLab