forked from qt-creator/qt-creator
When QDS starts for the first time, and there is no internet connection (to download the materials bundle and the textures bundle), tell the user that the problem might be the internet connection. Task-number: QDS-9539 Change-Id: I81311bf00c830b76019e0edb53eeb980362a1339 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
111 lines
3.2 KiB
QML
111 lines
3.2 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 HelperWidgets as HelperWidgets
|
|
import StudioControls as StudioControls
|
|
import StudioTheme as StudioTheme
|
|
import ContentLibraryBackend
|
|
|
|
HelperWidgets.ScrollView {
|
|
id: root
|
|
|
|
clip: true
|
|
interactive: !ctxMenu.opened && !ContentLibraryBackend.rootView.isDragging
|
|
|
|
readonly property int cellWidth: 100
|
|
readonly property int cellHeight: 100
|
|
|
|
property var currMaterialItem: null
|
|
property var rootItem: null
|
|
|
|
required property var searchBox
|
|
required property var model
|
|
required property string sectionCategory
|
|
|
|
signal unimport(var bundleMat);
|
|
|
|
function closeContextMenu()
|
|
{
|
|
ctxMenu.close()
|
|
}
|
|
|
|
function expandVisibleSections()
|
|
{
|
|
for (let i = 0; i < categoryRepeater.count; ++i) {
|
|
let cat = categoryRepeater.itemAt(i)
|
|
if (cat.visible && !cat.expanded)
|
|
cat.expandSection()
|
|
}
|
|
}
|
|
Column {
|
|
ContentLibraryTextureContextMenu {
|
|
id: ctxMenu
|
|
|
|
hasSceneEnv: root.model.hasSceneEnv
|
|
}
|
|
|
|
Repeater {
|
|
id: categoryRepeater
|
|
|
|
model: root.model
|
|
|
|
delegate: HelperWidgets.Section {
|
|
width: root.width
|
|
caption: bundleCategoryName
|
|
addTopPadding: false
|
|
sectionBackgroundColor: "transparent"
|
|
visible: bundleCategoryVisible && !root.model.isEmpty
|
|
expanded: bundleCategoryExpanded
|
|
expandOnClick: false
|
|
category: root.sectionCategory
|
|
|
|
onToggleExpand: bundleCategoryExpanded = !bundleCategoryExpanded
|
|
onExpand: bundleCategoryExpanded = true
|
|
onCollapse: bundleCategoryExpanded = false
|
|
|
|
function expandSection() {
|
|
bundleCategoryExpanded = true
|
|
}
|
|
|
|
Grid {
|
|
width: root.width
|
|
leftPadding: 5
|
|
rightPadding: 5
|
|
bottomPadding: 5
|
|
spacing: 5
|
|
columns: root.width / root.cellWidth
|
|
|
|
Repeater {
|
|
model: bundleCategoryTextures
|
|
|
|
delegate: ContentLibraryTexture {
|
|
width: root.cellWidth
|
|
height: root.cellHeight
|
|
|
|
onShowContextMenu: ctxMenu.popupMenu(modelData)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Text {
|
|
id: infoText
|
|
text: {
|
|
if (!root.model.texBundleExists)
|
|
qsTr("No textures available. Make sure you have internet connection.")
|
|
else if (!searchBox.isEmpty())
|
|
qsTr("No match found.")
|
|
else
|
|
""
|
|
}
|
|
color: StudioTheme.Values.themeTextColor
|
|
font.pixelSize: StudioTheme.Values.baseFontSize
|
|
topPadding: 10
|
|
leftPadding: 10
|
|
visible: root.model.isEmpty
|
|
}
|
|
}
|
|
}
|