seasonal builds

This commit is contained in:
2026-08-31 00:59:14 +03:00
parent 4689e59b5a
commit c25e071b29
17 changed files with 2312 additions and 18 deletions
+46
View File
@@ -32,6 +32,10 @@ Window {
crashed || exitCode !== 0 ? "#cc3333" : "#555555")
}
onGameOutput: (line) => console.log(line)
onSeasonalInstallFinished: (seasonalId, buildName) => {
window.showToast(qsTr("Сборка «%1» установлена — можно запускать").arg(buildName),
"#4b7a1f", 8000)
}
}
// Единая всплывающая плашка: сообщения о ходе запуска, ошибки, статус игры.
@@ -451,6 +455,48 @@ Window {
onClicked: settingsDialog.load()
}
// ── Seasonal builds button ─────────────────────────────────────────────
// Правый нижний угол — единственная свободная часть окна: панели хода работ
// висят слева, а всё остальное собрано вокруг кнопки запуска.
Button {
id: seasonsButton
width: 183
height: 42
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.rightMargin: 24
anchors.bottomMargin: 24
hoverEnabled: true
contentItem: Text {
text: qsTr("Сезонные сборки")
color: "#ffffff"
font.pixelSize: 14
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
background: Rectangle {
color: seasonsButton.pressed ? "#2d2d2d" : "#232323"
radius: 6
border.color: "#91B315"
border.width: seasonsButton.hovered ? 2 : 1
}
ToolTip.visible: hovered
ToolTip.text: qsTr("Готовые сборки с сервера: моды, конфиги и Java одной кнопкой")
onClicked: seasonalDialog.openCatalog()
}
SeasonalBuildsDialog {
id: seasonalDialog
backend: backend
x: (window.width - width) / 2
y: (window.height - height) / 2
}
// ── Add Profile Dialog ─────────────────────────────────────────────────
// Bug fix: header/footer must be Item (not Rectangle) with explicit
// implicitHeight so Dialog correctly computes its own total height.