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);
 | 
						|
	}
 | 
						|
}
 |