Files
2026-04-04 03:14:17 +03:00

81 lines
1.7 KiB
C++

// This is the source code of AyuGram for Desktop.
//
// We do not and cannot prevent the use of our code,
// but be respectful and credit the original author.
//
// Copyright @Radolyn, 2026
#include "ayu/ayu_infra.h"
#include "ayu/ayu_lang.h"
#include "ayu/ayu_settings.h"
#include "ayu/ayu_ui_settings.h"
#include "ayu/ayu_worker.h"
#include "ayu/data/ayu_database.h"
#include "ayu/ui/ayu_logo.h"
#include "features/translator/ayu_translator.h"
#include "lang/lang_instance.h"
#include "ui/chat/chat_style_radius.h"
#include "utils/rc_manager.h"
#ifdef Q_OS_WIN
#include "ayu/utils/windows_utils.h"
#endif
namespace AyuInfra {
void initLang() {
QString id = Lang::GetInstance().id();
QString baseId = Lang::GetInstance().baseId();
if (id.isEmpty()) {
LOG(("Language is not loaded"));
return;
}
AyuLanguage::init();
AyuLanguage::currentInstance()->fetchLanguage(id, baseId);
}
void initUiSettings() {
const auto &settings = AyuSettings::getInstance();
AyuUiSettings::setMonoFont(settings.monoFont());
AyuUiSettings::setWideMultiplier(settings.wideMultiplier());
AyuUiSettings::setMaterialSwitches(settings.materialSwitches());
AyuUiSettings::setAvatarCorners(settings.avatarCorners());
Ui::SetAppliedBubbleRadius(settings.messageBubbleRadius());
}
void initDatabase() {
AyuDatabase::initialize();
}
void initWorker() {
AyuWorker::initialize();
}
void initRCManager() {
RCManager::getInstance().start();
}
void initTranslator() {
Ayu::Translator::TranslateManager::init();
}
void initIcon() {
#ifdef Q_OS_WIN
AyuAssets::loadAppIco();
reloadAppIconFromTaskBar();
#endif
}
void init() {
initLang();
initDatabase();
initUiSettings();
initIcon();
initWorker();
initRCManager();
initTranslator();
}
}