From 3fe6ce353c34d1777f23a235fecf74f9bc85a3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Han=C3=A7erli?= <burak.hancerli@qt.io> Date: Wed, 4 Oct 2023 08:22:21 +0000 Subject: [PATCH] QDS-10800 Separate Android and WebAssembly repos --- CMakeLists.txt | 39 +-- README.md | 88 ++---- .../android => android}/AndroidManifest.xml | 0 .../res/mipmap-hdpi/app_icon.png | Bin .../res/mipmap-mdpi/app_icon.png | Bin .../res/mipmap-xhdpi/app_icon.png | Bin .../res/mipmap-xxhdpi/app_icon.png | Bin .../res/mipmap-xxxhdpi/app_icon.png | Bin cicd/github/workflows/build-apks.yml | 268 ------------------ cicd/github/workflows/build-wasm.yml | 202 ------------- cicd/{gitlab => }/gitlab-ci.yml | 8 +- cicd/{gitlab => }/stages/build.yml | 95 ++----- cicd/{gitlab => }/stages/release.yml | 3 - design-viewer/.clang-format | 118 -------- design-viewer/importdummy.qml | 95 ------- design-viewer/importdummy_wasm.qml | 35 --- design-viewer/src/dv_android.cpp | 201 ------------- design-viewer/src/dv_base.h | 66 ----- design-viewer/src/dv_wasm.cpp | 132 --------- design-viewer/src/dv_wasm.h | 47 --- design-viewer/www/index.html | 155 ---------- .../www/resources/fonts/Titillium-Light.otf | Bin 57068 -> 0 bytes .../www/resources/fonts/Titillium-Thin.otf | Bin 54036 -> 0 bytes .../resources/fonts/Titillium-ThinItalic.otf | Bin 59196 -> 0 bytes .../images/qtdesignstudioviewer-128.png | Bin 5384 -> 0 bytes .../images/qtdesignstudioviewer-16.png | Bin 480 -> 0 bytes .../images/qtdesignstudioviewer-256.png | Bin 10475 -> 0 bytes .../images/qtdesignstudioviewer-32.png | Bin 710 -> 0 bytes .../images/qtdesignstudioviewer-384.png | Bin 16565 -> 0 bytes .../images/qtdesignstudioviewer-48.png | Bin 1884 -> 0 bytes .../images/qtdesignstudioviewer-512.png | Bin 25329 -> 0 bytes design-viewer/www/resources/images/reload.png | Bin 8835 -> 0 bytes .../www/resources/images/scalemode1.png | Bin 3513 -> 0 bytes .../www/resources/images/screenshot.png | Bin 8515 -> 0 bytes .../www/resources/images/uploadIcon.svg | 9 - .../www/resources/meta-data/qmlprojects.json | 9 - .../www/resources/meta-data/version.json | 4 - .../www/resources/styles/default.css | 137 --------- design-viewer/www/scripts/script.js | 262 ----------------- emsdk | 1 - dvicon.png => resources/dvicon.png | Bin main.qml => resources/main.qml | 6 +- resources.qrc => resources/resources.qrc | 0 .../src/dv_base.cpp => src/backend.cpp | 194 +++++++++++-- .../src/dv_android.h => src/backend.h | 43 +-- {design-viewer/src => src}/main.cpp | 19 +- 46 files changed, 254 insertions(+), 1982 deletions(-) rename {design-viewer/android => android}/AndroidManifest.xml (100%) rename {design-viewer/android => android}/res/mipmap-hdpi/app_icon.png (100%) rename {design-viewer/android => android}/res/mipmap-mdpi/app_icon.png (100%) rename {design-viewer/android => android}/res/mipmap-xhdpi/app_icon.png (100%) rename {design-viewer/android => android}/res/mipmap-xxhdpi/app_icon.png (100%) rename {design-viewer/android => android}/res/mipmap-xxxhdpi/app_icon.png (100%) delete mode 100644 cicd/github/workflows/build-apks.yml delete mode 100644 cicd/github/workflows/build-wasm.yml rename cicd/{gitlab => }/gitlab-ci.yml (53%) rename cicd/{gitlab => }/stages/build.yml (52%) rename cicd/{gitlab => }/stages/release.yml (96%) delete mode 100644 design-viewer/.clang-format delete mode 100644 design-viewer/importdummy.qml delete mode 100644 design-viewer/importdummy_wasm.qml delete mode 100644 design-viewer/src/dv_android.cpp delete mode 100644 design-viewer/src/dv_base.h delete mode 100644 design-viewer/src/dv_wasm.cpp delete mode 100644 design-viewer/src/dv_wasm.h delete mode 100644 design-viewer/www/index.html delete mode 100644 design-viewer/www/resources/fonts/Titillium-Light.otf delete mode 100644 design-viewer/www/resources/fonts/Titillium-Thin.otf delete mode 100644 design-viewer/www/resources/fonts/Titillium-ThinItalic.otf delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-128.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-16.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-256.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-32.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-384.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-48.png delete mode 100644 design-viewer/www/resources/images/qtdesignstudioviewer-512.png delete mode 100644 design-viewer/www/resources/images/reload.png delete mode 100644 design-viewer/www/resources/images/scalemode1.png delete mode 100644 design-viewer/www/resources/images/screenshot.png delete mode 100644 design-viewer/www/resources/images/uploadIcon.svg delete mode 100644 design-viewer/www/resources/meta-data/qmlprojects.json delete mode 100644 design-viewer/www/resources/meta-data/version.json delete mode 100644 design-viewer/www/resources/styles/default.css delete mode 100644 design-viewer/www/scripts/script.js delete mode 160000 emsdk rename dvicon.png => resources/dvicon.png (100%) rename main.qml => resources/main.qml (94%) rename resources.qrc => resources/resources.qrc (100%) rename design-viewer/src/dv_base.cpp => src/backend.cpp (59%) rename design-viewer/src/dv_android.h => src/backend.h (69%) rename {design-viewer/src => src}/main.cpp (88%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c9a182..ddcd116 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.14) -project(qtdesignviewer LANGUAGES CXX) +project(qtdesignviewer-android LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -29,12 +29,9 @@ if(QT_VERSION VERSION_LESS QT_MINIMUM_VERSION) endif() qt_add_executable(${PROJECT_NAME} - design-viewer/importdummy_wasm.qml - design-viewer/src/main.cpp - design-viewer/src/dv_android.cpp design-viewer/src/dv_android.h - design-viewer/src/dv_wasm.cpp design-viewer/src/dv_wasm.h - design-viewer/src/dv_base.cpp design-viewer/src/dv_base.h - resources.qrc + src/main.cpp + src/backend.cpp src/backend.h + resources/resources.qrc ) target_link_libraries(${PROJECT_NAME} PRIVATE @@ -48,34 +45,18 @@ set_property(TARGET ${PROJECT_NAME} ) set_property(TARGET ${PROJECT_NAME} -APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/design-viewer/android +APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android ) -if (ANDROID) - if(EXISTS ${ANDROID_OPENSSL_PATH}) - message(STATUS "Found OpenSSL for Android. Path: ${ANDROID_OPENSSL_PATH}") - set_property(TARGET ${PROJECT_NAME} PROPERTY QT_ANDROID_EXTRA_LIBS +if(EXISTS ${ANDROID_OPENSSL_PATH}) + message(STATUS "Found OpenSSL for Android. Path: ${ANDROID_OPENSSL_PATH}") + set_property(TARGET ${PROJECT_NAME} PROPERTY QT_ANDROID_EXTRA_LIBS ${ANDROID_OPENSSL_PATH}/libcrypto_3.so ${ANDROID_OPENSSL_PATH}/libssl_3.so) - else() - message(WARNING "Cannot find OpenSSL for Android. Path: ${ANDROID_OPENSSL_PATH}") - endif() +else() + message(WARNING "Cannot find OpenSSL for Android. Path: ${ANDROID_OPENSSL_PATH}") endif() -# --install configuration -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.html - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.wasm - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.js - FILES ${CMAKE_CURRENT_BINARY_DIR}/qtloader.js - DESTINATION ${CMAKE_INSTALL_PREFIX} -) - -install( - DIRECTORY ${CMAKE_SOURCE_DIR}/design-viewer/www/ - DESTINATION ${CMAKE_INSTALL_PREFIX} -) - set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_INSTALL_PREFIX}) qt6_import_qml_plugins(${PROJECT_NAME}) diff --git a/README.md b/README.md index 249afcf..a149076 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,33 @@ -# Qt Design Viewer +# Qt Design Viewer for Android ## About -Launch [Design Studio](https://www.qt.io/ui-design-tools) projects in Your web browser. Or share Your design on the web. The viewer that helps you do this is done with [Qt for WebAssembly](https://doc.qt.io/qt-5/wasm.html). The underlying technologies are [WebAssembly](https://webassembly.org/) & [emscripten](https://emscripten.org/). +Launch [Design Studio](https://www.qt.io/ui-design-tools) projects in your Android device. The viewer that helps you do this is done with [Qt for Android](https://doc.qt.io/qt-6/android.html). -Qt Design Viewer works in a variety of web browsers which support WebAssembly, on Desktop and even on mobile. +Qt Design Viewer works with minimum Android 33. ## Prerequisites * CMake 3.16 or newer -* Android - * Qt6.5.0 or newer - * OpenSSL (<https://github.com/KDAB/android_openssl>) - * Android SDK and NDK (<https://developer.android.com/studio>) -* WebAssembly - * Qt6.4.3 or newer - * EMSDK (<https://emscripten.org/docs/getting_started/downloads.html>) +* Qt6.5.0 or newer +* OpenSSL (<https://github.com/KDAB/android_openssl>) +* Android SDK and NDK (<https://developer.android.com/studio>) + +## Code Map + +* cicd: GitLab pipeline files +* resources: UI related files +* android: Files needed for Android build system +* src: Source files +* qtquickdesigner-components: Required 3rd party QML components ## Building -Build instructions are provided for Linux, macOS hosts and for Android and WebAssembly targets. Windows should work as well but is not tested. +Build instructions are provided for Linux and macOS hosts. Windows should work as well but is not tested. + > Note: > If you're building in a Docker container and you've mounted the source directory into the container, you may need to change the build path pointing out somewhere out of the source directory. Otherwise you may get errors like the following; > `CMake Error at /opt/qt-v.6.5.0/android-arm64-v8a/lib/cmake/Qt6/QtSyncQtHelpers.cmake:235 (message): syncqt.cpp failed for module QtQuickStudioApplication: Unable to remove file ...` -### Android > Note: > Android build instructions can also be used on desktop (or host) for testing purposes. Just replace the `CMAKE_TOOLCHAIN_FILE` path with the path to your Qt host installation. @@ -62,64 +66,6 @@ cmake \ cmake --build build ``` -### WebAssembly - -First activate the correct EMSDK version: - -```bash -cd emsdk -./emsdk install <emsdk-version> -./emsdk activate <emsdk-version> -source ./emsdk_env.sh -cd .. -``` - -Then build and install QtQuickDesigner Components for WebAssembly: - -```bash -cd qtquickdesigner-components -cmake \ - -S . \ - -B build \ - -G Ninja \ - -DCMAKE_TOOLCHAIN_FILE=<qt-wasm-path>/wasm/lib/cmake/Qt6/qt.toolchain.cmake \ - -DCMAKE_INSTALL_PREFIX=<qt-wasm-path> - -cmake --build build -cmake --install build -cd .. -``` - -Then build the Qt Design Viewer: - -```bash -cmake \ - -S . \ - -B build \ - -G Ninja \ - -DCMAKE_TOOLCHAIN_FILE=<qt-wasm-path>/wasm/lib/cmake/Qt6/qt.toolchain.cmake - -cmake --build build -``` - ## Usage -Compress Your Qml project as a _.zip_ file, ideally including a _.qmlproject_ file. Or use the _Build -> Generate Resource File_ feature of Qt Design Studio 1.3+ to pack Your project in a _.qmlrc_ file. - -The Qt Design Viewer lets You drop the _.zip_/_.qmlrc_, or load it via a file selector. - - - -You can also select one of the premade examples. If you host the Qt Design Viewer on Your web server, You can offer your own examples. Direct links to hosted examples can be sent like this: - -* <https://qt-webassembly.io/designviewer/#ClusterTutorial.qmlrc> -* <https://qt-webassembly.io/designviewer/#CoffeeMachine.qmlrc> -* <https://qt-webassembly.io/designviewer/#SideMenu.qmlrc> - -## Note - -This is a static web page. The Qml application that You load runs and remains locally in Your browser, nothing gets uploaded into the cloud. - -## Live version - -Check out the [live version](https://qt-webassembly.io/designviewer/) of the Qt Design Viewer. +Upload the final APK file to your Android device and run. Then follow the instructions within the app. diff --git a/design-viewer/android/AndroidManifest.xml b/android/AndroidManifest.xml similarity index 100% rename from design-viewer/android/AndroidManifest.xml rename to android/AndroidManifest.xml diff --git a/design-viewer/android/res/mipmap-hdpi/app_icon.png b/android/res/mipmap-hdpi/app_icon.png similarity index 100% rename from design-viewer/android/res/mipmap-hdpi/app_icon.png rename to android/res/mipmap-hdpi/app_icon.png diff --git a/design-viewer/android/res/mipmap-mdpi/app_icon.png b/android/res/mipmap-mdpi/app_icon.png similarity index 100% rename from design-viewer/android/res/mipmap-mdpi/app_icon.png rename to android/res/mipmap-mdpi/app_icon.png diff --git a/design-viewer/android/res/mipmap-xhdpi/app_icon.png b/android/res/mipmap-xhdpi/app_icon.png similarity index 100% rename from design-viewer/android/res/mipmap-xhdpi/app_icon.png rename to android/res/mipmap-xhdpi/app_icon.png diff --git a/design-viewer/android/res/mipmap-xxhdpi/app_icon.png b/android/res/mipmap-xxhdpi/app_icon.png similarity index 100% rename from design-viewer/android/res/mipmap-xxhdpi/app_icon.png rename to android/res/mipmap-xxhdpi/app_icon.png diff --git a/design-viewer/android/res/mipmap-xxxhdpi/app_icon.png b/android/res/mipmap-xxxhdpi/app_icon.png similarity index 100% rename from design-viewer/android/res/mipmap-xxxhdpi/app_icon.png rename to android/res/mipmap-xxxhdpi/app_icon.png diff --git a/cicd/github/workflows/build-apks.yml b/cicd/github/workflows/build-apks.yml deleted file mode 100644 index ae2d8ba..0000000 --- a/cicd/github/workflows/build-apks.yml +++ /dev/null @@ -1,268 +0,0 @@ -name: Build Android Packages -on: - push: - branches: - - dev - -env: - QT_VERSION: 6.2.1 - APP_PRO: qtdesignviewer.pro - APP_DIR: qtdesignviewer - APP_NAME: qtdesignviewer - -jobs: - build: - name: Ubuntu Latest - runs-on: ubuntu-latest - strategy: - matrix: - abi: - - { arch: "x86_64", suffix: "X86_64", name: "x86_64" } - - { arch: "x86", suffix: "X86", name: "x86" } - - { arch: "armv7", suffix: "ARMv7", name: "armeabi-v7a" } - - { arch: "arm64_v8a", suffix: "ARM64", name: "arm64-v8a" } - - steps: - - uses: actions/checkout@v2 - with: - ref: dev - path: ${{ env.APP_DIR }} - - - name: Download Qt - id: qt - shell: cmake -P {0} - run: | - set(qt_version "$ENV{QT_VERSION}") - string(REPLACE "." "" qt_version_dotless "${qt_version}") - - set(qt_package_arch_suffix "gcc_64") - set(qt_package_suffix_desktop "-Linux-RHEL_8_2-GCC-Linux-RHEL_8_2-X86_64") - - set(abi ${{ matrix.abi.arch }}) - set(qt_package_suffix_android "-Linux-RHEL_8_2-Clang-Android-Android_ANY-${{ matrix.abi.suffix }}") - - set(qt_base_url "https://download.qt.io/online/qtsdkrepository/linux_x64") - - # Prepare directories - set(working_dir $ENV{GITHUB_WORKSPACE}/Qt) - file(MAKE_DIRECTORY ${working_dir}) - - function(downloadAndExtract url download_dir archive) - message("Downloading ${url}") - file(DOWNLOAD "${url}" ./${download_dir}/${archive} SHOW_PROGRESS) - execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ../${download_dir}/${archive} WORKING_DIRECTORY ${working_dir}) - endfunction() - - # Download Desktop Qt - set(qt_base_url_desktop "${qt_base_url}/desktop/qt6_${qt_version_dotless}") - message("Downloading ${qt_base_url_desktop}/Updates.xml") - - file(DOWNLOAD "${qt_base_url_desktop}/Updates.xml" ./Updates.xml SHOW_PROGRESS) - file(READ ./Updates.xml updates_xml) - string(REGEX MATCH "<Name>qt.qt6.*<Version>([0-9+-.]+)</Version>" updates_xml_output "${updates_xml}") - set(qt_package_version ${CMAKE_MATCH_1}) - - set(download_dir $ENV{GITHUB_WORKSPACE}/qt6-download-desktop-${qt_package_version}) - file(MAKE_DIRECTORY ${download_dir}) - - file(RENAME ./Updates.xml ${download_dir}/Updates.xml) - - # Needs qtdeclarative for qmlimportscanner - foreach(package qtbase qtdeclarative) - downloadAndExtract( - "${qt_base_url_desktop}/qt.qt6.${qt_version_dotless}.${qt_package_arch_suffix}/${qt_package_version}${package}${qt_package_suffix_desktop}.7z" - ${download_dir} - ${package}.7z - ) - endforeach() - - # uic depends on libicu56.so - if (NOT WIN32 AND NOT APPLE) - downloadAndExtract( - "${qt_base_url_desktop}/qt.qt6.${qt_version_dotless}.${qt_package_arch_suffix}/${qt_package_version}icu-linux-Rhel7.2-x64.7z" - ${download_dir} - icu.7z - ) - endif() - - set(qt_dir_desktop ${working_dir}/${qt_version}/gcc_64) - - file(READ "${qt_dir_desktop}/mkspecs/qconfig.pri" qtconfig) - string(REPLACE "Enterprise" "OpenSource" qtconfig "${qtconfig}") - string(REPLACE "licheck.exe" "" qtconfig "${qtconfig}") - string(REPLACE "licheck64" "" qtconfig "${qtconfig}") - string(REPLACE "licheck_mac" "" qtconfig "${qtconfig}") - file(WRITE "${qt_dir_desktop}/mkspecs/qconfig.pri" "${qtconfig}") - - # Save the path for other steps - message("::set-output name=qt_dir_desktop::${qt_dir_desktop}") - - # Download Android Qt - set(qt_base_url_android "${qt_base_url}/android/qt6_${qt_version_dotless}_${abi}") - message("Downloading ${qt_base_url_android}/Updates.xml") - - file(DOWNLOAD "${qt_base_url_android}/Updates.xml" ./Updates.xml SHOW_PROGRESS) - file(READ ./Updates.xml updates_xml) - string(REGEX MATCH "<Name>qt.qt6.*<Version>([0-9+-.]+)</Version>" updates_xml_output "${updates_xml}") - set(qt_package_version ${CMAKE_MATCH_1}) - - set(download_dir $ENV{GITHUB_WORKSPACE}/qt6-download-android-${qt_package_version}) - file(MAKE_DIRECTORY ${download_dir}) - - file(RENAME ./Updates.xml ${download_dir}/Updates.xml) - - foreach(package qttranslations qttools qtsvg qtdeclarative qtbase) - downloadAndExtract( - "${qt_base_url_android}/qt.qt6.${qt_version_dotless}.android_${abi}/${qt_package_version}${package}${qt_package_suffix_android}.7z" - ${download_dir} - ${package}.7z - ) - endforeach() - - foreach(package qtwebview qtwebsockets qtwebchannel qtvirtualkeyboard qtsensors qtscxml qtmultimedia qtimageformats qtdatavis3d qtconnectivity qtcharts qt3d) - downloadAndExtract( - "${qt_base_url_android}/qt.qt6.${qt_version_dotless}.addons.${package}.android_${abi}/${qt_package_version}${package}${qt_package_suffix_android}.7z" - ${download_dir} - ${package}.7z - ) - endforeach() - - # Special case for qtpositioning as the package is called qtlocation - set(url "${qt_base_url_android}/qt.qt6.${qt_version_dotless}.addons.qtpositioning.android_${abi}/${qt_package_version}qtlocation${qt_package_suffix_android}.7z") - message("Downloading ${url}") - file(DOWNLOAD "${url}" ./${download_dir}/qtpositioning.7z SHOW_PROGRESS) - execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ../${download_dir}/qtpositioning.7z WORKING_DIRECTORY ${working_dir}) - - foreach(package qtshadertools qtquicktimeline qtquick3d qt5compat) - downloadAndExtract( - "${qt_base_url_android}/qt.qt6.${qt_version_dotless}.${package}.android_${abi}/${qt_package_version}${package}${qt_package_suffix_android}.7z" - ${download_dir} - ${package}.7z - ) - endforeach() - - set(qt_dir_android ${working_dir}/${qt_version}/android_${abi}) - - # Save the path for other steps - message("::set-output name=qt_dir_android::${qt_dir_android}") - - # Modify target_qt.conf - set(conf_content "\ - [Paths] - Prefix=../ - HostPrefix=../../${qt_package_arch_suffix} - HostData=../android_${abi} - Sysroot= - SysrootifyPrefix=false - TargetSpec=android-clang - HostSpec=linux-g++ - ") - - file(WRITE ${qt_dir_android}/bin/target_qt.conf ${conf_content}) - - - name: Checkout qtquickdesigner-components - uses: actions/checkout@v2 - with: - repository: qt-labs/qtquickdesigner-components - ref: dev - path: qtquickdesigner-components - - - name: Configure, build and install qtquickdesigner-components - run: | - cd qtquickdesigner-components - ${{ steps.qt.outputs.qt_dir_desktop }}/bin/qmake -qtconf ${{ steps.qt.outputs.qt_dir_android }}/bin/target_qt.conf && make && make install - - - name: Configure - shell: cmake -P {0} - run: | - execute_process( - COMMAND ${{ steps.qt.outputs.qt_dir_desktop }}/bin/qmake - -qtconf ${{ steps.qt.outputs.qt_dir_android }}/bin/target_qt.conf - $ENV{APP_PRO} - -spec android-clang - CONFIG+=debug - CONFIG+=qml_debug - WORKING_DIRECTORY $ENV{APP_DIR} - RESULT_VARIABLE result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - # https://github.com/actions/virtual-environments/issues/3757 - - name: Fix Android Build Tools - run: | - ln -s ${ANDROID_HOME}/build-tools/31.0.0/d8 ${ANDROID_HOME}/build-tools/31.0.0/dx - ln -s ${ANDROID_HOME}/build-tools/31.0.0/lib/d8.jar ${ANDROID_HOME}/build-tools/31.0.0/lib/dx.jar - - - name: Build - id: build - shell: cmake -P {0} - run: | - include(ProcessorCount) - ProcessorCount(N) - - execute_process( - COMMAND $ENV{ANDROID_NDK_HOME}/prebuilt/linux-x86_64/bin/make - -f Makefile - qmake_all - WORKING_DIRECTORY $ENV{APP_DIR} - RESULT_VARIABLE result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - execute_process( - COMMAND $ENV{ANDROID_NDK_HOME}/prebuilt/linux-x86_64/bin/make - -j ${N} - WORKING_DIRECTORY $ENV{APP_DIR} - RESULT_VARIABLE result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - execute_process( - COMMAND $ENV{ANDROID_NDK_HOME}/prebuilt/linux-x86_64/bin/make - INSTALL_ROOT=android-build install - WORKING_DIRECTORY $ENV{APP_DIR} - RESULT_VARIABLE result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - execute_process( - COMMAND ${{ steps.qt.outputs.qt_dir_desktop }}/bin/androiddeployqt - --input android-qtdesignviewer-deployment-settings.json - --output android-build - --android-platform android-31 - --jdk $ENV{JAVA_HOME_11_X64} - --gradle - WORKING_DIRECTORY $ENV{APP_DIR} - RESULT_VARIABLE result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - # Rename APK - set(apk_dir $ENV{APP_DIR}/android-build/build/outputs/apk/debug) - set(apk_path ${apk_dir}/$ENV{APP_NAME}_${{ matrix.abi.name }}.apk) - - file( - RENAME ${apk_dir}/android-build-debug.apk ${apk_path} - RESULT result - ) - if (NOT result EQUAL 0) - message(FATAL_ERROR "Bad exit status") - endif() - - message("::set-output name=apk_path::${apk_path}") - - - uses: actions/upload-artifact@v2 - with: - name: ${{ env.APP_NAME }}_${{ matrix.abi.name }} - path: ${{ steps.build.outputs.apk_path }} - diff --git a/cicd/github/workflows/build-wasm.yml b/cicd/github/workflows/build-wasm.yml deleted file mode 100644 index 3374655..0000000 --- a/cicd/github/workflows/build-wasm.yml +++ /dev/null @@ -1,202 +0,0 @@ -name: Build WebAssembly Packages -on: - push: - branches: - - dev - -env: - QT_VERSION: 6.3.0 - APP_DIR: qtdesignviewer - APP_NAME: qtdesignviewer - -jobs: - build: - name: Ubuntu Latest - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - ref: dev - path: ${{ env.APP_DIR }} - - - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.12 - with: - cmake-version: '3.21.x' - - - name: Download Qt - id: qt - shell: cmake -P {0} - run: | - set(qt_version "$ENV{QT_VERSION}") - string(REPLACE "." "" qt_version_dotless "${qt_version}") - set(qt_package_arch_suffix "wasm_32") - - set(qt_host_base_url "https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_630") - set(qt_host_package_suffix "-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z") - set(qt_host_package_dir_url "${qt_host_base_url}/qt.qt6.${qt_version_dotless}.gcc_64") - - # Prepare directories - - set(working_dir $ENV{GITHUB_WORKSPACE}) - file(MAKE_DIRECTORY ${working_dir}) - - - function(downloadAndExtract url download_dir archive) - message("Downloading ${url} to ${download_dir}/${archive}") - file(DOWNLOAD "${url}" ${download_dir}/${archive} ) - execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ${download_dir}/${archive} WORKING_DIRECTORY ${working_dir}) - endfunction() - - - message("Downloading host packages from : ${qt_host_package_dir_url}") - message("Downloading ${qt_host_base_url}/Updates.xml") - - file(DOWNLOAD "${qt_host_base_url}/Updates.xml" ./Updates.xml SHOW_PROGRESS) - file(READ ./Updates.xml updates_xml) - string(REGEX MATCH "<Name>qt.qt6.*<Version>([0-9+-.]+)</Version>" updates_xml_output "${updates_xml}") - set(qt_host_package_version ${CMAKE_MATCH_1}) - - set(download_dir $ENV{GITHUB_WORKSPACE}/qt6-download-${qt_host_package_version}) - file(MAKE_DIRECTORY ${download_dir}) - file(RENAME ./Updates.xml ${download_dir}/Updates.xml) - - foreach(package qtbase qtdeclarative) - downloadAndExtract( - "${qt_host_package_dir_url}/${qt_host_package_version}${package}${qt_host_package_suffix}" - ${download_dir} - ${package}.7z - ) - endforeach() - - # and rcc depends on libicu56.so - downloadAndExtract( - "${qt_host_package_dir_url}/${qt_host_package_version}icu-linux-Rhel7.2-x64.7z" - ${download_dir} - icu.7z - ) - - message("Downloading WebAssembly packages from : ${qt_package_dir_url}") - message("Downloading ${qt_base_url}/Updates.xml") - - set(qt_base_url "https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_630_wasm") - set(qt_package_suffix "-Linux-openSUSE_15_3-GCC-Linux-WebAssembly-X86_64.7z") - set(qt_package_dir_url "${qt_base_url}/qt.qt6.${qt_version_dotless}.${qt_package_arch_suffix}") - - - file(DOWNLOAD "${qt_base_url}/Updates.xml" ./Updates.xml SHOW_PROGRESS) - file(READ ./Updates.xml updates_xml) - string(REGEX MATCH "<Name>qt.qt6.*<Version>([0-9+-.]+)</Version>" updates_xml_output "${updates_xml}") - set(qt_package_version ${CMAKE_MATCH_1}) - - set(download_dir $ENV{GITHUB_WORKSPACE}/qt6-download-${qt_package_version}) - file(MAKE_DIRECTORY ${download_dir}) - file(RENAME ./Updates.xml ${download_dir}/Updates.xml) - - # core packages - foreach(package qttranslations qttools qtsvg qtdeclarative qtbase) - downloadAndExtract( - "${qt_package_dir_url}/${qt_package_version}${package}${qt_package_suffix}" - ${download_dir} - ${package}.7z - ) - endforeach() - - # additional packages - # to be added: qtshadertools qtquick3d - foreach(package qtquicktimeline qt5compat) - downloadAndExtract( - "${qt_base_url}/qt.qt6.${qt_version_dotless}.${package}.${qt_package_arch_suffix}/${qt_package_version}${package}${qt_package_suffix}" - ${download_dir} - ${package}.7z - ) - endforeach() - - # addons packages - foreach(package qtwebsockets qtwebchannel qtvirtualkeyboard qtlottie qtimageformats) - downloadAndExtract( - "${qt_base_url}/qt.qt6.${qt_version_dotless}.addons.${package}.${qt_package_arch_suffix}/${qt_package_version}${package}${qt_package_suffix}" - ${download_dir} - ${package}.7z - ) - endforeach() - - set(qt_dir ${working_dir}/${qt_version}/wasm_32) - - file(READ "${qt_dir}/mkspecs/qconfig.pri" qtconfig) - string(REPLACE "Enterprise" "OpenSource" qtconfig "${qtconfig}") - string(REPLACE "licheck.exe" "" qtconfig "${qtconfig}") - string(REPLACE "licheck64" "" qtconfig "${qtconfig}") - string(REPLACE "licheck_mac" "" qtconfig "${qtconfig}") - file(WRITE "${qt_dir}/mkspecs/qconfig.pri" "${qtconfig}") - - # Save the path for other steps - message("::set-output name=qt_dir::${qt_dir}") - - - name: Checkout emsdk - uses: actions/checkout@v2 - with: - repository: emscripten-core/emsdk - ref: main - path: emsdk - - - name: Install emsdk - run: | - echo "Current path" - pwd - echo "Contents:" - ls -al - - cd emsdk - ./emsdk install 3.0.0 - ./emsdk activate 3.0.0 - source "emsdk_env.sh" - env - - - name: Checkout qtquickdesigner-components - uses: actions/checkout@v2 - with: - repository: qt-labs/qtquickdesigner-components - ref: dev - path: qtquickdesigner-components - - - name: Configure, build and install qtquickdesigner-components - run: | - source "emsdk/emsdk_env.sh" - cd qtquickdesigner-components - cmake -DCMAKE_BUILD_TYPE:STRING=Release -DQT_QMAKE_EXECUTABLE:STRING=${GITHUB_WORKSPACE}/6.3.0/wasm_32/bin/qmake -DCMAKE_PREFIX_PATH:STRING=${GITHUB_WORKSPACE}/6.3.0/wasm_32 -DCMAKE_C_COMPILER:STRING=${GITHUB_WORKSPACE}/emsdk/upstream/emscripten/emcc -DCMAKE_CXX_COMPILER:STRING=${GITHUB_WORKSPACE}/emsdk/upstream/emscripten/em++ -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${GITHUB_WORKSPACE}/6.3.0/wasm_32/lib/cmake/Qt6/qt.toolchain.cmake -DQT_HOST_PATH:STRING=${GITHUB_WORKSPACE}/6.3.0/gcc_64 . - - cmake --build . - cmake --install . - - - name: Configure and build qtdesignviewer - run: | - source "emsdk/emsdk_env.sh" - cd qtdesignviewer - cmake -DCMAKE_BUILD_TYPE:STRING=Release -DQT_QMAKE_EXECUTABLE:STRING=${GITHUB_WORKSPACE}/6.3.0/wasm_32/bin/qmake -DCMAKE_PREFIX_PATH:STRING=${GITHUB_WORKSPACE}/6.3.0/wasm_32 -DCMAKE_C_COMPILER:STRING=${GITHUB_WORKSPACE}/emsdk/upstream/emscripten/emcc -DCMAKE_CXX_COMPILER:STRING=${GITHUB_WORKSPACE}/emsdk/upstream/emscripten/em++ -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${GITHUB_WORKSPACE}/6.3.0/wasm_32/lib/cmake/Qt6/qt.toolchain.cmake -DQT_HOST_PATH:STRING=${GITHUB_WORKSPACE}/6.3.0/gcc_64 . - - cmake --build . - - - name: Create artifact package - run: | - cd qtdesignviewer - - # APPLY BUILD NUMBER - sed -i 's/#buildnumber#/${{github.run_number}}/' version.json - - # BUILD PACKAGE - mkdir build - mv *.wasm build - mv *.js build - mv *.json build - mv *.otf build - mv *.png build - mv *.svg build - mv index.html build - - - uses: actions/upload-artifact@v2 - with: - name: qtdesignviewer_wasm - path: qtdesignviewer/build/* - diff --git a/cicd/gitlab/gitlab-ci.yml b/cicd/gitlab-ci.yml similarity index 53% rename from cicd/gitlab/gitlab-ci.yml rename to cicd/gitlab-ci.yml index 7b9aee0..276bcef 100644 --- a/cicd/gitlab/gitlab-ci.yml +++ b/cicd/gitlab-ci.yml @@ -1,14 +1,10 @@ -# QDS_CI_BUILD_QT_VERSION_ANDROID and QDS_CI_BUILD_QT_VERSION_WASM are the tags for the docker images. -# https://git.qt.io/design-studio/maintenance/docker-images/container_registry - variables: QDS_CI_QT_VERSION: - value: "643" + value: "652" options: - "643" - "652" description: "Qt version for build" - QDS_CI_REGISTRY_IMAGE: "git.qt.io:4567/design-studio/maintenance/docker-images" QDS_CI_ARTIFACTS_PATH: "${CI_PROJECT_DIR}/artifacts" DEBIAN_FRONTEND: non-interactive GIT_SUBMODULE_STRATEGY: recursive @@ -22,4 +18,4 @@ stages: - release include: - - local: "cicd/gitlab/stages/*" + - local: "cicd/stages/*" diff --git a/cicd/gitlab/stages/build.yml b/cicd/stages/build.yml similarity index 52% rename from cicd/gitlab/stages/build.yml rename to cicd/stages/build.yml index 9d531a2..8ae5796 100644 --- a/cicd/gitlab/stages/build.yml +++ b/cicd/stages/build.yml @@ -1,28 +1,11 @@ -.build-common: +# QDS_CI_BUILD_QT_VERSION_ANDROID and QDS_CI_BUILD_QT_VERSION_WASM are the tags for the docker images. +# https://git.qt.io/design-studio/maintenance/docker-images/container_registry +build-android-multiarch: stage: build tags: - linux-blade rules: - if: $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web" - variables: - QDS_BUILD_PATH: "${CI_PROJECT_DIR}/outdir/build" - QDS_CI_JOB_ARTIFACTS_PATH: ${QDS_CI_ARTIFACTS_PATH}/${QDS_CI_JOB_TARGET_PLATFORM}/${QDS_CI_JOB_TARGET_ARCH} - artifacts: - name: design-viewer-${CI_JOB_ID}-qt${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH} - expose_as: "build-artifacts" - paths: - - ${QDS_CI_ARTIFACTS_PATH} - before_script: - - mkdir -p ${QDS_CI_JOB_ARTIFACTS_PATH} - -build-android-multiarch: - extends: .build-common - image: "${QDS_CI_REGISTRY_IMAGE}/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH}" - variables: - QDS_CI_JOB_TARGET_PLATFORM: "android" - QDS_CI_QT_VERSION: "652" - rules: - - if: $QDS_CI_QT_VERSION_ANDROID != "none" parallel: matrix: - QDS_CI_JOB_TARGET_ARCH: "arm64_v8a" @@ -33,7 +16,21 @@ build-android-multiarch: QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/x86" - QDS_CI_JOB_TARGET_ARCH: "x86_64" QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/x86_64" + variables: + QDS_BUILD_PATH: "${CI_PROJECT_DIR}/outdir/build" + QDS_CI_JOB_ARTIFACTS_PATH: ${QDS_CI_ARTIFACTS_PATH}/${QDS_CI_JOB_TARGET_PLATFORM}/${QDS_CI_JOB_TARGET_ARCH} + QDS_CI_JOB_TARGET_PLATFORM: "android" + QDS_CI_QT_VERSION: "652" + image: "git.qt.io:4567/design-studio/maintenance/docker-images/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH}" + artifacts: + name: design-viewer-${CI_JOB_ID}-qt${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH} + expose_as: "build-artifacts" + paths: + - ${QDS_CI_ARTIFACTS_PATH} + rules: + - if: $QDS_CI_QT_VERSION_ANDROID != "none" script: + - mkdir -p ${QDS_CI_JOB_ARTIFACTS_PATH} - cd qtquickdesigner-components - ls -l /opt/openssl/ssl_3/ - ls -l ${QDS_CI_JOB_OPENSSL_PATH} @@ -65,61 +62,3 @@ build-android-multiarch: -DANDROID_OPENSSL_PATH=${QDS_CI_JOB_OPENSSL_PATH} - cmake --build ${QDS_BUILD_PATH} --target all - cp -r ${QDS_BUILD_PATH}/android-build/build/outputs/apk/debug/* ${QDS_CI_JOB_ARTIFACTS_PATH} - -.build-wasm-common: - extends: .build-common - image: "${QDS_CI_REGISTRY_IMAGE}/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}" - variables: - QDS_CI_JOB_TARGET_PLATFORM: "wasm" - script: - - | - if [[ ${QDS_CI_QT_VERSION} == "643" ]]; then - EMSDK_VERSION="3.1.14" - elif [[ ${QDS_CI_QT_VERSION} == "652" ]]; then - EMSDK_VERSION="3.1.25" - fi - - | - cd emsdk - ./emsdk install ${EMSDK_VERSION} - ./emsdk activate ${EMSDK_VERSION} - source emsdk_env.sh - cd .. - - | - cd qtquickdesigner-components - cmake \ - -S . \ - -G Ninja \ - -DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \ - -DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \ - -DCMAKE_C_COMPILER=${EMSDK}/upstream/emscripten/emcc \ - -DCMAKE_CXX_COMPILER=${EMSDK}/upstream/emscripten/em++ \ - -DCMAKE_INSTALL_PREFIX=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH} - - cmake --build . - - cmake --install . - - cd .. - - | - cmake \ - -S . \ - -B ${QDS_BUILD_PATH} \ - -G Ninja \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \ - -DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \ - -DCMAKE_C_COMPILER=${EMSDK}/upstream/emscripten/emcc \ - -DCMAKE_CXX_COMPILER=${EMSDK}/upstream/emscripten/em++ \ - -DCMAKE_INSTALL_PREFIX=${QDS_CI_JOB_ARTIFACTS_PATH} - - cmake --build ${QDS_BUILD_PATH} - - cmake --install ${QDS_BUILD_PATH} - -build-wasm_multiarch: - extends: .build-wasm-common - rules: - - if: $QDS_CI_QT_VERSION == "643" && $QDS_CI_JOB_TARGET_ARCH == "32" - - if: $QDS_CI_QT_VERSION != "643" && $QDS_CI_JOB_TARGET_ARCH == "singlethread" - - if: $QDS_CI_QT_VERSION != "643" && $QDS_CI_JOB_TARGET_ARCH == "multithread" - parallel: - matrix: - - QDS_CI_JOB_TARGET_ARCH: - - "32" - - "singlethread" - - "multithread" diff --git a/cicd/gitlab/stages/release.yml b/cicd/stages/release.yml similarity index 96% rename from cicd/gitlab/stages/release.yml rename to cicd/stages/release.yml index a18d029..74332fe 100644 --- a/cicd/gitlab/stages/release.yml +++ b/cicd/stages/release.yml @@ -9,9 +9,6 @@ create-packages: - job: build-android-multiarch optional: false artifacts: true - - job: build-wasm_multiarch - optional: true - artifacts: true variables: QDS_PACKAGE_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/design-viewer/${CI_COMMIT_TAG}" script: diff --git a/design-viewer/.clang-format b/design-viewer/.clang-format deleted file mode 100644 index c433c98..0000000 --- a/design-viewer/.clang-format +++ /dev/null @@ -1,118 +0,0 @@ -# .clang-format for Qt Creator -# -# This is for clang-format >= 5.0. -# -# The configuration below follows the Qt Creator Coding Rules [1] as closely as -# possible. For documentation of the options, see [2]. -# -# Use ../../tests/manual/clang-format-for-qtc/test.cpp for documenting problems -# or testing changes. -# -# In case you update this configuration please also update the qtcStyle() in src\plugins\clangformat\clangformatutils.cpp -# -# [1] https://doc-snapshots.qt.io/qtcreator-extending/coding-style.html -# [2] https://clang.llvm.org/docs/ClangFormatStyleOptions.html -# ---- -Language: Cpp -AccessModifierOffset: -4 -AlignAfterOpenBracket: Align -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignEscapedNewlines: DontAlign -AlignOperands: true -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: Inline -AllowShortIfStatementsOnASingleLine: false -AllowShortLoopsOnASingleLine: false -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: false -BinPackParameters: false -BraceWrapping: - AfterClass: true - AfterControlStatement: Never - AfterEnum: false - AfterFunction: true - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: true - AfterUnion: false - BeforeCatch: false - BeforeElse: false - IndentBraces: false - SplitEmptyFunction: false - SplitEmptyRecord: false - SplitEmptyNamespace: false -BreakBeforeBinaryOperators: All -BreakBeforeBraces: Custom -BreakBeforeInheritanceComma: false -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeComma -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: true -ColumnLimit: 100 -CommentPragmas: '^ IWYU pragma:' -CompactNamespaces: false -ConstructorInitializerAllOnOneLineOrOnePerLine: false -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DerivePointerAlignment: false -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true -ForEachMacros: - - forever # avoids { wrapped to next line - - foreach - - Q_FOREACH - - BOOST_FOREACH -IncludeCategories: - - Regex: '^<Q.*' - Priority: 200 -IncludeIsMainRegex: '(Test)?$' -IndentCaseLabels: false -IndentWidth: 4 -IndentWrappedFunctionNames: false -InsertBraces: false -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: false -# Do not add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE as this will indent lines in between. -MacroBlockBegin: "" -MacroBlockEnd: "" -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBlockIndentWidth: 4 -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true -PenaltyBreakAssignment: 88 -PenaltyBreakBeforeFirstCallParameter: 300 -PenaltyBreakComment: 500 -PenaltyBreakFirstLessLess: 400 -PenaltyBreakString: 600 -PenaltyExcessCharacter: 50 -PenaltyReturnTypeOnItsOwnLine: 300 -PointerAlignment: Right -ReflowComments: false -SortIncludes: CaseSensitive -SortUsingDeclarations: true -SpaceAfterCStyleCast: true -SpaceAfterTemplateKeyword: false -SpaceBeforeAssignmentOperators: true -SpaceBeforeParens: ControlStatements -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInContainerLiterals: false -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -Standard: c++11 -TabWidth: 4 -UseTab: Never diff --git a/design-viewer/importdummy.qml b/design-viewer/importdummy.qml deleted file mode 100644 index 0c5e148..0000000 --- a/design-viewer/importdummy.qml +++ /dev/null @@ -1,95 +0,0 @@ -// Hack to force the qml plugins to be linked statically -// TODO: Find out how to do that in .pro or .cpp file - -import QtQuick -import QtQuick.Controls -import QtQuick.Dialogs -import QtQuick.Extras -import QtQuick.Layouts -import QtQuick.Particles -import QtQuick.PrivateWidgets -import QtQuick.Templates -import QtQuick.VirtualKeyboard -import QtQuick.VirtualKeyboard.Settings -import QtQuick.Window -import QtQuick.XmlListModel -import QtQuick.Timeline -import QtQuick.Shapes - -import Qt.labs.calendar -import Qt.labs.folderlistmodel -// import Qt.labs.lottieqt -import Qt.labs.platform -import Qt.labs.qmlmodels -import Qt.labs.settings -import Qt.labs.wavefrontmesh -import Qt.labs.sharedimage - -import QtBluetooth -import QtCanvas3D -import QtCharts -import QtDataVisualization -// import QtFeedback -import QtGamepad -import QtGraphicalEffects -import QtLocation -import QtMultimedia -import QtNfc -import QtPositioning -import QtPurchasing -import QtRemoteObjects -import QtScxml -import QtSensors -import QtTest -import QtWebChannel -import QtWebSockets -import QtWebView - -import QtQml -import QtQml.Models -import QtQml.RemoteObjects -import QtQml.StateMachine - -import QtQuick.Scene3D -import QtQuick.Scene2D -import QtQuick.LocalStorage - -import QtQuick.Controls.Styles -import QtQuick.Controls.Material -import QtQuick.Controls.Universal -import QtQuick.Controls.Imagine - -import Qt3D.Extras -import Qt3D.Input -import Qt3D.Logic -import Qt3D.Core -import Qt3D.Render -import Qt3D.Animation - -// TODO: Find out how to build that -import Qt.SafeRenderer - -// Will QtStudio3D.OpenGL or its successor support WebAssembly? -import QtStudio3D.OpenGL - -import Qt5Compat.GraphicalEffects - -import FlowView - -import Components -import QtQuick.Studio.Components -import QtQuick.Studio.Effects -import QtQuick.Studio.EventSimulator -import QtQuick.Studio.EventSystem -import QtQuick.Studio.LogicHelper -import QtQuick.Studio.MultiText - -import QtQuick3D -import QtQuick3D.Effects -import QtQuick3D.Particles3D - -ApplicationWindow { - visible: true - width: 640 - height: 480 -} diff --git a/design-viewer/importdummy_wasm.qml b/design-viewer/importdummy_wasm.qml deleted file mode 100644 index 085643d..0000000 --- a/design-viewer/importdummy_wasm.qml +++ /dev/null @@ -1,35 +0,0 @@ -// Hack to force the qml plugins to be linked statically - -import QtQuick -import QtQuick.Controls - -import QtQml -import QtQml.Models -import QtQml.StateMachine - -import QtQuick3D -import QtQuick3D.AssetUtils -import QtQuick3D.Effects -import QtQuick3D.Helpers -import QtQuick3D.ParticleEffects -import QtQuick3D.Particles3D -import QtQuick.VirtualKeyboard - -import QtQuick.Studio.Application -import QtQuick.Studio.Components -import QtQuick.Studio.Effects -import QtQuick.Studio.EventSimulator -import QtQuick.Studio.EventSystem -import QtQuick.Studio.LogicHelper -import QtQuick.Studio.MultiText - -import QtQuickUltralite.Extras -import QtQuickUltralite.Layers - -import FlowView - -ApplicationWindow { - visible: true - width: 640 - height: 480 -} diff --git a/design-viewer/src/dv_android.cpp b/design-viewer/src/dv_android.cpp deleted file mode 100644 index 76a8679..0000000 --- a/design-viewer/src/dv_android.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2023 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Design Viewer of the Qt Toolkit. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "dv_android.h" - -#if !defined(Q_OS_WASM) - -#include <QEventLoop> -#include <QFileInfo> -#include <QGuiApplication> -#include <QMessageBox> -#include <QNetworkReply> -#include <QScrollBar> -#include <QSslSocket> - -#define QSTRN QString::number - -void DvAndroid::printLog(const QString &log) -{ - qDebug() << log; - m_logs += log + "\n"; - emit logsChanged(); -} - -void DvAndroid::printWarn(const QString &warn) -{ - printLog("WARN: " + warn); -} - -void DvAndroid::printError(const QString &error, const QString &fileName, int line) -{ - printLog(QString(error) - .prepend("ERROR: ") - .append(" (") - .append(fileName) - .append(":") - .append(QSTRN(line)) - .append(")")); -} - -void DvAndroid::showWarning(const QString &message) -{ - QMessageBox msg(QMessageBox::Warning, "Warning", message, QMessageBox::Ok); - msg.exec(); -} - -QSharedPointer<QNetworkReply> DvAndroid::fetchResource(const QString &url) -{ - printLog("Fetching resource from " + url); - - QNetworkRequest request(url); - request.setRawHeader("Authorization", "test"); - QSharedPointer<QNetworkReply> reply(m_nam.get(request)); - QObject::connect(reply.data(), - &QNetworkReply::sslErrors, - this, - [&](const QList<QSslError> &errors) { - printErr(errors.first().errorString()); - }); - - QEventLoop loop; - QObject::connect(reply.data(), &QNetworkReply::finished, &loop, &QEventLoop::quit); - QObject::connect(reply.data(), - &QNetworkReply::downloadProgress, - this, - [&](qint64 bytesReceived, qint64 bytesTotal) { - float percentage = roundf((float) bytesReceived / (float) bytesTotal * 100); - printLog("Download progress " + QSTRN(percentage) + "% - " - + QSTRN(bytesReceived) + "/" + QSTRN(bytesTotal)); - }); - loop.exec(); - - if (reply->error() != QNetworkReply::NoError) { - printErr(reply->errorString()); - } else { - printLog("Resource fetched successfully"); - } - - return reply; -} - -void DvAndroid::printSysInfo() -{ - const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry(); - - printLog("Qt Design Viewer"); - printLog("System information:"); - printLog("-- Qt version: " + QString(QT_VERSION_STR)); - printLog("-- OpenSSL support: " + QVariant(QSslSocket::supportsSsl()).toString()); - printLog("-- Screen height: " + QSTRN(screenGeometry.height())); - printLog("-- Screen width: " + QSTRN(screenGeometry.width())); -} - -bool DvAndroid::initialize() -{ - printLog("Initializing Qt Design Viewer..."); - printSysInfo(); - m_buildInfo = QCoreApplication::applicationVersion() + "\n" + "Qt " + QString(QT_VERSION_STR) - + "\n" + "OpenSSL support: " + QVariant(QSslSocket::supportsSsl()).toString(); - emit buildInfoChanged(); - printLog("Initialization complete"); - return true; -} - -void DvAndroid::downloadAndRun(const QString &url) -{ - printLog("========================="); - printLog("Fetching a new project..."); - - QString projectUrl = url; - if (projectUrl.startsWith("https://designviewer.qt.io/#")) { - projectUrl = projectUrl.split("#").at(1); - projectUrl.prepend("https://designviewer.qt.io/qmlprojects/"); - } - - auto reply = fetchResource(projectUrl); - if (reply->error() != QNetworkReply::NoError) { - printErr("Could not fetch project"); - return; - } - - if (!runProject(reply->readAll(), QFileInfo(url).baseName())) { - printErr("Could not run project"); - return; - } -} - -void DvAndroid::orientateWindow(Qt::ScreenOrientation orientation) -{ - QQuickItem *contentItem = m_quickWindow->contentItem(); - QQuickItem *childItem{contentItem->childItems().at(0)}; - const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry(); - - printLog("Adapting orientation. Initial sizing:"); - printLog("-- Screen size: " + QSTRN(screenGeometry.height()) + " x " - + QSTRN(screenGeometry.width())); - printLog("-- Quick window size: " + QSTRN(m_quickWindow->height()) + " x " - + QSTRN(m_quickWindow->width())); - printLog("-- Child size: " + QSTRN(childItem->height()) + " x " + QSTRN(childItem->width())); - printLog("-- Child pos: " + QSTRN(childItem->x()) + ", " + QSTRN(childItem->y())); - printLog("-- Child scale: " + QSTRN(childItem->scale())); - - printLog("Calculating the new size and scale..."); - - const QSizeF newContentSize = childItem->size().scaled(screenGeometry.size().toSizeF(), - Qt::AspectRatioMode::KeepAspectRatio); - - const qreal newScale = newContentSize.height() / childItem->size().height(); - const qreal newX = (childItem->width() - screenGeometry.width()) / -2.0f; - const qreal newY = (childItem->height() - screenGeometry.height()) / -2.0f; - - childItem->setScale(newScale); - childItem->setPosition(QPointF(newX, newY)); - - printLog("-- Calculated item height: " + QSTRN(newContentSize.height())); - printLog("-- Calculated item width: " + QSTRN(newContentSize.width())); - printLog("-- Calculated item scale: " + QSTRN(newScale)); - printLog("-- Calculated item pos..: " + QSTRN(newX) + "," + QSTRN(newY)); - - printLog("Final Sizing:"); - printLog("-- Child height: " + QSTRN(childItem->height())); - printLog("-- Child width: " + QSTRN(childItem->width())); - printLog("-- Child scale: " + QSTRN(childItem->scale())); - printLog("-- Child pos-x: " + QSTRN(childItem->x())); - printLog("-- Child pos-y: " + QSTRN(childItem->y())); -} - -void DvAndroid::showAppWindow() -{ - QScreen *screen = QGuiApplication::primaryScreen(); - QObject::connect(screen, &QScreen::orientationChanged, this, &DvAndroid::orientateWindow); - orientateWindow(screen->orientation()); - - printLog("Initializing and showing the QML app window"); - - m_quickWindow->show(); -} - -#endif // !defined(Q_OS_WASM) diff --git a/design-viewer/src/dv_base.h b/design-viewer/src/dv_base.h deleted file mode 100644 index 4d9c9c4..0000000 --- a/design-viewer/src/dv_base.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2023 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Design Viewer of the Qt Toolkit. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#ifndef DV_BASE_H -#define DV_BASE_H - -#include <QQmlComponent> -#include <QQmlEngine> -#include <QQuickItem> -#include <QQuickView> -#include <QSize> -#include <QString> -#include <QWidget> - -#define printErr(x) printError(x, __FILE_NAME__, __LINE__) - -class DvBase : public QObject -{ - Q_OBJECT -public: - virtual bool initialize() = 0; - -protected: - QScopedPointer<QQuickWindow> m_quickWindow; - - QQmlEngine m_qmlEngine; - QQmlComponent m_qmlComponent{&m_qmlEngine}; - - virtual void printLog(const QString &message) = 0; - virtual void printWarn(const QString &message) = 0; - virtual void printError(const QString &message, const QString &fileName, int line) = 0; - virtual void showAppWindow() = 0; - - QString unpackProject(const QByteArray &project, bool extractZip = false); - QString findFile(const QString &dir, const QString &filter); - void parseQmlprojectFile(const QString &fileName, QString *mainFile, QStringList *importPaths); - bool runProject(const QByteArray &projectData, const QString &projectName); - -private: - QByteArray m_projectData; - QString m_projectPath; -}; - -#endif // DV_BASE_H diff --git a/design-viewer/src/dv_wasm.cpp b/design-viewer/src/dv_wasm.cpp deleted file mode 100644 index ca06b9a..0000000 --- a/design-viewer/src/dv_wasm.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2023 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Design Viewer of the Qt Toolkit. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "dv_wasm.h" -#if defined(Q_OS_WASM) - -#include <emscripten.h> -#include <functional> - -#include <QFile> - -std::function<void(char *, size_t, char *)> g_setFileDataCallback; -extern "C" EMSCRIPTEN_KEEPALIVE void qt_callSetFileData(char *content, - size_t contentSize, - char *fileName) -{ - if (g_setFileDataCallback == nullptr) - return; - - g_setFileDataCallback(content, contentSize, fileName); - g_setFileDataCallback = nullptr; -} - -void DvWasm::fetchProject(QByteArray *data, QString *fileName) -{ - // Call qt_callSetFileData to make sure the emscripten linker does not - // optimize it away, which may happen if the function is called from JavaScript - // only. Set g_setFileDataCallback to null to make it a no-op. - ::g_setFileDataCallback = nullptr; - ::qt_callSetFileData(nullptr, 0, nullptr); - - auto setFileDataCallback = - [data, fileName](char *content, size_t contentSize, char *projectFilename) { - data->setRawData(content, contentSize); - *fileName = QString::fromUtf8(projectFilename); - }; - g_setFileDataCallback = setFileDataCallback; - - EM_ASM_({ - // Copy the file file content to the C++ heap. - // Note: this could be simplified by passing the content as an - // "array" type to ccall and then let it copy to C++ memory. - // However, this built-in solution does not handle files larger - // than ~15M (Chrome). Instead, allocate memory manually and - // pass a pointer to the C++ side (which will free() it when done). - - // TODO: consider slice()ing the file to read it picewise and - // then assembling it in a QByteArray on the C++ side. - - const contentSize = contentArray.byteLength; - const heapPointer = _malloc(contentSize); - const heapBytes = new Uint8Array(Module.HEAPU8.buffer, heapPointer, contentSize); - heapBytes.set(contentArray); - - // Null out the first data copy to enable GC - reader = null; - contentArray = null; - - // Call the C++ file data ready callback - ccall("qt_callSetFileData", - null, - ["number", "number", "string"], - [heapPointer, contentSize, projectfileName]); - }); -} - -void DvWasm::printLog(const QString &message) -{ - fprintf(stdout, "%s\n", qPrintable(message)); -} - -void DvWasm::printWarn(const QString &message) -{ - QString escaped = message; - escaped.replace("'", "\'"); - escaped.replace("\n", "\\n"); - emscripten_run_script("alert('" + escaped.toUtf8() + "');"); -} - -void DvWasm::printError(const QString &message, const QString &fileName, int line) -{ - printWarn(message); - emscripten_run_script("location.hash = ''; location.reload();"); -} - -void DvWasm::showAppWindow() -{ - printLog("Resizing the QML app window"); - const QSize size; - const QString command - = QString::fromLatin1("setScreenSize(%1, %2);").arg(size.width()).arg(size.height()); - emscripten_run_script(command.toUtf8()); - printLog("Showing the QML app window"); - m_quickWindow->show(); -} - -bool DvWasm::initialize() -{ - QString projectFileName; - QByteArray projectData; - fetchProject(&projectData, &projectFileName); - if (!runProject(projectData, projectFileName)) { - printError("Failed to run project", projectFileName, 0); - return false; - } - - return true; -} - -#endif // Q_OS_WASM diff --git a/design-viewer/src/dv_wasm.h b/design-viewer/src/dv_wasm.h deleted file mode 100644 index b1c384d..0000000 --- a/design-viewer/src/dv_wasm.h +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2023 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Design Viewer of the Qt Toolkit. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#ifndef DV_WASM_H -#define DV_WASM_H - -#include "dv_base.h" - -class DvWasm : public DvBase -{ -public: - bool initialize() override; - -private: - QByteArray *m_projectData; - - void printLog(const QString &message) override; - void printWarn(const QString &message) override; - void printError(const QString &message, const QString &fileName, int line) override; - void showAppWindow() override; - - void fetchProject(QByteArray *data, QString *fileName); -}; - -#endif diff --git a/design-viewer/www/index.html b/design-viewer/www/index.html deleted file mode 100644 index 84c97da..0000000 --- a/design-viewer/www/index.html +++ /dev/null @@ -1,155 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - <head> - <meta charset="utf-8" /> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <meta name="author" content="The Qt Company" /> - <meta - name="description" - content="The online Qt Design Viewer allows users to view and share Qml-based UI designs. The designs can be either created with the Qt Design Studio or be hand coded." - /> - <meta - name="keywords" - content="Qml, Qt Quick, Qt, Ui, Design Studio, Viewer, WebAssembly" - /> - <meta name="viewport" content="width=device-width" /> - <link - href="resources/styles/default.css" - rel="stylesheet" - type="text/css" - /> - - <link - rel="icon" - href="resources/images/qtdesignstudioviewer-16.png" - sizes="16x16" - /> - <link - rel="icon" - href="resources/images/qtdesignstudioviewer-32.png" - sizes="32x32" - /> - <link - rel="icon" - href="resources/images/qtdesignstudioviewer-48.png" - sizes="48x48" - /> - <title>Qt Design Viewer</title> - </head> - - <body onload="init()"> - <figure style="overflow: visible" id="qtspinner"> - <center style="line-height: 150%"> - <img - src="resources/images/qtdesignstudioviewer-128.png" - srcset=" - resources/images/qtdesignstudioviewer-128.png 1x, - resources/images/qtdesignstudioviewer-256.png 2x, - resources/images/qtdesignstudioviewer-384.png 3x, - resources/images/qtdesignstudioviewer-512.png 4x - " - width="128" - height="128" - style="display: block" - /> - <div id="title">Qt Design Viewer</div> - <div id="subtitle" class="subtitleclass">Powered by WebAssembly</div> - <div id="qtstatus"></div> - <noscript - >JavaScript is disabled. Please enable JavaScript to use this - application.</noscript - > - </center> - </figure> - - <div id="dropzone"> - <div id="instruction">Drop your qmlrc file or zip file here</div> - <p> - (Package with a pure Qml project, containing either a .qmlproject file - or a main.qml) - </p> - <form id="uploadform"> - <label - ><input - id="fileinput" - type="file" - accept=".qmlrc,.zip" - style="display: none" - /><img - src="resources/images/uploadIcon.svg" - width="32" - height="32" - /><br />(or load by clicking here)</label - > - </form> - </div> - <div id="projectsmenu" style="text-align: center"> - <p>EXAMPLES</p> - <ul id="projectsmenulist"></ul> - </div> - - <div id="launchstatus"> - <p id="launchstatustext"></p> - <div class="progress"> - <div - id="downloadprogress" - class="progress-bar" - style="width: 0%" - role="progressbar" - aria-valuenow="0" - aria-valuemin="0" - aria-valuemax="100" - ></div> - </div> - </div> - - <div id="appheader"> - <div id="appname" class="child inline-block-child"></div> - </div> - - <div id="passwordDialog" class="alert"> - <span class="closebtn" onclick="this.parentElement.style.display='none';" - >Cancel</span - > - <span class="closebtn" onclick="loadFileInHash()">Ok</span> - <div> - Password for the application: - <input type="password" id="passwordInput" /> - </div> - </div> - - <canvas - id="qtcanvas" - oncontextmenu="event.preventDefault()" - contenteditable="true" - ></canvas> - <div id="footer"> - <div id="alertBox" class="alert"> - <span - class="closebtn" - onclick="this.parentElement.style.display='none';" - >×</span - > - <div id="alertText"></div> - </div> - <p> - Note: This is a static web page. The Qml application that You load runs - and remains locally in Your browser, nothing gets uploaded into the - cloud. - </p> - <p> - <a href="https://github.com/qt/qtdesignviewer" - >"Qt Design Viewer" sources</a - > - | Made with: - <a href="https://doc.qt.io/qt-6/wasm.html">Qt for WebAssembly</a> | - Powered by: <a href="https://webassembly.org/">WebAssembly</a> & - <a href="https://emscripten.org/">emscripten</a> - </p> - <p id="versioninfo_main">Version: 1.0.0</p> - </div> - - <script src="scripts/script.js" type="text/javascript"></script> - <script src="qtloader.js" type="text/javascript"></script> - </body> -</html> diff --git a/design-viewer/www/resources/fonts/Titillium-Light.otf b/design-viewer/www/resources/fonts/Titillium-Light.otf deleted file mode 100644 index 79f6929c796ed13c57e32538f63863038da723d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57068 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 diff --git a/design-viewer/www/resources/fonts/Titillium-Thin.otf b/design-viewer/www/resources/fonts/Titillium-Thin.otf deleted file mode 100644 index 187568d0a4912347b6b987e2d32d3e6d51e17699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54036 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 bpRdlpaytLKbp8eD{Ilr%E3Nadm?Zr_2MLFH diff --git a/design-viewer/www/resources/fonts/Titillium-ThinItalic.otf b/design-viewer/www/resources/fonts/Titillium-ThinItalic.otf deleted file mode 100644 index 883607ecca8bc81027c8c8cc23160e31e6a2db89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59196 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 JUt>v${|DaUtik{Q diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-128.png b/design-viewer/www/resources/images/qtdesignstudioviewer-128.png deleted file mode 100644 index 112ead3870d20c059c796930f10d6c2e2ae32762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5384 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 Y_^+FYTxx3LR5$_C^XA5{aW2IF0d4y6_W%F@ diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-16.png b/design-viewer/www/resources/images/qtdesignstudioviewer-16.png deleted file mode 100644 index 448df0cce58090e0fc0165f5988df2c6c061da11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!Q}P)<h;3K|Lk000e1NJLTq000mG000mO0{{R3C@l|D0002<P)t-s00000 zScwEUR0KFy09S_qRfGaSVgf{I7+;71QGafnwir`$09c6uS&0KdV*^@>16zv(H&g{U zRR~>-30{p5L0l6<UlU}J8c1UrX_XsEWFKsoB2Q@~aG51=nlD>(FnFIac%V3aq&j}1 zJY{@6fTcfyrb2(DMT4b9g{Ve`saBA&S9_3OmbGo4yKa-HZ;qjQsKJ1ot%#$tjIzd! zsJD-{%a^denY_=Z#n!0C)~&(Kvd!DG$I-je-@n!2!qnZu)ZfC^;=<SC#MtA;*Wkw5 z<;&aS%-iJ5+~v&O=gr;a&)?|K-{;ff>el4!+2-v)P(;E2000bhQchC<fPjO9=jizP z{QdqOFB%E}0059lL_t&-m1W4~4#F@LK;etqMLKl2yR68t0>d5p{!ar*vjn>H?|cB( zZ1|h}2u_s1?cH<!UZ}-(6eG1t7)WaC$NXCFJW8k@D1O1vLO#mMw;tACEdhiKb~&a8 z`=^Wvnh_YY<ZK=@VX};OuZ;~w0ZR2eQVN&hy(xh6=QK?cD}Ky+TtNPFNMHw$-_i$x W0T@c|hIH-#0000<MNUMnLSTZn(A_@( diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-256.png b/design-viewer/www/resources/images/qtdesignstudioviewer-256.png deleted file mode 100644 index f2788115672ea03d9d8e8f828a6124f07868b6f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10475 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 diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-32.png b/design-viewer/www/resources/images/qtdesignstudioviewer-32.png deleted file mode 100644 index aae928d37c01af785461ba4c909c3fb84ce02700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq001BW001Be0{{R3M5Kzw00048P)t-s00000 zScwEUR0KFy09S_qR)+#UVgXKi0!MBDRfYjebPr*UGj5RuMP~;)SXPd$h^Ds$I93ux zVp5N<n!C-Lw!{EdhX7cK0a=LxM{NR0Zv$J41UFO!I8+2ZT?Jc=2Rc^{KU)x4gAiho z5kg%NW04YGh!SLy6GLAWW|J0XlNe@`7-y6jNn;yomL6=EB~olKc%LzNpfg@}G+uW$ zd!jgfqdR4LKY^x2Y=TR2hf8vZP<4t`kFZ{rv|pCBW0|*Qhni`fxoeA^Y@fSrpSy04 zpm&w0e3`0!s>6S)!-KBHhOozrv&f96wT!gMji|Sgw#<{QyO*%OnY_=MvcR6U!>Yf_ zvdY%7&Dyia(Y4Oqw#n4C&f2!m-MZ4>zR%ge(b~V!+rro5$=Tw~+~v*Q=gr>e&fe(H z-{{ca=g{Ek(ctLO;p)@k=+)xt)#K~d<m=bv?Ahk+b4g9p0000MbW%=J0Dyplgy`w` z`1||&{Qdp?{r>*`{{ENJF*E=G0Ru@yK~y-)-OATD!vGw`@z{HhTk@kZYt)DlTWimV zmfBi7lvwxwKgWZkgdBPA_u;<WkD_EzIq=Nyhu{AN^5Fvti!iihnx+{U1PpUN0HAAQ zvo`}oTFdW9lJCm_!@2GQF!`Dc{{S+2dsK$t+`X-bQjP&&k(TNPC$-Hbfo-m+`-}pg z>jphi(^SP6B8&l{l&${-A~UR44d=82BM-^27no+EqB~{lh|p5Kz$|w)t$}s07=;&D z=bFe8tJ{ws$GyPtWqL|v;^}bg=DhzmNXK^$o*8cw8Mt~m<6dQHqZ^QXyIAcM5iLP- sL8PU);2U_C=L2$;|3T(g{QfNH1Jq4b9@UiGEdT%j07*qoM6N<$f?zaU5C8xG diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-384.png b/design-viewer/www/resources/images/qtdesignstudioviewer-384.png deleted file mode 100644 index 6f44e9e0986e2841107fb91dd7ca46c5c8a64289..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16565 zcmeIa`8$;T8#jK<7>sqMELp;cB70>wm`Q~0P|1>g-)T`~!pu<iqAW$WQugdyktJD^ zJ&ZLZitPLLyr=vAe2?#M&p+@ShmNCTCfD^|Ugvqf&gE5@f!;+HMjl28f>?C4FI<Hn z7?Ju1Ne4d3XfCUTAlw6;3wT3c%0jZw^XvWnO;t2!T#sIkOl*|B_RpEmjnZMrP;EB$ zD=r#~9-`#6QyA^*2#z?ha9WllSJ>I(P9Tw?rRkezz31+>9c-xieEpKF@^ggHCiQcE z_hV;Cigf2D{aDrPPKV|0=x@m@a54t@|9<}OClEW^^sSTS;MVV-txty8^LhFDF6U7` zMi+YO87?sX7NM0JD-Uor+HG7fIk9eQ<G}t+lJ)mb$Gf5V3E}<H^Eq}l`#t5BQdeuw z=05Y^S2n$yV%?X|`b(i`{rTPfjiRuy+)JeaKhpxd`Z5}Rxmr}5%xxBlQD@I?jbCrx z`sHX5Se$oS^H=9+a{t0||EIic+Vx}f>jNpRzc^kWI2zY5{$6DL{n)a%g|CKfKz%-^ zQ<nUWr+h}hjEuX<b`ibT$cD_bxfvnNRSA)VxDWye9UHVYdXFT8eAzH@k6vbr=@^$H zef>Bh2uhYiyeG*A-k5&m3vEHL&TAxbbm=MzK9)(gx{2jbgw+=)k|&H>F*g~5hRr`& z7Z+S3xuch`94&P9d=QQ+DbRh02u-C=M1?4Ct8<L-OfGkMkhoBn88&^h5-OL`%I>p? zwKvcs8OIS*{-g=cTFfkw08ehxD8|>_!8Xz$W{Y8-2kNft$8GLv<X%8)!-Hf-*_;*l z{Y>Y4XBBdq!9QG5{KGIphLYtcI@CX6gVM?<1aguFD>*fDN44G#Unzq8>N~rEeiCAf zCwlU}nz2G4^0$c4CZaH=K`ZgS{8jG}Xf7nbne{->W8QHYMmjYmIH+wS^e`%R*B5D_ zAlgxT(&Ip~xx2~Bs1OhFo_5bDjCnM!75<esV@AM=A4gn9Q$K3Z`o)fz{RneD80dBM zidRKmc*$rjbX|#m=VX&cwwurbKQr%X<(tIBT4gkn3$+b{HE9&a?7;8?H;1*o5|D6j z8_oAp_*H$zAfsQ+8VZkmu?XJmCj@w8NNI7*D>iZ0gMl)xi?;1-ND1pDp~#S>HZJ*| z*wPq3C5|*+ahC%-9h)#1%spdIpSB|S0e0<o*OQP_-{a0Wq0@vefm0Oi+1n>g?4%K) zg2*%cjQiqKeWfw4#KBiZclj=I&8qQ}qYOuVXN|xM%VJ)gYj-~Aa9Q=zOZsRUj;~ua zT(YY^+azu`sIB29r0K(%x7a&#xIZ|P3L$Ph{&z8GiuN@JY%r^2`gU`I4?6M(4LQCr z#un@Y92!Kdn^Auxf9RxB+H~|Hrpxu;kCC|y@1xk0Zy2l|T9!DqZZbk>voYLK5PF=g zPAhyF-QY@g5z?&S?BBB!Ps0$S*yXPdYG2z;f%we4S2rPe3iTo<Qy}Wc3pnDt4xNFX znLtU8m4Q=m+<C5yNmXzp)Z5AF0aw=XdRsx#{h;Uv3xW$(uN6*!4{HC24C$)5FMIgb zuBGg9YLwBr-;=c9V=4l`%PcWC`pu!eg7l8@JU6B`dSv1@^xqR1d9#_&X%Tl^56Usl zzxcp98mKFF&p6SnF+0ugeV075$cY%BqeIxmjj`<^|E`>(mE(vF_WYB+Z8d7oe5MVC z2yehV_;(YyvMBZ`!CN+Rv$K}KcB<$|q00uY6m75nwyhcjS&ZIV4Wzu^CIsUvsrUg9 zel?XY<yU)F%gJYOuXcEv`>2@>Em$EJ%Ed;ge<JP{`VT|b=rg&)rq4;WNc2+a-wVl> z=5^6>9oD|)0`4mnXWTs#c-@XNYu7H0R7|DfR*`>&20+hRXnniwd1e&5g__RllY9&r z_hH#Uy!z~;DE5L#hp3RQIX?No3Jm%j|5YS;hI-k-#!c^sw7VB16Ayik$_AQo$u9ed zAxpr{(wAz_emprnm2MRhfX$czSE&ARTfr}p-O$cR3ZFLTi?osRb%-=>+IiTY_Ip?^ zko3R%wh>}!P=zV0Uq4ORyVR{^)y4`5{{L>l44t;!EPFWk_ug*l|FuzkS<Kset6thk zff|%0UQT+V5PITYl-$xsPc9qiDjYs7T~3gNMI#V?)O~*T{d+-7;+jc^qLjUh&l;}M z02rJBRsmoTCx2BokO{5$@UPWU@7dtFN5<*?y<X>4{nt@rd4*&ELF#i@v`jkk1qD!V zj8?sHytSrq9J+-H<JhQ>fXG6g;C{r2R$^kuxE#{mx~ru#8~j>uKPHb({%RR8XXk?> zl-Um5ONN$s;8!fUKWT*<Hwl);yv3~wXugt5tfa*oG;7!dIPCdTU-mFcRtD2mu{)62 zQLE;$w|*Hi3BpYBB49;-Z`mc(1K=Q=8|5;*=MpoxLJPnA*B7zWQSBI<YFd=+$;7}j zXkij*e!0ts>QboY)uWZ;hmF13F)oQL<)+%nzb@_u5tlk+<uxsn*<p1OxizGn%DS!! zqb`!?4*|~7q@fJM<e!hQb3v`YH$UNjq5K%y<dd~56{jci=%xfcKDn+9Enj;tbtcE% z|EW=#on_d2jjziz_?sRXDyY=RZ!tIfS$AG22w?TT&8z(r@1dg2={|BvZO2jM{$_6e zbjO<)_B~E+trLfmC-YBz7215VCB1#=Nw(IV{tm6gGk4X7?yklDrYxilrY7ge_q>(% zzp&A@m}bHkk>8u*I`QQsWrWQcLG%;8v5iSP{9yl(Q+UN7^-^i}&tMzuG%X@KW272; zdv;o>*mf6x_Irt!wi{ze;MxnVr2D=e8JjFG1m|}Xt86c|QM5B9Oho1h9*O~v<>jxk zz|dwh*=aDH54CqJ!<6-tH}8re)1uf<Oix!uOqZ|_T3R-Zqr>$(WO)2c+%xi)Q>t#7 zwrmz}Zq3D(#k?CP7`FH%CMR7w(0<K+w@RezICKkB`9bRReJi)4*+ZMQVLL*1?sB2< zpUVy#xmPCl<TBa{eO}h%ilV#^c19aMGRZ4nDkG4`yE*9du0)`DO@G-7_0vN>B5>TE zZ>Uj~mT>-!fsv!@k1UX@zDV7?yk}0Ws{(<S5BfZGtrr>Sx?dEFmL<wa|8UQ^+gu|( zziVG>G7BDogyw{A=;6>l#s=9eVOZ?Mc`lEP=yMjWttShlhqM=&Em>Yhm9AX#V%n_| z>1kgxEQwK5{V8rUF7m<rTdP)%AXH5zJ`QP<6Ldj&x1YY^)A*)vP+M^GSZj%q=gBvz zzN#|vJ-jaG)B@+iqf>nrQiM)B30ai7q!tGH9Q64Y8_8ddf=zJJotaASnai;MaZh+< zwvGv3D?+S3Eu!!QyW6cxX|Y5GM|tCCEN#?9+|FhfN5yXMby~91^setdzJ1@}cm@F; z1sS9YKO!DO7k(hWT{G-b4N;T%aJ+FDJ*{t6q8F{}jd)GbQuh9K)<%6w$j<T27x^At zc(cnhHLKiF`Kuj}H75$)SfBQfvQBPKOl;Qr^h3;$wxHU@-R0B=9<mp%4{HzEDO}+> zL%84OF0`OxS5&xI^tt^`*|1j5Y3L=nZa6z_x~4<>MpVks$)1ajx%?>nUZZ2PdOKHv zJ@09^&|?MD$nB~@@!y7~3TNDY$P11O?(>mG#_YoH4QsE%aNLxoj;9FtMyGBrB`h}U z+!{G&8QmE8b@#(Nwz#|`lVXS3=+wFS&+S_0^d5R-(ATPpPpjCwUGg5$$`OIw@fc^U z{k!C>q22J|GPVFbw0w+!-_>_L7FQGH-8j$D5b$;-XuKzY_w=p`+Z$ufcLTS1v$Y^+ z9AgAMvPYFj%ujaK9?-*T>Gt{mdId;~uvYU|a~aF-wh^tJiL670-TQtYiwt%>G8Rq+ zO3d%Notv|htcY=Cgm}>{$5BOPY#eixu#nwuj{esx7e?7|lZ}t}znGp7&wC_S)IMbU z2R0ageN<y1vuC_VbIwaObA_P{^*qY(4pa#vVR&8YDPdCgy%!oa$1udkU%l&u$QcRo zJVzyqD9Q8mvjG_f!TnoM{UiV8;0Hd#DF0lKEdOu_M~lp}#w{|6mA^rKp({*ix{r0w zi1sbI%UFE1J>^Jc(}eU|g^7j6!jP-o#_Z+bw}C}hh7Ab*5YB1wO`ELnS6tn4O5Id; zntfH1`vO9hqmp3F87M}a&Z=J((AJS8Y`rjT2zV6FHsi|cYUMNUZZmGy)Tdv{QZ~Q@ z75(6%V_am2`~WYHe5V@L$Mc|-35ij%-DpT{9H&Pj%bYqi`^2VN*G}fXOW)A%G(A1P zcpy-d>B8$;APof*anrt`DU5&8-9-53@y3Rz+DUfAiN>oHZR*?c9;0sG(7QPkX*p5P zbzId|l4S2MYxD%PiDdjtVv0IeC6GU)BhRO(CuRPXbwpHKD{KE(a!BxlgLPS9%>jd5 zY59oz8uhQ_?y{B*Afc#GNrYikh%P~uBjaaWUJofhxiSL|No>j@(>Em24!(XYc>1na zU1TwzqV@Qi+gshDxFee^$%5FvfRT~@^J?lzF(pmuW?8Ckbw3dv*ZhCCU%nASaibwV zWrt3(AcbN0=S>==J#7jiASAS<`_K-Zg<-_|#u$)a-oKsWveP=K9~joTr}yqCvT*#B zsm7BK5T+H6qxv}&I|E{+9!+t(3Lwy-U#`t!7p|R5-zav^puli^$i~MZvp-udeMrqu z=DMxJ2q^~lhr(gvGuFPIW3EE8n&qzQyZlw<b0yuAbma3~BTtu~-lCud<CDIe>r+Ec z3C1u@926|N>7HKz6lM*Et9k|9q@|gg5){D5eA6oxjtSW*jAK(e55oxdjY%_mW)|F4 zH!sl;gW|6g9F(oe9+f1Zx42RM8bRh4oUhENfm<wY)-Zye*XVwME5=K9oXa~E3Y-_z z^_&ZBKntgx65M&QdXHb}^L}yPQHXqg;eIkB<?=zW`O&rTZ@TV_SY90qAtYk{ta<QY z-rggl&O0n+#{T+sw^KD|YuhWd8Owgk@~=Q};Ear32g@KAeX|r1@dleTcW{M6vcp!- znr*!6AaJxPBFHutzi0Lg6guvL`))p*P?{*R=_WU-KhV;=@cy>Q_%x4e!ELPYZJ7DM zfSU19SLxorZi+-)%*J)7*7r!#N6Iy5T|rBXr)cK8WzKnSyGuc6KG#JjtUWDB9jo@@ zxY}JkMTpDkP}k~PlSbWX<kNbhMHj<+I!sO0XuMNajV`+M^@h!r_ilCG;L^@6GRV>s z8PP3eF#%QUL>S2zU3jg&X}`H8tmK$ZiU`!gP<HH={?g(>Z!7nE8mrPr)w^#_LcS#8 z{(e|jUYuFgBT8;*%*PYXu;T=#*J6E^r;xI69NSYa_$?Vx-q_{nS_0XD9kQB9;6r|- z#At4G^KI%WT;_qI*<Gbwv5iLJ5j!lDzL_AAqwqRTI#zrge@d8N{}+`$%eW}nXKGyR zG_4*~EDUSQ(GX3gaOf2Rd`A0>7#-rXbu<dTQ9Hym{OqUHDOzHl0U<`dhk?xFoOdwl zrCjyCmFsrdF|=@%h%@#;!zMLJl8V^^IHKZSfa!CKa{3Pa32q~{zU62&s4_(UfM6>) z!A@s$9K``A=A$e<&ttfew$_E=?|7}n$@ve~PC@p;l!)V~{j7DxDW@aZnR6R@G?3#h z1dM5c^NkVP&szW&HbVI-dLuzq#Wds5i4J*;h#gqnIb?&2kOf}a-`HK<*$~V8l1SV? zEVoa_WJ;UsA)zbj8?Tx*=DXvyi!9D)LK8<3t?n6SbK_CS%cg~o&Ekv1c;}v@K1&eo zJe7w`n{t{ocwlL#Pt(CJam~u{+pg{xFe3+p>V6rbQE(%xMP>IdAwK*EMmMr*oO$Q2 zdkYKyI@{lu`a!?w5iY=DYRa&Vrwm!N7;GG0l(XE`BWcT7=U?deq1b?MB$LbzCz=9M zQMw$hfX*Aa6>4O}j-Zvf$qE<es^0zKm*_U~0=S{$vS?rGsRleYfJ)O%OT(ZECv4x| zkE-)(=aQ03;@Gen3l5J%JY84Gg&sxzv#tyr=^J8A8i{ZW1GDUV5$lo%M&B@nB>YkI z7xVX0J6|WH%I}e9cn0R5wSUtKMV2Ml2<=PNpdF<|ulU*Nye+EglSsjA`6q<IkA13X zmg}>88&x`KaEobTu<Z`@(e4?iAt(id9P@Qvf2YxO;H!@b4I(j+Us$~p-<jNcx98y9 z|NiOGyQ%Mild<GPrf_nVRVIwRXoM3Lkihg$Pv3cRU`;z<KzK2g9^e%yIIXfBuRQJP zo_ng#^0O*Q4H6xXjFm`bhOdD72d-{rBR5Knk!&k-6Grw)$gdbv^)^1po>21>^R2Y< z45NE}`_ox|+bZ~pyJiDA@#vcfvapQr-DNt#)E7~^z9E!$I4r3*qHDzKo)}Y^@frRe zX2_A29sywBc27VaGr@(pB~u8;vqKE=U84>uj66TyTn~I1o24)xPF<sX&p)Ju`VOm| z7A`seisf@7_%6pDtYGRkHaWfIZM#srNqN*-OZMvdkIzKLOkW98ZOQN&HDnW)qYI3i z{@|86{s_?_zKFqTj$uL{*5^6!zVr}^Qsppoy>#LUYuYA4h(?8<N5v<uYZEel0cpeG z6;tWzcatRM@02*}kEd@uZPqxPKX-X>^Oiu3Su`KjZDlAypsYf^t6#U##2bf1#Am_@ z=xSqTNDq(8HJ`#Jy8WY1EA$T0p|!KrTM{hCDz7Zc>C#Gr*p~0{Z|+2HkJOCcXatwr z<eOEKMtjp~*6exG?4FfoR*l$S(xdlO16RA;^}gm}3q`g2tjz=~;<JqmVViD|oAwk^ zcc5L|R4M3!E6W!KM&w{%m&7sS;K3=S4|4r_dbF*WrJ0_81XGh9W-qap9b+N8L^O_s zeX*)dBA7(IT#oiZJJS&dCt>7?VeNtL<3wi;dQyLO9RqUADrQbS?-U)~8sW>O-0q0M zA3W`)F~y7cK0oIfJstKNQ%+dnUlo?+%1J(1HM0bGd9Z#kU8i{tIQ1W@q$UV?0=e}h z<lCYOk7NR-FbGD27leAM$Z3XiYt>J$D?im<s2|Gt!|+z}hO|4gp<@@XPDx}9d7?no z>c~dbP-+JN?6hiqfeUA8mSn;8M>VhieK7D@3G##zED7^czK3P^G57W32u_)sNHXdp zMHthrNQa=t_V!DJEQQlCYG*Ib_-5_?W(t<;`Q}}p*lR$Lo)Rp7ZQ1fOW$g@rRLoSm z-&CXUo8-(ZFXrzSg&Pn+QVl{RnVm$GL?*g{OTG8L@HQ=3k*hJt`mrRm6+}#C?8yNH zQlrFSP&=13@FEvvf{PrMuv5TTbC;cvjeC?sJ!v`qqh*k%&5Wf3u+wIZL|C1~3yguA zP{&B%$Wnz@WcCSQL~u4bfp;SkB7Gl`%)eqv8S}Mobg125GmI8@#d<T1lB9I=V*FUj zeBflgUNw%DDuv!i<QQ<9O&as*uaK&8ZZClQiklL=46~*QTETOnmTN?;VbT&Dr%!`S z-kO&D#K<F_)79&~nCP`}bCnoLTkN!mv{H<kWktJjmj7AaIlh|DBQ%9Cl+Bpxz<~!x z#mZf{66n*f_0{mGYXJ`exEF;?^3sqt$bUWe=qgUv{=)^*eF^57ca#&7eQJWp=Rqwd zD&6W&)MVO!(2_kuK63P281$JJX&-FOCNAV0E8}_$qHidHtg9bp3i-_GKJMmv6GEZ4 z#%3IWZakevBY*q0@FUE!PI{JH0nSmGLzt$1q~B~Sm~uyjqc2SAHDTgbLMGe|{otd` zlW48mlk=KV=^J6Vx?)$&8v7YO*UsIPv_lo(&Wl(ot3SCm*i!RM4pGQNi4M=Sj+v0* zw+*`@(H%juj<^JJ{|V#^CkUsPRr7lpt-@jGei5V*F=i+Hy;Bmd)r-UP)AGWWk!2OR zfMXt8sT$%m0S8{)ta0b#nBcUN!14hjxKL2!-GO1stBDx<sdNw1aUQfNEBTeoO&ao( z+A%T7zOh{@S#FbWjlvE-Q<LFMS)fCFa+E&yo+H*ctLFN?)%Za015bG~C;3Y$f1iF) zKf)9;wp%-l4W`i7Yvm|F=BbPgPC}!4KZo4kF0do+$%N9@H@lTHvX<#@(v!EA4d&k8 zce#E}JB$)^J9$u>@UhB(3p(icQm!x{h;tRTTbGwu_Sq_e$76xZniX<P-uy9te1&ZX zqpO+a59)7#u81GaFC^8CtJZIP5@A8I6EXaBQuw-G&w?Rm^u)3OpWVWR3_5>nqs|=? zHw`|Q;m$)?+GH2ExyC|14&%z+@CtoDgt7|9@19<Lxc8-fZbjpI`UXIu3z8a?CVjI+ zp?d~Up)MnwiEEH#{SgK!rEfGeX*6Z0v8i$}OWhOm^^UB}Pn++Y;db?+g<lcj;w)}Z z=}Q?<t#^x1VBCI@`l95jDOj$11`kag3|X1VI6cl*Sc!YRf=4q2dGI%Dq`n(ECD~`G zh;)84I*gSDwG(m~n|q(2ZillBbAg222P)$eOik_>q^?z&1EleqvoTJNr$Is&9%U#1 zjW_|cV4@ZHDR-x1uY}>OX@f3cw&s&Odd@Gr8PYZ#O-|vhIy`gRso*rA<XzkSos}V! z=7Ih-{t4Mp3u(tQBZh!#V{uF3?;*Y5;yZVu4A{Gm#N+u<E(qecMk4Mi8p(q?T^#dA z&95!X;$jV{u1#yFiUUGCq~unLY-uD*HMKF7n@9Pm;R1P#q)zmy@zbq-`*XC1efXb) z=Y*`9@#W|&+MDi+aXAKr+Dy15ri&S*b8HB~qL^aLQ`K#BC@qPD`6b!9p0cnlF2bXW zAXP7Sc?ryEb9zxOa(3Gu_-y#Ud_9c0@7zZ(9vn<*4oVvzj(8}mSuRC&-d1SrZp?Gh z&ReTScTl-iYWAB59vTcCwS@i(8oUInYhyu5*q~|1w7<(Qfw&Dw%JmNBmCrN#T4&JD zWvq9jO$L46J$bk~HS>;>(^bIC!DWMpEUFCzmJ`sdA@SBQ_*Z0dzC@pzsC*AQMC3&W zcWS*~RHUt2?$yMjQ8Wpg2&RDrbc#dXZS2}AJ>}`iZKx0q8&+)n_?jtURGOdg{aL}o zhm>YGQSOFiX1wp{`D34!naeiqgd92+kFNh(<qX>EJZE|JsH?!=+Dg|W;Sk~^0S=o= z-<Oqmka~p`XAPqfM@yL3Y5;y1zTDNZSs|;X?oR*D33Q?D?=ypN`OFY<g8IIeNtQnr zsm4*-oAs?^@fNCV(@zXt20fNkHRJ#fr*h`37Lf3`J(fWNvQZay&c4=^Q)Y0=23zX< zNzWyHW3O4GRq&?9o0%rBZDu$vpnHIj{V+rEj9V0sYl%pkh=7COr=vOia3NA5<<UD3 zEH;(@28%rrx7ddidQhY~27P(oDaqVG(7!n`T*3}_dPc5eq`QYPF^8Z)8@Ul&-F>XL z#lyFB(3jhA5Jct=Ju}454bJH2YSiaOC?HwNp3veSiZ~%%9=DhCP4l}hav(qwetOy| z?{JU)yv72cX+3Pvc|2Nz*M*a|u6_@&3Qokb%$DsGbq|2E4#c`S%PPIL#aTB1HeixJ znBwrD!1y*}Do1sZ@HOWwe+lGZ=!FY7MwK6hGe1w|X(5pBJmj08{7~qn)m=Xwoh<(@ zV70I`$uLl=3U<QAYSzq~igex}r)_1|aU<j1M^0kfO->>|Y8-CfrtBpop$lOoKITb$ zp>J=%4ta-5>Hfjd`-CCK^z@D8&j;Hl3~gGN|D<nt+AKX8>kZy>cOMPQG1yIu3Xw(N z;Am$>er4}pFPGC=`9SE4Mv>mU_>ciCtT;yM^*Mh>Y5N}>)Xb^sNu-}sfMtfG)%$z4 z7v3clCfdt{(nCzIjtOpjB?4m@zJ_lyJi|0`DxloRG^<7$T{`V0)XxQp;V^+%@8@u0 z90N!SDrxHzUVPXGx8;bnAKfbu8zw#|6N-4Cc~Mb3QVaq10nD+hbaQn;udg%8@b`J$ zKJKUOAkjZCG`RnqE8$Cs_mt?O0igo({NUkp+M7|$fmr|+&YK|O5`|@!l=&G$qt=iX z6QB8|m0+Zk%o4c5NEpsKzUUW$?AESuLfq&0tGFLLU`uFvGVI#8_=u{#)awrg*FC3W z4us_go)7qj%DrocKUit*v`k}3_R6X;L%Sb~9o<X%%0>+`%PBYk$k6rTOMG2xHU_(i za1Rp76>|LCFp*KQ+_iG~!y9mTTqp~xB5u>N)#xjlI5a(t^d@3oq*Lr;@YlSvEVqUF zKXjW<rJLgmV*@yk?3i^L1J9^JTQ98=ZVEM9D(5nmp(a&HmQbjq6b5;q3L|9LpReNt zbWIyU{*knCleG*LAGOw$li%{|0i*~6PHZ06<<#&cI5+$C^@NP;?n!2oF(R`T^;y{3 zO~fZ!P4n_M5#K=`p`ywWdIM5;__5ajSY_jK^hXFOf!ul=^7tB5s2p$QiMPHhX7cg= zlTrf$$5eW%k(Zl0jfF>_AQNaK<M*=DeqLHsY!emDDrUKJ0(H-+s;SCykpWb%PG^{Y z)EbusHtC}b@&My6@X8tK&L8|nY>vFy2cRHB<wE*hrjkhm6cRAWR$QTNJ3rN8+%sx3 z+9yDZz#WG<1L}OyT!_);+6A$^w`sb)AIQ23E4o<aXgsE~16)kl{PBY$^zL+vlI?>u z$VuzEk8VeHK$_Qfej!MazXu5|=v+ktMBBo?&lfR^S71b0gG50c;r&J5_@XvYRqy-b z?tWm8mT6Z7jq|ScZH1bL{f*yLqwbuL^XpkQcy$eb1zFg6(*BJ3?lDlRP=UeRj7~_E z4_)%1M(DB_R~n)$4OGOTg{~ApC1*fe^0oh<O_CW$h}J*K{Xyir9vR}9JKS$V=NL<i zoVT7pAo!ZAXT<YP{dtFx&ey%@C&u-%PfOYFtFf)oDNykv05*vRchdaLTiD|Kz?a=@ zOr-o(f5@Op)dme9YE9AB?;gk$>9n}b48O$HNV2{TgBl&Ua}o6mEPh>*sef~u+e{$0 z429v_zdx&T;BMyJ54iKHs;QgaaT$|!W+(7`;tUs06Cem`+z7gAA;(sW-(jm%m)ZZ< zWv(#7Ju~6=HxVGKOfG#$`amG}4{z%H%{1S?))BDlxKlbwg>l6uVx7LGPPOmjtOdTN zx-=(wRkx4-#&imCU;d{^OOqb6XSK${vwEE2$Pa-JmyJM7>!X(Jqw%l$Q-mMkRq~rO zB#!T`J-oz<H(&>TdCRXk0Dz#!J;Q+sZ%{sJT^ulerT8NRZ^c{Fg1FN+uc~Ddf2-&k zetSkKCUJk(S=3L=IyI(Z@RiE9O5aBm5jgAv<aqdTg_AJ;N~}+<h1$TGU`ODOqpIlZ zUqmFdzF_JO52@FAGL<ez2Q@l!gX+__dAUdKY2wMI+|;b!4BeQ*n1hu!_s#MzI{Qt} z`=rpA*(v8UBW5ES3k!g+!A6oUor?pfHKdhu26DGXza_xwr_xK<p}eCc3@4o)uF&x( z>|gKS@#wOw{P|*C1U&Z|{wzAyL&X3jr+mmi9lkw8bjixh^a?NiI$@UyIOKbAXV%#S zA!qd;Y=9aA-tz_t&Fj;i)KCMZfWo}5merGt2%}6m8)94rLZZryorD$+CYhgB9V+JA z(PCt5z&`KE_XNr>2uZXnzKB|Tq}$O#jv}-)e5q-&JW;+eF`{``Rez^;s8zLZj1?iF zj}JcRxg)k&$iw$H!q9}pE1-k>wfs`#4_B#d2!D$@EpmemI{FvLk7^GDhrEfvb+Z6# zi9U`9%-XG7GT6P4NjCl&c)c(&kwoO!H4n+I8Tftj%&t$6oG+lw_hhU|7pgz!bxeYA z=|asZt~;+5*q+CPV$gO%H8+)#Ue-SNObZ4d0KCgoP`ZC{mMG(NX6V6^;?O^^2^Pdf z504B5V>d}`pV|@R`x=?o+9sDJknuehn!_&BBD+3K?Y4@5BrUH;uu3y*FB~TSNP6SM z9pZq^5P+~GVy`L*&U-onVSk8E;y}?DV_HJ$cP!{1I#JE$%V)Qi_#hEcgdRIJZi0BT z{#9ZnxtJw51i%UZ<Lf60jRiY=T{u3%V(X_8mZOkcdC_3kmn%bE#1UqmX{>e~;M$uv z`y;f(9CUL?TiT-a3?`Zxq#A|r`khfzsuvj4KK5?d^Gh=~VuYB+#XN~yno}6g2nH{x z@3?Lz+;LXwwpiM3#Ngmb({dRmr|*2O0x0s&nS4$-v3Ao>6HxaqP-%tZE*_OM#UPt} zLl^$B5gcPi7|AT1<)=iWp$8h&mke}|2UIxtyW#2}5-qd*eJ)f@&8*w$^o>@Wj9oX+ zMQ}u!@Qph%Ld5=b;zIY|*T842C-YxBNr^I*p@O0eHK0boGZ4dCZGfGfKsPpkDyIA& zC1H>oZ1~R7$C+`PNmaavLr{^Zg09{=I8S|ixWmy(hO#I0Ff-TYSNN%8#iLJ`Piz_x z*yz-qr5s<+<;4vH{}S>&1$PHhROPUbE~ID=1<D$)v`YdXUx$l!0RtUbHK0#Dp15{W zWmZ%41G59BkX+9R3^l!=BZkv86-n1GATTG{7jO*}ut!Q0+%s;TvzqzFM|GMtrmr~b z?j|2p6&vizL{iKC*D15Pr^q;yW{og>baE0n5@0+sH{s+jH6eh{w3o-IQM`^1=_DOK z-qS^pCuOvm$;~MQ4PB}O-pljj9Y$Wt#DuDI6gv0>IZ9w+{DfA3gGrKGss$<X=+NeM zV5ByMF|G)r9<`C$btQ=a-<W(BXNG1E!ZRb~7gXjkuhTR|n>AFe0-7t=?9X|;#**sb zbnJ+-oyX6Px-KFRi&7SgV(o(r$Wsq0gZE2r_vH9=MD+2so$MP!)HlOHDy|@@NnYSx zWytMz!Da|ThD2O)RIKVB8wWBbgoI(G^IT+*=Y^u#T&0J#ly7}KW<St<jSi8Avu2<P z!Bm#qR|mJF69KoL=-XsG%UDeXpD0poxG>_uV#*_0=_kEnrC%Ro&k`^6T%5U22a}wE zZ2z1aOI%%NrEU)l7cfH=GRREOd97Ss5&VnlQ2P4#{SaE<I%`Bso>oQ7r$d9uR_}1u zG&F1o1w#)>+4eye<Y0qJrfHKWZmD3#UoyU1t|biHB`JN?%Qq##fN+Ir!mql>0KnP= z7k%Pyi7PVXpEEx#C77#;b;0%DXhHyOY6rFQJV%k@g!g6}&pDXLzFd`v`r-}(xIPt9 zy|nY6q6CB86EcMmel_#d4KLxSQ_o{c!#zrbWCxy;F`aX&_>k<?htPyN&0BE*?uaNu zA;|kw_arU(=AiZz2MVsjB@C}Gr@2VQ0|Fm4W;bWK)k}vs9#lt1w~X;6d>8u;wt!!% zH%@XFlCU6Q=;-VYc3<q@_%$dtETghw{bcsdt*6UfW|tIhc^%AOW^!xDIlu7fwtku* z1nm5oI{GG<0^>sswVnnjN7E8t{w)yWd&fj}U1VC+UW+0mtU<nTidm~#$rvP5y~|x) zb9c;v<DmgXihI$yZGD$gt{6mH8-?sEJmt%ld!E9m_0yC@^k1z0eD(8%xAAiz0ilOB zd*6D+8>547Vy7>hqPj4`5h#?U?ASq@A{~^P*CxEH|1!+zD3zHUC8hO;o(4WCnViO1 zR{fr(O#hykHF`^9RO;&|S6fhM6_4Sm3A<$+jUrolKe*DemAM%Cxu+!Zle17i8x&8i zN3^ITM?|}`F`Nh$R(=l9*sRm?b4z}wWzYsQ5-~{*3nJY?o77Kyji)hpWCw8Z;$N6o zq=LfrT4AN0WJIla7DZ6x>aNav$g>;`#d2>w`t6a?@P`48rINNMF%68o$m(%6-z&w- zU61o#gVlmw9z}Ikto2pLp>@Cz^@131h1(NnZr^=41HK*|Vf&KF^lK!TVwTJ}iI>^x zN12E84_@C)aGEJzlnq!27AUHa$g5gm&F$`{_Qc$AX`jJ9pzyjnI6|f5F<>_dwB(^n z13dK@Q>|o4BFPQi_=$LaVpRGY=+OBDig9g!GrtJn(4<ik?=kVr;UBl25owq3A<JT- zn(Q!c^Yk(@_|SXbGd<hkJ1=S|i0bKR@jtu9*p{x&XIl@X+flbMsO^>C+u^(wqL+LQ zV@(SvoFW2$*jkeDi1Go3->F-EcYYzFzK#yzJ{mkOF(nY|bwO>s@WaHLGeJ-gY<G2N z)Bp3-?Mji^8w_JMa__-V9)g-uIbj>km=PZ?LtD(b3~j#7UE+(+gk<-oK@opi=3$*p z#lPt@y&qOcu5XM5N#&&S4LuxyGv5qMIPy_r;js5r>W?u&HU!h$q55jwnSp}fMgJAa zLmRoMy_bv)cl6UxP|jUJEhRXtfB;{Yzj}mnXR8wA1>KmffVgsd-sJ9*HEQBR1}@GM zSEmP4&+d*fGl@c?B`AfxSF-$J%*TmoKO+{mzMggbntkCz$Uo=@dJ+3~hQ?{mi3=YE zgETzJ!yXyg^89D<X#$XKM0+-7a1${JVMO{Y*L<@+x165lVxhJ9jG3SV(TD7deo*M1 zyatj#87`I8Uh?!=V@x5I<AUJQj+3~52<6HC_|L}`F^MuJ7mN){)_L7Ms^SK-@%FAS zJms&}!0I><^`$Z4^u#m+0z)SGcdi3h(&Z<;Gl5tEco7Iaq+tU2>(p2@NcuMnyX;$n zr_(nGBP46u<X$V|^z5G!Q@L#!&-A}}`tTXC5daGf+TWj^;naGry8S0%<dds+c?_s4 z#72fp6LC_I;Y-HqAZr=_?RF!0iS3mTPn^MVx^I}RYeAOqlE`i1#0H(}@rM)<WeyY4 z#2<MYRgr{!rTtq2!(i~S(05gBN>08cu-KX#T)Hx7Wx{dBM<q!Z<b<y_=#OYKQS0RI z^8=)BKbQA#6t{OEPatUU$C*b+X=u7j@_%9lTo-My-u<dkEya=q$&$!XG9ao8sVOr` zWqD)7W7y32p;5L6#rH(2-unF%kD&xrKI)%+K=othL`?LQpbrL32kE45j977BLz|mb zv6xnSiYw`i3W;<Uy`KfW8X0YfEb{hie7wW_F@*G2%jdGx;!G=Usb@Dr)rlLGe2|{$ zkrCFUAzfXY)#Z5O?eY)p4mEGpb>#Tp9f47pyOg!uW)0$IHpX`o(EzJcZ8zCdtzRus z0~I%E?hSm&q|F2mf>XYyRzUy*80>G~tdn;~OdPmXsJt!Soucv1Ht=IeU-71~{SIqx z7(IUY$~6x_;H!^juL^tY2t6bdQ=`^gTsA>d6~~BF9M<-K$(RAh;j&a0mklCf3Zl<> zbI9cOYMrD54}40R`1Ip<Trh=D7BkkJq2EJ|HK0FID?9&PIdA5e97SYAby}`0&-*tl z%ve9x%kT8U_W*D4xt7>!5da@8$oD0?(OIrpFg^)~PEMsyW1Ll86T8<sEh9Ng7%BC2 zoxY*?v~R@at0j^9V{GP{ht=0hhfV=!b6YHw9{&k1UB#N4J?0Tx;E`d3F)6%Nv0OaZ zdLZZrZ+&y<?{x7O3rnLaNtZYKE!4$_;5$hz#;bzS&w-y#?7@^0Wx{f}5a4g1hc7?> z^@Opp`y1iDu})v-vn+QjSjyBv_iHBGdTm(X18eS_%B{B@;!{B>pIlG*uf54V>FpSo z*EM;Sr(I6|=oi@<5p9U3<G(ygiH0N!wJ?@#62vOgwM5STcr6_sOgRS}K6q1}9&Hh3 z_A>ADc?mmyjI+W{e=uN&dbCEE=e3Txzx#^0nT!eTq5v#<c9{f<)(u}V?auTXath<4 zH+{aMnh+onLm0HR5C<JpZ`y>#8C30_)4GR$KxJj@At0_CSG*U#xAy%jNb&ba*hYqm z0~-to1z_$}t*`r*R{c6h67S{lPWh|32D=0bYURZh0}~gH8y5eZyB&4W6;z<;A(Z#) z%Qd{q2r`%(52gV?7y(l<PRv4!lBOD~5hap<?NeKWoHC&__|&k&Yn-l&$LPlMyCU<3 z?+l*p8~bAjvUt=w&y-@`Tk{X~=H)R>WMULCz@#X<psX+c`YBbFtFH-q!v2-zz|Q~{ zeOEyyT8V!W1-}JN9Cuv=)7CY+D$$AlR+!ZMAw%JY9<jc$zvPslAFY%0b92#4M7907 z2=Z;G)fM6P!PB5_P={G+j5U3Hj!{`vCAnR`XRt7FK+R&#O|tAYq9oiy`fWc?<L#)j z;+S6y#JV5=b3<0B@gZgSdbX}dt4GvMjJ$rWmSgYuMyF-<v|`^u@g?+NJ%%5_LRXt7 z+n3Vpo3&aw0Co;S4=vJB(&DFLnS0O0OMEqF@6nJwrK^9q@Meo}#d_fGL=k>y^{jKD z=2#$o406C%JD4?D@p7Awf7AWDMLC(zjLIyhv`6dNvU~!0?nl1&9c-rz{FD}PD_?li zv0dyD{6-volLsYfeo0#8#gz8FELA7oISUVZ(?^tHYUEhP4B{4HZC%}8Yh9#PYRw9N zdG*ywxPC6*SF4EO7o#JG^M&l(xU{fsXi&BPW|pSpN;;^*Ac%j2Z;T?<xe$TaSY6$C z2ls}F@F&aB9LUGXO8N&wu7!2TOZPFAZ_hLB4DS`$rf(F<49?hLOJjP)?J}nX@4>fj z#l^p?h*_b5eGqr{Ra!Av#2P0w!N9;K`rq;nFY3)JFz?4mmw=6=Qjx?J147DFdPO$N zIeBU}Z6q_{A#}GQ_?;qh%(Aqp7fhF@Z`{fxV|T`<-)N6!p0^X~KMqxcDxp@}nY>f| z4h@)rW?#`G$U$vg=lCKx+M8GXwM^eZmI8H*+iz5>%^H;O{?Q-S{`@$^d9-)Umhx#o zBAJnVj~a==>{t)~JinwgW+Ff=ng%X9lwG&0N=<58*HPYU(O0@obWNq-=6l2mvNCE{ zqk4qReWS?p6&LeS;>5u_Ayp5dIC=i}5ny(3?8ohlKZUr*A+lgV1`j6<g5gOotUW#X zlSpT@$_-ZL3t6gOymOmkWhYded*w9%bF4c`cicTA;17f6yKhaO<$JsXF-vm%IiC(# zr887_E?8E_8NQ)T3;+TIHET$LvBX*t#q&vrffSbO(GC(QL`gz`T`*-)l`|iZdO8w{ zH+#S%V^Pw~tK{~H<lbytm+$N!Kc&)I^RPbNcMqte0dNRjKPA|r%6ybGfxNuCV>~QK z0<%R9LJrc2o80vqnQYWmz4XYiY|>zc(`0`9>B?X+fvfwbH!`qtevLFFdJ?031e#Uh zCvPP)vZi7$|8YMjER()*Vv*qw!9Dnht5+<H{D2D#IoR^LM5S~JkEk>XAl8FP#DG8I zG4y_xVOA=FJ1ICJXifOxXBx!!!kF_9aM4vF5qo8y({K-|qdgYJZ=$+KP|wk!^dSGf zcLy|*OJl~a3JER$N&j&DNysnXqNl}WY(INlQ89npt8%t5v>|$_BIf*o&C;)CtEa#D zXW6q12;A~LRaPFt^e&bAFe51(sKPGU35`yEPqF@!b6IDT_2eVG-$b*9_X2`o9nbgS z9(mJOn-{tOnzi@o@rq!O*C+W6As~@8l?O~Ug~|7j3aT#_JFlugx4J@g)SpygBD`~_ zc+t$S(^vG4bv+EgHtNw{Kl}CKFXr!RR1RJf%0Pmnkt!UBpDEDFTTSnZ&eSBeBP|95 z)2Z}bmz49IEES!vj*Wk%rhT;XJva87ia3}bCv@H7Ma3B@@!O)l@K}apM-tv;@qea8 zP}}yV7z1^F@<^CuV(!>(Rox?ybJah|DLcn=AjnA4phJc?)X5<yZEju|5udVB?RoK7 zn};*rj?4KhznDdcDxwCRy&7Av9Q_soMO<0_sdW0i6vnM#Z9yl>y$Pg?jQ82o*Q@-k zH5ML@vI%pc{L3BBDLn{>PxL97p-mdVmO;0D57c4uMlDOXnP~7_V0y7lE*(sePA8h_ zj1n=l(8QV{T95a%y|m-P%MZ3R+3NO3w>|rr&tyA*nSU0-zQ*n8wfncH`|i^qLPp6T z2RY%9@!F{i<Cl2Loe5@)aZW=aBg@#HScP`T>CwUcp(O*ar^n$oAOj47#NM%dKs`-i z8$Vgmx4^MwK<LM0brX&&QR^%cVBZrzQ;4slWc??6g{D7dz`%Gc=;({Szc=}SB1FUV zO>dBdlZKxEKq6{ND@BM%rMrLNFD^<(?Pq?}KZrYHZX16q35bF`{R&^hppxUHx)noA zr`FCe#exX}^FSm%R2VHj`@`><jO&ZH&OB9XIEwIt*9jpT6!~@KisD#64is}Jb>p&f z?Go#@)38m3VH_*}q<BB5b1oPbdVkX6@w-zm3OY74Bop4bgrtqGe}c5S#oR3R^k{iT z*$TlV@Qvh4x$E{RRrk&ZLY0s3TkaXkvnNJt0?BVZ7u4@PbsyE=tezj#k9Qx$J4%>n zKB`fAQp&$dm)*Cjv@+bJAH6uDA9Pd9r=@^7<oa>CVvU6$EI*H`9lw%Z(&6$0<RA&m zs9`{v<Iia4>Xam}4uT|A5NY>KuW$B#SPJ7~5CznPPa|ZjMJkp2asRAK=lL1+OW*Hb z_+7ZOm6P;q?UZ`fP*kifOO5NrovxEt?iNZL%Q%B5p=n|EMzU%<U2nU;D9tnHdzo@q z_tR%>7zI_dasRoND9s%In4N$(oS(^mKrQ>gSM>NMVy*MO?m6iBXC}nXu=e#3$}yvh zm+@&8QHJ-j{3jWCkRX#4vv9h}kZi~fN#W`i45Jf=wfl)_LLzAUEP4_r5ZI8@!o1Lk zJ6Pc(i1%`VG?1LjrvevR*bqiL-y<Uc)Xf{x!pE=S=`ybY#SfmLY|~rJ07k|<4)JzB zxB{)6q(v9f;?d0--^a9mDfFq8fxlJ6>@en5(N76xW4g+=kHInJ(?Pg`WrGBEfxk+R zXsu1eo8NQ8d-*UlJsecuN3R0sx<u8^P{kua7Erw{LPxxYUej47kemC-(3D_gh~YS! zvy0GW(u@EtP95O+*B^!xRCN+h@Uj7rOC$ju7T#4B>;MH$q(6a;nW|keBuB-9;rP4Z zPk@x=a_fv0L>#<LOT)Lw0Aw`ZvePWU7gzhVZWxiGO8*I$3%mp&sRB1H)c3es*6ta; z4({E1zcVdYpTN`9iyjhFsVWsN)Wh|-GwvDL4nmjvXRMG=$&L~cZ$*{MnGF4_dimj} zAKlhbs|e~Zn9%=;{eZ?NB$I6Db+7^5L<XTpsOmGSI?P6>41y)r!iX2?qFaPoF_>BE zNl?EA@~^dJ0}a{3SD@)8K$R-}t10Ah<~^Mlcoae$0gABy#BZQA?|dKyf$IDJ_Yq70 z6{oRU0jpyZRzmou0L|53z1g7lNix)-&JBHe$^c$}#E6C}o+DF#Uk6$e_1JsTbiR&- z+5U0Jd3PaA6P5;7LyER|1{hW}tZH&Tcnm}Hpn;mmM((dRj0-{iNG6&+h<K7&hQC34 z%J4Y2Wu9^ZTsCk3l4)l^%J5Ipz^Q^R*~U%8CS9*q_{<^`qyt(O%Uv424$QnR+8!Ak zHbU!X`OmNZWQ4{rf5k(eyo4?XMaf1_rC<G#_-dN~$K~Tovr#8fa6rNN-|>JTnZ4qC zZ~zn(3jb4I*$8o{Qy;_t8DqNsQ)B@l(t<Ct!-^f0TC6cm8dPZ>Bd<#ujyTiF0tJEo zob|tA!NM52MzFq4KBx#pSLzNKsi(7tH^_N#M>ensLW&{(J;xry@|aiK5fILUGT*TR zCj;t&{`V-AfjDjNA#6hDDgs`P;d(i_i9qI(qGW+`f>EE=`Je%29sdvdCO=9QsI`FD z(NCXP$YX|%%^}W6AA#g$vN(eORYTbV8VPpKapTo?E)6k>YJutg;Jm<s#H_f7iBN|X z5A-P7d6}wItLLE_mvPhg60odx1dfjlj4Uo?_@S|XcfjZY&@ADO4W220gLxB<|LyG$ z!vpXfbtEK8M+V*Z|1dJ@p5c6uW9TGm!=Z+z0uj7Yc~JY(b?2y=0v?FUJpMbICXH4+ zaYjH95{8kYsVn@83Rmi~yZ8EY-|>NJF@Q4_=9g)yu(gJk*u#v@q7m-@JMl+AH#sAq z4K*6_@n`-ui0e1?iOU9Q%^GjS$~9L}Sm-#IpHigi<o<dB>VmzYXjOj3qNueaR0SQQ zk4aPuK-^&++?p%QC>n<b;v1^{GV^911KPb1IOItk2nL@4ral>0^sOMWdoSpnU+LUH zL<rPLT{uwCeg^2J-f9Q~)bOtmw^Br#17NIep?mKWjQCynMm6p~f$rPlDE1EZSf~(& xSN&_7e|2qbU@Is*8u9;r{;wyH-Frx5cQXC{u~U&v;J+h)bTsuYygP4A{y*5#S@-|| diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-48.png b/design-viewer/www/resources/images/qtdesignstudioviewer-48.png deleted file mode 100644 index 537809a20b3ad7891026ce67e34214a2e620ebfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1884 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 W#xm)YK0BQN0000<MNUMnLSTX|fu`>O diff --git a/design-viewer/www/resources/images/qtdesignstudioviewer-512.png b/design-viewer/www/resources/images/qtdesignstudioviewer-512.png deleted file mode 100644 index af4dd8a9308af5f83b3c3093a07e17b48da8a54e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25329 zcmeFZ`9GBJ7e9W_J%b@N#+ry}>=aU#GMH*Cl{IVjNMu*a$TrhDmZU<3m{j&%vW2OL zNVJG3CVR5WzJ0IJ>;3(F{(<jr-~14H%za<ixz2f>bDrmU6=`a$znyCr7X(4uj~kFq zK@beSg&{OM`0FqE>k0(9R2(NAu^@L(Jmz?1+3~2nQYilG{(zMCXYU!FySG#I<zTYQ zG5&@qhbs>Xve0-s4R`e_TSx=1#6quTx-6WIhSUG{Mh7bXsIDzrs9gOK)?DDeI7g`K zTU|d_dp6##V(MaNME+vFH3q!#|Nry<g#~cJqU{48&uso!S3Hx4wEtF@H5O2wyJ9WV zQCbk5V7{o46LG*w$$kD$`XxUHhZMWb$>MO=ypu7P($24cJ3e2K+xPw3I@`SX6^F4` z;ZrXZLx{PXe@!<NoF3S9iYrF6pPtXo)wz<TbAH~`*WrvKM^%0;CQ?V}t4+({ESve# zf@?;9&U`sMcp_+CD0i%|Q{vF2td_&$^6K+hR=0XOC~pqGaoc@}S!}pH&@rMc=g1{p zA*5exU9$Ja&$C~q5)~k+NXkiJe+77Rmk@UPIQs`(rehz8S^k_xoH`p#5fV0tMw9PS zuW2<=?64Y=D6GE>@>e9$ihYfjN<~BQ-D|gpuAxPFs?g*(>cdDzU84mmT<9u#O*;cW zeT#?0G}$jez2+hTV{R$Jw;C)^u_TCrS$NPIvFXyP!;a^<LTJx5?5FnrYDCuE>9@dH z;dz+Z#6A}lWwo#w;-+jrRsZcBjuSkH!@DZHH-e(7O0bB2>OB*-jmKmP_`<0zqCN{^ z+B+Doa~LPo4q7&v2UBm33U_*kClZJR=Ce_6Q<u3m0V=5x`Ge2EnqYbrEh#TnkxuBR zDwCK>V14v{M3qRF+NRUxgjR<_Ut<NW8Ac(E<4u@eSG8d(mKXDEO!$ob03z4@dZ0#; z&&INVK30R`e!U)9kBp4vAnWZ6ClDVXty}B(v0XX|c*cP@7os^fqFKw6T11ToGP9S3 zXhiUY3~m*-IJs+v!e^VEKc)8^*-;nQx+zrhX!Fets9sCVxf$1n4%RaO>!v^yx4Ak8 zwM|V@#w7olC};+JnX^AqX*%%6e*jS>b~Y(O==)lA)4M)hA<9wg(hY0u^qd9dzlVno zP;1@5!p}D29%C*fM}#j+!u3dkge2=7=IjFknD%v#jkgQ;Z#x!V5CH3%jfn%xrT^$h z9LBXe@hgO2r{%;(t)yq5Mbtx;ruZYN*ms7g(W?g|T2^$?neZwfh6khkZ!_FlVsyU5 zJ)46?%hfspI5DR19@bie^&ZBPDZVy0TQ}1btB#Ed#Gt2HZ(%J_Qj8WtAnNa}9*(G1 z<|4|e@N{eaAL|4vfW^L?fgFm*lOn>|WWi6Y#Sen#61_9IKMS`!Ti$%-F}G-qqH#P_ zF(5Dw98JYa%ZSl66OYfSTZ!uaX9uv=M=CofdGUwOCM8F>e_zuaQHvM>jsZT9!Oe@A zj!|wkXa9Zgyx+#VC{q+!Z)>BxU~Bb%g!epFxv^%bwwX4h9>IZ+t75HuPc%b|b$Z~O z_ySERzK=c+`{kvD#8F?=BU!rw)@5xyT4?tH%ht`8SBIx;*l8U9TjZOPBo%{BL(4gF ziLquU?3SIjyfm(WO!@fe-teaR_rDQI641x9xPX7h{jgr{+TJ}b&CcB5(A{?>MaX;y zA$J57ZuM^Qzs(Z~rm<iX^z&XDSlX7CL;|Bc{7R;$q+vhne(7GDBjLnYk24nsN2csx z&VKr6{FvOez|W{zzVB-hc#&0;6t1mL2LI0jgOSkBgRfh4>Y6RLUeol?U=>1$!=Cq& zBJ_bN1^qUj(<p`i*12Uky)YBHNiacTuc{b5S2}08Pg+GaqX0mKvD-iY0v2Q)C7O6I zY4eWTKxa!nh*sbftXN_>XOmKu*PEn>0Bps+Pauqr_9I9j$mOp6iiUQpJ!$Q;XNOs~ zY~oFqG!`Cjh(D6SU2?tY1p8>o{vmzEqzI3HA7ULX59Zl$D)d+_qjgh%w=bXVr4R8z zSezK{-x0N;AF0^L!ht;+>YHm(+2}1#-n%F2Ji-6`Bi2#=m4pL-JUh6_tII-}tzh4B zK$xdxIHINK=5AksSQJAYTXCDUc0=L4*Z%EcuQVLkyHhp7wNijuvbEOuBZ)i-jlB2_ z?wfcxuy3bYL>oS?gte=GE`t+8D~i#Pz@j}Z!+nlwD+|N0X>&Gl=RY@{<OFMTzy3ak zWAqKSxX^oJb*#0|20<g1u#jo%cU%6ka|U{>@n$&9i3+fS=-K~&qUrB3_R)9y&u?Vl z<CtV-ChGv|0TklIXg(kWV^7av>{ubrI^YW?U|B=LnD&HY;6*R$bjJsdLj7Wx_&L@t z_Wuia!<G0WhcDW+);;##xUwt-g40l#6`D{RI+BAB1^qlUKI}w7EgXLi4wv->7D>i^ z#1n7D=CE+kkcERK*JUHy&>>rPp9$AnYBb2;*1is1KZ5+eCek!q(5Y>#Q2)>F|I8%Y z2OM^cCn-V>Ut}WO$G3%*r;paNkcnLg)1JTXyW!KCTo;6`ka~${{NL*xK5+E#%f8mS zeDCRZvkw1nJo4OO9m4xqj?r#ywat~1Uw;w=|Hb4CbdpBn_zdh&8Fqf-DFEWrUpw}_ zv0#UJ5dDZ$?3OdLU<?3NpkH5d-7&1kpQq>-(K82*>SS_X2KcZA)hz#90Z{w;B>j}y z=7}%EQ)yc!0UjR$vyAqn4}jdOdVnD-if;5H!i~U`|AEL1@dXI#LC53>k?()!<;_s= zZI12-#|fs=Cuv)N%*rM0O2YKy2Oz)|&i-%ZtZ<CvctwMD|8$!xEb`pYPUYgk#Jm4r zke5fM6ik*Zizsko(Hp{hSa7gqMisXrQGl-BcdKuH!aG4H?t;y3Wh_<%$XzpghYSp= z9`3VM+x(WZJn}$?6>Nz-*#Dg{7nc6kZclRE-X}Rn3l083@RnZyM`oH3i1&lq*KS*$ zkw;3^BLl(#(7Z<JNW6OdU&g9577p~6Cq51OwDvgiKP+M;!fBCyYF8ujU<jtQ&w|~B zp9L5H*2D6P7f~D@OHyi^r%1S&{{Zuz+_lXQEXybUia(N6YusWcaq|4enZ_-E*-B1Z z!5_ulzBE4)F5~#3U^Wj?{im$z{2iw)Fb3(HOk-@YPJ)>V!OnWup4y@FW4-ptoBVb# zFI?W<^H~u-LXfb~dDvDxFBQ=1)B7hBbLq8@l4jxl-my0+SES6#I}=t)(=LCx*nj<( zN#thrf_Q%u^-koqmDrAOjV$rOoI?lP+CvEK{jt`hKblT0*=jkHv&EB&d9F7JuMZqe z8$ir2J|7748@7<abbK$EY|B5Or`2}gD2o0Ndcl91vpwf|Rz$yUdVfl8P&0e2`Vtwp z+njw<K3VKxX-J!6@%bL({qD<GW_my9_TRm8F6x(3xb&5nF#XkEflCy9)ku&~&a~Q; zsNF04F5=WGBR0KX%(V67x)$wfPv6Q_xohmg^tll<#c|(-Tr&}~;BL2$dE1z-)Mp{E z89{;soyg44qm}7+3yHU#miG;F%~`M;rCzvbUD=3StWnpxSJ+s!Pm`=S>Pql0Anb{W zvI?p_L2#Bm9ASn~#!_8vX)8umkx>^5znc|yjP9D`<d1@29#I7~Ux7m7WSN@;b+eR1 zE5Q>SVTZIN#{H*6?uJcnE+$1x$F$2}cg}o%W>9<6G9;&rO@p-<Q7+02ZqZI-i_}l$ zRgNtpL3&bfK&T#B66V=eJ-C0Y$4RNZA9?A#{6rhNqg3kBVP3We+AG@T>|s~*mL_9# z?}l!#vnh&_yN0G%Ba}4-;)2+WC*|Zn)?MakLt`njQ-WFIc|tm~1q(>IeDH{$k+Ni$ ze(zN53JxAaIluk(7(8JreB@**b~qAx>?A~SP2r+MqMLFeLPN}g&(+n;+xEW51?3+K zcO_@RDtfW*^j_N*yNMiX=I>NS*Nl_??4kAW4!x}>Hey2LOX`Gtrotb)Uk}zDY2zX) z+?6ZGn;Np)My?ozL`H2Z=yCLAt&IF6+;wt+*<<T!^i~To|3V=r`cXtx|B;v2L|J$} zb*K3IPCt`NWlN=@_mXquu4xk_p3MoNDMwIi8Uh|aj$5exak4Dz$jZ4u)*}x>C|vAb z+v?Ny8;h71(g}m^*CP@O_oT0F2l4d00oi7_0-WV%XLRS%VSCwqZRp=?8E~8oQYwnF zGGdW>Au=oI*L=^HwHO`*O+8o5hYy*S<Q$CWStJv8H|oEB>}TRCawZaA<lLHJP<wf? zP6xz2%ihxm#7vPltC|qUkU^bZTAqI0{Zt7a3Te6{y`x|DP`)zA65`3zMv`fz@8_&a zZWmoAGmCP?BF9%9jJBT@*#n!VLrWqU57%2JH5ReE#fl}s+U~^NAIBY1;?R3VI9^*^ zCt=ou?s$At*0fErWB=v6L>{S8;a|F#R|4-l^KBiO8d-f^%$Hc{B~bC{C_wqT8Md6A zDyA0*baw7bmaeykvKgaek~+ZC?lpdR?$r=*tWoM*Gjor%w&?efG49GgRG;g;B;xM3 z`mfbbb{5}mC!t2y*kGO~Xt1gw%9AgvU%z@Ca&hNnIl!YVyU(67M^3%lo_q4PneyLd zlka+?Gs3@K+{l$!PP)BY=bF!TP;@`;vw&VTQ^Xfho>N>YUmdpZJcT#C&yOWS_geY* z+|LV5^w-|@PZ9mV$L43`WctRoU$bRF_=%^fC3YV)CNJ?6_l-C67uXQX8{M9EwkTnz ze_PPQB@Q`fov!oLVdrLB2S;U~E#9=}=w{A@Fl|chjU%Q`<o(FG^>4dvCEEHdD(Y^T zQ!hkuq}xKzhSf#8H?jIK&p86m1JDL-xWLR@^wLgD7UGyp3*y)a=DTob2#h8keyG@I zlzZuk<2T-0Sd3`6WniECruve&Zl^$qrhx1n_v;c)8-#m>9pwsYHU-iPs}{KPV7tKX zJ|r{FB7SOCKjL&Fc%u74pIu>xQS|^n1_%8<GgBr0Vj@;&;-K_FtUn)SZ(otry|xy& z3-o&l5LtkFP)8y(Vz}R+*6L2P%+qsTk@uzG*Y(K24N*jUZW)I#O<K&uKTlLS(9=)V z*+XA66^n;{yUY*!T(~}VOqerE0HLJ9Q-9!1Rz|bd@^4XnIF3ffU3b5}`R$KyaqwyZ zc(7JutyfiIg(TMCJ*X!DlKJD1#nBvt4phFw(aojo<9A(eEs_LSt95;MudExhkcZlN z7S~K>mNfR>8Jyc6F)!_N;Fpq?#i3q4jg1u<iPc_9ojVu4@vcfD&x5XSq+9?h#PggX z#0e`)j;V@^tz<)RoU!BPh1ze=wn^eZlNVvVsa4X}NWCCKy+<h`;oi?M5(eJsOM8MH zBM%7}(9!M7ySEW(GZZI0J(X9@%=H$>dtK7goVPsGw^+(omEl&UsBJ{k8OpT~SU#P0 zbz!l#AYbO26eE{A{_TM`Bid;q?>h~&&aam>c=l)M;&!kCy?_n(Xoh%A&xbU0K8%!& zyg9yQK0UXbL|)T3*^~z%u#)kz;=Q)FKc_+;eK+lz-?2%;J)fae8SY|xK$uM(@^q;- zr$*cfATT?D?dlYv#<GOg>U@J5bXM_OPeyy?H4ywmVT`y(Xi;q@w(4w@*(&lY?;d?# zo}+~JMR9Sx+2AFY*EuPw4dIc*?o_PUH=U|9j)?o%yWeeH)bVk{pnvk?hiYQy<&m6K zGW0vUwdc4FU0!<U5Z(aVjg?1-BNDzn+kKKq!B5v+6Tf44-QvLeyA)Aug+w5h=1OQE zqIw9bXPa|WchnC_!3}Pdk4}aV*I9-PmNszU=!6BaS3sjOGfTs-Y4VgVb2^uYa)I8* zH_%{m)^#&dgcA)A1*AOuvS`ZwvE`$PA}sZ515yp1W^e#>FAH8NJ(QRm>Ci$v0a~)< z2^1Z;kqrSHkyzi6R4)6|=7k-%Q_tdZ9`^zKKP4LSQ={duV%^PdYl%!%?-Y$QOJ8iw zEBrqwq`$54^9T-3Yt-StmbOk>J+cHcyi0G+?QXw2$KC&Y{Mk=DBu;z)b>f)=*^JyT z!@9GFDmHGkl~i+vpRts?!;v@18CvFHB<Uogn)lv&Ux27FTR$jgKTcUdM}?@g0mLQw z_P;J>0k4Z3j`L7Jo1^MrmXd8((t)e%{tk-r+?pJ_vhL1j;a`8L%`|FbA`j@-;e4;S zl`M@{52bthUFw%4YHdHrMR6CFHA59#nSE-Yy%BV7@7}8H_K9qwEqK9uL!U=6S2q&| zlA;TwV;`YOyD{y{UfB`$n%|i{oI!X~_8CfE^Sj4iDNj6QkT=tLDPcZrbW_wAhay~V z6GbTw|1@MAuwv8}ZP)iu-pcn!(oRl~i=AE>ygXI}|M9qhyP@OBgMpeIA6l&hZwX@R z{|f(FF0T=N-|2Q^ZPm3bu_6#_0BWhjbw{ATp3LLypT#jv5$BA~jZaTI1n@%xw*B`= zIJ!ACZ1=Z2n!Oq8)1d>o%PxMGjPlr=KXtcu`~A}St?^C=>mMvne+T<@3$|u`e_9as z#sYd1!_iMRVZO6YKMnm|8?1c!C-N<g;~pqkKRS^hE;m33MKDZ<IE5mcOF5d|NKY5v z9fi&g94wH!tcaWuKv;UZFKSJN%PrJv;73C@lZ6rO3NV)JwQ|)!dqMk7gtG!PY0UQd zq6zcu=}&v1vBmmZFJYbxbp0VQ`dkm15`?9J4)#S~ChX(+0&%QWe?002G&*F9dK1gx zdr1oESzl5`+Npo8*#V(*H&gJEn-Uz}$5%1@$OK>IvyrcWkOi^q$<DxNUe=#gJ#?js zkF5vo@SZ5VRo6hv(%N<}@o|62jLi_ZyXzNUb=0vdeYNEo8PZn}=o6@Jy&w}}M`d}f zq?J#%peCnjM1lB-0mJ8Y3fIFQd>(|oNjDD2!}|+lci5ut@nR0vZe$zOig_M<(P7)) zWX$HW0_>C~Kv}@+!`>vi_980kTbkl4!%%I%=L^>Y+&fZ7*%&1Dd!Z)8p9QIVbs7U) z`hU13K|2*pu}zu+U4<<Z-CycuO{1wXydXPC9u%wav_GhHz;U^MHQg(6Q&kbqQ_4zS zq6lTHIDA~M+%=99h=)rPDl^A@T5Vq%dv{ftqr#-=N$xiuLra13?Kt3yRpiC4>wYd$ z2$`n7m02mqUke;K#vB@{HMD83Ox4q~Sc8*<>7yjgUF=OVPXG|tL=lq)5QposA$}}X zPdkcuB9q$_#zlyHZN|ao!-f1OJ2!c{ctjnbzg)*q{nIi2qjPER^q{YPP7NsBUTnqW za^&66AB(k%mc2Rs9weM`8~Q;(AMg9l^iS<Ft=4?WQN*rARR0{XmLG5kU3$s@LJCUz z=unVgh6)rm-CRu>`ctO<^$3eti+e$4_6F4fKaj07*J0#I;+n|JXCkSwg995EevJ_j z)7I?w7GkE0Ha>Zy9F+8r+T}|v%vs>JO1xM$oDrVKp5V{C@xbf;goOZ&*qcr1&UzX8 z*2*chB3t@VT~dVw)}Z;oQPtC?HDR$xp%#HWV-zD7ZS$VuN$Uxk;#_yN`Z8%Tr~H7T zY{HgaC(}Oh+Cvb^t`xQcSy~<j@YlXv3b!B8ctD{HP*Enr06fgGrkme`6x3<^qzEFX zwtucj)Ck4WK!J0GOa1q%z};<(rSB)}@7SX$eKQRG**<Z$)<GNhuw!QkBwSSpj0xM> z3ghPazj~?`t78ooS@}8^xQPMQz>nbXJg03dkrXe3(8DT6b6A9xd6d~yp3nWmNzS3} z>g3hLQln%^IEMT6TlULEUD(%t485<NMm48QGkI$xDbZx+O(C7=!GYRe&)Z61rX}k0 zY>fZSlx<ixnPxZp%RQVwQ@Nh4|0}%)=GbsHSOYHt9mTvT1zman&QA(?E)yQBJK#4j zUF>6>;EGTN!LNWkUn#@W;UX%rzOi3h0=g2+gD6}?8Q08wH_#r&)SkA-K_5xDLyM@C z6t1k960?{>tDq>0xiUVepK6b#&xx=R3-9UTj<lh}QdO4R<)Hf``R$T8eU!H`+XoV{ z1Jvy_)#UPM&uGLkJ>dQAc%E|i>z)cOU(F~hRiM-J!#j&(vZMuu*En|zI8Dfil)rqU zd=yJNET*yf@&SH1HDvYA4FCq$gs6j!psr%of86obgy|8%uort&Prxzw>B?i+raK%l zc>0F$wr}3@S3dYiLji(R`XuMtVn>9KDt40R)TXbhXl54bYZNhV5hdL`^+Z-fFP6Su zdB&*t5xRapl_K7T)~`8y=w93Ur8c934kyQxxt~n~YxWsKcpfS!!`CiGE7bGLLFNZJ zi-f4h#U?qkR?huCTx_hp`bp&RV+fE1>Y4Il<n@;2yQ%QsD@zU+5oisu3b}OYuZuI7 zi);)k_cJN6_9;%%CC<{{G<U;J-diE^ad|9c$b$m;F9|$Dzc88CLKs1V?P=aak-*6) zEAC2(uD3*92$%IlLf3;$aLw-5$I3s+2G4%^{t<<Puo~vQO?R%k>ujo3r^v?QdHx<a z+Ts6nXX7i~4Nc3rvL0ib0{pZWijfbIaIoAXl`NF=*qUXD)rul)HA6hM?4BJl+mPPB z_Gh62OFh_#H1ow+n2UFWp)7rM>0ilAXqi7>{_6bulY@;Zbs1gxXvt;aU!0)YKP9A$ z@vlhNSf8P20#C5xq9C!%RAMYz7Ga7ExA=`$F3UoL7U`fx#LK6)9+q`xjY-Yt)^%$V zpXOZUr&j1l5Y{tB@LFuFJ}3`WAxPy-!|Ijo{oNMUC}===jt*QfL8XW5X)xb&-VObD zt0gmSbNna-3sA3Xfre6(m$DQIW*bzU@==A14lZH=I!~Slp)&x?_xCZX43Be?`ubI8 zh}SIO*SuvwG{+krgsO=1(7XJ*oW$~5y&thqn+o#?$~QRdgrxYz%+=n#^3d}XF3F)( z#!2(1r=e%0PVariu2|VGpvIdz0iEK(pw?nc`6xGXRT5<2cjkz?0V)g8^SLcj+mBnM zs?swYbCVY&wZ!}-;GkEk`&1B1jWVT%Y&Z|B#z>-&#PY+bh=?nfbpv>H>G5P|T~tZ7 zBPyHy{L4g*QFH1u9k8oEaC^o5tiB4@48UHi#BjtzSwpg4O5FCrjsw(Ctg--Q%^dI; zoffHAva>ov$(DzH@M(;7k18S+9c88vFX}q1;Hwof^zdoD{c-22Qcj!6K(3<iiGb@6 zy=-}K8%6rVY0t_;jlEcdvHzh{C7#EP;BVSe+pXawg}5TD%kUyN2bs{HtjyVP5^K?- z9j7eRe&gla#AHp_^rrS{iP5GGyqU80i7|vX{Fko@bGEmbV2ch3nD$*Xi#ckg^CQC6 z0wzQe;eM(wriSnRV&`q82;b_Yhh&C5`zYw&0eIcph$(tOCJI5W0NVj^tOs4N=F?21 zy7qjvNbS}C>a{;z{&pMMFXB&h6N<RIVakgix`k)z6L>7w0=~5>eVve*#=*y9IK;$s zB+}dFqlaOhnQS623Dn~X5IbPpi@*TTcD^I_NT!mls|1{@6-AseryfOskIjOP^!{Xe z|Bu%lCGR^yP-;wldw}Po95IPVDXr4r#<sgL-}E@e4!Vjh&pvx&bYo8>(PD<O>w|z= zb<TpP(cTD=Ge1bUkF0*V7~;WbWP>+-Ik#xi*>V(B`<HA&w;?zyLXITjW3Csu*@UNQ zp(iv-<bMMa2U9mjJBQ4TrT{cdpzhcJ<HvhC%=D#-#x~niftJOJ@C=P(EkrL%5Yn9q z-muV%IF}pwRztwxE$g_fpu^FIY;y4LG?lDv6h}R5(*r~%0Oxw-0?a(h9^0%5x`kVy z-OPU_qby$x-Z!Gj^|kYxA@oK=faan)@$#{y?S0h*N_+!SC?<0F+0bxjMpvHn4l@+* zE>I0`L*Z`VdHUmzNI_$_CS#<$UdZ!MDgD%&jb(B+M)oD>!4~4vg)-z#-<%V+1pl7o zPd|`dwbduQx-Rqb#G`-AO<IErqR~<Pqa$<*4?lH^J~#XZ)MXwLP|!PVG1>|XPyxe0 zBW9M=$<R^G8Pd?Z3reu>0QKfr+x_w+4P|UQJNNtIw?f=Mllie8mqv2$8lwX7(2;s% z{$%LBdv_{9_fytD(z#?F-iX}ulW)mJyJ4G%>e%TTS9QCS<I5KG50jkj%a;%uuMMGQ z6V!=Fjvbzto<FP%^vT#uVib~z5qb|5AV*z>4*}P>Lw(ZJJop<iSl)jiRRciMi_N!p zIT_2Yj=ZZC{7_*gybMn#pPY<7t2#S(e`GjMb|afZ*x(HS*@NX%Ib7>=xzGB1Rrk+O zYCsEo8>U;k>bTKgO>zPdRKIHJrb{QXgB3*SNbFUF5K+WpbHpKMgV^1@e2wncS6_lb zM_xByBxJujF7s#|HQ~o;go;s74q0Al*BKrXc{z**{R}Ob;NL%;DY2ZoOG08_OGo{F zK5B(Fi&Nu+8daF5P|Y|ojf(jMmv1GPY`;e{Z2KlTZMG3}r~45;<I}pT2_xM1kT>-v zZkrS6+L>n4P5K8estbIJVrcJ)WLy&u-F^D+8EHg-0HS<`!N>$1MBuN7*52iORRYut zVEVIm8c|{J)e_XLlVpZ0w2Y6FKq~elWPsakBa-pBO|1)z_Mr>o)7w8aAlW%hO=i=X z6NN&8dGa40um<LPQS^1KLjBo*pxVuSm5=-lGeY^P8d?&eL(x;mHeXF<7YNoReEO)g zyFjj2=i>~qp4Iy6vVl^L2P2DkSmRxjcggk;mikC+igTwMK&8^beCZu}s8{ca>!1;c zx>#WL_D0TAz!$Cf7=?uyu`&FxvUucX!0&b7i(`X(N>j-(n|Pl4Wao}ypI<ur5+bG| zeibcWG+`VD-HRO;k%n*A@W7&F#7tpj{c{EKL9H~#3XJs^#8gzv#3?{xy0{o~U`u}| z)yrg)t{LK=>hwx%UHG3JA*>8fa}mF~624IkT)9Mu`V0W_T8=(`IlSu6W2Jqayc~Pr z^I?Ex36g~Bk;W!$JAA)5g(@U(rgSGgmOwg^7^eyCMP~aE(|CAK15#gIXx`)$^5#vA zU7F*!&<A&|oIR_Auy}i(X#tnunN9?7e81XqtiQ~B#heaPKe7|gGkoBUm@6w`rM?if zJGmCk(8Y!Qqfh97`*p|r$MI4GM9${7VX239u)v+pNjbBxSVx6t?Z6v$eO2pB8E}FL zp5xQ0xGByx?ewSq4b(7kc^k{|1q(VqmemjfOS-qX88oN~2-1k${fP2K)YqYpvd_kJ zuJk#bRh@bKB#rCY9$-#)HhOduKi)Ko8=Rd2n{$CQVgb*zCbUm4UDoa7Ta|{-fJ(9& zHUb3Y+%5JCCPY>9vH~@(uNR9$5omMNM%Tz|1MNu>r{y1k4#h%PnmK`|VeZ8IMTY0T z09##L7D&d0+Zd50%YTNBg9&j7Ty)`>6+FxO4gJ^5#5OCwRV9`oXDx`~`vxgb5MW<o zIs;TUk(Z>;=$`k<OXpbm=SMRmy)60IW`#_XT(A|3Uu0&Y*Iou4L?%u~L{tsg_8-Pp z0J3Vw*)2wf2hoQ2_wU*0*OY^DhQ|^l;Ee{P9yW`Qq6WMpV}>HCY!Q6I&ur@IpT!j{ zCR9;KM)$SlfOd0%%z_chK9!3g_WD56MD?Oa-9F8`kU5t2>%h_Z9Xj%NU)Y}XmVr~J zIG_Dxf#V720vJ6rj>`f3D5!I)+^+!lfl9EG%os~0K7qPujN<)*)Thz3Evmvx{-c=W zI6L?02Be>{6VH3hq*<YH0Us+<1`*oVpLi(d@74@VaYfKpwGa;MzQI~+Y{aqpUv-KR zjKF=xHQfFtI48gw8>8rh=B&DE?-BMLz99(@Gf~9Cgh~~ryqNz?OuIdF;*bE%od9B8 zRUp$znuB|L-yb!xor}N64U*`Gt2(UtZtZ~^&JvA=qpxnv{yipga{LI~zY7z3I4F2D zO@IF4>-U$zP#q{BSaSvIyV*Eh9H<+mp<MOzym25oN6{F~czn^D9xa4B9H)Xc1-$zB zDf56y)spXbaxUZHvF(@m3G?4mx@%D7gBC@2Q?h&!;i@K&lF_<i&~Y<;KNS`~oP(I` z+P&czSv=sb!AofeZ5^wq5<(O0b#cNo6kf{mDaZm~$rPcNujv8x=4{)jJ;WPo!jKe; z6F0fkAbf#gI)_cngx@+Y9ppuj0sj&#!nF@{Wn^NcL04Y)i`GDgfZv%gkPVpu!aJ}p z`DJcoB*%{iWMH^CD}>#6FkObi7H|>W3W|zk5Wq>OiFtHY9DD8A4;rO_Hnf)sTT)<Q zcF-g<$t4pG6Whey6Yu34QB<hP(D24qEZtqiFE3#x7mF%U*Ja`GdZe|^dVplwTb=pf zCU9mEnefp3zYaV=TY%;SqM4Co^vJeGPM<xG1S)o%0(7&Zeo_}_G($No;9=(wa8BpY zW%5}N%Yeiq&AzqM>IBJXha2D+HC{v<9Pp|pOusCHBynQxY|OIrb4NGVveWoLm%J`S zovn}|j&!ooBl!@ZqT-`o>)FAxt<(FPyaMbMMWeLM5UJ30MR<RhURD|x7^cjBtSiV^ zo>0>N40VXCov=epk618_;dC44r?X!AuxUTg7qp=}H;T0Ww)MI4owF^FT98K$ZTur( ze2?CzFi3PlDpnq0sxvNB@Y7oX21IHi418or40BLOW<l7plstiP=}fJ8vH|rKU2^~E z*{@7u7_z6P5!C;(XEa#c93mZwCYmmyc8E`VNW$MIUYGk=^Ksx|KtqnM9fIi(?63w` z2+Te$>M>6?qS90JU=vYphKR*_$ZoDB!bAeSqxk1dk1xNq6Q56-c>j25etmztPh0O; zRRhV#Pw_bW2?1)$rr3rSdj6)vKBxCimZAmdcrnah(N$kkknFqe0%>V6e<e6@BOQ#Y zV54ST)QLJ7e}ihO3m7NVyL?{~8i}S{Ge>035I3}_VI65bMTr`Yc%C#eb5n6wo@#_8 zpQl&zT7t{>m3`?a)PCd4)SE7<@q_7_BLL`2OxL>yi!b_x6%(OXQACSHlo)GJHFNi; zXTJuG2)d}x%lp{q@#fT7Rs*ru40hgo4NbnyF+RyT3U(jDBI}r?=(YR-;>`Q<mKV)J zi22RMiP`P_w{};<%SQ^rnU+a;@;ktYtPt_d?<e;CLDB)lv?PqJN1k~3b~rM!bT7zj z`;g~>hG7kGHO^o*5&!yF_jcZs-!|#TDUQY@oQ~MTDHX9MA&NcL<H0nUQ5OR1zxV@K zHqga1GlaHTMGA<NH&0ME9&=@VdYS<<mn|5{=vQkEi@$Vk#HV?MX%#<4*UzL9Ew)iC z#+}QydKN&5AFlJ-az)DXS&iWAd(bwl%{XY^-)A#wW%z|Cp8-u7WWtQI3M*4z&Ji~H zz()m9HddD_=>=G7sZHGGe8ZyWwn+KM7K|BUUqtB6D-z~k=E9{#&RfASFVN&shs*U# zp;0jGE4DwGa-EDT08%<o1dS@HSjMt4FdaqAPjSdN4hEXvgs{|C=F}TNSpeujFi}x} zearz%%Gjp#Ww^qNm;L~WHJ$Hx)6vaW<$0%$eWPG;o$XKLF(In0@KW0AJNlnL?Ajit zqM4{+ibXSpfBE<sZeO2!9-e5EFBQ9Dfdd`GZ!ppW`KtMED$$h>(cXfCPwtMQJRm#w z@f{Y(lYV(0VU3StX%B)O{bs%gwWxw_EE2ubjkw<T!Kuc~?$V!|I!#8t%P`Xh6<RA( z<X3IikTFqx)XxK%nq*q^EbC0W3e%jR{CjoU`nZnPZ@Zq3`eH%qLqN8KJ3z+wjGUC} zNOYhAlY&~*y*m;M_A1G<MqHQR_TH!Hczwcjb*a)f6jA8__TeZICH=us{@h;2-0e5B z1N`NuM`|&`AR|k_&w*}XmGjN8K=2~N+aVxDm-(RN?hP%?qn}nkErKek8ptaVD8?g* zUjTd~Gyh=W+KU#~7E7P5qy)rMGzyF1=c0sQWpBA(uhV{7y^#Dv@)~Neg=L7(K?*Ml zTRzIqnN#Zkb9Mwu7os9ejL|hu<W8&bLFU4=*IHC*brLw#!fRrs4n`@0SX%$TWE;vy zosHz!_`Km+43shgWn~0?_Loaym{DHPzX3Mj8B_R7Dz~Wri3c%&&%TBpOyl}sUu9*y z(PO6UJc>S~TkxhRsVfqV62^#Xowb)Vn&6Q;YAnfU$z}miL9jH)x4A=Me7R-yu|Uzq zu=wXndsI3cG#&sQDDE^X3tm|N-E3rck>sqK%8JtuBwz;~%-ZZT<Nk}^m*y|vS>6Bp zzQV7y;niMuVmJFbBHDbV4hm7HjoB>T{-`RIzgPUym<^{mL*x&5zwN@=(hge}9TT?Z zd9cemfD$xf&?M(h6mdew>G^TuV|3nLd3Z-Z;?^Q+!7{??t*uL)E^glpqs`b`NxIGM zNx~!a(r!#B!Tpii<)u0fg8luv)C$LX{PbkZjVJ0a^|h0-w@Y+4K1W>#BdfE{>xt7G zGV{S}$6CtjkI;yfKl$i$$y}6U!n7~~&*T=L_35$IGQQ}1ZYG)WUW<AdF$$QMZjQb1 z3^0E7ahd&Yy(i=#g;Kn8JYZG8d5d;erDb{lsI2NAKavhul^i2oMjM%-hho>6J3e~b zXriELQhHhzKBFx`xZn(U4IoczjP{lIi$`whM0hCIqlq+g_5>(v+_>;4w&)H=Vla(k zS87+KGvH>04T1<on{q<uOE=4!qZlW8SXfNy(4t<m`<rcN7HarsEb7ZD?MmydY97R< z30tiA!db~^>PG&ER;3-+IxiJEOYfBUr3Bf^n24t2NgJOe@N{Sa?p=X}P4}sFffcrS zchw(vdiVOu!?~hSl;r>N@|j5Dy$tS+6SeR|FdEEDID}Vjc!D;ZC4&J5Rmjm%2D+K! z{kg0Pa1$lVcXD=Uika38P5K{dV_-g3Pdrc0jk?6DiKmwuOF^D~b=W8M>3n@X^7%gj z$o&wmAYKZZpASUqSoW7)HEJWxlmv7<FNU8*wYF<pE~3IOTABEKtjmG159?Ig$xO`1 zqFSD`B0ple*wQ-XlQp1T@D|veI$p;|w@(6k0D!6}mZndjOZ(h3+6)jsT_B~#hj1F8 zs*pifqs~QfEYQXMUPP@$a|9yVy^K=12Wb>PR<RY$8u{Ym+U2g*>68aqL01K-fW7KV z3pxJL)8(SD#~yi;F)Q<_wLP;1jL{_e6eoAs#+P=Hloi5hE+T1$7(TZ-A+@M`Z&Uoz z1Ye?8<TVWeS<p7KNMJxV#J>h9N7FHXC@3d|MsZ?MNMql4ITVoZYh<P~hr{ZDw4we5 zfm1n(@iiT9dWA6EQyMa?C{rSUIDNZ>-C!^Q_JbXD@*`P2$ExG_@Aw)Y#tl1br61 zN`@tnI=1=4yZfcNSJUO(NT3FgWCatb&rjU@msj%&1t>0frX3+}F-F-M>X(570M+2z zVG=6$V8!r@yafCuDvGkMg(%O2>kgIb&!{#Slb9aC*7V;Evlh--1c8dmcWq>1Yo+z} zL*8H6NCP*I2H|-=9(c3gFC4ovGSpfqXj32+TZ)#P0D{uKY!=a!19mL&twqlN1pF6l zM1O`df8b3&%rs?pi7;W*k(tw%ts@Hs^S}Ma!LQLcHYWZSG_Wx&*pre|xB|QE0=_Y> zW?p|@j~t6V+QofkW#Fo6Ljj2;IvDfXy)oi;^pnr^@JJx4#6nYW9LRrf<gVSiEV{Rm zG5J;RbwQ_s3F_55q}3v7oQ*;zcJv+I{uwk2_E?+UV6cp0IvGzS0ruP&^}(3U7I1mp z)fv4vIy>WcVPeSVPmSK5EK?d05`d;M;f;65oY&*A&WLuPY!UdWH<}A{+B}FR0g5Bu zTuXOaC9aoD<Yc__(e#qSNx&kaQ4HHVizo|K?|uuYSyODOuAnpOcl5VG1Bw}HEs6t_ z+Z!@LAMK0>@1vXU^~f$-r5tElvjCuBEWGS3>G!j&_4<VGi~|Z7#dz0@;b_`@@yp}i zlKf}N>dO!Dg0wS|32HW5`BK(s^O;{Wofo<k>F(;&5y|)nV{NA9Q;B!U^fUJr4|zp~ z-KPQ$t#MvdIz!3vezvaHUN^=RnK>f!qTI&v#~V<|Wm$D3WI9TZIcWR<z>?N1{=+gP z_n03!qH^}`_!XB;UHS`is#n_fh!g3%TD?Ji<H3qDo>agiZ3jHk`YAVh3JGVzt^yb3 zz6|9@B%8Bv(?SNmttq`=0oq+={YhUQr<UQ(GDQTtaFHOj16-<zLVQS$P|k!CWE>?; z*b3eYE1$h&!o0XV!ks*csd?%n?H%WYNa3nTpp<7Qq1Wg34^~FTzT|tiU(BGNRa_}T zMs9N~*$$c@M(aCpR0>KiZy7GMPDO+9%b&0)4lXvZCK|_!!_V7py8yjO$+xq*Os`w` z>F13haE^9LW&0CoNeSK_>zg2~{56zxI{_VY#plB4_NijdJ`b=ldlK;{!ZgDA?Qs1s zlS8~fdIIE}D25}%D+A9|%J|!4dZ{9m6Khx%HK4IFRc?cKGGoG@HW(T~-@2oSwcHvt zGN$7e%+~W4FM^s&9%-yg6jA<KQ`H*`n*C8&SmWZ~xhLwcrmTDqf=OwEJ^RsEj#$wp zo6)rBi3^gYo;P(a?16sp$r^2C;|iOz&Gvvw7}q6oQmUHf-o`p4vifJHA;gP^Z(psJ z@qeuvM0<3y^PId1py$A^rq}8V=N5Qh{KX-G%vH4WoL|GEO61Lj`#R2xR-M;-mp1Y{ zwSw)q{N#RHFo5<5h*2Cz({5pg42E5L&^0X}x+bDNI^iHeeEY$7EN%)ox}Y3n2WCq= z2=M{dNsk|e?}=l`l``$YgU9-lpZ^(?q!Ur!uJ9tN$xQJnld`T;JAu>-dGm^8r{?Bi zAQf3(emi`1zmia%+`=&y@0t2gL-TLj+ae+DGW(OF3Rr{V1mcLg03;%e6O)yPZ(T}+ zi!KIbTp%$vEEtBU6oNz^ALXN)4D4&nrdW3|<zbokV`;<{&@Z1FpmOvs)n70Q_zP%o z<*&YN%!pSCm#uD8@1Fjqo{@wm1_+~%p#<~3^H)I!chBU_pL=r;)H@L98X(7h>TIYU zm^<YH-L|l<bM!InG)PEX6l-CFMJ?(cOkEZy#qk`gw2lkbBd=bZ(&V8)x{O~3-VB87 z5D;&5Ob-+Lx@c>Jj-*@(Gd-^W{Q|VF18N&3J`fBH6YtO0pFs6rF~ObRV!cq55O@Jr zCVBT*N+s7h0-_fPTd#2+BxIlb*Mr}fVYHgmNt{!%Q}S|%1*I|wTw)}HCezz=`lM(I zcf25Gt>iez{*7d*BvjU^xov`lt9#lb$zy5xNw;fLE6!qN&Dd@AiXemAE-&p)rYw+g zQ6T_0@*sQskK@n`<q_ol04{1ZWy2ShnxbaiobR{%m;E<r#HxNOhtnqMgJZ3>xf-6S zDkdupUlYHw-|xVgP+jJyAem^+i-}R3r4P>O64$53E|$sBGXrGoH!aR79qIWIbrdy8 z_Ocy?mHUT|1L|P_2cHiCX}FV($q(kd%L?%C7>=lDP*Yat0$<{#<^$IB;bShad#?gW zgO@rR&5<g+dE=o3FpVDe;e;vb6+z<FT5JGYZe-1S;xy=qs?$CI1ui?*^m(dk&i43_ z&=gT}>w&aEU%9}2EZS@Aqh42v_Shj%?fH_x4TX=o|1?lZiFoADZot`g?dhA#QHf$) z2IPmTSQDD~)3%?XOAi3U-w)Z0TTX3!eFZj3wGOG-N3qkpFgAUB9zpA2U;!rusT5;2 z<FT-7OEzlZHDG|e?ml)gyVhylhH7{EtYz^O-dO^fBR9?&ELpPab)Mjtu6$`@UBW+g z1sDxSqrvoTS{lCPWFZ3v*NikW&KgpbKf?YQ%pv18m-l|J7%Aw&iFDqKLFdWh;g-(T z%O=DJ)GtF&`qlaRS{h|@hJnbmf9Cc%Cn}1F6*ev0{nhG3;YHNf#UjsMT`5K>cZCr3 zzJv|*Z1S|mX(Q1^G7cz3f3I1=rWWiKGR~H_oB|(TerjC^W6`o=%0d(#6E+tC41W}( zFlqkY{Sh@<Wsa4%GL3N))L#QLsg%=%X&s^Miu{lrmZm61o_%}%G$)wqC}1DTZie*b zcV~r}R1bk>v`i36GiJ*pF{?&oZYn}ghtTIhQ!#_3{sr6<@V&o+FL`-932`4n;1keg z%ZZL=L)29OYHW0SUAi&*jwxjWKBy)JuiW{B)njb@x!M9GfYlGE{sYw9$p|aMlxjn- z(Q|lb0Zi7)sopSC*PPtlwNm4U7JiOjexppHcWF_B2Gwed&a17k{pqL=k0x@k<aoM3 z0iY2{EXm*ooK0KO<%#df0*I&F@%$JY8s#EFwvSBzE%3B{akl)+l=ZphNc55bX6@B+ znfq+IN1`Z;WabM6UtXXgNxe(41s$X*ip!X7aC3dFBl*Qtkb>CeSt~0jX2^>DRTQIk z!nb2X@kV5n;lkAA%poAaQvs<X2#|_O@{l7CIe~Fv&E=u@#OxW$cP;8onV^=_Cu7k3 zR@J{2qk~UCF$qdAq8^zRQU2j|PCvN;S$DW5dC9Oq*^0$Ms%64_K($btn7PN(-?I1^ zLW*<6(?y5Gn9!oi0^x`d2P;o%iy5%4b<}}zx)OXmiepEeN7m(BYaoERtjQ0`Th=)4 zAVN7$YC#(LJC=j}PMFz;`$l@lK@|=*KFT{i9DisB3Rh2NJV6l_-*+aVP<!C9v`UYO za}!fn?>ae!nq1ZjsKEP|j;@ccKH0{2s9xtU37v@|0!ccUdJ96JJH`VFLQA6CTmf;J z#jVFlK<}b*(In7skM^XUuXAGs-zx%kS`_n;AQ8G&^Ij2!%Of*3QW?x*rL$~+@|_)^ znh-$!6)%~cnKx!iue9fWmM`ObpxX*1A1X+d(b*n>Xb�Ia`_7Rm>e&k>Gw^42)I* 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 diff --git a/design-viewer/www/resources/images/reload.png b/design-viewer/www/resources/images/reload.png deleted file mode 100644 index 490ab935e5e5a13f4a567e5259c3a4542aca8eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8835 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 GBIJKNzZ8`K diff --git a/design-viewer/www/resources/images/scalemode1.png b/design-viewer/www/resources/images/scalemode1.png deleted file mode 100644 index b1efc84d83cd3c205a0faba680f29b7e71b6148d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3513 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 diff --git a/design-viewer/www/resources/images/screenshot.png b/design-viewer/www/resources/images/screenshot.png deleted file mode 100644 index 0235118f380b1d83b49d718d8df56c02c86a35e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8515 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 diff --git a/design-viewer/www/resources/images/uploadIcon.svg b/design-viewer/www/resources/images/uploadIcon.svg deleted file mode 100644 index 3e8b7a4..0000000 --- a/design-viewer/www/resources/images/uploadIcon.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - x="0px" y="0px" viewBox="0 0 64 64" xml:space="preserve"> -<polyline fill="none" stroke="#E0E0E0" stroke-width="2" stroke-miterlimit="10" points="16.9,32.7 1.8,32.7 1.8,58.5 62.2,58.5 - 62.2,32.7 46.5,32.7 "/> -<line fill="none" stroke="#E0E0E0" stroke-width="2" stroke-miterlimit="10" x1="32" y1="42.6" x2="32" y2="5.1"/> -<polyline fill="none" stroke="#E0E0E0" stroke-width="2" stroke-miterlimit="10" points="18,18 32,4 46,18 "/> -</svg> diff --git a/design-viewer/www/resources/meta-data/qmlprojects.json b/design-viewer/www/resources/meta-data/qmlprojects.json deleted file mode 100644 index 0edaf6b..0000000 --- a/design-viewer/www/resources/meta-data/qmlprojects.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "projects": [ - { "file": "ClusterTutorial.qmlrc"}, - { "file": "CoffeeMachine.qmlrc"}, - { "file": "EBikeDesign.qmlrc"}, - { "file": "SideMenu.qmlrc"}, - { "file": "WebinarDemo.qmlrc"} - ] -} \ No newline at end of file diff --git a/design-viewer/www/resources/meta-data/version.json b/design-viewer/www/resources/meta-data/version.json deleted file mode 100644 index 96ed1e1..0000000 --- a/design-viewer/www/resources/meta-data/version.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": "0.8", - "buildNumber": "#buildnumber#" -} diff --git a/design-viewer/www/resources/styles/default.css b/design-viewer/www/resources/styles/default.css deleted file mode 100644 index 1057815..0000000 --- a/design-viewer/www/resources/styles/default.css +++ /dev/null @@ -1,137 +0,0 @@ -@font-face { - font-family: Titillium; - src: url(../fonts/Titillium-Light.otf); - font-weight: 300; -} -@font-face { - font-family: Titillium; - src: url(../fonts/Titillium-Thin.otf); - font-weight: 100; -} -@font-face { - font-family: Titillium; - src: url(../fonts/Titillium-ThinItalic.otf); - font-weight: 100; - font-style: italic; -} -html, -body { - padding: 0; - margin: 0; - background-color: #262525; - color: #e0e0e0; - font-family: Titillium; - font-size: 1.1em; - font-weight: 100; - font-style: italic; -} -a { - color: #e0e0e0; -} -#qtcanvas { - border: 0px none; - height: 0px; - width: 0px; - margin: auto; - outline: 0px solid transparent; - caret-color: transparent; - cursor: default; -} -#qtspinner { - margin: 0; -} -#title { - font-size: 2em; - font-weight: 300; - font-style: normal; - font-stretch: condensed; -} -#instruction { - font-style: normal; -} -#subtitle { - padding-top: 0.4em; - padding-bottom: 1.4em; -} -#dropzone { - border: 0.18em dashed; - text-align: center; - padding: 1.2em; - background-color: #353535; -} -#dropzone, -#projectsmenu { - width: 70%; - margin: auto; -} -#projectsmenu { - display: none; - padding: 0; -} -#projectsmenulist { - list-style-type: none; - background-color: #353535; -} -#projectsmenulist, -#projectsmenulist > li { - float: left; - padding: 0; - margin: 0; -} -#projectsmenulist > li { - margin: 1em; -} -#footer { - padding-top: 1.2em; - clear: both; - font-size: 0.8em; - text-align: center; -} -#launchstatus { - text-align: center; - width: 50%; - margin: auto; - display: none; -} -#appheader { - text-align: center; - margin: auto; - padding: 5px; - width: 500px; - background-color: #191818; - margin-top: 10px; - margin-bottom: 10px; - display: none; -} -#appname { - width: 400px; -} -#passwordDialog { - width: 50%; - padding: 1.2em; - margin: auto; - background-color: #0059ff79; - display: none; -} -.inline-block-child { - display: inline-block; -} -.alert { - width: 70%; - padding: 1.2em; - margin: auto; - background-color: #f492367a; - display: none; -} -.closebtn { - margin-left: 15px; - font-weight: bold; - float: right; - font-size: 22px; - line-height: 20px; - cursor: pointer; - transition: 0.3s; -} -.closebtn:hover { - color: black; -} diff --git a/design-viewer/www/scripts/script.js b/design-viewer/www/scripts/script.js deleted file mode 100644 index 81e9488..0000000 --- a/design-viewer/www/scripts/script.js +++ /dev/null @@ -1,262 +0,0 @@ -var contentArray; -var projectfileName; -var reader; -var spinner = document.querySelector("#qtspinner"); -var canvas = document.querySelector("#qtcanvas"); -var uploadform = document.querySelector("#uploadform"); -var fileinput = document.querySelector("#fileinput"); -var dropzone = document.querySelector("#dropzone"); -var projectsmenu = document.querySelector("#projectsmenu"); -var footer = document.querySelector("#footer"); -var launchstatus = document.querySelector("#launchstatus"); -var launchstatustext = document.querySelector("#launchstatustext"); -var downloadProgress = document.querySelector("#downloadprogress"); -var appheader = document.querySelector("#appheader"); -var appname = document.querySelector("#appname"); -var alertBox = document.querySelector("#alertBox"); -var passwordDialog = document.querySelector("#passwordDialog"); -var alertText = document.querySelector("#alertText"); -var passwordInput = document.querySelector("#passwordInput"); -var qtLoader; -var versionInfo = undefined; - -function showAlert(text) { - alertText.innerHTML = text; - alertBox.style.display = "block"; -} - -function hideMainPage() { - uploadform.style.display = - dropzone.style.display = - projectsmenu.style.display = - footer.style.display = - "none"; -} - -function showDownloader() { - hideMainPage(); - launchstatustext.innerHTML = "Downloading application"; -} - -function baseName(str) { - var base = new String(str).substring(str.lastIndexOf("/") + 1); - if (base.lastIndexOf(".") != -1) - base = base.substring(0, base.lastIndexOf(".")); - return base; -} - -function loadFileInHash() { - var filename = location.hash.split("#")[1]; - appname.innerHTML = baseName(filename); - launchstatus.style.display = "block"; - loadFromServer(filename, passwordInput.value); -} - -window.addEventListener( - "hashchange", - function () { - if (location.hash == "") { - location.reload(); // E.g. when browsing back - return; - } - loadFileInHash(); - }, - false -); - -function handleFileSelection(event) { - reader = new FileReader(); - var file = fileinput.files[0]; - reader.onload = function () { - contentArray = new Uint8Array(reader.result); - projectfileName = file.name; - hideMainPage(); - loadProjector(); - }; - reader.readAsArrayBuffer(file); -} - -function loadFromServer(fileName, password) { - var request = new XMLHttpRequest(); - request.responseType = "arraybuffer"; - request.onload = function () { - hidePasswordDialog(); - if (this.status == 404) { - alert(this.status + " " + this.statusText); - location.hash = ""; - return; - } - if (this.status == 403) { - showPasswordDialog(); - return; - } - contentArray = new Uint8Array(request.response); - projectfileName = fileName; - loadProjector(); - }; - - request.onprogress = (event) => { - showDownloader(); - var percentage = (100 * event.loaded) / event.total; - console.log( - `Downloaded ${event.loaded} of ${event.total} bytes`, - "- ", - percentage, - "%" - ); - downloadProgress.style = "width: " + percentage + "%"; - }; - - downloadProgress.style = "width: 0%"; - request.open("GET", "qmlprojects/" + fileName, true); - request.setRequestHeader("authorization", password); - request.send(null); -} - -function listExamples() { - var request = new XMLHttpRequest(); - request.responseType = "json"; - request.onload = function (oEvent) { - var json = request.response; - if (json.projects.length > 0) { - var projectsmenulist = document.querySelector("#projectsmenulist"); - for (project in json.projects) { - var li = document.createElement("li"); - var a = document.createElement("a"); - var filename = json.projects[project].file; - a.setAttribute("href", "#" + filename); - a.innerHTML = filename; - li.appendChild(a); - projectsmenulist.appendChild(li); - } - projectsmenu.style.display = "block"; - } - }; - request.open("GET", "resources/meta-data/qmlprojects.json", true); - request.send(null); -} - -function showVersionInfo() { - var request = new XMLHttpRequest(); - request.responseType = "json"; - request.onload = function (oEvent) { - if (request.status == 404) { - console.log("Unable to load version info"); - return; - } - var json = request.response; - versionInfo = request.response; - var version = json.version; - var buildNumber = parseInt(json.buildNumber) || 0; - var versionText = "Version: " + version; - if (buildNumber !== undefined) versionText += "." + buildNumber; - document.querySelector("#versioninfo_main").innerHTML = versionText; - }; - request.open("GET", "resources/meta-data/version.json", true); - request.send(null); -} - -function showPasswordDialog() { - passwordDialog.style.display = "block"; -} -function hidePasswordDialog() { - passwordDialog.style.display = "none"; -} - -function verifyWebGL() { - const gl = canvas.getContext("webgl2"); - if (!gl) { - if (typeof WebGL2RenderingContext !== "undefined") { - showAlert( - "Your browser appears to support WebGL2 but it might be disabled. Try updating your OS and/or video card drivers." - ); - } else { - showAlert("Your browser has no support for WebGL2."); - } - return false; - } else { - return true; - } -} - -function init() { - if (!verifyWebGL()) { - return; - } - - if (location.hash == "") listExamples(); - else loadFileInHash(); - - showVersionInfo(); - - fileinput.onchange = handleFileSelection; - dropzone.ondragover = dropzone.ondragenter = function (event) { - event.preventDefault(); - }; - dropzone.ondrop = function (event) { - fileinput.files = event.dataTransfer.files; - handleFileSelection(event); - event.preventDefault(); - }; -} - -function restart() { - qtLoader.loadEmscriptenModule("qtdesignviewer"); -} - -function loadProjector() { - qtLoader = QtLoader({ - canvasElements: [canvas], - showLoader: function (loaderStatus) { - spinner.style.display = "block"; - canvas.style.display = "none"; - if (loaderStatus === "Downloading/Compiling") - loaderStatus = "Starting"; - launchstatustext.innerHTML = loaderStatus; - }, - showError: function (errorText) { - launchstatustext.innerHTML = errorText; - spinner.style.display = "block"; - canvas.style.display = "none"; - }, - showExit: function () { - launchstatustext.innerHTML = "Application exit"; - if (qtLoader.exitCode !== undefined) - launchstatustext.innerHTML += " with code " + qtLoader.exitCode; - if (qtLoader.exitText !== undefined) - launchstatustext.innerHTML += " (" + qtLoader.exitText + ")"; - spinner.style.display = "block"; - canvas.style.display = "none"; - }, - showCanvas: function () { - spinner.style.display = "none"; - canvas.style.display = "block"; - launchstatus.style.display = "none"; - appheader.style.display = "block"; - }, - }); - - // workaround for making sure that self.module is set up before - // running setScreenSize - self.moduleConfig.preRun = []; - self.moduleConfig.preRun.push(function (module) { - self.module = module; - }); - - qtLoader.loadEmscriptenModule("qtdesignviewer"); -} - -function setScreenSize(width, height) { - if (width > 1 && height > 1) { - canvas.style.width = `${width}px`; - canvas.style.height = `${height}px`; - } else { - // undefined root size - canvas.style.width = canvas.style.height = "100%"; - document.documentElement.style.height = document.body.style.height = - "100%"; - document.documentElement.style.overflow = - document.body.style.overflow = "hidden"; - } - qtLoader.resizeCanvasElement(canvas); -} \ No newline at end of file diff --git a/emsdk b/emsdk deleted file mode 160000 index 63a63e1..0000000 --- a/emsdk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 63a63e1664d4b656994606c6e334d1e11e4d9f10 diff --git a/dvicon.png b/resources/dvicon.png similarity index 100% rename from dvicon.png rename to resources/dvicon.png diff --git a/main.qml b/resources/main.qml similarity index 94% rename from main.qml rename to resources/main.qml index ff5d166..5b11de9 100644 --- a/main.qml +++ b/resources/main.qml @@ -10,11 +10,12 @@ import QtQuick 6.4 import QtQuick.Controls 6.4 import QtQuick.Controls.Material import QtQuick.Layouts +import QtQuick.Window 2.2 Rectangle { id: root - width: 1024 - height: 768 + width: Screen.desktopAvailableWidth + height: Screen.desktopAvailableHeigth color: "#EAEAEA" @@ -32,7 +33,6 @@ Rectangle { id: progressBar Layout.minimumWidth: 380 to: 100 - value: 50 } } diff --git a/resources.qrc b/resources/resources.qrc similarity index 100% rename from resources.qrc rename to resources/resources.qrc diff --git a/design-viewer/src/dv_base.cpp b/src/backend.cpp similarity index 59% rename from design-viewer/src/dv_base.cpp rename to src/backend.cpp index 26f9361..ff4726e 100644 --- a/design-viewer/src/dv_base.cpp +++ b/src/backend.cpp @@ -23,30 +23,72 @@ ** ****************************************************************************/ -#ifndef DV_UTILS_H -#define DV_UTILS_H +#include "backend.h" -#include "dv_base.h" - -#include <QtGui/private/qzipreader_p.h> +#if !defined(Q_OS_WASM) #include <QBuffer> -#include <QCoreApplication> #include <QDirIterator> +#include <QEventLoop> +#include <QFileInfo> +#include <QGuiApplication> +#include <QMessageBox> +#include <QNetworkReply> +#include <QQuickItem> #include <QRandomGenerator> #include <QRegularExpression> #include <QResource> +#include <QSslSocket> #include <QTemporaryDir> #include <QTemporaryFile> +#include <QtGui/private/qzipreader_p.h> + +#define QSTRN QString::number + +Backend::Backend(QObject *parent) +{ + const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry(); + + printLog("Qt Design Viewer"); + printLog("System information:"); + printLog("-- Qt version: " + QString(QT_VERSION_STR)); + printLog("-- OpenSSL support: " + QVariant(QSslSocket::supportsSsl()).toString()); + printLog("-- Screen height: " + QSTRN(screenGeometry.height())); + printLog("-- Screen width: " + QSTRN(screenGeometry.width())); + + m_buildInfo = QCoreApplication::applicationVersion() + "\n" + "Qt " + QString(QT_VERSION_STR) + + "\n" + "OpenSSL support: " + QVariant(QSslSocket::supportsSsl()).toString(); + emit buildInfoChanged(); + printLog("Initialization complete"); +} -QString DvBase::unpackProject(const QByteArray &project, bool extractZip) +void Backend::printLog(const QString &log) +{ + qDebug() << log; + m_logs += log + "\n"; + emit logsChanged(); +} + +void Backend::printWarn(const QString &warn) +{ + printLog("WARN: " + warn); +} + +void Backend::printError(const QString &error, const QString &fileName, int line) +{ + printLog(QString(error) + .prepend("ERROR: ") + .append(" (") + .append(fileName) + .append(":") + .append(QSTRN(line)) + .append(")")); +} + +QString Backend::unpackProject(const QByteArray &project, bool extractZip) { -#if defined(Q_OS_WASM) - QString projectLocation = "/home/web_user/"; -#else QTemporaryDir tempDir("qmlprojector"); QString projectLocation = tempDir.path(); -#endif if (extractZip) { QDir().mkpath(projectLocation); @@ -98,15 +140,15 @@ QString DvBase::unpackProject(const QByteArray &project, bool extractZip) return projectLocation; } -QString DvBase::findFile(const QString &dir, const QString &filter) +QString Backend::findFile(const QString &dir, const QString &filter) { QDirIterator it(dir, {filter}, QDir::Files, QDirIterator::Subdirectories); return it.next(); } -void DvBase::parseQmlprojectFile(const QString &fileName, - QString *mainFile, - QStringList *importPaths) +void Backend::parseQmlprojectFile(const QString &fileName, + QString *mainFile, + QStringList *importPaths) { /* if filename comes from a resource, then qml need qrc:/ at the mainfile and importPaths. * But all other c++ call like QFileInfo::exists do not understand that, there we @@ -158,7 +200,7 @@ void DvBase::parseQmlprojectFile(const QString &fileName, } } -bool DvBase::runProject(const QByteArray &projectData, const QString &projectName) +bool Backend::runProject(const QByteArray &projectData, const QString &projectName) { const QString projectLocation = unpackProject(projectData); printLog("Final project location: " + projectLocation); @@ -260,8 +302,124 @@ bool DvBase::runProject(const QByteArray &projectData, const QString &projectNam view->setResizeMode(QQuickView::SizeViewToRootObject); m_quickWindow->setBaseSize(QSize(contentItem->width(), contentItem->height())); } + return true; +} + +void Backend::showWarning(const QString &message) +{ + QMessageBox msg(QMessageBox::Warning, "Warning", message, QMessageBox::Ok); + msg.exec(); +} + +QSharedPointer<QNetworkReply> Backend::fetchResource(const QString &url) +{ + printLog("Fetching resource from " + url); + + QNetworkRequest request(url); + request.setRawHeader("Authorization", "test"); + QSharedPointer<QNetworkReply> reply(m_nam.get(request)); + QObject::connect(reply.data(), + &QNetworkReply::sslErrors, + this, + [&](const QList<QSslError> &errors) { + printErr(errors.first().errorString()); + }); + + QEventLoop loop; + QObject::connect(reply.data(), &QNetworkReply::finished, &loop, &QEventLoop::quit); + QObject::connect(reply.data(), + &QNetworkReply::downloadProgress, + this, + [&](qint64 bytesReceived, qint64 bytesTotal) { + float percentage = roundf((float) bytesReceived / (float) bytesTotal * 100); + printLog("Download progress " + QSTRN(percentage) + "% - " + + QSTRN(bytesReceived) + "/" + QSTRN(bytesTotal)); + }); + loop.exec(); + + if (reply->error() != QNetworkReply::NoError) { + printErr(reply->errorString()); + } else { + printLog("Resource fetched successfully"); + } + + return reply; +} + +void Backend::orientateWindow(Qt::ScreenOrientation orientation) +{ + QQuickItem *contentItem = m_quickWindow->contentItem(); + QQuickItem *childItem{contentItem->childItems().at(0)}; + const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry(); + + printLog("Adapting orientation. Initial sizing:"); + printLog("-- Screen size: " + QSTRN(screenGeometry.height()) + " x " + + QSTRN(screenGeometry.width())); + printLog("-- Quick window size: " + QSTRN(m_quickWindow->height()) + " x " + + QSTRN(m_quickWindow->width())); + printLog("-- Child size: " + QSTRN(childItem->height()) + " x " + QSTRN(childItem->width())); + printLog("-- Child pos: " + QSTRN(childItem->x()) + ", " + QSTRN(childItem->y())); + printLog("-- Child scale: " + QSTRN(childItem->scale())); + + printLog("Calculating the new size and scale..."); + + const QSizeF newContentSize = childItem->size().scaled(screenGeometry.size().toSizeF(), + Qt::AspectRatioMode::KeepAspectRatio); + + const qreal newScale = newContentSize.height() / childItem->size().height(); + const qreal newX = (childItem->width() - screenGeometry.width()) / -2.0f; + const qreal newY = (childItem->height() - screenGeometry.height()) / -2.0f; + + childItem->setScale(newScale); + childItem->setPosition(QPointF(newX, newY)); + + printLog("-- Calculated item height: " + QSTRN(newContentSize.height())); + printLog("-- Calculated item width: " + QSTRN(newContentSize.width())); + printLog("-- Calculated item scale: " + QSTRN(newScale)); + printLog("-- Calculated item pos..: " + QSTRN(newX) + "," + QSTRN(newY)); + + printLog("Final Sizing:"); + printLog("-- Child height: " + QSTRN(childItem->height())); + printLog("-- Child width: " + QSTRN(childItem->width())); + printLog("-- Child scale: " + QSTRN(childItem->scale())); + printLog("-- Child pos-x: " + QSTRN(childItem->x())); + printLog("-- Child pos-y: " + QSTRN(childItem->y())); +} + +void Backend::showAppWindow() +{ + QScreen *screen = QGuiApplication::primaryScreen(); + QObject::connect(screen, &QScreen::orientationChanged, this, &Backend::orientateWindow); + orientateWindow(screen->orientation()); + + printLog("Initializing and showing the QML app window"); + + m_quickWindow->show(); +} + +void Backend::downloadAndRun(const QString &url) +{ + printLog("========================="); + printLog("Fetching a new project..."); + + QString projectUrl = url; + if (projectUrl.startsWith("https://designviewer.qt.io/#")) { + projectUrl = projectUrl.split("#").at(1); + projectUrl.prepend("https://designviewer.qt.io/qmlprojects/"); + } + + auto reply = fetchResource(projectUrl); + if (reply->error() != QNetworkReply::NoError) { + printErr("Could not fetch project"); + return; + } + + if (!runProject(reply->readAll(), QFileInfo(url).baseName())) { + printErr("Could not run project"); + return; + } showAppWindow(); - return true; } -#endif // DV_UTILS_H + +#endif // !defined(Q_OS_WASM) diff --git a/design-viewer/src/dv_android.h b/src/backend.h similarity index 69% rename from design-viewer/src/dv_android.h rename to src/backend.h index 4d7be49..fb540b9 100644 --- a/design-viewer/src/dv_android.h +++ b/src/backend.h @@ -26,25 +26,22 @@ #ifndef DV_ANDROID_H #define DV_ANDROID_H -#include <QLabel> -#include <QLineEdit> #include <QNetworkAccessManager> -#include <QPushButton> -#include <QScrollArea> -#include <QStringList> -#include <QVBoxLayout> -#include <QWidget> +#include <QQmlComponent> +#include <QQmlEngine> +#include <QQuickView> +#include <QQuickWindow> -#include "dv_base.h" +#define printErr(x) printError(x, __FILE_NAME__, __LINE__) -class DvAndroid : public DvBase +class Backend : public QObject { Q_OBJECT Q_PROPERTY(QString logs READ logs NOTIFY logsChanged) Q_PROPERTY(QString buildInfo READ buildInfo NOTIFY buildInfoChanged) public: - bool initialize() override; + explicit Backend(QObject *parent = nullptr); QString logs() const { return m_logs; } QString buildInfo() const { return m_buildInfo; } @@ -53,19 +50,29 @@ private: QString m_logs; QString m_buildInfo; + // Qml related members + QQmlEngine m_qmlEngine; + QQmlComponent m_qmlComponent{&m_qmlEngine}; + QScopedPointer<QQuickWindow> m_quickWindow; + // Other members QNetworkAccessManager m_nam; + QByteArray m_projectData; + QString m_projectPath; - void printLog(const QString &message) override; - void printWarn(const QString &message) override; - void printError(const QString &message, const QString &fileName, int line) override; - void showAppWindow() override; - + // member logger functions + void printLog(const QString &message); + void printWarn(const QString &message); + void printError(const QString &message, const QString &fileName, int line); void showWarning(const QString &message); - void showFatalMessageAndDie(const QStringList &message); - QSharedPointer<QNetworkReply> fetchResource(const QString &url); - void printSysInfo(); + void showAppWindow(); + + QSharedPointer<QNetworkReply> fetchResource(const QString &url); + QString unpackProject(const QByteArray &project, bool extractZip = false); + QString findFile(const QString &dir, const QString &filter); + void parseQmlprojectFile(const QString &fileName, QString *mainFile, QStringList *importPaths); + bool runProject(const QByteArray &projectData, const QString &projectName); signals: void logsChanged(); diff --git a/design-viewer/src/main.cpp b/src/main.cpp similarity index 88% rename from design-viewer/src/main.cpp rename to src/main.cpp index 624ad99..2a053c0 100644 --- a/design-viewer/src/main.cpp +++ b/src/main.cpp @@ -28,8 +28,7 @@ #include <QQmlContext> #include <QSurfaceFormat> -#include "dv_android.h" -#include "dv_wasm.h" +#include "backend.h" int main(int argc, char *argv[]) { @@ -38,27 +37,17 @@ int main(int argc, char *argv[]) QSurfaceFormat format = QSurfaceFormat::defaultFormat(); format.setVersion(3, 0); QSurfaceFormat::setDefaultFormat(format); - QScopedPointer<DvBase> dv; QCoreApplication::setApplicationVersion(QString("Built on %1 %2").arg(__DATE__, __TIME__)); - -#ifdef Q_OS_WASM - QGuiApplication app(argc, argv); - - dv.reset(new DvWasm); -#else QApplication app(argc, argv); QApplication::setApplicationName(QStringLiteral("Qt Design Viewer")); - dv.reset(new DvAndroid); + Backend backend; + QQuickView view; - view.engine()->rootContext()->setContextProperty("backend", dv.data()); + view.engine()->rootContext()->setContextProperty("backend", &backend); view.setSource(QUrl(QStringLiteral("qrc:/main.qml"))); view.show(); -#endif - - if (!dv->initialize()) - return -1; return app.exec(); } -- GitLab