basic mute/deafen

This commit is contained in:
ouwou
2022-09-28 22:10:36 -04:00
parent d57d822aa9
commit a96d96b3aa
7 changed files with 145 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
#include "voicewindow.hpp"
VoiceWindow::VoiceWindow()
: m_main(Gtk::ORIENTATION_VERTICAL)
, m_controls(Gtk::ORIENTATION_HORIZONTAL)
, m_mute("Mute")
, m_deafen("Deafen") {
get_style_context()->add_class("app-window");
set_default_size(300, 300);
m_mute.signal_toggled().connect(sigc::mem_fun(*this, &VoiceWindow::OnMuteChanged));
m_deafen.signal_toggled().connect(sigc::mem_fun(*this, &VoiceWindow::OnDeafenChanged));
m_controls.add(m_mute);
m_controls.add(m_deafen);
m_main.add(m_controls);
add(m_main);
show_all_children();
}
void VoiceWindow::OnMuteChanged() {
m_signal_mute.emit(m_mute.get_active());
}
void VoiceWindow::OnDeafenChanged() {
m_signal_deafen.emit(m_deafen.get_active());
}
VoiceWindow::type_signal_mute VoiceWindow::signal_mute() {
return m_signal_mute;
}
VoiceWindow::type_signal_deafen VoiceWindow::signal_deafen() {
return m_signal_deafen;
}

View File

@@ -0,0 +1,30 @@
#pragma once
#include <gtkmm/box.h>
#include <gtkmm/checkbutton.h>
#include <gtkmm/window.h>
class VoiceWindow : public Gtk::Window {
public:
VoiceWindow();
private:
void OnMuteChanged();
void OnDeafenChanged();
Gtk::Box m_main;
Gtk::Box m_controls;
Gtk::CheckButton m_mute;
Gtk::CheckButton m_deafen;
public:
using type_signal_mute = sigc::signal<void(bool)>;
using type_signal_deafen = sigc::signal<void(bool)>;
type_signal_mute signal_mute();
type_signal_deafen signal_deafen();
private:
type_signal_mute m_signal_mute;
type_signal_deafen m_signal_deafen;
};