mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: build our own icon and header for global drawer
Kirigami appears to have a bug that makes it fail to show our icon. With this we can be much more flexible in what we show in the top area of the global drawer. Fixes #1331 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
0b16b547ae
commit
c8ef3d7924
1 changed files with 57 additions and 3 deletions
|
@ -8,6 +8,7 @@ import QtQuick.Layouts 1.2
|
||||||
import QtQuick.Window 2.2
|
import QtQuick.Window 2.2
|
||||||
import org.subsurfacedivelog.mobile 1.0
|
import org.subsurfacedivelog.mobile 1.0
|
||||||
import org.kde.kirigami 2.2 as Kirigami
|
import org.kde.kirigami 2.2 as Kirigami
|
||||||
|
import QtGraphicalEffects 1.0
|
||||||
|
|
||||||
Kirigami.ApplicationWindow {
|
Kirigami.ApplicationWindow {
|
||||||
id: rootItem
|
id: rootItem
|
||||||
|
@ -106,10 +107,63 @@ Kirigami.ApplicationWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
globalDrawer: Kirigami.GlobalDrawer {
|
globalDrawer: Kirigami.GlobalDrawer {
|
||||||
title: qsTr("Subsurface")
|
topContent: Image {
|
||||||
titleIcon: "qrc:/qml/subsurface-mobile-icon.png"
|
source: "qrc:/qml/icons/dive.jpg"
|
||||||
|
Layout.fillWidth: true
|
||||||
|
sourceSize.width: parent.width
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
asynchronous: true
|
||||||
|
LinearGradient {
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
top: parent.top
|
||||||
|
}
|
||||||
|
height: textblock.height * 2
|
||||||
|
start: Qt.point(0, 0)
|
||||||
|
end: Qt.point(0, height)
|
||||||
|
gradient: Gradient {
|
||||||
|
GradientStop {
|
||||||
|
position: 0.0
|
||||||
|
color: Qt.rgba(0, 0, 0, 0.8)
|
||||||
|
}
|
||||||
|
GradientStop {
|
||||||
|
position: 1.0
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ColumnLayout {
|
||||||
|
id: textblock
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
top: parent.top
|
||||||
|
}
|
||||||
|
RowLayout {
|
||||||
|
width: Math.min(implicitWidth, parent.width)
|
||||||
|
Layout.margins: Kirigami.Units.smallSpacing
|
||||||
|
Image {
|
||||||
|
source: "qrc:/qml/subsurface-mobile-icon.png"
|
||||||
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
sourceSize.width: Kirigami.Units.iconSizes.large
|
||||||
|
width: Kirigami.Units.iconSizes.large
|
||||||
|
Layout.margins: Kirigami.Units.smallSpacing
|
||||||
|
}
|
||||||
|
Kirigami.Heading {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
visible: text.length > 0
|
||||||
|
level: 1
|
||||||
|
color: "white"
|
||||||
|
text: "Subsurface"
|
||||||
|
wrapMode: Text.NoWrap
|
||||||
|
elide: Text.ElideRight
|
||||||
|
font.weight: Font.Normal
|
||||||
|
Layout.margins: Kirigami.Units.smallSpacing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bannerImageSource: "qrc:/qml/icons/dive.jpg"
|
|
||||||
resetMenuOnTriggered: false
|
resetMenuOnTriggered: false
|
||||||
|
|
||||||
actions: [
|
actions: [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue