mobile/statistics: small UI improvements

This gets us better log messages and better spacing - but it's far from
good and all of this should be squashed into one working version in the
end.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2021-01-09 17:54:56 +00:00
parent 5cfa13694c
commit 3cd795c71e

View file

@ -15,14 +15,22 @@ Kirigami.Page {
bottomPadding: 0 bottomPadding: 0
width: rootItem.width width: rootItem.width
implicitWidth: rootItem.width implicitWidth: rootItem.width
property bool wide: width > height property bool wide: width > rootItem.height
StatsManager { StatsManager {
id: statsManager id: statsManager
} }
onVisibleChanged: { onVisibleChanged: {
manager.appendTextToLog("StatisticsPage visible changed with width " + width + " with height " + rootItem.height + " we are " + (statisticsPage.wide ? "in" : "not in") + " wide mode")
if (visible) if (visible)
statsManager.doit() statsManager.doit()
} }
onWidthChanged: {
if (visible) {
manager.appendTextToLog("StatisticsPage width changed to " + width + " with height " + height + " we are " +
(statisticsPage.wide ? "in" : "not in") + " wide mode - screen " + Screen.width + " x " + Screen.height )
statsManager.doit()
}
}
GridLayout { GridLayout {
anchors.fill: parent anchors.fill: parent
@ -30,7 +38,8 @@ Kirigami.Page {
id: i1 id: i1
Layout.column: 0 Layout.column: 0
Layout.row: 0 Layout.row: 0
Layout.margins: Kirigami.Units.smallSpacing Layout.leftMargin: Kirigami.Units.smallSpacing
Layout.topMargin: Kirigami.Units.smallSpacing
TemplateLabelSmall { TemplateLabelSmall {
text: qsTr("Base variable") text: qsTr("Base variable")
} }
@ -48,7 +57,7 @@ Kirigami.Page {
id: i2 id: i2
Layout.column: wide ? 0 : 1 Layout.column: wide ? 0 : 1
Layout.row: wide ? 1 : 0 Layout.row: wide ? 1 : 0
Layout.margins: Kirigami.Units.smallSpacing Layout.leftMargin: Kirigami.Units.smallSpacing
TemplateLabelSmall { TemplateLabelSmall {
text: qsTr("Binning") text: qsTr("Binning")
} }
@ -64,9 +73,9 @@ Kirigami.Page {
} }
ColumnLayout { ColumnLayout {
id: i3 id: i3
Layout.column: wide ? 0 : 2 Layout.column: wide ? 0 : 0
Layout.row: wide ? 2 : 0 Layout.row: wide ? 2 : 1
Layout.margins: Kirigami.Units.smallSpacing Layout.leftMargin: Kirigami.Units.smallSpacing
TemplateLabelSmall { TemplateLabelSmall {
text: qsTr("Data") text: qsTr("Data")
} }
@ -82,9 +91,9 @@ Kirigami.Page {
} }
ColumnLayout { ColumnLayout {
id: i4 id: i4
Layout.column: wide ? 0 : 3 Layout.column: wide ? 0 : 1
Layout.row: wide ? 3 : 0 Layout.row: wide ? 3 : 1
Layout.margins: Kirigami.Units.smallSpacing Layout.leftMargin: Kirigami.Units.smallSpacing
TemplateLabelSmall { TemplateLabelSmall {
text: qsTr("Binning") text: qsTr("Binning")
} }
@ -100,9 +109,9 @@ Kirigami.Page {
} }
ColumnLayout { ColumnLayout {
id: i5 id: i5
Layout.column: wide ? 0 : 2 Layout.column: wide ? 0 : 0
Layout.row: wide ? 4 : 1 Layout.row: wide ? 4 : 2
Layout.margins: Kirigami.Units.smallSpacing Layout.leftMargin: Kirigami.Units.smallSpacing
TemplateLabelSmall { TemplateLabelSmall {
text: qsTr("Operation") text: qsTr("Operation")
} }
@ -117,21 +126,30 @@ Kirigami.Page {
} }
} }
Item { Item {
Layout.column: wide ? 0 : 4 Layout.column: wide ? 0 : 1
Layout.row: wide ? 4 : 0 Layout.row: wide ? 5 : 2
Layout.preferredHeight: wide ? parent.height - Kirigami.Units.gridUnit * 16 : Kirigami.Units.gridUnit Layout.preferredHeight: wide ? parent.height - Kirigami.Units.gridUnit * 16 : Kirigami.Units.gridUnit
Layout.preferredWidth: wide ? parent.width - i1.implicitWidt - i2.implicitWidt - i3.implicitWidt - i4.implicitWidth : Kirigami.Units.gridUnit Layout.preferredWidth: wide ? parent.width - i1.implicitWidt - i2.implicitWidt - i3.implicitWidt - i4.implicitWidth : Kirigami.Units.gridUnit
// just used for spacing // just used for spacing
} }
StatsView { StatsView {
Layout.row: wide ? 0 : 1
Layout.column: wide ? 1 : 0 Layout.column: wide ? 1 : 0
Layout.row: wide ? 0 : 3
Layout.columnSpan: wide ? 1 : 3
Layout.rowSpan: wide ? 5 : 1 Layout.rowSpan: wide ? 5 : 1
Layout.columnSpan: wide ? 1 : 5
id: statsView id: statsView
Layout.margins: Kirigami.Units.smallSpacing
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.maximumHeight: wide ? statisticsPage.height - 2 * Kirigami.Units.gridUnit :
statisticsPage.height - 2 * Kirigami.Units.gridUnit - i4.height
Layout.maximumWidth: wide ? statisticsPage.width - 2 * Kirigami.Units.gridUnit - i4.width :
statisticsPage.width - 2 * Kirigami.Units.smallSpacing
onWidthChanged: {
console.log("StatsView widget width is " + width + " on page with width " + statisticsPage.width)
}
} }
} }
Component.onCompleted: { Component.onCompleted: {