summaryrefslogblamecommitdiffstats
path: root/mobile-widgets/qml/DownloadedDiveDelegate.qml
blob: 630382e34c952a49ee89d14aa06430716546f279 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14












                                       
                              





                                                                                                      
                                                           








                                                                                                




                                                                                 
                                         
                                                                                                                                          












































                                                                                      
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.3
import org.subsurfacedivelog.mobile 1.0
import org.kde.kirigami 2.0 as Kirigami

Kirigami.AbstractListItem {
	id: innerListItem

	property string depth
	property string datetime
	property string duration
	property bool selected

	enabled: true
	supportsMouseEvents: true
	width: parent.width

	property real detailsOpacity : 0
	property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing  + 1
	property color textColor: subsurfaceTheme.textColor

	Row {
		width: parent.width
		height: childrenRect.height + Kirigami.Units.smallSpacing
		spacing: horizontalPadding

		add: Transition {
			NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 400 }
			NumberAnimation { property: "scale"; from: 0; to: 1.0; duration: 400 }
		}
		CheckBox {
			id: diveIsSelected
			checked: innerListItem.selected;
			width: childrenRect.heigh - Kirigami.Units.smallSpacing;
			height: childrenRect.heigh - Kirigami.Units.smallSpacing;
		}
		Item {
			id: diveListEntry
			width: parent.width - diveIsSelected.width - Kirigami.Units.gridUnit * (innerListItem.deleteButtonVisible ? 3 : 1)
			height: childrenRect.height - Kirigami.Units.smallSpacing

			Kirigami.Label {
				id: depthLabel
				text: "Depth " + innerListItem.depth
				font.weight: Font.Light
				elide: Text.ElideRight
				maximumLineCount: 1 // needed for elide to work at all
				anchors {
					left: parent.left
					leftMargin: horizontalPadding
					top: parent.top
					right: dateLabel.left
				}
			}
			Kirigami.Label {
				id: dateLabel
				text: innerListItem.datetime
				font.pointSize: subsurfaceTheme.smallPointSize
				anchors {
					bottom: parent.bottom
					right: parent.right
					top: parent.top
				}
			}
			Row {
				anchors {
					top: depthLabel.bottom
					left: parent.left
					leftMargin: horizontalPadding
					right: parent.right
					rightMargin: horizontalPadding
					topMargin: - Kirigami.Units.smallSpacing * 2
				}
				Kirigami.Label {
					text: qsTr('Duration: ')
					font.pointSize: subsurfaceTheme.smallPointSize
				}
				Kirigami.Label {
					text: innerListItem.duration
					font.pointSize: subsurfaceTheme.smallPointSize
				}
			}
		}
	}
}