diff options
Diffstat (limited to 'tests/manual/quickcontrols/menus/cppsettings.cpp')
| -rw-r--r-- | tests/manual/quickcontrols/menus/cppsettings.cpp | 46 |
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(); +} |
