aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2011-04-13 17:52:17 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-04-15 12:37:17 +0200
commit12a810bb68eb94f2a0a7f2fc738ab8ccdaaacac0 (patch)
treed79a22a8e5d92bc33bab60a635eed176ed70cb90
parent29a544bb68ac5f0c926a224147f2935814829b5b (diff)
QmlDesigner.nodeInstances: show warning if qml pupped crashes
If the qml puppetcrahes 3 times in a row we show a warning. Reviewed-by: Marco Bubke
-rw-r--r--src/plugins/qmldesigner/designercore/include/nodeinstanceview.h3
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp2
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp9
-rw-r--r--src/plugins/qmldesigner/designmodewidget.h1
4 files changed, 14 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
index 6449b6fb229..31b9df91e15 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
+++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
@@ -138,6 +138,9 @@ public:
QImage statePreviewImage(const ModelNode &stateNode) const;
+signals:
+ void qmlPuppetCrashed();
+
private: // functions
NodeInstance rootNodeInstance() const;
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
index ce960610246..1e0ad0baf63 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
@@ -180,7 +180,7 @@ void NodeInstanceView::handleChrash()
if (elaspsedTimeSinceLastCrash > 2000) {
restartProcess();
} else {
- emitCustomNotification("QmlPuppet crashed");
+ emit qmlPuppetCrashed();
}
}
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index db03b1f9e0c..da475718607 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -648,6 +648,7 @@ void DesignModeWidget::setup()
}
m_nodeInstanceView = new NodeInstanceView(this);
+ connect(m_nodeInstanceView.data(), SIGNAL(qmlPuppetCrashed()), this, SLOT(qmlPuppetCrashed()));
// Sidebar takes ownership
m_navigator = new NavigatorView;
m_allPropertiesBox = new AllPropertiesBox;
@@ -773,6 +774,14 @@ void DesignModeWidget::deleteSidebarWidgets()
m_rightSideBar = 0;
}
+void DesignModeWidget::qmlPuppetCrashed()
+{
+ QList<RewriterView::Error> errorList;
+ RewriterView::Error error(tr("Qt Quick emulation layer crashed"));
+ errorList << error;
+ disable(errorList);
+}
+
void DesignModeWidget::resizeEvent(QResizeEvent *event)
{
if (m_warningWidget)
diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h
index 93074b10a98..a49c604fe41 100644
--- a/src/plugins/qmldesigner/designmodewidget.h
+++ b/src/plugins/qmldesigner/designmodewidget.h
@@ -154,6 +154,7 @@ private slots:
void updateAvailableSidebarItemsRight();
void deleteSidebarWidgets();
+ void qmlPuppetCrashed();
protected:
void resizeEvent(QResizeEvent *event);