#pragma once #include "lts_widgets_export.h" #include #include namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsProfileButton : public QWidget { Q_OBJECT Q_PROPERTY(QPixmap pixMap READ pixmap WRITE setPixmap) Q_PROPERTY(bool menuEnabled READ menuEnabled WRITE setMenuEnabled) public: explicit LtsProfileButton(QWidget* parent = nullptr); void setPixmap(const QPixmap& pixmap); const QPixmap& pixmap() const { return m_pixmap; } void setMenuEnabled(bool enabled = true) { m_menuEnabled = enabled; } bool menuEnabled() const { return m_menuEnabled; } protected: void paintEvent(QPaintEvent* event); void enterEvent(QEvent* event); void leaveEvent(QEvent* event); bool event(QEvent* event); private: QPixmap m_pixmap; bool m_isHovered; bool m_menuEnabled; signals: void signalClicked(); }; } // namespace LtsWidgets