mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
organize qml files in subdirectories
This makes the organization of the qml files a bit more fine-grained, it prevents mixing of .cpp and QML files, and also of what's compiled, and what's included in the app as qrc data. In particular: - subsurface specific QML items go into the qml/ subdirectory - theme and unit definitions to into qml/theme subdirectory (they already were located in a theme directory) - generic components, such as our Label goes into qml/components This facilitates sharing of functionality and identifying common stuff better. Ideally, we can pull qml/theme and qml/components from a standardized set at some point, so we don't have to maintain that code. Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
95ac4c4454
commit
aae4a326f4
15 changed files with 3 additions and 3 deletions
219
qt-mobile/qml/main.qml
Normal file
219
qt-mobile/qml/main.qml
Normal file
|
@ -0,0 +1,219 @@
|
|||
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
|
||||
/* Added for subsurface */
|
||||
property color accentColor: "#2d5b9a"
|
||||
property color accentTextColor: "#ececec"
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
MenuItem {
|
||||
text: "Theme Information"
|
||||
onTriggered: {
|
||||
stackView.push(themetest)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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.smallSpacing * 2
|
||||
Layout.fillWidth: true
|
||||
Layout.margins: 0
|
||||
RowLayout {
|
||||
anchors.bottom: topPart.bottom
|
||||
anchors.bottomMargin: units.smallSpacing
|
||||
anchors.left: topPart.left
|
||||
anchors.leftMargin: units.smallSpacing
|
||||
anchors.right: topPart.right
|
||||
anchors.rightMargin: units.smallSpacing
|
||||
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
|
||||
}
|
||||
|
||||
ThemeTest {
|
||||
id: themetest
|
||||
visible: false
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
print("units.gridUnit is: " + units.gridUnit);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue