translations fix

Signed-off-by: galeon <dertiellis@gmail.com>
This commit is contained in:
galeon committed 2026-10-09 12:29:21 +03:00
1 parent fd14b54d8a
commit 0f370167db
9 files changed
+18 -134

No files matched your search

-26
View File
@@ -3,23 +3,11 @@ pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Controls 2.15
// Готовые сезонные сборки с сервера лаунчера: таблица со всем, что нужно
// решить, ставить её или нет, и одна кнопка, которая делает всё остальное —
// заводит сборку, ставит версию игры, модлоадер, Java и раскладывает файлы.
//
// Таблица собрана из Row фиксированных колонок, а не из TableView: в проекте
// нет ни одной модели QAbstractItemModel, а строки приходят готовыми
// QVariantMap — заводить ради семи колонок отдельную модель незачем.
Dialog {
id: seasons
required property var backend
// Выбранная строка. Хранится по id, а не по индексу: список обновляется
// под руками, и индекс после обновления указывал бы на другую сборку.
property string selectedId: ""
// Ширины колонок в одном месте: их повторяют и шапка, и делегат.
readonly property var columns: [
{ key: "name", title: Loc.t.common.header.name, width: 250, align: Text.AlignLeft },
{ key: "minecraftVersion", title: Loc.t.common.header.version, width: 90, align: Text.AlignLeft },
@@ -34,8 +22,6 @@ Dialog {
padding: 0
width: 960
height: 560
// Пока идёт установка, окно закрывается только кнопкой: случайный щелчок
// мимо не должен спрятать единственную видимую отмену.
closePolicy: seasons.backend.seasonalInstalling
? Popup.NoAutoClose
: (Popup.CloseOnEscape | Popup.CloseOnPressOutside)
@@ -47,8 +33,6 @@ Dialog {
border.width: 1
}
// Строки приходят из C++ уже отсортированными и сведёнными с локальными
// записями — здесь только показ.
readonly property var entries: seasons.backend.seasonalCatalog
readonly property var selectedEntry: {
@@ -79,7 +63,6 @@ Dialog {
return String(entry[key])
}
// Свежий кэш отвечает без сети, поэтому дёргаем при каждом открытии.
onAboutToShow: seasons.backend.refreshSeasonalCatalog(false)
header: Item {
@@ -101,7 +84,6 @@ Dialog {
contentItem: Item {
// ── Шапка таблицы ───────────────────────────────────────────────
Row {
id: tableHeader
anchors.top: parent.top
@@ -139,9 +121,6 @@ Dialog {
color: "#333333"
}
// ── Сообщение вместо таблицы ────────────────────────────────────
// Пустой список и ошибка выглядят одинаково пустыми, поэтому причина
// показывается прямо на месте строк.
Text {
anchors.centerIn: parent
width: parent.width - 80
@@ -157,7 +136,6 @@ Dialog {
: seasons.backend.seasonalCatalogError)
}
// ── Строки ──────────────────────────────────────────────────────
ListView {
id: buildList
anchors.top: headerLine.bottom
@@ -243,8 +221,6 @@ Dialog {
color: "#333333"
}
// Описание и размер выбранной сборки: они длинные и в таблицу не
// помещаются, а решение принимается по ним.
Column {
anchors.left: parent.left
anchors.leftMargin: 18
@@ -314,8 +290,6 @@ Dialog {
id: installButton
width: 150
height: 36
// Установка занимает и панель загрузки, и .minecraft целиком:
// пока лаунчер занят чем угодно, вторую начинать нельзя.
enabled: seasons.selectedEntry !== null && !seasons.backend.busy
contentItem: Text {
text: seasons.selectedEntry && seasons.selectedEntry.updateAvailable