#pragma once #include #include #include class ClickSlider : public QSlider { Q_OBJECT public: explicit ClickSlider(Qt::Orientation orientation, QWidget *parent = nullptr); protected: void mousePressEvent(QMouseEvent *event) override; }; class NodeVolumeWidget : public QWidget { Q_OBJECT public: explicit NodeVolumeWidget(QWidget *parent = nullptr); int volume() const; bool isMuted() const; void setVolume(int value); void setMuted(bool muted); Q_SIGNALS: void volumeChanged(int value); void muteToggled(bool muted); void sliderReleased(); private: ClickSlider *m_slider = nullptr; QToolButton *m_muteBtn = nullptr; };