Warning, /plasma/qqc2-breeze-style/style/kirigami/AbstractApplicationHeader.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import org.kde.kirigami as Kirigami 0009 import QtQuick.Controls as Controls 0010 import "../../templates" as T 0011 import "../../private" as KP 0012 0013 /** 0014 * An item that can be used as a title for the application. 0015 * Scrolling the main page will make it taller or shorter (trough the point of going away) 0016 * It's a behavior similar to the typical mobile web browser addressbar 0017 * the minimum, preferred and maximum heights of the item can be controlled with 0018 * * minimumHeight: default is 0, i.e. hidden 0019 * * preferredHeight: default is Units.gridUnit * 1.6 0020 * * maximumHeight: default is Units.gridUnit * 3 0021 * 0022 * To achieve a titlebar that stays completely fixed just set the 3 sizes as the same 0023 */ 0024 T.AbstractApplicationHeader { 0025 id: root 0026 0027 readonly property bool __isHeader: root.position == Controls.ToolBar.Header 0028 readonly property bool __isFooter: root.position == Controls.ToolBar.Footer 0029 0030 Kirigami.Theme.inherit: false 0031 Kirigami.Theme.colorSet: Kirigami.Theme.Header 0032 0033 topPadding: __isFooter ? 1 : 0 // Add space for the separator above the footer 0034 bottomPadding: __isHeader ? 1 : 0 // Add space for the separator below the header 0035 0036 background: Rectangle { 0037 color: Kirigami.Theme.backgroundColor 0038 Rectangle { 0039 id: shadow 0040 visible: root.separatorVisible && Kirigami.Settings.isMobile 0041 anchors { 0042 right: parent.right 0043 left: parent.left 0044 top: parent.bottom 0045 } 0046 height: Kirigami.Units.smallSpacing 0047 gradient: Gradient { 0048 GradientStop { 0049 position: 0.0 0050 color: Qt.rgba(0, 0, 0, 0.20) 0051 } 0052 GradientStop { 0053 position: 0.368 // 1/e 0054 color: Qt.rgba(0, 0, 0, 0.074) // 0.2/e 0055 } 0056 GradientStop { 0057 position: 1 0058 color: "transparent" 0059 } 0060 } 0061 opacity: (!root.page || !root.page.header || root.page.header.toString().indexOf("ToolBar") === -1) 0062 Behavior on opacity { 0063 OpacityAnimator { 0064 duration: Kirigami.Units.longDuration 0065 easing.type: Easing.InOutQuad 0066 } 0067 } 0068 } 0069 Kirigami.Separator { 0070 id: separator 0071 visible: root.separatorVisible && !Kirigami.Settings.isMobile 0072 anchors { 0073 left: parent.left 0074 right: parent.right 0075 verticalCenter: root.__isFooter ? parent.top : parent.bottom 0076 //verticalCenter: root.y <= 0 ? root.bottom : root.top 0077 } 0078 } 0079 Behavior on opacity { 0080 OpacityAnimator { 0081 duration: Kirigami.Units.longDuration 0082 easing.type: Easing.InOutQuad 0083 } 0084 } 0085 } 0086 } 0087