aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/quickcontrols/menus/cppsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/quickcontrols/menus/cppsettings.cpp')
-rw-r--r--tests/manual/quickcontrols/menus/cppsettings.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/manual/quickcontrols/menus/cppsettings.cpp b/tests/manual/quickcontrols/menus/cppsettings.cpp
new file mode 100644
index 0000000000..e06c59247f
--- /dev/null
+++ b/tests/manual/quickcontrols/menus/cppsettings.cpp
@@ -0,0 +1,46 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "cppsettings.h"
+
+#include <QCoreApplication>
+
+CppSettings::CppSettings(QObject *parent) :
+ QObject(parent),
+ mSettings("QtProject", "menus")
+{
+ QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuWindows, dontUseNativeMenuWindows());
+ QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar, dontUseNativeMenuBar());
+}
+
+bool CppSettings::dontUseNativeMenuWindows() const
+{
+ return mSettings.value("dontUseNativeMenuWindows").toBool();
+}
+
+void CppSettings::setDontUseNativeMenuWindows(bool dontUseNativeMenuWindows)
+{
+ const bool oldValue = this->dontUseNativeMenuWindows();
+ if (dontUseNativeMenuWindows == oldValue)
+ return;
+
+ QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuWindows, dontUseNativeMenuWindows);
+ mSettings.setValue("dontUseNativeMenuWindows", dontUseNativeMenuWindows);
+ emit dontUseNativeMenuWindowsChanged();
+}
+
+bool CppSettings::dontUseNativeMenuBar() const
+{
+ return mSettings.value("dontUseNativeMenuBar").toBool();
+}
+
+void CppSettings::setDontUseNativeMenuBar(bool dontUseNativeMenuBar)
+{
+ const bool oldValue = this->dontUseNativeMenuBar();
+ if (dontUseNativeMenuBar == oldValue)
+ return;
+
+ QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar, dontUseNativeMenuBar);
+ mSettings.setValue("dontUseNativeMenuBar", dontUseNativeMenuBar);
+ emit dontUseNativeMenuBarChanged();
+}