Warning, /maui/mauikit/src/controls.5/TabButton.qml is written in an unsupported language. File is not indexed.
0001 0002 import QtQuick 2.15 0003 import QtQuick.Controls 2.15 0004 import QtQuick.Layouts 1.3 0005 import QtQuick.Templates 2.15 as T 0006 0007 import org.mauikit.controls 1.3 as Maui 0008 0009 /** 0010 * TabButton 0011 * A global sidebar for the application window that can be collapsed. 0012 * 0013 * 0014 * 0015 * 0016 * 0017 * 0018 */ 0019 T.TabButton 0020 { 0021 id: control 0022 0023 opacity: enabled ? 1 : 0.5 0024 0025 implicitWidth: implicitContentWidth + leftPadding + rightPadding 0026 implicitHeight: implicitContentHeight + topPadding + bottomPadding 0027 0028 hoverEnabled: !Maui.Handy.isMobile 0029 0030 padding: Maui.Style.defaultPadding 0031 spacing: Maui.Style.space.small 0032 0033 font: Maui.Style.defaultFont 0034 0035 icon.width: Maui.Style.iconSize 0036 icon.height: Maui.Style.iconSize 0037 0038 Maui.Theme.colorSet: Maui.Theme.Button 0039 Maui.Theme.inherit: false 0040 0041 property alias content: _content.data 0042 property alias leftContent: _leftContent.data 0043 property alias rightContent: _rightContent.data 0044 0045 property bool closeButtonVisible: true 0046 0047 /** 0048 * closeClicked : 0049 */ 0050 signal closeClicked() 0051 signal rightClicked(var mouse) 0052 0053 background: Rectangle 0054 { 0055 color: control.checked ? Maui.Theme.backgroundColor : (control.hovered || control.pressed ? Maui.Theme.hoverColor : "transparent") 0056 radius: Maui.Style.radiusV 0057 } 0058 0059 contentItem: MouseArea 0060 { 0061 implicitWidth: _content.implicitWidth 0062 implicitHeight: _content.implicitHeight 0063 0064 acceptedButtons: Qt.RightButton 0065 propagateComposedEvents: true 0066 preventStealing: false 0067 0068 onClicked: 0069 { 0070 if(mouse.button === Qt.RightButton) 0071 { 0072 control.rightClicked(mouse) 0073 } 0074 0075 mouse.accepted = false 0076 } 0077 0078 RowLayout 0079 { 0080 id: _content 0081 anchors.fill: parent 0082 spacing: control.spacing 0083 0084 Row 0085 { 0086 id: _leftContent 0087 } 0088 0089 Maui.IconLabel 0090 { 0091 Layout.fillWidth: true 0092 Layout.fillHeight: true 0093 opacity: control.checked || control.hovered ? 1 : 0.7 0094 0095 text: control.text 0096 icon: control.icon 0097 color: Maui.Theme.textColor 0098 alignment: Qt.AlignHCenter 0099 display: ToolButton.TextBesideIcon 0100 font: control.font 0101 } 0102 0103 Row 0104 { 0105 id: _rightContent 0106 } 0107 0108 Loader 0109 { 0110 asynchronous: true 0111 active: control.closeButtonVisible 0112 0113 Layout.alignment: Qt.AlignCenter 0114 0115 sourceComponent: Maui.CloseButton 0116 { 0117 opacity: Maui.Handy.isMobile ? 1 : (control.hovered || control.checked ? 1 : 0) 0118 padding: 0 0119 0120 implicitHeight: 16 0121 implicitWidth: 16 0122 0123 icon.width: 16 0124 icon.height: 16 0125 0126 onClicked: control.closeClicked() 0127 0128 Behavior on opacity 0129 { 0130 NumberAnimation 0131 { 0132 duration: Maui.Style.units.longDuration 0133 easing.type: Easing.InOutQuad 0134 } 0135 } 0136 } 0137 } 0138 } 0139 } 0140 } 0141