// Copyright (C) 2022 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.Controls import HelperWidgets as HelperWidgets import StudioControls as StudioControls import StudioTheme as StudioTheme import AssetsLibraryBackend Dialog { id: root title: qsTr("Create New Folder") anchors.centerIn: parent closePolicy: Popup.CloseOnEscape modal: true required property string dirPath property string createdDirPath: "" readonly property int __maxPath: 260 HelperWidgets.RegExpValidator { id: folderNameValidator regExp: /^(\w[^*/> root.__maxPath } Item { // spacer width: 1 height: 20 } Row { anchors.right: parent.right HelperWidgets.Button { id: btnCreate text: qsTr("Create") enabled: folderName.text !== "" && root.createdDirPath.length <= root.__maxPath onClicked: { root.createdDirPath = root.dirPath + '/' + folderName.text if (AssetsLibraryBackend.assetsModel.addNewFolder(root.createdDirPath)) root.accept() else creationFailedDialog.open() } } HelperWidgets.Button { text: qsTr("Cancel") onClicked: root.reject() } } } onOpened: { folderName.text = qsTr("New folder") folderName.selectAll() folderName.forceActiveFocus() } onRejected: { root.createdDirPath = "" } }