aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2024-04-20 00:25:43 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2024-04-23 09:51:51 +0000
commita369d075ad6f042823e5a3742162cd3858cc055a (patch)
tree607a43fb5006bd3ede2a6e71186f7ab7a354b674 /share/qtcreator
parentcbc617d2ad1d881fd9c40445e65bce83f2689b8e (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')
-rw-r--r--share/qtcreator/qmldesigner/assetsLibraryQmlSources/Assets.qml6
-rw-r--r--share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsContextMenu.qml31
-rw-r--r--share/qtcreator/qmldesigner/assetsLibraryQmlSources/AssetsView.qml8
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)