#pragma once #include #include #include #include namespace scwx::qt::settings { class UnitSettings : public SettingsCategory { public: explicit UnitSettings(); ~UnitSettings() override; UnitSettings(const UnitSettings&) = delete; UnitSettings& operator=(const UnitSettings&) = delete; UnitSettings(UnitSettings&&) noexcept; UnitSettings& operator=(UnitSettings&&) noexcept; [[nodiscard]] SettingsVariable& accumulation_units() const; [[nodiscard]] SettingsVariable& echo_tops_units() const; [[nodiscard]] SettingsVariable& other_units() const; [[nodiscard]] SettingsVariable& speed_units() const; [[nodiscard]] SettingsVariable& distance_units() const; static UnitSettings& Instance(); friend bool operator==(const UnitSettings& lhs, const UnitSettings& rhs); private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::settings