From bddf27cd5a5412c8282fab43111e7319874ca44e Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Mon, 11 Dec 2023 16:17:09 +0100 Subject: [PATCH] Move the settingseditor example into tests/manual The example uses QTreeWidget when it should use a QTreeView with a dedicated item model, primarily shows how to use item views (and very little about QSettings), and is generally not useful to show how an application could or should use QSettings to store settings. Turn it into a manual test instead; it's useful for that as it supports ini and plist files, and settings in different scopes. Pick-to: 6.7 Fixes: QTBUG-119978 Change-Id: I7ce039f6391c41c679d126d90a251eee60327c39 Reviewed-by: Ed Cooke Reviewed-by: Axel Spoerl --- .../doc/images/settingseditor-example.png | Bin 19473 -> 0 bytes examples/widgets/doc/src/settingseditor.qdoc | 15 ------- examples/widgets/tools/CMakeLists.txt | 1 - .../tools/settingseditor/CMakeLists.txt | 40 ------------------ examples/widgets/tools/tools.pro | 1 - src/corelib/io/qsettings.cpp | 6 +-- src/widgets/itemviews/qitemdelegate.cpp | 2 +- src/widgets/itemviews/qtreewidget.cpp | 2 +- .../tools/settingseditor/CMakeLists.txt | 14 ++++++ .../settingseditor/inifiles/licensepage.ini | 0 .../tools/settingseditor/inifiles/qsa.ini | 0 .../tools/settingseditor/locationdialog.cpp | 0 .../tools/settingseditor/locationdialog.h | 0 .../widgets/tools/settingseditor/main.cpp | 0 .../tools/settingseditor/mainwindow.cpp | 0 .../widgets/tools/settingseditor/mainwindow.h | 0 .../tools/settingseditor/settingseditor.pro | 0 .../tools/settingseditor/settingstree.cpp | 0 .../tools/settingseditor/settingstree.h | 0 .../tools/settingseditor/variantdelegate.cpp | 0 .../tools/settingseditor/variantdelegate.h | 0 21 files changed, 17 insertions(+), 64 deletions(-) delete mode 100644 examples/widgets/doc/images/settingseditor-example.png delete mode 100644 examples/widgets/doc/src/settingseditor.qdoc delete mode 100644 examples/widgets/tools/settingseditor/CMakeLists.txt create mode 100644 tests/manual/examples/widgets/tools/settingseditor/CMakeLists.txt rename {examples => tests/manual/examples}/widgets/tools/settingseditor/inifiles/licensepage.ini (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/inifiles/qsa.ini (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/locationdialog.cpp (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/locationdialog.h (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/main.cpp (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/mainwindow.cpp (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/mainwindow.h (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/settingseditor.pro (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/settingstree.cpp (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/settingstree.h (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/variantdelegate.cpp (100%) rename {examples => tests/manual/examples}/widgets/tools/settingseditor/variantdelegate.h (100%) diff --git a/examples/widgets/doc/images/settingseditor-example.png b/examples/widgets/doc/images/settingseditor-example.png deleted file mode 100644 index 7a5be05fd0f41b6afeb9d1b12d951790ad6d06ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19473 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