aboutsummaryrefslogtreecommitdiff
path: root/src/qt_common/gui_settings.cpp
diff options
context:
space:
mode:
authorCaio Oliveira <caiooliveirafarias0@gmail.com>2025-10-29 13:16:57 +0100
committercrueter <crueter@eden-emu.dev>2025-10-29 13:16:57 +0100
commit2f591d33d356e81a5a4c9688fa36fd556f27aacb (patch)
tree5365aa01682d3a31ef24306cb718330514f9c26e /src/qt_common/gui_settings.cpp
parente4b0c03a22808c37c96010cadc7511ad4de18759 (diff)
[meta] Add option to FORCE X11 as Graphics Backend (#2820)
* save the option on a external file because settings are loaded AFTER Qt window is created and then the graphics backend is already applied Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2820 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Diffstat (limited to 'src/qt_common/gui_settings.cpp')
-rw-r--r--src/qt_common/gui_settings.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/qt_common/gui_settings.cpp b/src/qt_common/gui_settings.cpp
new file mode 100644
index 0000000000..982d28bbcb
--- /dev/null
+++ b/src/qt_common/gui_settings.cpp
@@ -0,0 +1,25 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include "gui_settings.h"
+#include "common/fs/fs.h"
+#include "common/fs/path_util.h"
+
+namespace FS = Common::FS;
+
+namespace GraphicsBackend {
+
+QString GuiConfigPath() {
+ return QString::fromStdString(FS::PathToUTF8String(FS::GetEdenPath(FS::EdenPath::ConfigDir) / "gui_config.ini"));
+}
+
+void SetForceX11(bool state) {
+ (void)FS::CreateParentDir(GuiConfigPath().toStdString());
+ QSettings(GuiConfigPath(), QSettings::IniFormat).setValue("gui_force_x11", state);
+}
+
+bool GetForceX11() {
+ return QSettings(GuiConfigPath(), QSettings::IniFormat).value("gui_force_x11", false).toBool();
+}
+
+} // namespace GraphicsBackend