mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile/summary: add section headers
Add section headers to the dive summaries on mobile by adding a section-property. Of course, this will not work on desktop. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
1809dbd00a
commit
a93c303b8b
3 changed files with 28 additions and 1 deletions
|
@ -123,6 +123,7 @@ Kirigami.ScrollablePage {
|
||||||
id: headerLabel
|
id: headerLabel
|
||||||
verticalAlignment: Qt.AlignVCenter
|
verticalAlignment: Qt.AlignVCenter
|
||||||
colorBackground: parent.color
|
colorBackground: parent.color
|
||||||
|
leftPadding: Kirigami.Units.largeSpacing
|
||||||
text: header !== undefined ? header : ""
|
text: header !== undefined ? header : ""
|
||||||
font.bold: true
|
font.bold: true
|
||||||
}
|
}
|
||||||
|
@ -150,6 +151,20 @@ Kirigami.ScrollablePage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: sectionDelegate
|
||||||
|
Rectangle {
|
||||||
|
width: headerColumnWidth * 4 - Kirigami.Units.gridUnit * 2
|
||||||
|
height: headerLabel.height + Kirigami.Units.largeSpacing
|
||||||
|
TemplateLabel {
|
||||||
|
id: headerLabel
|
||||||
|
verticalAlignment: Qt.AlignVCenter
|
||||||
|
colorBackground: parent.color
|
||||||
|
text: section
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
ListView {
|
ListView {
|
||||||
id: resultsTable
|
id: resultsTable
|
||||||
model: summaryModel
|
model: summaryModel
|
||||||
|
@ -157,6 +172,8 @@ Kirigami.ScrollablePage {
|
||||||
width: summary.width
|
width: summary.width
|
||||||
height: summaryModel.rowCount() * 2 * Kirigami.Units.gridUnit
|
height: summaryModel.rowCount() * 2 * Kirigami.Units.gridUnit
|
||||||
delegate: rowDelegate
|
delegate: rowDelegate
|
||||||
|
section.property: "section"
|
||||||
|
section.delegate: sectionDelegate
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
manager.appendTextToLog("SUMMARY: width: " + width + " height: " + height + " rows: " + model.rowCount())
|
manager.appendTextToLog("SUMMARY: width: " + width + " height: " + height + " rows: " + model.rowCount())
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,8 @@ QHash<int, QByteArray> DiveSummaryModel::roleNames() const
|
||||||
{
|
{
|
||||||
return { { HEADER_ROLE, "header" },
|
return { { HEADER_ROLE, "header" },
|
||||||
{ COLUMN0_ROLE, "col0" },
|
{ COLUMN0_ROLE, "col0" },
|
||||||
{ COLUMN1_ROLE, "col1" } };
|
{ COLUMN1_ROLE, "col1" },
|
||||||
|
{ SECTION_ROLE, "section" } };
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant DiveSummaryModel::dataDisplay(int row, int col) const
|
QVariant DiveSummaryModel::dataDisplay(int row, int col) const
|
||||||
|
@ -61,6 +62,14 @@ QVariant DiveSummaryModel::data(const QModelIndex &index, int role) const
|
||||||
return dataDisplay(row, 0);
|
return dataDisplay(row, 0);
|
||||||
case COLUMN1_ROLE:
|
case COLUMN1_ROLE:
|
||||||
return dataDisplay(row, 1);
|
return dataDisplay(row, 1);
|
||||||
|
case SECTION_ROLE:
|
||||||
|
switch (row) {
|
||||||
|
case DIVES ... PLANS: return tr("Number of dives");
|
||||||
|
case TIME ... TIME_AVG: return tr("Time");
|
||||||
|
case DEPTH_MAX ... DEPTH_AVG: return tr("Depth");
|
||||||
|
case SAC_MIN ... SAC_AVG: return tr("SAC");
|
||||||
|
default: return QVariant();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// The unsupported case
|
// The unsupported case
|
||||||
|
|
|
@ -32,6 +32,7 @@ public:
|
||||||
HEADER_ROLE = Qt::UserRole + 1,
|
HEADER_ROLE = Qt::UserRole + 1,
|
||||||
COLUMN0_ROLE,
|
COLUMN0_ROLE,
|
||||||
COLUMN1_ROLE,
|
COLUMN1_ROLE,
|
||||||
|
SECTION_ROLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Result {
|
struct Result {
|
||||||
|
|
Loading…
Add table
Reference in a new issue