tdesktop/Telegram/SourceFiles/core/core_settings.h

41 lines
926 B
C++

/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
#include "window/themes/window_themes_embedded.h"
namespace Core {
class Settings final {
public:
void moveFrom(Settings &&other) {
_variables = std::move(other._variables);
}
[[nodiscard]] QByteArray serialize() const;
void constructFromSerialized(const QByteArray &serialized);
void setThemesAccentColors(Window::Theme::AccentColors &&colors) {
_variables.themesAccentColors = std::move(colors);
}
[[nodiscard]] Window::Theme::AccentColors &themesAccentColors() {
return _variables.themesAccentColors;
}
private:
struct Variables {
Variables();
Window::Theme::AccentColors themesAccentColors;
};
Variables _variables;
};
} // namespace Core