Browse Source

carboxyl update, vsync race condition, better tab bar

Signed-off-by: crueter <crueter@eden-emu.dev>
pull/3016/head
crueter 4 weeks ago
parent
commit
4f78dc601f
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 2
      .ci/license-header.sh
  2. 4
      CMakeModules/EdenModule.cmake
  3. 30
      src/Eden/Config/GlobalConfigureDialog.qml
  4. 5
      src/Eden/Config/SectionHeader.qml
  5. 3
      src/Eden/Config/Setting.qml
  6. 5
      src/Eden/Config/TestSetting.qml
  7. 4
      src/Eden/Config/fields/BaseField.qml
  8. 4
      src/Eden/Config/fields/ConfigCheckbox.qml
  9. 4
      src/Eden/Config/fields/ConfigComboBox.qml
  10. 4
      src/Eden/Config/fields/ConfigHexEdit.qml
  11. 4
      src/Eden/Config/fields/ConfigIntLine.qml
  12. 6
      src/Eden/Config/fields/ConfigIntSlider.qml
  13. 4
      src/Eden/Config/fields/ConfigIntSpin.qml
  14. 4
      src/Eden/Config/fields/ConfigStringEdit.qml
  15. 4
      src/Eden/Config/fields/ConfigTimeEdit.qml
  16. 4
      src/Eden/Config/fields/FieldCheckbox.qml
  17. 5
      src/Eden/Config/fields/FieldLabel.qml
  18. 3
      src/Eden/Config/pages/PageScrollView.qml
  19. 3
      src/Eden/Config/pages/SettingsList.qml
  20. 3
      src/Eden/Config/pages/audio/AudioGeneralPage.qml
  21. 3
      src/Eden/Config/pages/cpu/CpuGeneralPage.qml
  22. 3
      src/Eden/Config/pages/debug/DebugAdvancedPage.qml
  23. 3
      src/Eden/Config/pages/debug/DebugCpuPage.qml
  24. 3
      src/Eden/Config/pages/debug/DebugGeneralPage.qml
  25. 3
      src/Eden/Config/pages/debug/DebugGraphicsPage.qml
  26. 3
      src/Eden/Config/pages/general/UiGameListPage.qml
  27. 9
      src/Eden/Config/pages/general/UiGeneralPage.qml
  28. 3
      src/Eden/Config/pages/global/GlobalAudioPage.qml
  29. 3
      src/Eden/Config/pages/global/GlobalCpuPage.qml
  30. 3
      src/Eden/Config/pages/global/GlobalDebugPage.qml
  31. 3
      src/Eden/Config/pages/global/GlobalGeneralPage.qml
  32. 3
      src/Eden/Config/pages/global/GlobalGraphicsPage.qml
  33. 3
      src/Eden/Config/pages/global/GlobalSystemPage.qml
  34. 7
      src/Eden/Config/pages/global/GlobalTab.qml
  35. 4
      src/Eden/Config/pages/global/GlobalTabSwipeView.qml
  36. 3
      src/Eden/Config/pages/graphics/RendererAdvancedPage.qml
  37. 3
      src/Eden/Config/pages/graphics/RendererExtensionsPage.qml
  38. 3
      src/Eden/Config/pages/graphics/RendererPage.qml
  39. 3
      src/Eden/Config/pages/system/AppletsPage.qml
  40. 3
      src/Eden/Config/pages/system/FileSystemPage.qml
  41. 3
      src/Eden/Config/pages/system/SystemCorePage.qml
  42. 3
      src/Eden/Config/pages/system/SystemGeneralPage.qml
  43. 3
      src/Eden/Constants/Constants.qml
  44. 10
      src/Eden/Interface/GraphicsDeviceInterface.cpp
  45. 8
      src/Eden/Interface/GraphicsDeviceInterface.h
  46. 2
      src/Eden/Interface/QMLConfig.h
  47. 2
      src/Eden/Interface/QMLSetting.cpp
  48. 3
      src/Eden/Items/IconButton.qml
  49. 4
      src/Eden/Items/StatusBarButton.qml
  50. 10
      src/Eden/Main/GameCarousel.qml
  51. 7
      src/Eden/Main/GameCarouselCard.qml
  52. 7
      src/Eden/Main/GameGrid.qml
  53. 11
      src/Eden/Main/GameGridCard.qml
  54. 7
      src/Eden/Main/GameList.qml
  55. 11
      src/Eden/Main/Main.qml
  56. 4
      src/Eden/Main/MarqueeText.qml
  57. 4
      src/Eden/Main/StatusBar.qml
  58. 2
      src/Eden/Native/CMakeLists.txt
  59. 3
      src/Eden/Util/Util.qml
  60. 2
      src/common/settings_enums.h
  61. 6
      src/frontend_common/config.cpp
  62. 1
      src/qt_common/config/shared_translation.cpp
  63. 4
      src/qt_common/externals/cpmfile.json

2
.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="//"
;;
*)

4
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()

30
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<var> 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 {}

5
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

3
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

5
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

4
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

4
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

4
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 {

4
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 {

4
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 {

6
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 {

4
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

4
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 {

4
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

4
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

5
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

3
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

3
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

3
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

3
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

3
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

3
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

3
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

3
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

3
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

9
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()

3
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

3
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

3
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

3
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

3
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

3
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

7
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<string> tabs

4
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

3
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

3
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

3
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

3
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

3
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

3
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

3
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

3
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

10
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

8
src/Eden/Interface/GraphicsDeviceInterface.h

@ -62,13 +62,15 @@ private:
std::vector<std::vector<VkPresentModeKHR>> 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();
};

2
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();
}
};

2
src/Eden/Interface/QMLSetting.cpp

@ -3,6 +3,7 @@
#include "QMLSetting.h"
#include "common/settings.h"
#include "qt_common/config/uisettings.h"
#include <QVariant>
@ -150,6 +151,7 @@ void QMLSetting::setValue(const QVariant &newValue)
var.convert(QMetaType(m_metaType));
m_setting->LoadString(var.toString().toStdString());
emit valueChanged();
}

3
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

4
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 {

10
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"
}
}

7
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 {

7
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
}
}

11
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

7
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

11
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 */

4
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

4
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 {

2
src/Eden/Native/CMakeLists.txt

@ -33,7 +33,7 @@ target_link_libraries(eden
Qt6::Quick
Qt6::QuickControls2
Carboxyl::Base
Carboxyl::Carboxyl
${MODULES}
)

3
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

2
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

6
src/frontend_common/config.cpp

@ -4,8 +4,8 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm>
#include <array>
#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 <boost/algorithm/string/replace.hpp>
#include "common/assert.h"
namespace FS = Common::FS;
Config::Config(const ConfigType config_type)

1
src/qt_common/config/shared_translation.cpp

@ -741,7 +741,6 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QObject* parent)
#define ACCENT(name) PAIR(Accent, name, tr(#name))
translations->insert({Settings::EnumMetadata<Settings::Accent>::Index(),
{
ACCENT(System),
ACCENT(Red),
ACCENT(Blue),
ACCENT(Orange),

4
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"

Loading…
Cancel
Save