summaryrefslogtreecommitdiffstats
path: root/src/yuzu/configuration/configure_audio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration/configure_audio.h')
-rw-r--r--src/yuzu/configuration/configure_audio.h32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/yuzu/configuration/configure_audio.h b/src/yuzu/configuration/configure_audio.h
index 0d03aae1d..79538e81c 100644
--- a/src/yuzu/configuration/configure_audio.h
+++ b/src/yuzu/configuration/configure_audio.h
@@ -3,30 +3,35 @@
#pragma once
+#include <functional>
#include <memory>
+#include <vector>
#include <QWidget>
+#include "yuzu/configuration/configuration_shared.h"
+
+class QComboBox;
namespace Core {
class System;
}
-namespace ConfigurationShared {
-enum class CheckState;
-}
-
namespace Ui {
class ConfigureAudio;
}
-class ConfigureAudio : public QWidget {
- Q_OBJECT
+namespace ConfigurationShared {
+class Builder;
+}
+class ConfigureAudio : public ConfigurationShared::Tab {
public:
- explicit ConfigureAudio(const Core::System& system_, QWidget* parent = nullptr);
+ explicit ConfigureAudio(const Core::System& system_,
+ std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
+ const ConfigurationShared::Builder& builder, QWidget* parent = nullptr);
~ConfigureAudio() override;
- void ApplyConfiguration();
- void SetConfiguration();
+ void ApplyConfiguration() override;
+ void SetConfiguration() override;
private:
void changeEvent(QEvent* event) override;
@@ -39,11 +44,16 @@ private:
void SetOutputSinkFromSinkID();
void SetAudioDevicesFromDeviceID();
- void SetVolumeIndicatorText(int percentage);
- void SetupPerGameUI();
+ void Setup(const ConfigurationShared::Builder& builder);
std::unique_ptr<Ui::ConfigureAudio> ui;
const Core::System& system;
+
+ std::vector<std::function<void(bool)>> apply_funcs{};
+
+ QComboBox* sink_combo_box;
+ QComboBox* output_device_combo_box;
+ QComboBox* input_device_combo_box;
};