You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.5 KiB
76 lines
1.5 KiB
import QtQuick 2.10
|
|
import QtQuick.Controls 2.3
|
|
import QtQuick.Layouts 1.3
|
|
import de.skycoder42.QtMvvm.Quick 1.0
|
|
|
|
ListView {
|
|
id: _sectionListView
|
|
|
|
property bool showSections: true
|
|
property SettingsUiBuilder builder
|
|
|
|
section.property: showSections ? "category" : ""
|
|
section.labelPositioning: ViewSection.InlineLabels
|
|
section.delegate: ListSection {
|
|
title: section
|
|
}
|
|
|
|
delegate: ItemDelegate {
|
|
id: delegate
|
|
width: parent.width
|
|
|
|
onClicked: builder.loadSection(section)
|
|
|
|
contentItem: GridLayout {
|
|
id: grid
|
|
rows: 2
|
|
columns: 3
|
|
columnSpacing: 14
|
|
|
|
TintIcon {
|
|
id: tintIcon
|
|
source: iconUrl
|
|
visible: iconUrl != ""
|
|
Layout.row: 0
|
|
Layout.column: 0
|
|
Layout.rowSpan: 2
|
|
Layout.fillHeight: true
|
|
Layout.preferredWidth: iconSize.width
|
|
Layout.preferredHeight: iconSize.height
|
|
Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
|
|
}
|
|
|
|
Label {
|
|
id: titleLabel
|
|
text: title
|
|
Layout.row: 0
|
|
Layout.column: 1
|
|
font.bold: true
|
|
elide: Label.ElideRight
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
id: textLabel
|
|
visible: tooltip
|
|
Layout.row: 1
|
|
Layout.column: 1
|
|
text: tooltip
|
|
wrapMode: Text.WordWrap
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
TintIcon {
|
|
id: openIcon
|
|
source: "image://svg/de/skycoder42/qtmvvm/quick/icons/ic_chevron_right"
|
|
Layout.row: 0
|
|
Layout.column: 2
|
|
Layout.rowSpan: 2
|
|
Layout.fillHeight: true
|
|
Layout.preferredWidth: iconSize.width
|
|
Layout.preferredHeight: iconSize.height
|
|
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|