forked from qt-creator/qt-creator
Also fix enable logic of context menus in content library. Fixes: QDS-8446 Change-Id: I82f80779f507aa5336ebafac5cffc36365238fc5 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
59 lines
1.7 KiB
QML
59 lines
1.7 KiB
QML
// Copyright (C) 2022 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
|
|
|
import QtQuick 2.15
|
|
import HelperWidgets 2.0
|
|
import StudioControls 1.0 as StudioControls
|
|
import StudioTheme 1.0 as StudioTheme
|
|
|
|
StudioControls.Menu {
|
|
id: root
|
|
|
|
property var targetMaterial: null
|
|
property bool hasModelSelection: false
|
|
property bool importerRunning: false
|
|
|
|
readonly property bool targetAvailable: targetMaterial && !importerRunning
|
|
|
|
signal unimport(var bundleMat);
|
|
signal addToProject(var bundleMat)
|
|
|
|
function popupMenu(targetMaterial = null)
|
|
{
|
|
this.targetMaterial = targetMaterial
|
|
popup()
|
|
}
|
|
|
|
closePolicy: StudioControls.Menu.CloseOnEscape | StudioControls.Menu.CloseOnPressOutside
|
|
|
|
StudioControls.MenuItem {
|
|
text: qsTr("Apply to selected (replace)")
|
|
enabled: root.targetAvailable && root.hasModelSelection
|
|
onTriggered: root.applyToSelected(root.targetMaterial, false)
|
|
}
|
|
|
|
StudioControls.MenuItem {
|
|
text: qsTr("Apply to selected (add)")
|
|
enabled: root.targetAvailable && root.hasModelSelection
|
|
onTriggered: root.applyToSelected(root.targetMaterial, true)
|
|
}
|
|
|
|
StudioControls.MenuSeparator {}
|
|
|
|
StudioControls.MenuItem {
|
|
enabled: root.targetAvailable
|
|
text: qsTr("Add an instance to project")
|
|
|
|
onTriggered: {
|
|
root.addToProject(root.targetMaterial)
|
|
}
|
|
}
|
|
|
|
StudioControls.MenuItem {
|
|
enabled: root.targetAvailable && root.targetMaterial.bundleMaterialImported
|
|
text: qsTr("Remove from project")
|
|
|
|
onTriggered: root.unimport(root.targetMaterial)
|
|
}
|
|
}
|