#pragma once #include #include #include #include #include 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& alert_sound_file() const; SettingsVariable& alert_location_method() const; SettingsVariable& alert_latitude() const; SettingsVariable& alert_longitude() const; SettingsVariable& alert_county() const; SettingsVariable& alert_enabled(awips::Phenomenon phenomenon) const; static AudioSettings& Instance(); friend bool operator==(const AudioSettings& lhs, const AudioSettings& rhs); private: class Impl; std::unique_ptr p; }; } // namespace settings } // namespace qt } // namespace scwx