mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-09 05:52:41 +00:00
b3f8af8e06
Qml code referring to the old code base commented out, but not deleted, due to easier refactoring the rest of the app.
117 lines
3.0 KiB
QML
117 lines
3.0 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtGraphicalEffects 1.13
|
|
|
|
import utils 1.0
|
|
import "../../shared"
|
|
import "../../shared/panels"
|
|
import "../../shared/status"
|
|
|
|
TabButton {
|
|
id: control
|
|
visible: enabled
|
|
width: 40
|
|
height: enabled ? 40 : 0
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
property color iconColor: Style.current.secondaryText
|
|
property color disabledColor: iconColor
|
|
property int iconRotation: 0
|
|
property string iconSource
|
|
property string section
|
|
property bool doNotHandleClick: false
|
|
property bool borderOnChecked: false
|
|
property bool useLetterIdenticon: false
|
|
property string name: ""
|
|
|
|
onClicked: {
|
|
if (doNotHandleClick) {
|
|
return
|
|
}
|
|
|
|
// Not Refactored Yet
|
|
// chatsModel.communities.activeCommunity.active = false
|
|
Global.changeAppSectionBySectionType(section)
|
|
}
|
|
|
|
icon.height: 24
|
|
icon.width: 24
|
|
icon.color: {
|
|
if (!enabled) {
|
|
return control.disabledColor
|
|
}
|
|
return (hovered || checked) ? Style.current.blue : control.iconColor
|
|
}
|
|
|
|
onIconChanged: {
|
|
if (iconSource) {
|
|
icon.source = iconSource
|
|
return
|
|
}
|
|
|
|
icon.source = icon.name ? Style.svg(icon.name) : ""
|
|
}
|
|
|
|
contentItem: Item {
|
|
anchors.fill: parent
|
|
|
|
Loader {
|
|
active: true
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
sourceComponent: useLetterIdenticon ? letterIdenticon :
|
|
!!iconSource ? imageIcon : defaultIcon
|
|
}
|
|
|
|
Component {
|
|
id: defaultIcon
|
|
SVGImage {
|
|
id: iconImg
|
|
source: control.icon.source
|
|
height: control.icon.height
|
|
width: control.icon.width
|
|
fillMode: Image.PreserveAspectFit
|
|
rotation: control.iconRotation
|
|
ColorOverlay {
|
|
anchors.fill: iconImg
|
|
source: iconImg
|
|
color: control.icon.color
|
|
antialiasing: true
|
|
smooth: true
|
|
}
|
|
}
|
|
}
|
|
|
|
Component {
|
|
id: imageIcon
|
|
RoundedImage {
|
|
source: iconSource
|
|
noMouseArea: true
|
|
}
|
|
}
|
|
|
|
Component {
|
|
id: letterIdenticon
|
|
StatusLetterIdenticon {
|
|
width: 26
|
|
height: 26
|
|
letterSize: 15
|
|
chatName: control.name
|
|
color: control.iconColor
|
|
}
|
|
}
|
|
}
|
|
|
|
background: Rectangle {
|
|
color: hovered || (borderOnChecked && checked) ? Style.current.tabButtonBg : "transparent"
|
|
border.color: Style.current.primary
|
|
border.width: borderOnChecked && checked ? 1 : 0
|
|
radius: control.width / 2
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
onPressed: mouse.accepted = false
|
|
}
|
|
}
|