#pragma once #include "lts_widgets_export.h" #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(); }; }