Warning, /maui/mauikit/src/controls.6/FloatingButton.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2018 Camilo Higuita <milo.h@aol.com> 0003 * 0004 * This program is free software; you can redistribute it and/or modify 0005 * it under the terms of the GNU Library General Public License as 0006 * published by the Free Software Foundation; either version 2, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details 0013 * 0014 * You should have received a copy of the GNU Library General Public 0015 * License along with this program; if not, write to the 0016 * Free Software Foundation, Inc., 0017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 0018 */ 0019 0020 import QtQuick 0021 import QtQuick.Controls 0022 0023 import org.mauikit.controls 1.3 as Maui 0024 0025 import Qt5Compat.GraphicalEffects 0026 0027 /** 0028 * @inherit QtQuick.Controls.ToolButton 0029 * @brief A button styled to be used "floating" above other elements. 0030 * 0031 * <a href="https://doc.qt.io/qt-6/qml-qtquick-controls-toolbutton.html">This controls inherits from QQC2 ToolButton, to checkout its inherited properties refer to the Qt Docs.</a> 0032 * 0033 * 0034 * This button has a colorful background and drops a shadow, this is meant to elevate it over the surface and to distinguish it form other elements, since it is meant o be used above other UI elements. 0035 * 0036 * Typically this button is placed on a corner of a pane. 0037 * By default the button background color is picked from the style accent color, but this can be modify ad set any custom color. 0038 * @see color 0039 * 0040 * 0041 * @image html Misc/floatingbutton.png 0042 * 0043 * @code 0044 * Maui.Page 0045 * { 0046 * id: _page 0047 * 0048 * anchors.fill: parent 0049 * Maui.Controls.showCSD: true 0050 * Maui.Theme.colorSet: Maui.Theme.Window 0051 * headBar.forceCenterMiddleContent: true 0052 * 0053 * Maui.FloatingButton 0054 * { 0055 * anchors.right: parent.right 0056 * anchors.bottom: parent.bottom 0057 * anchors.margins: Maui.Style.space.big 0058 * 0059 * icon.name: "list-add" 0060 * } 0061 * 0062 * } 0063 * @endcode 0064 * 0065 * <a href="https://invent.kde.org/maui/mauikit/-/blob/qt6-2/examples/FloatingButton.qml">You can find a more complete example at this link.</a> 0066 * 0067 * 0068 */ 0069 ToolButton 0070 { 0071 id: control 0072 0073 padding: Maui.Style.defaultPadding * 2 0074 0075 icon.height: Maui.Style.iconSize 0076 icon.width: Maui.Style.iconSize 0077 0078 icon.color: Maui.Theme.highlightedTextColor 0079 0080 display: ToolButton.IconOnly 0081 0082 /** 0083 * @brief The background color of the button. 0084 * This can be set to any color, but contrast with the icon should be manually adjusted by using the `icon.color` property or checking the current style, to see if it is dark or light. See `Style.styleType === Style.Dark` for example. 0085 * 0086 * By default the color used is the accent color represented by `Theme.highlightColor` 0087 */ 0088 property color color : control.hovered || control.pressed ? Qt.lighter( Maui.Theme.highlightColor, 1.2) : Maui.Theme.highlightColor 0089 0090 background: Rectangle 0091 { 0092 id: _rec 0093 radius: Maui.Style.radiusV 0094 color: control.color 0095 } 0096 0097 layer.enabled: true 0098 layer.effect: DropShadow 0099 { 0100 id: rectShadow 0101 cached: true 0102 horizontalOffset: 0 0103 verticalOffset: 0 0104 radius: 8.0 0105 samples: 16 0106 color: "#80000000" 0107 smooth: true 0108 } 0109 }