// Qt
import QtQuick 2.12

// Project
import "qrc:/components"
import "qrc:/globals"

Item { id: _root
    property color backgroundColor  : Colors.Transparent
    property alias minMaxVisible: _minMaxButton.visible
    property alias    timeout   : _muteButton.timeout
    property alias   isSilenced : _muteButton.isSilenced
    property bool isMaxButton   : false
    property bool isMinButton   : false

    readonly property int    spacing     : Variables.defaultMargin * 4.5

    readonly property color pressedColor    :  Qt.darker (_root.backgroundColor, 1.15)

    signal muteClicked()
    signal minMaxClicked()
    signal listClicked()

    function buttonBackgroundColor(button) {
        return button.isPressed ? Qt.darker (_root.backgroundColor, 1.15) : Colors.transparent
    }

    MuteButton { id: _muteButton
        anchors{
            right: _alarmsList.right
            rightMargin: _root.spacing
            verticalCenter  : _root.verticalCenter
        }
        onClicked       : _root.muteClicked()
        backgroundColor : buttonBackgroundColor(_muteButton)
    }

    IconButton { id: _alarmsList
        anchors{
            right: _minMaxButton.right
            rightMargin: _root.spacing
            verticalCenter  : _root.verticalCenter
        }
        iconSize        : Variables.iconsDiameter
        border.color    : Colors.white
        backgroundColor : buttonBackgroundColor(_alarmsList)
        iconImageSource : "qrc:/images/iList"
        onClicked       : _root.listClicked()
    }

    ArrowButton { id: _minMaxButton
        anchors{
            right: parent.right
            verticalCenter  : _root.verticalCenter
        }

        upArrow         : _root.isMaxButton
        downArrow       : _root.isMinButton
        backgroundColor : buttonBackgroundColor(_minMaxButton)

        isDefault       : false
        borderColor     : Colors.white
        iconSize        : Variables.iconsDiameter
        onClicked       : _root.minMaxClicked()
    }
}
