summaryrefslogblamecommitdiffstats
path: root/qt-mobile/qml/DiveDetails.qml
blob: 912a97840d1c40a6e1a3570afe1058134343bc86 (plain) (tree)
1
2
3
4
5
6
7
8
9
                  
                           
                                  

                                       
                                                              
 
                       
                             
                                 
                        
                                
                           
                             
                               
                                  

                                 
                           

                                   
                              
                              
                                                          
                     
 










                                                                           
 
                            
                                            


                                                                               
                                                                        




                                                                                                                                                              
                                 
                                                      



                         
                    
                                    


                                                     
                                                           




                                                                                                     




                                                                   
                                                                                            
                                         
                                                            



                                                                                                                  
                                                 
                                                       


                                                                   
                                                                                            
                                         
                                                            
 


                                                                                                                  



                                 
import QtQuick 2.3
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import org.subsurfacedivelog.mobile 1.0
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents

MobileComponents.Page {
	id: diveDetailsWindow
	width: parent.width
	objectName: "DiveDetails"
	flickable: flick

	property string location
	property string gps
	property string depth
	property string dive_id
	property string diveNumber
	property string duration
	property string airtemp
	property string watertemp
	property string suit
	property int rating
	property string buddy
	property string divemaster;
	property string notes;
	property string date
	property string number
	property string weight
	property alias viewEditText: viewEditSelector.text

	state: "view"

	states: [
		State {
			name: "view"
			PropertyChanges { target: detailsView; opacity: 1 }
			PropertyChanges { target: detailsEdit; opacity: 0 }
		},
		State {
			name: "edit"
			PropertyChanges { target: detailsView; opacity: 0 }
			PropertyChanges { target: detailsEdit; opacity: 1 }
		}
	]

	contextualActions: [
		Action {
			id: viewEditSelector
			text: checked ? "View" : "Edit"
			checkable: true
			iconName: checked ? "view-readermode" : "document-edit"
			onTriggered: {
				if (diveDetailsWindow.state == "edit") {
					manager.commitChanges(dive_id, detailsEdit.locationText, detailsEdit.gpsText, detailsEdit.durationText,
							      detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText,
							      detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText);
					diveDetailsWindow.state = "view";
				} else {
					diveDetailsWindow.state = "edit";
				}
				contextDrawer.close();
				// close drawer?
			}
		}

	]

	ScrollView {
		anchors.fill: parent
		Flickable {
			id: flick
			anchors.fill: parent
			contentHeight: content.height
			interactive: contentHeight > height
			clip: true
			Item {
				id: content
				width: flick.width
				height: childrenRect.height + MobileComponents.Units.smallSpacing * 2

				DiveDetailsEdit {
					id: detailsEdit
					anchors {
						left: parent.left
						right: parent.right
						top: parent.top
						margins: MobileComponents.Units.gridUnit / 2
					}
					visible: opacity > 0

					Behavior on opacity {
						NumberAnimation { duration: MobileComponents.Units.shortDuration }
					}
				}
				DiveDetailsView {
					id: detailsView
					anchors {
						left: parent.left
						right: parent.right
						top: parent.top
						margins: MobileComponents.Units.gridUnit / 2
					}
					visible: opacity > 0

					Behavior on opacity {
						NumberAnimation { duration: MobileComponents.Units.shortDuration }
					}

				}
			}
		}
	}
}