#pragma once #include "common/ChatterinoSetting.hpp" #include "common/SignalVector.hpp" #include namespace chatterino { template inline void persist(SignalVector &vec, const std::string &name) { auto setting = std::make_unique>>(name); for (auto &&item : setting->getValue()) vec.append(item); vec.delayedItemsChanged.connect([setting = setting.get(), vec = &vec] { setting->setValue(vec->raw()); }); // TODO: Delete when appropriate. setting.release(); } } // namespace chatterino