mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	- fix spacing and sizing in TopBar - use an anchor layout for the delegate and split out labels and values: this allows more uniform alignment - add the subsurface mobile icon to the first page - various visual touch-ups to taste Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			204 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
| import QtQuick 2.3
 | |
| import QtQuick.Controls 1.2
 | |
| import QtQuick.Controls.Styles 1.2
 | |
| import QtQuick.Window 2.2
 | |
| import QtQuick.Dialogs 1.2
 | |
| import QtQuick.Layouts 1.1
 | |
| import QtQuick.Window 2.2
 | |
| import org.subsurfacedivelog.mobile 1.0
 | |
| import "qrc:/qml/theme" as Theme
 | |
| 
 | |
| 
 | |
| ApplicationWindow {
 | |
| 	title: qsTr("Subsurface mobile")
 | |
| 	property bool fullscreen: true
 | |
| 	property alias messageText: message.text
 | |
| 	visible: true
 | |
| 
 | |
| 	Theme.Units {
 | |
| 		id: units
 | |
| 	}
 | |
| 
 | |
| 	Theme.Theme {
 | |
| 		id: theme
 | |
| 	}
 | |
| 
 | |
| 	Menu {
 | |
| 		id: prefsMenu
 | |
| 		title: "Menu"
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "Preferences"
 | |
| 			onTriggered: {
 | |
| 				stackView.push(prefsWindow)
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "Load Dives"
 | |
| 			onTriggered: {
 | |
| 				manager.loadDives();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "Download Dives"
 | |
| 			onTriggered: {
 | |
| 				stackView.push(downloadDivesWindow)
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "Add Dive"
 | |
| 			onTriggered: {
 | |
| 				manager.addDive();
 | |
| 				stackView.push(detailsWindow)
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "Save Changes"
 | |
| 			onTriggered: {
 | |
| 				manager.saveChanges();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		MenuItem {
 | |
| 			text: "View Log"
 | |
| 			onTriggered: {
 | |
| 				stackView.push(logWindow)
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	StackView {
 | |
| 		id: stackView
 | |
| 		anchors.fill: parent
 | |
| 		focus: true
 | |
| 		Keys.onReleased: if (event.key == Qt.Key_Back && stackView.depth > 1) {
 | |
| 					 stackView.pop()
 | |
| 					 event.accepted = true;
 | |
| 				 }
 | |
| 		initialItem: Item {
 | |
| 			width: parent.width
 | |
| 			height: parent.height
 | |
| 
 | |
| 			ColumnLayout {
 | |
| 				id: awLayout
 | |
| 				anchors.fill: parent
 | |
| 				spacing: units.gridUnit / 2
 | |
| 				Rectangle {
 | |
| 					id: topPart
 | |
| 					color: theme.accentColor
 | |
| 					Layout.minimumHeight: units.gridUnit * 2 + units.spacing * 2
 | |
| 					Layout.fillWidth: true
 | |
| 					Layout.margins: 0
 | |
| 					RowLayout {
 | |
| 						anchors.bottom: topPart.bottom
 | |
| 						anchors.bottomMargin: units.spacing
 | |
| 						anchors.left: topPart.left
 | |
| 						anchors.leftMargin: units.spacing
 | |
| 						anchors.right: topPart.right
 | |
| 						anchors.rightMargin: units.spacing
 | |
| 						Image {
 | |
| 							source: "qrc:/qml/subsurface-mobile-icon.png"
 | |
| 							Layout.maximumWidth: units.gridUnit * 2
 | |
| 							Layout.preferredWidth: units.gridUnit * 2
 | |
| 							Layout.preferredHeight: units.gridUnit * 2
 | |
| 						}
 | |
| 						Text {
 | |
| 							text: qsTr("Subsurface mobile")
 | |
| 							font.pointSize: 18
 | |
| 							Layout.fillWidth: false
 | |
| 							color: theme.accentTextColor
 | |
| 						}
 | |
| 						Item {
 | |
| 							Layout.fillWidth: true
 | |
| 						}
 | |
| 						Button {
 | |
| 							id: prefsButton
 | |
| 							text: "\u22ee"
 | |
| 							anchors.right: parent.right
 | |
| 							Layout.preferredWidth: units.gridUnit * 2
 | |
| 							Layout.preferredHeight: units.gridUnit * 2
 | |
| 							style: ButtonStyle {
 | |
| 								background: Rectangle {
 | |
| 									implicitWidth: units.gridUnit * 2
 | |
| 									color: theme.accentColor
 | |
| 								}
 | |
| 								label: Text {
 | |
| 									id: txt
 | |
| 									color: theme.accentTextColor
 | |
| 									font.pointSize: 18
 | |
| 									font.bold: true
 | |
| 									text: control.text
 | |
| 									horizontalAlignment: Text.AlignHCenter
 | |
| 								}
 | |
| 							}
 | |
| 							onClicked: {
 | |
| 								prefsMenu.popup()
 | |
| 							}
 | |
| 						}
 | |
| 
 | |
| 					}
 | |
| 
 | |
| 				}
 | |
| 
 | |
| 				Rectangle {
 | |
| 					id: detailsPage
 | |
| 					Layout.fillHeight: true
 | |
| 					Layout.fillWidth: true
 | |
| 
 | |
| 					DiveList {
 | |
| 						anchors.fill: detailsPage
 | |
| 						id: diveDetails
 | |
| 						color: theme.backgroundColor
 | |
| 					}
 | |
| 				}
 | |
| 
 | |
| 				Rectangle {
 | |
| 					id: messageArea
 | |
| 					height: childrenRect.height
 | |
| 					Layout.fillWidth: true
 | |
| 
 | |
| 					Text {
 | |
| 						id: message
 | |
| 						color: theme.textColor
 | |
| 						text: ""
 | |
| 						styleColor: theme.textColor
 | |
| 						font.pointSize: 10
 | |
| 					}
 | |
| 				}
 | |
| 
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	QMLManager {
 | |
| 		id: manager
 | |
| 	}
 | |
| 
 | |
| 	Preferences {
 | |
| 		id: prefsWindow
 | |
| 		visible: false
 | |
| 	}
 | |
| 
 | |
| 	DiveDetails {
 | |
| 		id: detailsWindow
 | |
| 		visible: false
 | |
| 	}
 | |
| 
 | |
| 	DownloadFromDiveComputer {
 | |
| 		id: downloadDivesWindow
 | |
| 		visible: false
 | |
| 	}
 | |
| 
 | |
| 	Log {
 | |
| 		id: logWindow
 | |
| 		visible: false
 | |
| 	}
 | |
| 
 | |
| 	Component.onCompleted: {
 | |
| 		print("units.gridUnit is: " + units.gridUnit);
 | |
| 	}
 | |
| }
 |