Warning, /education/kstars/kstars/kstarslite/qml/modules/KSTabBarArrow.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2016 Artem Fedoskin <afedoskin3@gmail.com> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 import QtQuick 2.6 0005 import QtQuick.Layouts 1.2 0006 import QtQuick.Controls 2.0 0007 import "../constants" 1.0 0008 0009 Button { 0010 z: 1 0011 id: arrow 0012 property string imgSource 0013 property Item tabBar 0014 property int flickSpeed: 1000 0015 state: "Invisible" 0016 0017 width:image.width*1.5 0018 Image { 0019 id: image 0020 opacity: 0.6 0021 anchors{ 0022 verticalCenter: parent.verticalCenter 0023 horizontalCenter: parent.horizontalCenter 0024 } 0025 source: imgSource 0026 } 0027 0028 background: Rectangle { 0029 color: "grey" 0030 opacity: 0.6 0031 } 0032 0033 onPressedChanged: { 0034 if(pressed) { 0035 arrow.background.opacity = 0.3 0036 tabBar.contentItem.flick(flickSpeed,0) 0037 } else { 0038 arrow.background.opacity = 0.6 0039 } 0040 } 0041 0042 states: [ 0043 State { 0044 name: "Visible" 0045 PropertyChanges{target: arrow; opacity: 1.0} 0046 PropertyChanges{target: arrow; visible: true} 0047 }, 0048 State { 0049 name:"Invisible" 0050 PropertyChanges{target: arrow; opacity: 0.0} 0051 PropertyChanges{target: arrow; visible: false} 0052 } 0053 ] 0054 0055 transitions: [ 0056 Transition { 0057 from: "Visible" 0058 to: "Invisible" 0059 0060 SequentialAnimation{ 0061 NumberAnimation { 0062 target: arrow 0063 property: "opacity" 0064 duration: arrow 0065 easing.type: Easing.InOutQuad 0066 } 0067 NumberAnimation { 0068 target: arrow 0069 property: "visible" 0070 duration: 50 0071 } 0072 } 0073 }, 0074 Transition { 0075 from: "Invisible" 0076 to: "Visible" 0077 SequentialAnimation{ 0078 NumberAnimation { 0079 target: arrow 0080 property: "visible" 0081 duration: 0 0082 } 0083 NumberAnimation { 0084 target: arrow 0085 property: "opacity" 0086 duration: 200 0087 easing.type: Easing.InOutQuad 0088 } 0089 } 0090 } 0091 ] 0092 }