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