diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2024-04-20 00:25:43 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2024-04-23 09:51:51 +0000 |
commit | a369d075ad6f042823e5a3742162cd3858cc055a (patch) | |
tree | 607a43fb5006bd3ede2a6e71186f7ab7a354b674 /share/qtcreator | |
parent | cbc617d2ad1d881fd9c40445e65bce83f2689b8e (diff) |
QmlDesigner: Implement adding an image to the content library
Also some cleanups in same files.
Fixes: QDS-12506
Change-Id: I0c211206b6b7c29857a30f18d6077c2ddd76849c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Diffstat (limited to 'share/qtcreator')
3 files changed, 26 insertions, 19 deletions
diff --git a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/Assets.qml b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/Assets.qml index cfa4020995..26bef6f8e9 100644 --- a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/Assets.qml +++ b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/Assets.qml @@ -94,7 +94,7 @@ Item { anchors.fill: parent acceptedButtons: Qt.RightButton onClicked: { - if (assetsModel.haveFiles) { + if (assetsModel.hasFiles) { function onFolderCreated(path) { assetsView.addCreatedFolder(path) } @@ -182,13 +182,13 @@ Item { leftPadding: 10 color: StudioTheme.Values.themeTextColor font.pixelSize: StudioTheme.Values.baseFont - visible: !assetsModel.haveFiles && !root.__searchBoxEmpty + visible: !assetsModel.hasFiles && !root.__searchBoxEmpty } Item { // placeholder when the assets library is empty width: parent.width height: parent.height - toolbar.height - column.spacing - visible: !assetsModel.haveFiles && root.__searchBoxEmpty + visible: !assetsModel.hasFiles && root.__searchBoxEmpty clip: true MouseArea { // right clicking the empty area of the view diff --git a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsContextMenu.qml b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsContextMenu.qml index 391c622048..a8eb5285f5 100644 --- a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsContextMenu.qml +++ b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsContextMenu.qml @@ -83,7 +83,7 @@ StudioControls.Menu { root.__selectedAssetPathsList = selectedAssetPathsList root.__fileIndex = fileIndex root.__dirIndex = dirModelIndex - root.__dirPath = AssetsLibraryBackend.assetsModel.filePath(dirModelIndex) + root.__dirPath = root.assetsModel.filePath(dirModelIndex) root.__isDirectory = false root.popup() } @@ -124,9 +124,9 @@ StudioControls.Menu { id: addTexturesItem text: qsTr("Add Texture") enabled: rootView.hasMaterialLibrary - visible: root.__fileIndex && AssetsLibraryBackend.assetsModel.allFilePathsAreTextures(root.__selectedAssetPathsList) + visible: root.__fileIndex && root.assetsModel.allFilePathsAreTextures(root.__selectedAssetPathsList) height: addTexturesItem.visible ? addTexturesItem.implicitHeight : 0 - onTriggered: AssetsLibraryBackend.rootView.addTextures(root.__selectedAssetPathsList) + onTriggered: root.rootView.addTextures(root.__selectedAssetPathsList) } StudioControls.MenuItem { @@ -134,7 +134,7 @@ StudioControls.Menu { text: qsTr("Add Light Probe") enabled: rootView.hasMaterialLibrary && rootView.hasSceneEnv visible: root.__fileIndex && root.__selectedAssetPathsList.length === 1 - && AssetsLibraryBackend.assetsModel.allFilePathsAreTextures(root.__selectedAssetPathsList) + && root.assetsModel.allFilePathsAreTextures(root.__selectedAssetPathsList) height: addLightProbes.visible ? addLightProbes.implicitHeight : 0 onTriggered: rootView.addLightProbe(root.__selectedAssetPathsList[0]) } @@ -145,7 +145,7 @@ StudioControls.Menu { visible: root.__fileIndex height: deleteFileItem.visible ? deleteFileItem.implicitHeight : 0 onTriggered: { - let deleted = AssetsLibraryBackend.assetsModel.requestDeleteFiles(root.__selectedAssetPathsList) + let deleted = root.assetsModel.requestDeleteFiles(root.__selectedAssetPathsList) if (!deleted) confirmDeleteFiles.open() } @@ -182,7 +182,7 @@ StudioControls.Menu { StudioControls.MenuItem { text: qsTr("New Folder") - visible: AssetsLibraryBackend.assetsModel.haveFiles + visible: root.assetsModel.hasFiles height: visible ? implicitHeight : 0 NewFolderDialog { @@ -209,11 +209,11 @@ StudioControls.Menu { } onTriggered: { - if (!AssetsLibraryBackend.assetsModel.hasChildren(root.__dirIndex)) { + if (!root.assetsModel.hasChildren(root.__dirIndex)) { // NOTE: the folder may still not be empty -- it doesn't have files visible to the // user, but that doesn't mean that there are no other files (e.g. files of unknown // types) on disk in this directory. - AssetsLibraryBackend.assetsModel.deleteFolderRecursively(root.__dirIndex) + root.assetsModel.deleteFolderRecursively(root.__dirIndex) } else { confirmDeleteFolderDialog.open() } @@ -222,7 +222,7 @@ StudioControls.Menu { StudioControls.MenuItem { text: qsTr("New Effect") - visible: rootView.canCreateEffects() + visible: root.rootView.canCreateEffects() height: visible ? implicitHeight : 0 NewEffectDialog { @@ -235,15 +235,22 @@ StudioControls.Menu { } StudioControls.MenuItem { - text: rootView.showInGraphicalShellMsg() + text: root.rootView.showInGraphicalShellMsg() enabled: root.__showInGraphicalShellEnabled onTriggered: { if (!root.__fileIndex || root.__selectedAssetPathsList.length > 1) - rootView.showInGraphicalShell(root.__dirPath) + root.rootView.showInGraphicalShell(root.__dirPath) else - rootView.showInGraphicalShell(root.__selectedAssetPathsList[0]) + root.rootView.showInGraphicalShell(root.__selectedAssetPathsList[0]) } } + + StudioControls.MenuItem { + text: qsTr("Add to Content Library") + visible: root.rootView.userBundleEnabled() && root.__fileIndex && root.assetsModel.allFilePathsAreTextures(root.__selectedAssetPathsList) + height: visible ? implicitHeight : 0 + onTriggered: root.rootView.addAssetsToContentLibrary(root.__selectedAssetPathsList) + } } diff --git a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsView.qml b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsView.qml index 9326e6a5e3..aeabc92c6d 100644 --- a/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsView.qml +++ b/share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsView.qml @@ -70,9 +70,9 @@ TreeView { model: assetsModel onRowsChanged: { - if (root.rows > root.rootPathRow + 1 && !assetsModel.haveFiles || - root.rows <= root.rootPathRow + 1 && assetsModel.haveFiles) { - assetsModel.syncHaveFiles() + if (root.rows > root.rootPathRow + 1 && !assetsModel.hasFiles || + root.rows <= root.rootPathRow + 1 && assetsModel.hasFiles) { + assetsModel.syncHasFiles() } root.updateRows() @@ -366,7 +366,7 @@ TreeView { function moveSelection(amount) { - if (!assetsModel.haveFiles || !amount) + if (!assetsModel.hasFiles || !amount) return let index = root.currentFilePath ? assetsModel.indexForPath(root.currentFilePath) |