diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2012-09-03 17:11:44 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@nokia.com> | 2012-09-03 17:45:39 +0200 |
commit | 43ff20d7283f3544d167220246a847bba92448d7 (patch) | |
tree | e0065d02c2c6e31646fafdd1a417f068334972b5 | |
parent | aa118de9ec9a83345776210a44aeea1990c956f4 (diff) |
QmlDesigner: Move modelnodecontextmenu to the navigator
The context node of the model node don't belongs to model because it has
dependencies.
Change-Id: Ia67a055a4beac33477485d05574134ffe4dc6ae1
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
13 files changed, 42 insertions, 37 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/componentcore.pri b/src/plugins/qmldesigner/components/componentcore/componentcore.pri new file mode 100644 index 0000000000..9035a629d7 --- /dev/null +++ b/src/plugins/qmldesigner/components/componentcore/componentcore.pri @@ -0,0 +1,5 @@ +VPATH += $$PWD +INCLUDEPATH += $$PWD +SOURCES += modelnodecontextmenu.cpp + +HEADERS += modelnodecontextmenu.h diff --git a/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu.cpp index 76aaf323e2..6db35f8782 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu.cpp @@ -434,6 +434,12 @@ void ModelNodeContextMenu::setScenePos(const QPoint &pos) m_scenePos = pos; } +void ModelNodeContextMenu::showContextMenu(QmlModelView *view, const QPoint &globalPosition, const QPoint &scenePosition, bool showSelection) +{ + ModelNodeContextMenu contextMenu(view); + contextMenu.setScenePos(scenePosition); + contextMenu.execute(globalPosition, showSelection); +} ModelNodeAction* ModelNodeContextMenu::createModelNodeAction(const QString &description, QMenu *menu, const QList<ModelNode> &modelNodeList, ModelNodeAction::ModelNodeActionType type, bool enabled) { diff --git a/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu.h index 69506b0925..d371b5a8d6 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu.h @@ -118,6 +118,8 @@ public: void execute(const QPoint &pos, bool selectionMenu); void setScenePos(const QPoint &pos); + static void showContextMenu(QmlModelView *view, const QPoint &globalPosition, const QPoint &scenePosition, bool showSelection); + private: ModelNodeAction* createModelNodeAction(const QString &description, QMenu *menu, const QList<ModelNode> &modelNodeList, ModelNodeAction::ModelNodeActionType type, bool enabled = true); diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index 2422530012..1a8a86966a 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -32,6 +32,8 @@ #include "formeditorview.h" #include "formeditorview.h" +#include <modelnodecontextmenu.h> + #include <coreplugin/editormanager/editormanager.h> #include <QDebug> @@ -211,7 +213,7 @@ void AbstractFormEditorTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> & void AbstractFormEditorTool::showContextMenu(QGraphicsSceneMouseEvent *event) { - view()->showContextMenu(event->screenPos(), event->scenePos().toPoint(), true); + ModelNodeContextMenu::showContextMenu(view(), event->screenPos(), event->scenePos().toPoint(), true); } void AbstractFormEditorTool::clear() diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index 772255eee6..780b1c1adf 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -44,7 +44,7 @@ #include <nodelistproperty.h> #include <variantproperty.h> #include <rewritingexception.h> -#include <model/modelnodecontextmenu.h> +#include <modelnodecontextmenu.h> #include <designmodewidget.h> #include <projectexplorer/projectexplorer.h> diff --git a/src/plugins/qmldesigner/components/navigator/navigator.pri b/src/plugins/qmldesigner/components/navigator/navigator.pri index 3ce8bc6877..60b0527f5d 100644 --- a/src/plugins/qmldesigner/components/navigator/navigator.pri +++ b/src/plugins/qmldesigner/components/navigator/navigator.pri @@ -4,6 +4,7 @@ SOURCES += navigatorview.cpp \ navigatortreemodel.cpp \ navigatorwidget.cpp \ navigatortreeview.cpp + HEADERS += navigatorview.h \ navigatortreemodel.h \ navigatorwidget.h \ diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index 8e4acd1927..e2d6851c47 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -40,6 +40,7 @@ #include <rewriterview.h> #include <invalididexception.h> #include <rewritingexception.h> +#include <modelnodecontextmenu.h> #include <QMimeData> #include <QMessageBox> @@ -659,10 +660,9 @@ void NavigatorTreeModel::setVisible(const QModelIndex &index, bool visible) itemRow.visibilityItem->setCheckState(visible ? Qt::Checked : Qt::Unchecked); } -void NavigatorTreeModel::openContextMenu(const QPoint &p) +void NavigatorTreeModel::openContextMenu(const QPoint &position) { - if (m_view) - m_view->showContextMenu(p, QPoint(), false); + ModelNodeContextMenu::showContextMenu(m_view.data(), position, QPoint(), false); } } // QmlDesigner diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index a21888ed4c..c1b29af4e4 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -31,6 +31,7 @@ #include "navigatorview.h" #include "navigatortreemodel.h" #include "navigatorwidget.h" +#include "modelnodecontextmenu.h" #include <coreplugin/editormanager/editormanager.h> diff --git a/src/plugins/qmldesigner/designercore/designercore.pri b/src/plugins/qmldesigner/designercore/designercore.pri index 539f241c9a..744d62bcbc 100644 --- a/src/plugins/qmldesigner/designercore/designercore.pri +++ b/src/plugins/qmldesigner/designercore/designercore.pri @@ -75,8 +75,7 @@ SOURCES += $$PWD/model/abstractview.cpp \ $$PWD/model/rewriteactioncompressor.cpp \ $$PWD/model/qmltextgenerator.cpp \ $$PWD/model/modelmerger.cpp \ - $$PWD/exceptions/rewritingexception.cpp \ - $$PWD/model/modelnodecontextmenu.cpp + $$PWD/exceptions/rewritingexception.cpp HEADERS += $$PWD/include/corelib_global.h \ $$PWD/include/abstractview.h \ @@ -146,8 +145,7 @@ HEADERS += $$PWD/include/corelib_global.h \ $$PWD/include/modelmerger.h \ $$PWD/include/mathutils.h \ $$PWD/include/customnotifications.h \ - $$PWD/include/rewritingexception.h \ - $$PWD//model/modelnodecontextmenu.h + $$PWD/include/rewritingexception.h contains(CONFIG, plugin) { # If core.pri has been included in the qmldesigner plugin diff --git a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h index 77bd7f5041..94a5755134 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h +++ b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h @@ -121,8 +121,6 @@ public: void importsChanged(const QList<Import> &addedImports, const QList<Import> &removedImports); void nodeSourceChanged(const ModelNode &modelNode, const QString &newNodeSource); - void showContextMenu(const QPoint &globalPos, const QPoint &scenePos, bool showSelection); - protected: NodeInstance instanceForModelNode(const ModelNode &modelNode); bool hasInstanceForModelNode(const ModelNode &modelNode); diff --git a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp index f610b00593..c2df79aa7e 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp @@ -46,8 +46,6 @@ #include "rewriterview.h" #include "plaintexteditmodifier.h" #include "modelmerger.h" -#include "modelnodecontextmenu.h" - namespace QmlDesigner { @@ -425,13 +423,6 @@ void QmlModelView::nodeSourceChanged(const ModelNode &, const QString & /*newNod } -void QmlModelView::showContextMenu(const QPoint &globalPos, const QPoint &scenePos, bool showSelection) -{ - ModelNodeContextMenu contextMenu(this); - contextMenu.setScenePos(scenePos); - contextMenu.execute(globalPos, showSelection); -} - void QmlModelView::rewriterBeginTransaction() { diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pri b/src/plugins/qmldesigner/qmldesignerplugin.pri new file mode 100644 index 0000000000..efe34c0bff --- /dev/null +++ b/src/plugins/qmldesigner/qmldesignerplugin.pri @@ -0,0 +1,16 @@ +HEADERS += $$PWD/qmldesignerconstants.h \ + $$PWD/qmldesignerplugin.h \ + $$PWD/designmodewidget.h \ + $$PWD/designersettings.h \ + $$PWD/settingspage.h \ + $$PWD/designmodecontext.h \ + $$PWD/styledoutputpaneplaceholder.h + +SOURCES += $$PWD/qmldesignerplugin.cpp \ + $$PWD/designmodewidget.cpp \ + $$PWD/designersettings.cpp \ + $$PWD/settingspage.cpp \ + $$PWD/designmodecontext.cpp \ + $$PWD/styledoutputpaneplaceholder.cpp + +FORMS += $$PWD/settingspage.ui diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro index d042701c19..dee55d0678 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.pro +++ b/src/plugins/qmldesigner/qmldesignerplugin.pro @@ -10,6 +10,7 @@ include(../../private_headers.pri) include(qmldesigner_dependencies.pri) include(designercore/designercore.pri) +include(components/componentcore/componentcore.pri) include(components/integration/integration.pri) include(components/propertyeditor/propertyeditor.pri) include(components/formeditor/formeditor.pri) @@ -18,20 +19,4 @@ include(components/navigator/navigator.pri) include(components/pluginmanager/pluginmanager.pri) include(components/stateseditor/stateseditor.pri) include(components/resources/resources.pri) - -HEADERS += qmldesignerconstants.h \ - qmldesignerplugin.h \ - designmodewidget.h \ - designersettings.h \ - settingspage.h \ - designmodecontext.h \ - styledoutputpaneplaceholder.h - -SOURCES += qmldesignerplugin.cpp \ - designmodewidget.cpp \ - designersettings.cpp \ - settingspage.cpp \ - designmodecontext.cpp \ - styledoutputpaneplaceholder.cpp - -FORMS += settingspage.ui +include(qmldesignerplugin.pri) |