From 403cc617a116d73e54bb982314054fb72bbb974a Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 1 Sep 2021 16:53:49 +0200 Subject: Fix delegatechooser example to use QML modules We need to rephrase the image source selection due to ListElement only accepting literals. We can't just poke into the qrc file system of the "shared" module without importing it. Change-Id: I54d3fa4daf304afc9a0a55ab8b590d9c5ad20aa2 Reviewed-by: Fabian Kosmale (cherry picked from commit 485416c9d57e8ff8fe4fc0f7f4a3c4fdeaf35e98) Reviewed-by: Qt Cherry-pick Bot --- examples/quick/delegatechooser/CMakeLists.txt | 64 +++++----------------- examples/quick/delegatechooser/delegatechooser.qml | 11 ++-- examples/quick/delegatechooser/main.cpp | 2 +- examples/quick/delegatechooser/qml.qrc | 2 +- 4 files changed, 22 insertions(+), 57 deletions(-) (limited to 'examples') diff --git a/examples/quick/delegatechooser/CMakeLists.txt b/examples/quick/delegatechooser/CMakeLists.txt index 60def31877..1ceecc4736 100644 --- a/examples/quick/delegatechooser/CMakeLists.txt +++ b/examples/quick/delegatechooser/CMakeLists.txt @@ -15,66 +15,30 @@ endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/delegatechooser") -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Quick) -find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS Core Gui Quick Qml) -qt_add_executable(delegatechooser - main.cpp -) -set_target_properties(delegatechooser PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(delegatechooser PUBLIC +add_subdirectory("../shared" "shared") + +qt_add_executable(delegatechooserexample WIN32 MACOSX_BUNDLE main.cpp) + +target_link_libraries(delegatechooserexample PUBLIC Qt::Core Qt::Gui Qt::Qml Qt::Quick + delegatechooser_shared ) - -# Resources: -set(qml_resource_files - "delegatechooser.qml" -) - -qt6_add_resources(delegatechooser "qml" - PREFIX - "/" - FILES - ${qml_resource_files} -) -set(shared_resource_files - "../shared/Button.qml" - "../shared/CheckBox.qml" - "../shared/FlickrRssModel.qml" - "../shared/Label.qml" - "../shared/LauncherList.qml" - "../shared/SimpleLauncherDelegate.qml" - "../shared/Slider.qml" - "../shared/TabSet.qml" - "../shared/TextField.qml" - "../shared/images/back.png" - "../shared/images/checkmark.png" - "../shared/images/next.png" - "../shared/images/qt-logo.png" - "../shared/images/slider_handle.png" - "../shared/images/tab.png" -) - -qt6_add_resources(delegatechooser "shared" - PREFIX - "/shared" - BASE - "../shared" - FILES - ${shared_resource_files} +qt_add_qml_module(delegatechooserexample + URI delegatechooser + VERSION 1.0 + QML_FILES + "delegatechooser.qml" ) -install(TARGETS delegatechooser +install(TARGETS delegatechooserexample RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" ) +bundle_shared(delegatechooserexample) diff --git a/examples/quick/delegatechooser/delegatechooser.qml b/examples/quick/delegatechooser/delegatechooser.qml index afb8518abf..75ab363d05 100644 --- a/examples/quick/delegatechooser/delegatechooser.qml +++ b/examples/quick/delegatechooser/delegatechooser.qml @@ -52,6 +52,7 @@ import QtQuick 2.12 import QtQml.Models 2.12 import QtQuick.Layouts 1.12 import Qt.labs.qmlmodels 1.0 +import shared Rectangle { visible: true @@ -61,9 +62,9 @@ Rectangle { ListModel { id: listModel ListElement { dataType: "rect"; color: "green" } - ListElement { dataType: "image"; source: "../shared/images/qt-logo.png" } + ListElement { dataType: "image" } ListElement { dataType: "rect"; color: "green" } - ListElement { dataType: "image"; source: "../shared/images/qt-logo.png" } + ListElement { dataType: "image" } ListElement { dataType: "rect"; color: "blue" } ListElement { dataType: "rect"; color: "blue" } ListElement { dataType: "rect"; color: "blue" } @@ -77,9 +78,9 @@ Rectangle { ListElement { dataType: "rect"; color: "blue" } ListElement { dataType: "rect"; color: "blue" } ListElement { dataType: "rect"; color: "green" } - ListElement { dataType: "image"; source: "../shared/images/qt-logo.png" } + ListElement { dataType: "image" } ListElement { dataType: "rect"; color: "green" } - ListElement { dataType: "image"; source: "../shared/images/qt-logo.png" } + ListElement { dataType: "image" } ListElement { dataType: "rect"; color: "blue" } ListElement { dataType: "rect"; color: "lightsteelblue" } ListElement { dataType: "rect"; color: "fuchsia" } @@ -118,7 +119,7 @@ Rectangle { delegate: Image { width: parent.width height: 100 - source: model.source + source: Images.qtLogo fillMode: Image.PreserveAspectFit } } diff --git a/examples/quick/delegatechooser/main.cpp b/examples/quick/delegatechooser/main.cpp index 5df9207e24..79b7913533 100644 --- a/examples/quick/delegatechooser/main.cpp +++ b/examples/quick/delegatechooser/main.cpp @@ -48,4 +48,4 @@ ** ****************************************************************************/ #include "../shared/shared.h" -DECLARATIVE_EXAMPLE_MAIN(delegatechooser) +DECLARATIVE_EXAMPLE_MAIN(delegatechooser/delegatechooser) diff --git a/examples/quick/delegatechooser/qml.qrc b/examples/quick/delegatechooser/qml.qrc index 0788f84c64..abd2efbdda 100644 --- a/examples/quick/delegatechooser/qml.qrc +++ b/examples/quick/delegatechooser/qml.qrc @@ -1,5 +1,5 @@ - + delegatechooser.qml -- cgit v1.2.3