Add audio settings

This commit is contained in:
Dan Paulat 2023-11-29 06:05:35 -06:00
parent 9486d2364a
commit ec97231bca
6 changed files with 206 additions and 3 deletions

View file

@ -0,0 +1,45 @@
#pragma once
#include <scwx/qt/settings/settings_category.hpp>
#include <scwx/qt/settings/settings_variable.hpp>
#include <scwx/awips/phenomenon.hpp>
#include <memory>
#include <string>
namespace scwx
{
namespace qt
{
namespace settings
{
class AudioSettings : public SettingsCategory
{
public:
explicit AudioSettings();
~AudioSettings();
AudioSettings(const AudioSettings&) = delete;
AudioSettings& operator=(const AudioSettings&) = delete;
AudioSettings(AudioSettings&&) noexcept;
AudioSettings& operator=(AudioSettings&&) noexcept;
SettingsVariable<std::string>& alert_location_method() const;
SettingsVariable<double>& alert_latitude() const;
SettingsVariable<double>& alert_longitude() const;
SettingsVariable<bool>& alert_enabled(awips::Phenomenon phenomenon) const;
static AudioSettings& Instance();
friend bool operator==(const AudioSettings& lhs, const AudioSettings& rhs);
private:
class Impl;
std::unique_ptr<Impl> p;
};
} // namespace settings
} // namespace qt
} // namespace scwx