#pragma once #include #include #include #include namespace scwx::qt::settings { class GeneralSettings : public SettingsCategory { public: explicit GeneralSettings(); ~GeneralSettings() override; GeneralSettings(const GeneralSettings&) = delete; GeneralSettings& operator=(const GeneralSettings&) = delete; GeneralSettings(GeneralSettings&&) noexcept; GeneralSettings& operator=(GeneralSettings&&) noexcept; [[nodiscard]] SettingsVariable& anti_aliasing_enabled() const; [[nodiscard]] SettingsVariable& center_on_radar_selection() const; [[nodiscard]] SettingsVariable& clock_format() const; [[nodiscard]] SettingsVariable& custom_style_draw_layer() const; [[nodiscard]] SettingsVariable& custom_style_url() const; [[nodiscard]] SettingsVariable& debug_enabled() const; [[nodiscard]] SettingsVariable& default_alert_action() const; [[nodiscard]] SettingsVariable& default_radar_site() const; [[nodiscard]] SettingsVariable& default_time_zone() const; [[nodiscard]] SettingsContainer>& font_sizes() const; [[nodiscard]] SettingsVariable& grid_height() const; [[nodiscard]] SettingsVariable& grid_width() const; [[nodiscard]] SettingsVariable& loop_delay() const; [[nodiscard]] SettingsVariable& loop_speed() const; [[nodiscard]] SettingsVariable& loop_time() const; [[nodiscard]] SettingsVariable& map_provider() const; [[nodiscard]] SettingsVariable& mapbox_api_key() const; [[nodiscard]] SettingsVariable& maptiler_api_key() const; [[nodiscard]] SettingsVariable& nmea_baud_rate() const; [[nodiscard]] SettingsVariable& nmea_source() const; [[nodiscard]] SettingsVariable& positioning_plugin() const; [[nodiscard]] SettingsVariable& process_module_warnings_enabled() const; [[nodiscard]] SettingsVariable& show_map_attribution() const; [[nodiscard]] SettingsVariable& show_map_center() const; [[nodiscard]] SettingsVariable& show_map_logo() const; [[nodiscard]] SettingsVariable& theme() const; [[nodiscard]] SettingsVariable& theme_file() const; [[nodiscard]] SettingsVariable& track_location() const; [[nodiscard]] SettingsVariable& update_notifications_enabled() const; [[nodiscard]] SettingsVariable& warnings_provider() const; [[nodiscard]] SettingsVariable& cursor_icon_always_on() const; [[nodiscard]] SettingsVariable& radar_site_threshold() const; [[nodiscard]] SettingsVariable& high_privilege_warning_enabled() const; static GeneralSettings& Instance(); friend bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs); bool Shutdown(); private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::settings