// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
//
// SPDX-License-Identifier: MIT

#include "toolbutton.h"

#include "actionmanager.h"
#include "opacityhelper.h"

#include <QPainter>
#include <QGraphicsOpacityEffect>
#include <QPropertyAnimation>

ToolButton::ToolButton(bool hoverColor, QWidget *parent)
    : QPushButton(parent)
    , m_opacityHelper(new OpacityHelper(this))
{
    setFlat(true);
    QString qss = "QPushButton {"
                  "background: transparent;"
                  "}";
    if (hoverColor) {
        qss += "QPushButton:hover {"
               "background: red;"
               "}";
    }
    setStyleSheet(qss);
}

void ToolButton::setIconResourcePath(const QString &iconp)
{
    this->setIcon(ActionManager::loadHidpiIcon(iconp, this->iconSize()));
}

void ToolButton::setOpacity(qreal opacity, bool animated)
{
    m_opacityHelper->setOpacity(opacity, animated);
}