warp-pipe/gui/VolumeWidgets.h
2026-01-30 09:24:46 -07:00

35 lines
690 B
C++

#pragma once
#include <QSlider>
#include <QToolButton>
#include <QWidget>
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;
};