diff --git a/.ci/license-header.sh b/.ci/license-header.sh index d49714dae1..4f1658d78d 100755 --- a/.ci/license-header.sh +++ b/.ci/license-header.sh @@ -116,7 +116,7 @@ for file in $FILES; do *.cmake|*.sh|CMakeLists.txt) begin="#" ;; - *.kt*|*.cpp|*.h) + *.kt*|*.cpp|*.h|*.qml) begin="//" ;; *) diff --git a/CMakeModules/EdenModule.cmake b/CMakeModules/EdenModule.cmake index f6eabfac03..7a8b9a7af5 100644 --- a/CMakeModules/EdenModule.cmake +++ b/CMakeModules/EdenModule.cmake @@ -49,8 +49,8 @@ function(EdenModule) target_link_libraries(${LIB_NAME}plugin PRIVATE ${MODULE_LIBRARIES}) endif() - target_link_libraries(${LIB_NAME} PRIVATE Carboxyl::Base Carboxyl::Styles) - target_link_libraries(${LIB_NAME}plugin PRIVATE Carboxyl::Base Carboxyl::Styles) + target_link_libraries(${LIB_NAME} PRIVATE Carboxyl::Carboxyl) + target_link_libraries(${LIB_NAME}plugin PRIVATE Carboxyl::Carboxyl) target_link_libraries(${LIB_NAME} PUBLIC ${LIB_NAME}plugin) endfunction() diff --git a/src/Eden/Config/GlobalConfigureDialog.qml b/src/Eden/Config/GlobalConfigureDialog.qml index 96bd7a8487..320ac42cc5 100644 --- a/src/Eden/Config/GlobalConfigureDialog.qml +++ b/src/Eden/Config/GlobalConfigureDialog.qml @@ -1,31 +1,35 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants import Eden.Items import Eden.Interface +import Eden.Constants import Eden.Util -import Carboxyl.Base +import Carboxyl.Contour NativeDialog { property list configs - width: 900 - height: 600 + width: Constants.width + height: Constants.height title: qsTr("Eden Configuration") standardButtons: Dialog.Ok | Dialog.Apply | Dialog.Cancel - Component.onCompleted: configs = Util.searchItem(swipe, "PageScrollView") + Component.onCompleted: { + configs = Util.searchItem(swipe, "PageScrollView") + } function applyConfigs() { configs.forEach(config => { config.apply() }) - // console.log("Saving") QtConfig.save() } @@ -57,7 +61,7 @@ NativeDialog { vertical: true // TODO: style-dependent - property int topMargin: 45 + property int topMargin: general.tabBar.height anchors { top: parent.top @@ -67,7 +71,7 @@ NativeDialog { leftMargin: 0 } - height: Math.min(contentHeight * count + 20, + height: Math.min(contentItem.contentHeight + 20, parent.height - tabBar.topMargin) contentWidth: 110 contentHeight: 45 @@ -81,10 +85,12 @@ NativeDialog { clip: true Repeater { + id: buttons model: [qsTr("General"), qsTr("System"), qsTr("CPU"), qsTr( "Graphics"), qsTr("Audio"), qsTr("Debug"), qsTr("Controls")] - CarboxylTabButton { + delegate: CarboxylTabButton { + id: btn font.pixelSize: 15 font.weight: 600 @@ -114,12 +120,14 @@ NativeDialog { top: parent.top bottom: parent.bottom - leftMargin: 0 + leftMargin: -5 } clip: true - GlobalGeneralPage {} + GlobalGeneralPage { + id: general + } GlobalSystemPage {} GlobalCpuPage {} GlobalGraphicsPage {} diff --git a/src/Eden/Config/SectionHeader.qml b/src/Eden/Config/SectionHeader.qml index 8ac81ec43f..4afa991223 100644 --- a/src/Eden/Config/SectionHeader.qml +++ b/src/Eden/Config/SectionHeader.qml @@ -1,6 +1,9 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick -import Carboxyl.Base +import Carboxyl.Contour Label { font.pixelSize: 16 diff --git a/src/Eden/Config/Setting.qml b/src/Eden/Config/Setting.qml index 8f2518c7e9..17d59f37ea 100644 --- a/src/Eden/Config/Setting.qml +++ b/src/Eden/Config/Setting.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Qt.labs.qmlmodels diff --git a/src/Eden/Config/TestSetting.qml b/src/Eden/Config/TestSetting.qml index fcc4cc3f11..6c5202b46d 100644 --- a/src/Eden/Config/TestSetting.qml +++ b/src/Eden/Config/TestSetting.qml @@ -1,7 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts -import Carboxyl.Base +import Carboxyl.Contour Column { topPadding: 5 diff --git a/src/Eden/Config/fields/BaseField.qml b/src/Eden/Config/fields/BaseField.qml index a5cb7b0fb6..1c86ca747c 100644 --- a/src/Eden/Config/fields/BaseField.qml +++ b/src/Eden/Config/fields/BaseField.qml @@ -1,9 +1,11 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts import Eden.Items import Eden.Config -import Eden.Constants Item { id: field diff --git a/src/Eden/Config/fields/ConfigCheckbox.qml b/src/Eden/Config/fields/ConfigCheckbox.qml index 750c0a3560..4b0daa6157 100644 --- a/src/Eden/Config/fields/ConfigCheckbox.qml +++ b/src/Eden/Config/fields/ConfigCheckbox.qml @@ -1,8 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants BaseField { forceCheckbox: true diff --git a/src/Eden/Config/fields/ConfigComboBox.qml b/src/Eden/Config/fields/ConfigComboBox.qml index b554508041..9c7f0d163b 100644 --- a/src/Eden/Config/fields/ConfigComboBox.qml +++ b/src/Eden/Config/fields/ConfigComboBox.qml @@ -1,8 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants import Eden.Config BaseField { diff --git a/src/Eden/Config/fields/ConfigHexEdit.qml b/src/Eden/Config/fields/ConfigHexEdit.qml index 43b713eb59..f81c5040ee 100644 --- a/src/Eden/Config/fields/ConfigHexEdit.qml +++ b/src/Eden/Config/fields/ConfigHexEdit.qml @@ -1,10 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts import QtQuick.Controls import Eden.Items import Eden.Config -import Eden.Constants BaseField { contentItem: TextField { diff --git a/src/Eden/Config/fields/ConfigIntLine.qml b/src/Eden/Config/fields/ConfigIntLine.qml index fa9755ac27..70e6438bf6 100644 --- a/src/Eden/Config/fields/ConfigIntLine.qml +++ b/src/Eden/Config/fields/ConfigIntLine.qml @@ -1,10 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts import Eden.Items import Eden.Config -import Eden.Constants BaseField { contentItem: TextField { diff --git a/src/Eden/Config/fields/ConfigIntSlider.qml b/src/Eden/Config/fields/ConfigIntSlider.qml index 31130c08c4..af7968bbf4 100644 --- a/src/Eden/Config/fields/ConfigIntSlider.qml +++ b/src/Eden/Config/fields/ConfigIntSlider.qml @@ -1,10 +1,14 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts import Eden.Items import Eden.Config -import Carboxyl.Base + +import Carboxyl.Contour // Lots of cancer but idrc BaseField { diff --git a/src/Eden/Config/fields/ConfigIntSpin.qml b/src/Eden/Config/fields/ConfigIntSpin.qml index a1a22467bd..594a63133f 100644 --- a/src/Eden/Config/fields/ConfigIntSpin.qml +++ b/src/Eden/Config/fields/ConfigIntSpin.qml @@ -1,10 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts import QtQuick.Controls import Eden.Items import Eden.Config -import Eden.Constants BaseField { id: field diff --git a/src/Eden/Config/fields/ConfigStringEdit.qml b/src/Eden/Config/fields/ConfigStringEdit.qml index ff5e48ae01..48c70b0873 100644 --- a/src/Eden/Config/fields/ConfigStringEdit.qml +++ b/src/Eden/Config/fields/ConfigStringEdit.qml @@ -1,10 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts import QtQuick.Controls import Eden.Items import Eden.Config -import Eden.Constants BaseField { contentItem: TextField { diff --git a/src/Eden/Config/fields/ConfigTimeEdit.qml b/src/Eden/Config/fields/ConfigTimeEdit.qml index 49cf3b1ee1..d2248e43cd 100644 --- a/src/Eden/Config/fields/ConfigTimeEdit.qml +++ b/src/Eden/Config/fields/ConfigTimeEdit.qml @@ -1,10 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts import QtQuick.Controls import Eden.Items import Eden.Config -import Eden.Constants BaseField { // TODO: real impl diff --git a/src/Eden/Config/fields/FieldCheckbox.qml b/src/Eden/Config/fields/FieldCheckbox.qml index 14da7d9505..35bfdec4d8 100644 --- a/src/Eden/Config/fields/FieldCheckbox.qml +++ b/src/Eden/Config/fields/FieldCheckbox.qml @@ -1,8 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants CheckBox { property bool force: false diff --git a/src/Eden/Config/fields/FieldLabel.qml b/src/Eden/Config/fields/FieldLabel.qml index e4e51fcc78..9940dfd583 100644 --- a/src/Eden/Config/fields/FieldLabel.qml +++ b/src/Eden/Config/fields/FieldLabel.qml @@ -1,8 +1,11 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Carboxyl.Base +import Carboxyl.Contour Label { property var setting diff --git a/src/Eden/Config/pages/PageScrollView.qml b/src/Eden/Config/pages/PageScrollView.qml index 7eadd040b6..89e291099c 100644 --- a/src/Eden/Config/pages/PageScrollView.qml +++ b/src/Eden/Config/pages/PageScrollView.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/SettingsList.qml b/src/Eden/Config/pages/SettingsList.qml index c891fcaff0..eb58e1079e 100644 --- a/src/Eden/Config/pages/SettingsList.qml +++ b/src/Eden/Config/pages/SettingsList.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Layouts diff --git a/src/Eden/Config/pages/audio/AudioGeneralPage.qml b/src/Eden/Config/pages/audio/AudioGeneralPage.qml index 837193b265..1d5f10bec9 100644 --- a/src/Eden/Config/pages/audio/AudioGeneralPage.qml +++ b/src/Eden/Config/pages/audio/AudioGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/cpu/CpuGeneralPage.qml b/src/Eden/Config/pages/cpu/CpuGeneralPage.qml index 0adad7d1e1..e31863e6d4 100644 --- a/src/Eden/Config/pages/cpu/CpuGeneralPage.qml +++ b/src/Eden/Config/pages/cpu/CpuGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/debug/DebugAdvancedPage.qml b/src/Eden/Config/pages/debug/DebugAdvancedPage.qml index f2e16ebed9..ac3f043414 100644 --- a/src/Eden/Config/pages/debug/DebugAdvancedPage.qml +++ b/src/Eden/Config/pages/debug/DebugAdvancedPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/debug/DebugCpuPage.qml b/src/Eden/Config/pages/debug/DebugCpuPage.qml index 7f64c2522a..0468e24fd1 100644 --- a/src/Eden/Config/pages/debug/DebugCpuPage.qml +++ b/src/Eden/Config/pages/debug/DebugCpuPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/debug/DebugGeneralPage.qml b/src/Eden/Config/pages/debug/DebugGeneralPage.qml index d122525268..884ee686a8 100644 --- a/src/Eden/Config/pages/debug/DebugGeneralPage.qml +++ b/src/Eden/Config/pages/debug/DebugGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/debug/DebugGraphicsPage.qml b/src/Eden/Config/pages/debug/DebugGraphicsPage.qml index 1c132a421e..ba7445685a 100644 --- a/src/Eden/Config/pages/debug/DebugGraphicsPage.qml +++ b/src/Eden/Config/pages/debug/DebugGraphicsPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/general/UiGameListPage.qml b/src/Eden/Config/pages/general/UiGameListPage.qml index 405a513f27..1032fd0d82 100644 --- a/src/Eden/Config/pages/general/UiGameListPage.qml +++ b/src/Eden/Config/pages/general/UiGameListPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/general/UiGeneralPage.qml b/src/Eden/Config/pages/general/UiGeneralPage.qml index badf5a77a5..029a38bfe1 100644 --- a/src/Eden/Config/pages/general/UiGeneralPage.qml +++ b/src/Eden/Config/pages/general/UiGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts @@ -5,7 +8,7 @@ import QtQuick.Layouts import Eden.Interface import Eden.Config -import Carboxyl.Base +import Carboxyl.Clover PageScrollView { id: scroll @@ -19,8 +22,8 @@ PageScrollView { theme.apply() accent.apply() - Palettes.accent = Palettes.accents[accent.contentItem.currentIndex] - Palettes.theme = Palettes.themes[theme.contentItem.currentIndex] + Clover.accent = Clover.accents[accent.contentItem.currentIndex] + Clover.theme = Clover.themes[theme.contentItem.currentIndex] if (linux.visible) linux.apply() diff --git a/src/Eden/Config/pages/global/GlobalAudioPage.qml b/src/Eden/Config/pages/global/GlobalAudioPage.qml index 1edff2a9b4..3aa643c9ba 100644 --- a/src/Eden/Config/pages/global/GlobalAudioPage.qml +++ b/src/Eden/Config/pages/global/GlobalAudioPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalCpuPage.qml b/src/Eden/Config/pages/global/GlobalCpuPage.qml index ead6fdd9c6..c195858334 100644 --- a/src/Eden/Config/pages/global/GlobalCpuPage.qml +++ b/src/Eden/Config/pages/global/GlobalCpuPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalDebugPage.qml b/src/Eden/Config/pages/global/GlobalDebugPage.qml index ee1f49a005..b6d50d3741 100644 --- a/src/Eden/Config/pages/global/GlobalDebugPage.qml +++ b/src/Eden/Config/pages/global/GlobalDebugPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalGeneralPage.qml b/src/Eden/Config/pages/global/GlobalGeneralPage.qml index e1e5a906a7..54362407b1 100644 --- a/src/Eden/Config/pages/global/GlobalGeneralPage.qml +++ b/src/Eden/Config/pages/global/GlobalGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalGraphicsPage.qml b/src/Eden/Config/pages/global/GlobalGraphicsPage.qml index 4e15cd01f6..b09d7dabff 100644 --- a/src/Eden/Config/pages/global/GlobalGraphicsPage.qml +++ b/src/Eden/Config/pages/global/GlobalGraphicsPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalSystemPage.qml b/src/Eden/Config/pages/global/GlobalSystemPage.qml index b482f7b57f..1a74440612 100644 --- a/src/Eden/Config/pages/global/GlobalSystemPage.qml +++ b/src/Eden/Config/pages/global/GlobalSystemPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import Eden.Config diff --git a/src/Eden/Config/pages/global/GlobalTab.qml b/src/Eden/Config/pages/global/GlobalTab.qml index 6d141fced5..b63bd84485 100644 --- a/src/Eden/Config/pages/global/GlobalTab.qml +++ b/src/Eden/Config/pages/global/GlobalTab.qml @@ -1,9 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick 2.15 import QtQuick.Controls -import Eden.Constants - -import Carboxyl.Base +import Carboxyl.Contour Item { required property list tabs diff --git a/src/Eden/Config/pages/global/GlobalTabSwipeView.qml b/src/Eden/Config/pages/global/GlobalTabSwipeView.qml index 1f3d2eca75..e75db03b11 100644 --- a/src/Eden/Config/pages/global/GlobalTabSwipeView.qml +++ b/src/Eden/Config/pages/global/GlobalTabSwipeView.qml @@ -1,7 +1,9 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick 2.15 import QtQuick.Controls -import Eden.Constants SwipeView { interactive: false diff --git a/src/Eden/Config/pages/graphics/RendererAdvancedPage.qml b/src/Eden/Config/pages/graphics/RendererAdvancedPage.qml index d3e79ab031..38f74f16fb 100644 --- a/src/Eden/Config/pages/graphics/RendererAdvancedPage.qml +++ b/src/Eden/Config/pages/graphics/RendererAdvancedPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/graphics/RendererExtensionsPage.qml b/src/Eden/Config/pages/graphics/RendererExtensionsPage.qml index 8d09fcad8f..d606cbed36 100644 --- a/src/Eden/Config/pages/graphics/RendererExtensionsPage.qml +++ b/src/Eden/Config/pages/graphics/RendererExtensionsPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/graphics/RendererPage.qml b/src/Eden/Config/pages/graphics/RendererPage.qml index 15b5ea03a3..6ad609e3a1 100644 --- a/src/Eden/Config/pages/graphics/RendererPage.qml +++ b/src/Eden/Config/pages/graphics/RendererPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/system/AppletsPage.qml b/src/Eden/Config/pages/system/AppletsPage.qml index 7658438851..352a780cd7 100644 --- a/src/Eden/Config/pages/system/AppletsPage.qml +++ b/src/Eden/Config/pages/system/AppletsPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/system/FileSystemPage.qml b/src/Eden/Config/pages/system/FileSystemPage.qml index 56b97bf4de..2fb03ff5d4 100644 --- a/src/Eden/Config/pages/system/FileSystemPage.qml +++ b/src/Eden/Config/pages/system/FileSystemPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/system/SystemCorePage.qml b/src/Eden/Config/pages/system/SystemCorePage.qml index 3682aaf407..6715b6a865 100644 --- a/src/Eden/Config/pages/system/SystemCorePage.qml +++ b/src/Eden/Config/pages/system/SystemCorePage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Config/pages/system/SystemGeneralPage.qml b/src/Eden/Config/pages/system/SystemGeneralPage.qml index c275cb4f4f..ff648e60a8 100644 --- a/src/Eden/Config/pages/system/SystemGeneralPage.qml +++ b/src/Eden/Config/pages/system/SystemGeneralPage.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/src/Eden/Constants/Constants.qml b/src/Eden/Constants/Constants.qml index 510931f399..741d8fb27f 100644 --- a/src/Eden/Constants/Constants.qml +++ b/src/Eden/Constants/Constants.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + pragma Singleton import QtQuick diff --git a/src/Eden/Interface/GraphicsDeviceInterface.cpp b/src/Eden/Interface/GraphicsDeviceInterface.cpp index 2882249b8a..102e4d79b5 100644 --- a/src/Eden/Interface/GraphicsDeviceInterface.cpp +++ b/src/Eden/Interface/GraphicsDeviceInterface.cpp @@ -30,7 +30,12 @@ static const QString TranslateVSyncMode(VkPresentModeKHR mode, GraphicsDeviceInterface::GraphicsDeviceInterface(QQuickItem *parent) : QQuickItem(parent) -{} +{ + // NB: QML does NOT guarantee ordering! + setApi(Settings::values.renderer_backend.GetValue()); + setVsyncMode(int(Settings::values.vsync_mode.GetValue())); + setDevice(Settings::values.vulkan_device.GetValue()); +} QStringList GraphicsDeviceInterface::devices() { @@ -43,6 +48,7 @@ void GraphicsDeviceInterface::populateDevices() vulkan_devices.reserve(records.size()); device_present_modes.clear(); device_present_modes.reserve(records.size()); + for (const auto &record : records) { vulkan_devices.push_back(QString::fromStdString(record.name)); device_present_modes.push_back(record.vsync_support); @@ -127,8 +133,6 @@ void GraphicsDeviceInterface::setDevice(int newDevice) return; m_device = newDevice; emit deviceChanged(m_device); - - populateVsync(); } QStringList GraphicsDeviceInterface::vsyncModes() const diff --git a/src/Eden/Interface/GraphicsDeviceInterface.h b/src/Eden/Interface/GraphicsDeviceInterface.h index ee25ad66d1..143d55db7d 100644 --- a/src/Eden/Interface/GraphicsDeviceInterface.h +++ b/src/Eden/Interface/GraphicsDeviceInterface.h @@ -62,13 +62,15 @@ private: std::vector> device_present_modes; - void populateDevices(); - void populateVsync(); - Settings::RendererBackend m_api; bool m_isOpenGL; bool m_isVulkan; int m_device; int m_vsyncMode; + +private slots: + void populateDevices(); + void populateVsync(); + }; diff --git a/src/Eden/Interface/QMLConfig.h b/src/Eden/Interface/QMLConfig.h index 3e76889558..86db635383 100644 --- a/src/Eden/Interface/QMLConfig.h +++ b/src/Eden/Interface/QMLConfig.h @@ -20,11 +20,9 @@ public: {} Q_INVOKABLE inline void reload() { - qDebug() << "Reloading"; m_config->ReloadAllValues(); } Q_INVOKABLE inline void save() { - qDebug() << "Saving"; m_config->SaveAllValues(); } }; diff --git a/src/Eden/Interface/QMLSetting.cpp b/src/Eden/Interface/QMLSetting.cpp index ab4375b522..a1fa791c53 100644 --- a/src/Eden/Interface/QMLSetting.cpp +++ b/src/Eden/Interface/QMLSetting.cpp @@ -3,6 +3,7 @@ #include "QMLSetting.h" #include "common/settings.h" +#include "qt_common/config/uisettings.h" #include @@ -150,6 +151,7 @@ void QMLSetting::setValue(const QVariant &newValue) var.convert(QMetaType(m_metaType)); m_setting->LoadString(var.toString().toStdString()); + emit valueChanged(); } diff --git a/src/Eden/Items/IconButton.qml b/src/Eden/Items/IconButton.qml index ac46c8d45a..971a7e4472 100644 --- a/src/Eden/Items/IconButton.qml +++ b/src/Eden/Items/IconButton.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls diff --git a/src/Eden/Items/StatusBarButton.qml b/src/Eden/Items/StatusBarButton.qml index d5918ca601..514c9545dc 100644 --- a/src/Eden/Items/StatusBarButton.qml +++ b/src/Eden/Items/StatusBarButton.qml @@ -1,8 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants // TODO: ToolButton? MouseArea { diff --git a/src/Eden/Main/GameCarousel.qml b/src/Eden/Main/GameCarousel.qml index b4f545678b..056a928827 100644 --- a/src/Eden/Main/GameCarousel.qml +++ b/src/Eden/Main/GameCarousel.qml @@ -1,11 +1,15 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import Qt.labs.platform import QtCore -import Eden.Constants import Eden.Interface +import Carboxyl.Clover + ListView { id: carousel @@ -51,7 +55,7 @@ ListView { color: "transparent" border { - color: palette.accent + color: Clover.theme.currentAccent width: 4 } @@ -69,7 +73,7 @@ ListView { font.pixelSize: 22 font.family: "Monospace" - color: palette.accent + color: Clover.theme.currentAccent background: "transparent" } } diff --git a/src/Eden/Main/GameCarouselCard.qml b/src/Eden/Main/GameCarouselCard.qml index f4b293eff8..791a267bae 100644 --- a/src/Eden/Main/GameCarouselCard.qml +++ b/src/Eden/Main/GameCarouselCard.qml @@ -1,9 +1,12 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import Qt.labs.platform import QtCore -import Eden.Constants +import Carboxyl.Clover Item { property string title: model.name.replace(/-/g, " ") @@ -18,7 +21,7 @@ Item { color: "transparent" border { width: 4 - color: PathView.isCurrentItem ? palette.accent : "transparent" + color: PathView.isCurrentItem ? Clover.theme.currentAccent : "transparent" } Image { diff --git a/src/Eden/Main/GameGrid.qml b/src/Eden/Main/GameGrid.qml index 3b8ba91d47..4036f20ebe 100644 --- a/src/Eden/Main/GameGrid.qml +++ b/src/Eden/Main/GameGrid.qml @@ -1,10 +1,13 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import Qt.labs.platform import QtCore -import Eden.Constants import Eden.Interface +import Carboxyl.Clover GridView { property var setting @@ -44,7 +47,7 @@ GridView { radius: 16 border { - color: palette.accent + color: Clover.theme.currentAccent width: 4 } } diff --git a/src/Eden/Main/GameGridCard.qml b/src/Eden/Main/GameGridCard.qml index 4fe36d5441..f6140fb91f 100644 --- a/src/Eden/Main/GameGridCard.qml +++ b/src/Eden/Main/GameGridCard.qml @@ -1,11 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls -import Qt.labs.platform -import QtCore - -import Eden.Constants -import Carboxyl.Base +import Carboxyl.Clover Rectangle { id: wrapper @@ -75,7 +74,7 @@ Rectangle { font.pixelSize: 18 font.family: "Monospace" - color: palette.accent + color: Clover.theme.currentAccent background: "transparent" canMarquee: wrapper.GridView.isCurrentItem diff --git a/src/Eden/Main/GameList.qml b/src/Eden/Main/GameList.qml index b1690ae98e..d9cb137a23 100644 --- a/src/Eden/Main/GameList.qml +++ b/src/Eden/Main/GameList.qml @@ -1,17 +1,18 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import Qt.labs.platform import QtCore -import Eden.Constants import Eden.Interface // import Eden.Native.Gamepad Rectangle { id: root - property var setting: SettingsInterface.setting("grid_columns") - + // property var setting: SettingsInterface.setting("grid_columns") property int gx: 0 property int gy: 0 diff --git a/src/Eden/Main/Main.qml b/src/Eden/Main/Main.qml index c42fb56003..a8e1702396 100644 --- a/src/Eden/Main/Main.qml +++ b/src/Eden/Main/Main.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls @@ -5,7 +8,7 @@ import Eden.Config import Eden.Items import Eden.Constants -import Carboxyl.Base +import Carboxyl.Clover ApplicationWindow { width: Constants.width @@ -13,7 +16,7 @@ ApplicationWindow { visible: true title: TitleManager.title - palette: Palettes.theme + palette: Clover.theme property var theme: SettingsInterface.setting("carboxyl_theme") property var accent: SettingsInterface.setting("carboxyl_accent") @@ -28,8 +31,8 @@ ApplicationWindow { } Component.onCompleted: { - Palettes.theme = Palettes.themes[theme.value] - Palettes.accent = Palettes.accents[accent.value] + Clover.theme = Clover.themes[theme.value] + Clover.accent = Clover.accents[accent.value] } /** Dialogs */ diff --git a/src/Eden/Main/MarqueeText.qml b/src/Eden/Main/MarqueeText.qml index 89dd6379f6..94ed161cfb 100644 --- a/src/Eden/Main/MarqueeText.qml +++ b/src/Eden/Main/MarqueeText.qml @@ -1,7 +1,9 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls -import Eden.Constants Item { id: container diff --git a/src/Eden/Main/StatusBar.qml b/src/Eden/Main/StatusBar.qml index 47c315c0d5..ab2f3b6068 100644 --- a/src/Eden/Main/StatusBar.qml +++ b/src/Eden/Main/StatusBar.qml @@ -1,8 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Eden.Constants import Eden.Items ToolBar { diff --git a/src/Eden/Native/CMakeLists.txt b/src/Eden/Native/CMakeLists.txt index e245824193..f778a8d121 100644 --- a/src/Eden/Native/CMakeLists.txt +++ b/src/Eden/Native/CMakeLists.txt @@ -33,7 +33,7 @@ target_link_libraries(eden Qt6::Quick Qt6::QuickControls2 - Carboxyl::Base + Carboxyl::Carboxyl ${MODULES} ) diff --git a/src/Eden/Util/Util.qml b/src/Eden/Util/Util.qml index d3c1dd07b1..83be02e72a 100644 --- a/src/Eden/Util/Util.qml +++ b/src/Eden/Util/Util.qml @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + pragma Singleton import QtQuick diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index 15dbc40c9f..37e018fae4 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h @@ -153,7 +153,7 @@ ENUM(GpuOverclock, Low, Medium, High) ENUM(TemperatureUnits, Celsius, Fahrenheit) #ifdef YUZU_QT_QML -ENUM(Accent, System, Red, Blue, Orange, Gold, Forest, Violet, Pink, Cyan, Steel); +ENUM(Accent, Red, Blue, Orange, Gold, Forest, Violet, Pink, Cyan, Steel); ENUM(Theme, System, Light, Dark, Midnight); ENUM(Style, Trioxide, Graphide, Basalt, Hydrogen, Helios); #endif diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp index 94ec349651..9bdbdee9c8 100644 --- a/src/frontend_common/config.cpp +++ b/src/frontend_common/config.cpp @@ -4,8 +4,8 @@ // SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#include -#include +#include "config.h" +#include "common/assert.h" #include "common/fs/fs.h" #include "common/fs/path_util.h" #include "common/logging/log.h" @@ -20,8 +20,6 @@ #include -#include "common/assert.h" - namespace FS = Common::FS; Config::Config(const ConfigType config_type) diff --git a/src/qt_common/config/shared_translation.cpp b/src/qt_common/config/shared_translation.cpp index b576882a8b..abaeff363a 100644 --- a/src/qt_common/config/shared_translation.cpp +++ b/src/qt_common/config/shared_translation.cpp @@ -741,7 +741,6 @@ std::unique_ptr ComboboxEnumeration(QObject* parent) #define ACCENT(name) PAIR(Accent, name, tr(#name)) translations->insert({Settings::EnumMetadata::Index(), { - ACCENT(System), ACCENT(Red), ACCENT(Blue), ACCENT(Orange), diff --git a/src/qt_common/externals/cpmfile.json b/src/qt_common/externals/cpmfile.json index 1c3ae2d010..968638cc9b 100644 --- a/src/qt_common/externals/cpmfile.json +++ b/src/qt_common/externals/cpmfile.json @@ -19,8 +19,8 @@ "package": "Carboxyl", "repo": "crueter/Carboxyl", "git_host": "git.crueter.xyz", - "sha": "9d57a6478f", - "hash": "f515ff48713e641146c42572e13083b481e3cee83006cc84398eaeed74e64b58a6824643cf3ef1877c800204f20fa20b9efa7f4865a24a006626ed7f74ff0b0c", + "sha": "8fb8d80f90", + "hash": "3b1f259060f9685f90071ac03eb1fef68370a3b9ec7c311a94d22fefa0b703140883c846818a363ab1bee0807f44759ba7a91e05107b2adcd3f9048efe447a6a", "bundled": "true", "options": [ "CARBOXYL_DEMO OFF"