forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/8.0'
Conflicts: src/libs/qmljs/qmljsmodelmanagerinterface.cpp src/plugins/clangcodemodel/clangdclient.cpp src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp src/plugins/qmldesigner/designercore/include/modelnode.h src/plugins/qmldesigner/designercore/model/modelnode.cpp src/plugins/qmldesigner/designercore/model/rewriterview.cpp Change-Id: I93c57879b79f27325321bfc045ca618bd835af93
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include "edit3dwidget.h"
|
||||
#include "edit3dvisibilitytogglesmenu.h"
|
||||
#include "metainfo.h"
|
||||
#include "modelnodeoperations.h"
|
||||
#include "qmldesignerconstants.h"
|
||||
#include "qmldesignerplugin.h"
|
||||
#include "qmlvisualnode.h"
|
||||
@@ -49,8 +50,8 @@
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
Edit3DWidget::Edit3DWidget(Edit3DView *view) :
|
||||
m_view(view)
|
||||
Edit3DWidget::Edit3DWidget(Edit3DView *view)
|
||||
: m_view(view)
|
||||
{
|
||||
setAcceptDrops(true);
|
||||
|
||||
@@ -146,6 +147,8 @@ Edit3DWidget::Edit3DWidget(Edit3DView *view) :
|
||||
|
||||
handleActions(view->backgroundColorActions(), m_backgroundColorMenu, false);
|
||||
|
||||
createContextMenu();
|
||||
|
||||
view->setSeeker(seeker);
|
||||
seeker->setToolTip(QLatin1String("Seek particle system time when paused."));
|
||||
|
||||
@@ -173,6 +176,23 @@ Edit3DWidget::Edit3DWidget(Edit3DView *view) :
|
||||
showCanvas(false);
|
||||
}
|
||||
|
||||
void Edit3DWidget::createContextMenu()
|
||||
{
|
||||
m_contextMenu = new QMenu(this);
|
||||
m_editMaterialAction = m_contextMenu->addAction(tr("Edit Material"), [&] {
|
||||
SelectionContext selCtx(m_view);
|
||||
selCtx.setTargetNode(m_contextMenuTarget);
|
||||
ModelNodeOperations::editMaterial(selCtx);
|
||||
});
|
||||
|
||||
m_deleteAction = m_contextMenu->addAction(tr("Delete"), [&] {
|
||||
view()->executeInTransaction("Edit3DWidget::createContextMenu", [&] {
|
||||
for (ModelNode &node : m_view->selectedModelNodes())
|
||||
node.destroy();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void Edit3DWidget::contextHelp(const Core::IContext::HelpCallback &callback) const
|
||||
{
|
||||
if (m_view)
|
||||
@@ -221,6 +241,16 @@ void Edit3DWidget::showBackgroundColorMenu(bool show, const QPoint &pos)
|
||||
m_backgroundColorMenu->close();
|
||||
}
|
||||
|
||||
void Edit3DWidget::showContextMenu(const QPoint &pos, const ModelNode &modelNode)
|
||||
{
|
||||
m_contextMenuTarget = modelNode;
|
||||
|
||||
m_editMaterialAction->setEnabled(modelNode.isValid());
|
||||
m_deleteAction->setEnabled(modelNode.isValid());
|
||||
|
||||
m_contextMenu->popup(mapToGlobal(pos));
|
||||
}
|
||||
|
||||
void Edit3DWidget::linkActivated([[maybe_unused]] const QString &link)
|
||||
{
|
||||
if (m_view)
|
||||
|
||||
Reference in New Issue
Block a user