#pragma once #include #include #include #include namespace scwx { namespace qt { namespace settings { class UiSettingsImpl; class UiSettings : public SettingsCategory { public: explicit UiSettings(); ~UiSettings(); UiSettings(const UiSettings&) = delete; UiSettings& operator=(const UiSettings&) = delete; UiSettings(UiSettings&&) noexcept; UiSettings& operator=(UiSettings&&) noexcept; SettingsVariable& level2_products_expanded() const; SettingsVariable& level2_settings_expanded() const; SettingsVariable& level3_products_expanded() const; SettingsVariable& map_settings_expanded() const; SettingsVariable& timeline_expanded() const; SettingsVariable& main_ui_state() const; SettingsVariable& main_ui_geometry() const; bool Shutdown(); static UiSettings& Instance(); friend bool operator==(const UiSettings& lhs, const UiSettings& rhs); private: std::unique_ptr p; }; } // namespace settings } // namespace qt } // namespace scwx