mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-22 12:47:44 +00:00
Use qt_target_qml_sources
This commit is contained in:
parent
d1045c4500
commit
f4a8b9ac78
14 changed files with 59 additions and 60 deletions
|
@ -48,6 +48,7 @@ find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS
|
||||||
WebView)
|
WebView)
|
||||||
find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n Config CoreAddons)
|
find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n Config CoreAddons)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
|
qt_policy(SET QTP0001 NEW)
|
||||||
|
|
||||||
if (ENABLE_WATCHDOG)
|
if (ENABLE_WATCHDOG)
|
||||||
pkg_search_module(TESSERACT REQUIRED tesseract)
|
pkg_search_module(TESSERACT REQUIRED tesseract)
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
add_executable(astra)
|
add_executable(astra)
|
||||||
|
|
||||||
|
qt_add_qml_module(astra
|
||||||
|
URI zone.xiv.astra
|
||||||
|
VERSION 1.0)
|
||||||
|
|
||||||
target_sources(astra PRIVATE
|
target_sources(astra PRIVATE
|
||||||
include/account.h
|
include/account.h
|
||||||
include/accountmanager.h
|
include/accountmanager.h
|
||||||
|
@ -35,9 +40,34 @@ target_sources(astra PRIVATE
|
||||||
src/squareboot.cpp
|
src/squareboot.cpp
|
||||||
src/squarelauncher.cpp
|
src/squarelauncher.cpp
|
||||||
src/steamapi.cpp
|
src/steamapi.cpp
|
||||||
src/utility.cpp
|
src/utility.cpp)
|
||||||
|
qt_target_qml_sources(astra
|
||||||
resources.qrc)
|
QML_FILES
|
||||||
|
ui/Components/FormFileDelegate.qml
|
||||||
|
ui/Components/FormFolderDelegate.qml
|
||||||
|
ui/Pages/BrowserPage.qml
|
||||||
|
ui/Pages/LoginPage.qml
|
||||||
|
ui/Pages/MainPage.qml
|
||||||
|
ui/Pages/NewsPage.qml
|
||||||
|
ui/Pages/StatusPage.qml
|
||||||
|
ui/Settings/AboutPage.qml
|
||||||
|
ui/Settings/AccountSettings.qml
|
||||||
|
ui/Settings/AccountsPage.qml
|
||||||
|
ui/Settings/CompatibilityToolSetup.qml
|
||||||
|
ui/Settings/DeveloperSettings.qml
|
||||||
|
ui/Settings/GeneralSettings.qml
|
||||||
|
ui/Settings/ProfileSettings.qml
|
||||||
|
ui/Settings/ProfilesPage.qml
|
||||||
|
ui/Settings/SettingsPage.qml
|
||||||
|
ui/Setup/AccountSetup.qml
|
||||||
|
ui/Setup/AddSapphire.qml
|
||||||
|
ui/Setup/AddSquareEnix.qml
|
||||||
|
ui/Setup/DownloadSetup.qml
|
||||||
|
ui/Setup/ExistingSetup.qml
|
||||||
|
ui/Setup/InstallProgress.qml
|
||||||
|
ui/Setup/SetupPage.qml
|
||||||
|
ui/Main.qml
|
||||||
|
)
|
||||||
kconfig_add_kcfg_files(astra GENERATE_MOC config.kcfgc accountconfig.kcfgc profileconfig.kcfgc)
|
kconfig_add_kcfg_files(astra GENERATE_MOC config.kcfgc accountconfig.kcfgc profileconfig.kcfgc)
|
||||||
target_include_directories(astra PRIVATE include ${CMAKE_BINARY_DIR})
|
target_include_directories(astra PRIVATE include ${CMAKE_BINARY_DIR})
|
||||||
target_link_libraries(astra PRIVATE
|
target_link_libraries(astra PRIVATE
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
<RCC>
|
|
||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: Joshua Goins <josh@redstrate.com>
|
|
||||||
SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
-->
|
|
||||||
<qresource prefix="/">
|
|
||||||
<file>ui/Components/FormFileDelegate.qml</file>
|
|
||||||
<file>ui/Components/FormFolderDelegate.qml</file>
|
|
||||||
<file>ui/Pages/BrowserPage.qml</file>
|
|
||||||
<file>ui/Pages/LoginPage.qml</file>
|
|
||||||
<file>ui/Pages/MainPage.qml</file>
|
|
||||||
<file>ui/Pages/NewsPage.qml</file>
|
|
||||||
<file>ui/Pages/StatusPage.qml</file>
|
|
||||||
<file>ui/Settings/AboutPage.qml</file>
|
|
||||||
<file>ui/Settings/AccountSettings.qml</file>
|
|
||||||
<file>ui/Settings/AccountsPage.qml</file>
|
|
||||||
<file>ui/Settings/CompatibilityToolSetup.qml</file>
|
|
||||||
<file>ui/Settings/DeveloperSettings.qml</file>
|
|
||||||
<file>ui/Settings/GeneralSettings.qml</file>
|
|
||||||
<file>ui/Settings/ProfileSettings.qml</file>
|
|
||||||
<file>ui/Settings/ProfilesPage.qml</file>
|
|
||||||
<file>ui/Settings/SettingsPage.qml</file>
|
|
||||||
<file>ui/Setup/AccountSetup.qml</file>
|
|
||||||
<file>ui/Setup/AddSapphire.qml</file>
|
|
||||||
<file>ui/Setup/AddSquareEnix.qml</file>
|
|
||||||
<file>ui/Setup/DownloadSetup.qml</file>
|
|
||||||
<file>ui/Setup/ExistingSetup.qml</file>
|
|
||||||
<file>ui/Setup/InstallProgress.qml</file>
|
|
||||||
<file>ui/Setup/SetupPage.qml</file>
|
|
||||||
<file>ui/main.qml</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
|
@ -94,7 +94,7 @@ int main(int argc, char *argv[])
|
||||||
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
|
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
|
||||||
QObject::connect(&engine, &QQmlApplicationEngine::quit, &app, &QCoreApplication::quit);
|
QObject::connect(&engine, &QQmlApplicationEngine::quit, &app, &QCoreApplication::quit);
|
||||||
|
|
||||||
engine.load(QUrl(QStringLiteral("qrc:/ui/main.qml")));
|
engine.loadFromModule(QStringLiteral("zone.xiv.astra"), QStringLiteral("Main"));
|
||||||
if (engine.rootObjects().isEmpty()) {
|
if (engine.rootObjects().isEmpty()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,16 +39,16 @@ Kirigami.ApplicationWindow {
|
||||||
|
|
||||||
if (!currentSetupProfile.isGameInstalled) {
|
if (!currentSetupProfile.isGameInstalled) {
|
||||||
// User must set up the profile
|
// User must set up the profile
|
||||||
pageStack.layers.replace('qrc:/ui/Setup/SetupPage.qml', {
|
pageStack.layers.replace(Qt.createComponent("zone.xiv.astra", "SetupPage"), {
|
||||||
profile: currentSetupProfile
|
profile: currentSetupProfile
|
||||||
})
|
})
|
||||||
} else if (!currentSetupProfile.account) {
|
} else if (!currentSetupProfile.account) {
|
||||||
// User must select an account for the profile
|
// User must select an account for the profile
|
||||||
pageStack.layers.replace('qrc:/ui/Setup/AccountSetup.qml', {
|
pageStack.layers.replace(Qt.createComponent("zone.xiv.astra", "AccountSetup"), {
|
||||||
profile: currentSetupProfile
|
profile: currentSetupProfile
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
pageStack.layers.replace('qrc:/ui/Pages/MainPage.qml')
|
pageStack.layers.replace(Qt.createComponent("zone.xiv.astra", "MainPage"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ Kirigami.ApplicationWindow {
|
||||||
|
|
||||||
function openUrl(url) {
|
function openUrl(url) {
|
||||||
if (LauncherCore.isSteamDeck) {
|
if (LauncherCore.isSteamDeck) {
|
||||||
pageStack.layers.push('qrc:/ui/Pages/BrowserPage.qml', {
|
pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "BrowserPage"), {
|
||||||
url: url
|
url: url
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -96,7 +96,7 @@ Kirigami.ApplicationWindow {
|
||||||
function onShowNewsChanged() {
|
function onShowNewsChanged() {
|
||||||
// workaround annoying Qt layouting bug
|
// workaround annoying Qt layouting bug
|
||||||
// TODO: see if this changed in Qt6
|
// TODO: see if this changed in Qt6
|
||||||
pageStack.layers.replace('qrc:/ui/Pages/MainPage.qml')
|
pageStack.layers.replace(Qt.createComponent("zone.xiv.astra", "MainPage"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,7 @@ Controls.Control {
|
||||||
enabled: page.isLoginValid
|
enabled: page.isLoginValid
|
||||||
onClicked: {
|
onClicked: {
|
||||||
LauncherCore.login(page.profile, usernameField.text, passwordField.text, otpField.text)
|
LauncherCore.login(page.profile, usernameField.text, passwordField.text, otpField.text)
|
||||||
pageStack.layers.push('qrc:/ui/Pages/StatusPage.qml')
|
pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "StatusPage"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ Kirigami.Page {
|
||||||
Kirigami.Action {
|
Kirigami.Action {
|
||||||
text: i18n("Settings")
|
text: i18n("Settings")
|
||||||
icon.name: "configure"
|
icon.name: "configure"
|
||||||
onTriggered: applicationWindow().pushDialogLayer('qrc:/ui/Settings/SettingsPage.qml')
|
onTriggered: applicationWindow().pushDialogLayer(Qt.createComponent("zone.xiv.astra", "SettingsPage"))
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ import org.kde.kirigami 2.20 as Kirigami
|
||||||
import QtQuick.Controls 2.15 as Controls
|
import QtQuick.Controls 2.15 as Controls
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
|
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
|
||||||
import zone.xiv.astra 1.0
|
import org.kde.coreaddons
|
||||||
|
|
||||||
FormCard.AboutPage {
|
FormCard.AboutPage {
|
||||||
aboutData: About
|
aboutData: AboutData
|
||||||
}
|
}
|
|
@ -33,7 +33,7 @@ FormCard.FormCardPage {
|
||||||
|
|
||||||
leadingPadding: Kirigami.Units.largeSpacing * 2
|
leadingPadding: Kirigami.Units.largeSpacing * 2
|
||||||
|
|
||||||
onClicked: applicationWindow().pageStack.layers.push('qrc:/ui/Settings/AccountSettings.qml', {
|
onClicked: applicationWindow().pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "AccountSettings"), {
|
||||||
account: account
|
account: account
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ FormCard.FormCardPage {
|
||||||
|
|
||||||
text: i18n("Add Square Enix Account")
|
text: i18n("Add Square Enix Account")
|
||||||
icon.name: "list-add-symbolic"
|
icon.name: "list-add-symbolic"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/AddSquareEnix.qml')
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "AddSquareEnix"))
|
||||||
}
|
}
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator {
|
FormCard.FormDelegateSeparator {
|
||||||
|
@ -61,7 +61,7 @@ FormCard.FormCardPage {
|
||||||
|
|
||||||
text: i18n("Add Sapphire Account")
|
text: i18n("Add Sapphire Account")
|
||||||
icon.name: "list-add-symbolic"
|
icon.name: "list-add-symbolic"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/AddSapphire.qml')
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "AddSapphire"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -26,7 +26,7 @@ FormCard.FormCardPage {
|
||||||
required property var profile
|
required property var profile
|
||||||
|
|
||||||
text: profile.name
|
text: profile.name
|
||||||
onClicked: applicationWindow().pageStack.layers.push('qrc:/ui/Settings/ProfileSettings.qml', {
|
onClicked: applicationWindow().pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "ProfileSettings"), {
|
||||||
profile: profile
|
profile: profile
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,38 +15,38 @@ KirigamiSettings.CategorizedSettings {
|
||||||
actionName: "general"
|
actionName: "general"
|
||||||
text: i18n("General")
|
text: i18n("General")
|
||||||
icon.name: "zone.xiv.astra"
|
icon.name: "zone.xiv.astra"
|
||||||
page: Qt.resolvedUrl("GeneralSettings.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/GeneralSettings.qml")
|
||||||
},
|
},
|
||||||
KirigamiSettings.SettingAction {
|
KirigamiSettings.SettingAction {
|
||||||
actionName: "profiles"
|
actionName: "profiles"
|
||||||
text: i18n("Profiles")
|
text: i18n("Profiles")
|
||||||
icon.name: "preferences-desktop-gaming"
|
icon.name: "preferences-desktop-gaming"
|
||||||
page: Qt.resolvedUrl("ProfilesPage.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/ProfilesPage.qml")
|
||||||
},
|
},
|
||||||
KirigamiSettings.SettingAction {
|
KirigamiSettings.SettingAction {
|
||||||
actionName: "accounts"
|
actionName: "accounts"
|
||||||
text: i18n("Accounts")
|
text: i18n("Accounts")
|
||||||
icon.name: "preferences-system-users"
|
icon.name: "preferences-system-users"
|
||||||
page: Qt.resolvedUrl("AccountsPage.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/AccountsPage.qml")
|
||||||
},
|
},
|
||||||
KirigamiSettings.SettingAction {
|
KirigamiSettings.SettingAction {
|
||||||
actionName: "compattool"
|
actionName: "compattool"
|
||||||
text: i18n("Compatibility Tool")
|
text: i18n("Compatibility Tool")
|
||||||
icon.name: "system-run"
|
icon.name: "system-run"
|
||||||
page: Qt.resolvedUrl("CompatibilityToolSetup.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/CompatibilityToolSetup.qml")
|
||||||
},
|
},
|
||||||
KirigamiSettings.SettingAction {
|
KirigamiSettings.SettingAction {
|
||||||
actionName: "devtool"
|
actionName: "devtool"
|
||||||
text: i18n("Developer Settings")
|
text: i18n("Developer Settings")
|
||||||
icon.name: "preferences-others"
|
icon.name: "preferences-others"
|
||||||
page: Qt.resolvedUrl("DeveloperSettings.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/DeveloperSettings.qml")
|
||||||
visible: LauncherCore.showDevTools
|
visible: LauncherCore.showDevTools
|
||||||
},
|
},
|
||||||
KirigamiSettings.SettingAction {
|
KirigamiSettings.SettingAction {
|
||||||
actionName: "about"
|
actionName: "about"
|
||||||
text: i18n("About Astra")
|
text: i18n("About Astra")
|
||||||
icon.name: "help-about"
|
icon.name: "help-about"
|
||||||
page: Qt.resolvedUrl("AboutPage.qml")
|
page: Qt.resolvedUrl("/qt/qml/zone/xiv/astra/ui/Settings/AboutPage.qml")
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ Kirigami.Page {
|
||||||
MobileForm.FormButtonDelegate {
|
MobileForm.FormButtonDelegate {
|
||||||
text: i18n("Add Square Enix Account")
|
text: i18n("Add Square Enix Account")
|
||||||
icon.name: "list-add-symbolic"
|
icon.name: "list-add-symbolic"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/AddSquareEnix.qml', {
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "AddSquareEnix"), {
|
||||||
profile: page.profile
|
profile: page.profile
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ Kirigami.Page {
|
||||||
MobileForm.FormButtonDelegate {
|
MobileForm.FormButtonDelegate {
|
||||||
text: i18n("Add Sapphire Account")
|
text: i18n("Add Sapphire Account")
|
||||||
icon.name: "list-add-symbolic"
|
icon.name: "list-add-symbolic"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/AddSapphire.qml', {
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "AddSapphire"), {
|
||||||
profile: page.profile
|
profile: page.profile
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ Kirigami.Page {
|
||||||
MobileForm.FormButtonDelegate {
|
MobileForm.FormButtonDelegate {
|
||||||
text: i18n("Begin installation")
|
text: i18n("Begin installation")
|
||||||
icon.name: "cloud-download"
|
icon.name: "cloud-download"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/InstallProgress.qml', {
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "InstallProgress"), {
|
||||||
gameInstaller: LauncherCore.createInstaller(page.profile)
|
gameInstaller: LauncherCore.createInstaller(page.profile)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ Kirigami.Page {
|
||||||
MobileForm.FormButtonDelegate {
|
MobileForm.FormButtonDelegate {
|
||||||
text: i18n("Find Existing Installation")
|
text: i18n("Find Existing Installation")
|
||||||
icon.name: "edit-find"
|
icon.name: "edit-find"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/ExistingSetup.qml', {
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "ExistingSetup"), {
|
||||||
profile: page.profile
|
profile: page.profile
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ Kirigami.Page {
|
||||||
MobileForm.FormButtonDelegate {
|
MobileForm.FormButtonDelegate {
|
||||||
text: i18n("Download Game")
|
text: i18n("Download Game")
|
||||||
icon.name: "cloud-download"
|
icon.name: "cloud-download"
|
||||||
onClicked: pageStack.layers.push('qrc:/ui/Setup/DownloadSetup.qml', {
|
onClicked: pageStack.layers.push(Qt.createComponent("zone.xiv.astra", "DownloadSetup"), {
|
||||||
profile: page.profile
|
profile: page.profile
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue