#pragma once #include #include #include #include #include namespace scwx::qt::settings { class AudioSettings : public SettingsCategory { public: explicit AudioSettings(); ~AudioSettings() override; AudioSettings(const AudioSettings&) = delete; AudioSettings& operator=(const AudioSettings&) = delete; AudioSettings(AudioSettings&&) noexcept; AudioSettings& operator=(AudioSettings&&) noexcept; [[nodiscard]] SettingsVariable& alert_sound_file() const; [[nodiscard]] SettingsVariable& alert_location_method() const; [[nodiscard]] SettingsVariable& alert_latitude() const; [[nodiscard]] SettingsVariable& alert_longitude() const; [[nodiscard]] SettingsVariable& alert_radius() const; [[nodiscard]] SettingsVariable& alert_radar_site() const; [[nodiscard]] SettingsVariable& alert_county() const; [[nodiscard]] SettingsVariable& alert_wfo() const; [[nodiscard]] SettingsVariable& alert_enabled(awips::Phenomenon phenomenon) const; [[nodiscard]] SettingsVariable& ignore_missing_codecs() const; static AudioSettings& Instance(); friend bool operator==(const AudioSettings& lhs, const AudioSettings& rhs); private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::settings