| 
									
										
										
										
											2017-05-29 19:55:36 +02:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2017-06-04 14:40:25 +02:00
										 |  |  | 	property bool selected | 
					
						
							| 
									
										
										
										
											2017-05-29 19:55:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	enabled: true | 
					
						
							|  |  |  | 	supportsMouseEvents: true | 
					
						
							|  |  |  | 	width: parent.width | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	property real detailsOpacity : 0 | 
					
						
							|  |  |  | 	property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing  + 1 | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 	property color textColor: subsurfaceTheme.textColor | 
					
						
							| 
									
										
										
										
											2017-05-29 19:55:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	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 } | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2017-06-04 14:40:25 +02:00
										 |  |  | 		CheckBox { | 
					
						
							|  |  |  | 			id: diveIsSelected | 
					
						
							|  |  |  | 			checked: innerListItem.selected; | 
					
						
							|  |  |  | 			width: childrenRect.heigh - Kirigami.Units.smallSpacing; | 
					
						
							|  |  |  | 			height: childrenRect.heigh - Kirigami.Units.smallSpacing; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2017-05-29 19:55:36 +02:00
										 |  |  | 		Item { | 
					
						
							|  |  |  | 			id: diveListEntry | 
					
						
							| 
									
										
										
										
											2017-06-04 14:40:25 +02:00
										 |  |  | 			width: parent.width - diveIsSelected.width - Kirigami.Units.gridUnit * (innerListItem.deleteButtonVisible ? 3 : 1) | 
					
						
							| 
									
										
										
										
											2017-05-29 19:55:36 +02:00
										 |  |  | 			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 | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |