summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@digia.com>2014-07-21 18:07:02 +0200
committerMarco Bubke <marco.bubke@digia.com>2014-07-22 13:12:42 +0200
commitac7f17c28a87dd28a483d1e930f7d9b535415e48 (patch)
tree2b87d83d7836ee531e554509e7cf1142859b9eb0
parent1c15b4f34cba3846189c7ea53db05e1b92e6a403 (diff)
downloadqt-creator-ac7f17c28a87dd28a483d1e930f7d9b535415e48.tar.gz
QmlDesigner: Don't use a timer anymore in the drag tool
Change-Id: I5f8b8436815c871e462c888e9963c8ee754bbc72 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
-rw-r--r--src/plugins/qmldesigner/components/formeditor/dragtool.cpp9
-rw-r--r--src/plugins/qmldesigner/components/formeditor/dragtool.h17
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorview.cpp6
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorview.h2
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp2
5 files changed, 10 insertions, 26 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp
index f2c28ebd98..ae6892cf3f 100644
--- a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp
@@ -42,19 +42,11 @@
namespace QmlDesigner {
-namespace Internal {
-void TimerHandler::clearMoveDelay()
-{
- m_dragTool->clearMoveDelay();
-}
-
-}
DragTool::DragTool(FormEditorView *editorView)
: AbstractFormEditorTool(editorView),
m_moveManipulator(editorView->scene()->manipulatorLayerItem(), editorView),
m_selectionIndicator(editorView->scene()->manipulatorLayerItem()),
- m_timerHandler(new Internal::TimerHandler(this)),
m_blockMove(false),
m_isAborted(false)
{
@@ -327,7 +319,6 @@ void DragTool::createDragNode(const QMimeData *mimeData, const QPointF &scenePos
m_blockMove = true;
m_startPoint = scenePosition;
- QTimer::singleShot(10000, m_timerHandler.data(), SLOT(clearMoveDelay()));
}
}
}
diff --git a/src/plugins/qmldesigner/components/formeditor/dragtool.h b/src/plugins/qmldesigner/components/formeditor/dragtool.h
index eeadda6a91..11ef56f04a 100644
--- a/src/plugins/qmldesigner/components/formeditor/dragtool.h
+++ b/src/plugins/qmldesigner/components/formeditor/dragtool.h
@@ -42,22 +42,6 @@ namespace QmlDesigner {
class DragTool;
-namespace Internal {
-
-class TimerHandler : public QObject
-{
- Q_OBJECT
-
-public:
- TimerHandler(DragTool *tool) : QObject(), m_dragTool(tool) {}
-public slots:
- void clearMoveDelay();
-
-private:
- DragTool *m_dragTool;
-};
-}
-
class DragTool : public AbstractFormEditorTool
{
public:
@@ -116,7 +100,6 @@ private:
QPointer<FormEditorItem> m_movingItem;
RewriterTransaction m_rewriterTransaction;
QmlItemNode m_dragNode;
- QScopedPointer<Internal::TimerHandler> m_timerHandler;
bool m_blockMove;
QPointF m_startPoint;
bool m_isAborted;
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
index ef1fe84c97..3780005779 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
@@ -299,6 +299,12 @@ void FormEditorView::propertiesRemoved(const QList<AbstractProperty> &/*property
{
}
+void FormEditorView::customNotification(const AbstractView */*view*/, const QString &identifier, const QList<ModelNode> &/*nodeList*/, const QList<QVariant> &/*data*/)
+{
+ if (identifier == QStringLiteral("puppet crashed"))
+ m_dragTool->clearMoveDelay();
+}
+
AbstractFormEditorTool* FormEditorView::currentTool() const
{
return m_currentTool;
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
index 6333d71bda..fc0d9c9f78 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
@@ -84,6 +84,8 @@ public:
void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList) QTC_OVERRIDE;
void propertiesRemoved(const QList<AbstractProperty> &propertyList) QTC_OVERRIDE;
+ void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data) QTC_OVERRIDE;
+
// FormEditorView
WidgetInfo widgetInfo() QTC_OVERRIDE;
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
index 0f08975031..845de2ac87 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
@@ -188,6 +188,8 @@ void NodeInstanceView::handleChrash()
restartProcess();
else
emit qmlPuppetCrashed();
+
+ emitCustomNotification(QStringLiteral("puppet crashed"));
}