1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-22 12:47:44 +00:00
astra/launcher/ui/Settings/GeneralSettings.qml
Joshua Goins 67dcd90058 Overhaul initial setup flow, again
This improves the flow drastically, first by porting it from MobileForm
to FormCard. Next, it fixes some of the annoying bugs such as the
profile not switching properly when adding a new profile. Selecting an
existing game path is now possible, and it's less likely you can enter
in invalid account credentials. The overall look and behavior of some
of the pages is improved.
2023-10-08 20:01:17 -04:00

103 lines
No EOL
2.9 KiB
QML

// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard
import zone.xiv.astra
FormCard.FormCardPage {
title: i18nc("@title:window", "General")
FormCard.FormCard {
Layout.topMargin: Kirigami.Units.largeSpacing
FormCard.FormButtonDelegate {
text: i18n("Auto-login Profile")
description: LauncherCore.autoLoginProfile ? LauncherCore.autoLoginProfile.name : i18n("Disabled")
QQC2.Menu {
id: profileMenu
QQC2.MenuItem {
text: "Disabled"
onClicked: {
LauncherCore.autoLoginProfile = null;
profileMenu.close();
}
}
Repeater {
model: LauncherCore.profileManager
QQC2.MenuItem {
required property var profile
text: profile.name
onClicked: {
LauncherCore.autoLoginProfile = profile;
profileMenu.close();
}
}
}
}
onClicked: profileMenu.popup()
}
FormCard.FormDelegateSeparator {}
FormCard.FormCheckDelegate {
id: closeAstraDelegate
text: i18n("Close Astra when game is launched")
checked: LauncherCore.closeWhenLaunched
onCheckedChanged: LauncherCore.closeWhenLaunched = checked
}
FormCard.FormDelegateSeparator {
above: closeAstraDelegate
below: showNewsDelegate
}
FormCard.FormCheckDelegate {
id: showNewsDelegate
text: i18n("Enable and show news")
checked: LauncherCore.showNews
onCheckedChanged: LauncherCore.showNews = checked
}
FormCard.FormDelegateSeparator {
above: showNewsDelegate
below: showDevToolsDelegate
}
FormCard.FormCheckDelegate {
id: showDevToolsDelegate
text: i18n("Show Developer Settings")
checked: LauncherCore.showDevTools
onCheckedChanged: LauncherCore.showDevTools = checked
}
}
FormCard.FormCard {
Layout.topMargin: Kirigami.Units.largeSpacing
Layout.fillWidth: true
FormCard.FormButtonDelegate {
text: i18n("Clear Lodestone Avatar Cache")
description: i18n("Refreshes the avatars for all accounts, and requires Astra to restart to take effect.")
icon.name: "delete"
onClicked: LauncherCore.clearAvatarCache()
}
}
}