summaryrefslogtreecommitdiff
path: root/src/windows
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows')
-rw-r--r--src/windows/voicewindow.cpp12
-rw-r--r--src/windows/voicewindow.hpp3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/windows/voicewindow.cpp b/src/windows/voicewindow.cpp
index 9f53638..95d1036 100644
--- a/src/windows/voicewindow.cpp
+++ b/src/windows/voicewindow.cpp
@@ -121,6 +121,17 @@ VoiceWindow::VoiceWindow(Snowflake channel_id)
m_signal_gain.emit(val / 100.0);
});
+ auto *renderer = Gtk::make_managed<Gtk::CellRendererText>();
+ m_playback_combo.set_valign(Gtk::ALIGN_END);
+ m_playback_combo.set_hexpand(true);
+ m_playback_combo.set_halign(Gtk::ALIGN_FILL);
+ m_playback_combo.set_model(Abaddon::Get().GetAudio().GetDevices().GetPlaybackDeviceModel());
+ m_playback_combo.pack_start(*renderer);
+ m_playback_combo.add_attribute(*renderer, "text", 0);
+ m_playback_combo.signal_changed().connect([this]() {
+ Abaddon::Get().GetAudio().SetPlaybackDevice(m_playback_combo.get_active());
+ });
+
m_scroll.add(m_user_list);
m_controls.add(m_mute);
m_controls.add(m_deafen);
@@ -129,6 +140,7 @@ VoiceWindow::VoiceWindow(Snowflake channel_id)
m_main.add(m_capture_gate);
m_main.add(m_capture_gain);
m_main.add(m_scroll);
+ m_main.add(m_playback_combo);
add(m_main);
show_all_children();
diff --git a/src/windows/voicewindow.hpp b/src/windows/voicewindow.hpp
index 8eb02f3..e36846c 100644
--- a/src/windows/voicewindow.hpp
+++ b/src/windows/voicewindow.hpp
@@ -6,6 +6,7 @@
#include "discord/snowflake.hpp"
#include <gtkmm/box.h>
#include <gtkmm/checkbutton.h>
+#include <gtkmm/combobox.h>
#include <gtkmm/listbox.h>
#include <gtkmm/progressbar.h>
#include <gtkmm/scale.h>
@@ -45,6 +46,8 @@ private:
Gtk::Scale m_capture_gate;
Gtk::Scale m_capture_gain;
+ Gtk::ComboBox m_playback_combo;
+
Snowflake m_channel_id;
std::unordered_map<Snowflake, VoiceWindowUserListEntry *> m_rows;