Files
qt-creator/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/GridViewSpecifics.qml

275 lines
9.4 KiB
QML
Raw Normal View History

/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
FlickableSection {
anchors.left: parent.left
anchors.right: parent.right
}
Section {
caption: qsTr("Grid View")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel { text: qsTr("Cell size") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentWidth
minimumValue: 0
maximumValue: 10000
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
//: The width of the object
text: qsTr("W", "width")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentHeight
minimumValue: 0
maximumValue: 10000
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
//: The height of the object
text: qsTr("H", "height")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Flow") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.flow
model: ["FlowLeftToRight", "FlowTopToBottom"]
scope: "GridView"
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Layout direction") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("Determines how the view scrolling will settle following a drag or flick.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
model: ["NoSnap", "SnapToRow", "SnapOneRow"]
scope: "GridView"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Cache")
tooltip: qsTr("Cache buffer")
blockedByTemplate: !backendValues.cacheBuffer.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.cacheBuffer
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Navigation wraps")
tooltip: qsTr("Whether the grid wraps key navigation.")
blockedByTemplate: !backendValues.keyNavigationWraps.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.keyNavigationWraps.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.keyNavigationWraps
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}
Section {
caption: qsTr("Grid View Highlight")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Range")
tooltip: qsTr("Highlight range")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.highlightRangeMode
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
scope: "GridView"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Move duration")
tooltip: qsTr("Move animation duration of the highlight delegate.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightMoveDuration
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Preferred begin")
tooltip: qsTr("Preferred highlight begin - must be smaller than Preferred end.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightBegin
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Preferred end")
tooltip: qsTr("Preferred highlight end - must be larger than Preferred begin.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightEnd
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Follows current")
tooltip: qsTr("Whether the highlight is managed by the view.")
}
SectionLayout {
CheckBox {
text: backendValues.highlightFollowsCurrentItem.valueToString
backendValue: backendValues.highlightFollowsCurrentItem
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}
}