aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/manual/quickcontrols/menus/Main.qml16
-rw-r--r--tests/manual/quickcontrols/menus/cppsettings.cpp31
-rw-r--r--tests/manual/quickcontrols/menus/cppsettings.h12
3 files changed, 32 insertions, 27 deletions
diff --git a/tests/manual/quickcontrols/menus/Main.qml b/tests/manual/quickcontrols/menus/Main.qml
index 9f3d7b9895..ac04ca5364 100644
--- a/tests/manual/quickcontrols/menus/Main.qml
+++ b/tests/manual/quickcontrols/menus/Main.qml
@@ -160,11 +160,17 @@ ApplicationWindow {
ColumnLayout {
anchors.fill: parent
- Switch {
- text: qsTr("Don't use native menu windows")
- checked: CppSettings.dontUseNativeMenuWindows
+ RowLayout {
+ Label {
+ text: qsTr("Popup type")
+ }
- onClicked: CppSettings.dontUseNativeMenuWindows = checked
+ ComboBox {
+ id: popupTypeCombo
+ model: ["Default", "Item", "Window", "Native"]
+ onCurrentIndexChanged: CppSettings.popupType = currentIndex
+ currentIndex: CppSettings.popupType
+ }
}
Row {
@@ -314,6 +320,7 @@ ApplicationWindow {
Menu {
id: backgroundContextMenu
objectName: "backgroundContextMenu"
+ popupType: popupTypeCombo.currentIndex
function appendAction() {
let action = actionComponent.createObject(null, { text: qsTr("Extra context menu item") })
@@ -380,6 +387,7 @@ ApplicationWindow {
id: subMenu
title: qsTr("Sub-menu")
objectName: title
+ popupType: backgroundContextMenu.popupType
function appendAction() {
let action = actionComponent.createObject(null, { text: qsTr("Extra sub-menu item") })
diff --git a/tests/manual/quickcontrols/menus/cppsettings.cpp b/tests/manual/quickcontrols/menus/cppsettings.cpp
index e06c59247f..589cea916b 100644
--- a/tests/manual/quickcontrols/menus/cppsettings.cpp
+++ b/tests/manual/quickcontrols/menus/cppsettings.cpp
@@ -9,26 +9,9 @@ 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();
@@ -44,3 +27,17 @@ void CppSettings::setDontUseNativeMenuBar(bool dontUseNativeMenuBar)
mSettings.setValue("dontUseNativeMenuBar", dontUseNativeMenuBar);
emit dontUseNativeMenuBarChanged();
}
+
+int CppSettings::popupType() const
+{
+ return mSettings.value("popupType").toInt();
+}
+
+void CppSettings::setPopupType(int newPopupType)
+{
+ const int oldValue = popupType();
+ if (oldValue == newPopupType)
+ return;
+ mSettings.setValue("popupType", newPopupType);
+ emit popupTypeChanged();
+}
diff --git a/tests/manual/quickcontrols/menus/cppsettings.h b/tests/manual/quickcontrols/menus/cppsettings.h
index 158ed1b20d..b6af1f9f09 100644
--- a/tests/manual/quickcontrols/menus/cppsettings.h
+++ b/tests/manual/quickcontrols/menus/cppsettings.h
@@ -11,25 +11,25 @@
class CppSettings : public QObject
{
Q_OBJECT
- Q_PROPERTY(bool dontUseNativeMenuWindows READ dontUseNativeMenuWindows WRITE setDontUseNativeMenuWindows
- NOTIFY dontUseNativeMenuWindowsChanged FINAL)
Q_PROPERTY(bool dontUseNativeMenuBar READ dontUseNativeMenuBar WRITE setDontUseNativeMenuBar
NOTIFY dontUseNativeMenuBarChanged FINAL)
+ Q_PROPERTY(int popupType READ popupType WRITE setPopupType
+ NOTIFY popupTypeChanged FINAL)
QML_ELEMENT
QML_SINGLETON
public:
explicit CppSettings(QObject *parent = nullptr);
- bool dontUseNativeMenuWindows() const;
- void setDontUseNativeMenuWindows(bool dontUseNativeMenuWindows);
-
bool dontUseNativeMenuBar() const;
void setDontUseNativeMenuBar(bool dontUseNativeMenuBar);
+ int popupType() const;
+ void setPopupType(int newPopupType);
+
signals:
- void dontUseNativeMenuWindowsChanged();
void dontUseNativeMenuBarChanged();
+ void popupTypeChanged();
private:
QSettings mSettings;