use new volume meter for other users

This commit is contained in:
ouwou
2022-10-20 02:17:50 -04:00
parent e2110c22ee
commit 848e75f577
3 changed files with 16 additions and 6 deletions

View File

@@ -17,6 +17,10 @@ void VolumeMeter::SetTick(double fraction) {
queue_draw();
}
void VolumeMeter::SetShowTick(bool show) {
m_show_tick = show;
}
Gtk::SizeRequestMode VolumeMeter::get_request_mode_vfunc() const {
return Gtk::Widget::get_request_mode_vfunc();
}
@@ -109,11 +113,13 @@ bool VolumeMeter::on_draw(const Cairo::RefPtr<Cairo::Context> &cr) {
cr->rectangle(0.0, 0.0, draw_low, height);
cr->fill();
const double tick_base = width * m_tick;
if (m_show_tick) {
const double tick_base = width * m_tick;
cr->set_source_rgb(0.8, 0.8, 0.8);
cr->rectangle(tick_base, 0, 4, height);
cr->fill();
cr->set_source_rgb(0.8, 0.8, 0.8);
cr->rectangle(tick_base, 0, 4, height);
cr->fill();
}
return true;
}

View File

@@ -7,6 +7,7 @@ public:
void SetVolume(double fraction);
void SetTick(double fraction);
void SetShowTick(bool show);
protected:
Gtk::SizeRequestMode get_request_mode_vfunc() const override;
@@ -26,4 +27,5 @@ private:
double m_fraction = 0.0;
double m_tick = 0.0;
bool m_show_tick = false;
};

View File

@@ -50,7 +50,7 @@ public:
}
void SetVolumeMeter(double frac) {
m_meter.set_fraction(frac);
m_meter.SetVolume(frac);
}
private:
@@ -60,7 +60,7 @@ private:
Gtk::Label m_name;
Gtk::CheckButton m_mute;
Gtk::Scale m_volume;
Gtk::ProgressBar m_meter;
VolumeMeter m_meter;
public:
using type_signal_mute_cs = sigc::signal<void(bool)>;
@@ -101,6 +101,8 @@ VoiceWindow::VoiceWindow(Snowflake channel_id)
m_scroll.set_hexpand(true);
m_scroll.set_vexpand(true);
m_capture_volume.SetShowTick(true);
m_capture_gate.set_range(0.0, 100.0);
m_capture_gate.set_value_pos(Gtk::POS_LEFT);
m_capture_gate.set_value(0.0);