From 441021b9a6f6e74f4f330de09728fce07fb5d6f4 Mon Sep 17 00:00:00 2001 From: galeon Date: Mon, 21 Sep 2026 01:23:00 +0300 Subject: [PATCH] path fixes --- CMakeLists.txt | 4 ++-- Main.qml | 2 +- localization.cpp | 25 ++----------------------- main.cpp | 2 +- 4 files changed, 6 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1244e07..8a17fd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.20) -project(Minecraft_launcher VERSION 0.1 LANGUAGES CXX C) +project(BiLauncher VERSION 0.1 LANGUAGES CXX C) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(QT_NO_PRIVATE_MODULE_WARNING ON) @@ -69,7 +69,7 @@ qt_add_resources(BiLauncher "appicon" ) qt_add_qml_module(BiLauncher - URI Minecraft_launcher + URI BiLauncher SOURCES localization.h localization.cpp diff --git a/Main.qml b/Main.qml index 86701f9..99cf10b 100644 --- a/Main.qml +++ b/Main.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Layouts 2.15 import QtQuick.Controls 2.15 -import Minecraft_launcher +import BiLauncher Window { id: window diff --git a/localization.cpp b/localization.cpp index 36c94ea..4820cfe 100644 --- a/localization.cpp +++ b/localization.cpp @@ -15,24 +15,10 @@ #include -// ── Про потоки ────────────────────────────────────────────────────────────── -// -// Каталог (m_singles, m_lists, m_codes, m_displayNames) заполняется ровно один -// раз в load(), который отрабатывает в main() до того, как BuildSwitcher создаст -// свой QThread. Дальше эти поля только читаются, а копирование QString из хэша -// безопасно само по себе — поэтому Loc::text() зовётся из рабочего потока -// BuildArchiveWorker без единой блокировки. -// -// Единственное, что меняется на ходу, — m_index, и он QAtomicInt. В худшем -// случае сообщение, уже собиравшееся в момент переключения, уедет на прежнем -// языке; заметить это невозможно. -// -// setLanguage(), m_tree, rebuildTree() и languageChanged — только GUI-поток. - namespace { const QString kCatalogPath = - QStringLiteral(":/qt/qml/Minecraft_launcher/i18n/translations.json"); + QStringLiteral(":/qt/qml/BiLauncher/i18n/translations.json"); const QString kSystem = QStringLiteral("system"); @@ -43,9 +29,6 @@ QString systemLanguage() : QStringLiteral("en"); } -// Язык из settings.json. Читается напрямую, не через LauncherBackend: тот -// появляется только вместе с QML, а язык нужен раньше первой привязки. -// Обратной зависимости это не создаёт — файл только читается. QString storedLanguage() { QFile file(LauncherPaths::settingsFile()); @@ -60,7 +43,7 @@ QString storedLanguage() return value.isString() ? value.toString() : kSystem; } -} // namespace +} Localization::Localization(QObject *parent) : QObject(parent) @@ -78,8 +61,6 @@ Localization *Localization::create(QQmlEngine *, QJSEngine *jsEngine) Localization &loc = instance(); loc.m_engine = jsEngine; loc.rebuildTree(); - // Синглтон живёт до конца процесса и движку не принадлежит — иначе сборщик - // мусора QML попытается удалить статический объект. QJSEngine::setObjectOwnership(&loc, QJSEngine::CppOwnership); return &loc; } @@ -132,8 +113,6 @@ bool Localization::load() m_lists.clear(); for (auto it = strings.constBegin(); it != strings.constEnd(); ++it) { const QJsonObject entry = it.value().toObject(); - // Тип значения определяется по первому языку и обязан совпадать у всех: - // за этим следит tools/check_translations.py. const bool isList = entry.value(m_codes.first()).isArray(); if (isList) { diff --git a/main.cpp b/main.cpp index 721ab81..f63bb40 100644 --- a/main.cpp +++ b/main.cpp @@ -59,7 +59,7 @@ int main(int argc, char *argv[]) &app, []() { QCoreApplication::exit(-1); }, Qt::QueuedConnection); - engine.loadFromModule("Minecraft_launcher", "Main"); + engine.loadFromModule("BiLauncher", "Main"); return app.exec(); }