Files
qt-creator/share/qtcreator/qmldesigner/contentLibraryQmlSource/ContentLibraryItem.qml
Mahmoud Badri 09e012cbb7 QmlDesigner: Rename "Effect" to "Item" in the content library
Item includes any item except materials and textures

Change-Id: Icf981661dcd611638fe33fae18f65ad62a5e617c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-05-07 14:44:10 +00:00

84 lines
2.3 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
import QtQuick
import QtQuick.Layouts
import HelperWidgets
import QtQuick.Controls
import StudioTheme as StudioTheme
import ContentLibraryBackend
Item {
id: root
signal showContextMenu()
visible: modelData.bundleItemVisible
MouseArea {
id: mouseArea
hoverEnabled: true
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onPressed: (mouse) => {
if (mouse.button === Qt.LeftButton && !ContentLibraryBackend.rootView.importerRunning)
ContentLibraryBackend.rootView.startDragItem(modelData, mapToGlobal(mouse.x, mouse.y))
else if (mouse.button === Qt.RightButton)
root.showContextMenu()
}
}
Column {
anchors.fill: parent
spacing: 1
Image {
id: img
width: root.width
height: img.width
anchors.horizontalCenter: parent.horizontalCenter
source: modelData.bundleItemIcon
cache: false
Rectangle { // circular indicator for imported bundle item
width: 10
height: 10
radius: 5
anchors.right: img.right
anchors.top: img.top
anchors.margins: 5
color: "#00ff00"
border.color: "#555555"
border.width: 1
visible: modelData.bundleItemImported
ToolTip {
visible: indicatorMouseArea.containsMouse
text: qsTr("Item is imported to the project")
delay: 1000
}
MouseArea {
id: indicatorMouseArea
anchors.fill: parent
hoverEnabled: true
}
}
}
Text {
width: img.width
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: TextInput.AlignHCenter
text: modelData.bundleItemName
elide: Text.ElideRight
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
}
} // Column
}