forked from qt-creator/qt-creator
bigger conflicts resolved at: src/plugins/qmldesigner/CMakeLists.txt src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
109 lines
2.9 KiB
QML
109 lines
2.9 KiB
QML
// 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 StudioTheme as StudioTheme
|
|
import StudioControls as StudioControls
|
|
import AssetsLibraryBackend
|
|
|
|
Dialog {
|
|
id: root
|
|
title: qsTr("Confirm Delete Files")
|
|
anchors.centerIn: parent
|
|
closePolicy: Popup.CloseOnEscape
|
|
implicitWidth: 350
|
|
modal: true
|
|
|
|
required property var files
|
|
|
|
contentItem: Column {
|
|
spacing: 20
|
|
width: parent.width
|
|
|
|
Text {
|
|
id: confirmDeleteText
|
|
|
|
text: root.files && root.files.length
|
|
? qsTr("Some files might be in use. Delete anyway?")
|
|
: ""
|
|
color: StudioTheme.Values.themeTextColor
|
|
wrapMode: Text.WordWrap
|
|
width: root.width
|
|
leftPadding: 10
|
|
rightPadding: 10
|
|
|
|
Keys.onEnterPressed: btnDelete.onClicked()
|
|
Keys.onReturnPressed: btnDelete.onClicked()
|
|
}
|
|
|
|
Loader {
|
|
id: fileListLoader
|
|
sourceComponent: null
|
|
width: parent.width - 20
|
|
x: 10
|
|
height: 50
|
|
}
|
|
|
|
StudioControls.CheckBox {
|
|
id: dontAskAgain
|
|
text: qsTr("Do not ask this again")
|
|
actionIndicatorVisible: false
|
|
width: parent.width
|
|
x: 10
|
|
}
|
|
|
|
Row {
|
|
anchors.right: parent.right
|
|
|
|
HelperWidgets.Button {
|
|
id: btnDelete
|
|
|
|
text: qsTr("Delete")
|
|
onClicked: {
|
|
AssetsLibraryBackend.assetsModel.deleteFiles(root.files, dontAskAgain.checked)
|
|
root.accept()
|
|
}
|
|
}
|
|
|
|
HelperWidgets.Button {
|
|
text: qsTr("Cancel")
|
|
onClicked: root.reject()
|
|
}
|
|
}
|
|
}
|
|
|
|
onOpened: {
|
|
fileListLoader.sourceComponent = null
|
|
fileListLoader.sourceComponent = fileListComponent
|
|
|
|
confirmDeleteText.forceActiveFocus()
|
|
}
|
|
|
|
onClosed: fileListLoader.sourceComponent = null
|
|
|
|
Component {
|
|
id: fileListComponent
|
|
|
|
ListView {
|
|
id: filesListView
|
|
model: root.files
|
|
boundsBehavior: Flickable.StopAtBounds
|
|
clip: true
|
|
|
|
ScrollBar.vertical: HelperWidgets.VerticalScrollBar {
|
|
id: verticalScrollBar
|
|
scrollBarVisible: filesListView.contentHeight > filesListView.height
|
|
}
|
|
|
|
delegate: Text {
|
|
elide: Text.ElideLeft
|
|
text: model.modelData.replace(AssetsLibraryBackend.assetsModel.currentProjectDirPath(), "")
|
|
color: StudioTheme.Values.themeTextColor
|
|
width: parent.width - (verticalScrollBar.scrollBarVisible ? verticalScrollBar.width : 0)
|
|
}
|
|
} // ListView
|
|
} // Component
|
|
}
|