diff --git a/CMakeLists.txt b/CMakeLists.txt index 683e13c7..2c39b46c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,14 @@ project( HOMEPAGE_URL "https://screen-play.app/" LANGUAGES CXX) +if(WIN32) + set(VCPKG_ARCH "x64-windows") +elseif(UNIX AND NOT APPLE) + set(VCPKG_ARCH "x64-linux") +elseif(APPLE) + set(VCPKG_ARCH "x64-osx") +endif() + # This sets cmake to compile all dlls into the main directory set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) @@ -35,13 +43,6 @@ endif() file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) -if(WIN32) - set(VCPKG_ARCH "x64-windows") -elseif(UNIX AND NOT APPLE) - set(VCPKG_ARCH "x64-linux") -elseif(APPLE) - set(VCPKG_ARCH "x64-osx") -endif() add_compile_definitions(COMPILE_INFO="Build Date: ${BUILD_DATE}. Git Hash: ${GIT_COMMIT_HASH}. ") add_compile_definitions(SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/ScreenPlay/CMakeLists.txt b/ScreenPlay/CMakeLists.txt index 6326be20..43940426 100644 --- a/ScreenPlay/CMakeLists.txt +++ b/ScreenPlay/CMakeLists.txt @@ -111,6 +111,140 @@ set(TS_FILES translations/ScreenPlay_vi_VN.ts translations/ScreenPlay_zh_CN.ts) +set(RESOURCES + assets/WorkshopPreview.html + assets/icons/app.ico + assets/icons/brand_github.svg + assets/icons/brand_gitlab.svg + assets/icons/brand_twitch.svg + assets/icons/brand_twitter.svg + assets/icons/exclamation-triangle-solid.svg + assets/icons/font-awsome/close.svg + assets/icons/font-awsome/frown-o.svg + assets/icons/icon_arrow_left.svg + assets/icons/icon_arrow_right.svg + assets/icons/icon_build.svg + assets/icons/icon_cake.afdesign + assets/icons/icon_cake.svg + assets/icons/icon_close.svg + assets/icons/icon_code.svg + assets/icons/icon_community.svg + assets/icons/icon_delete.svg + assets/icons/icon_document.svg + assets/icons/icon_done.svg + assets/icons/icon_download.svg + assets/icons/icon_emptyWidget.svg + assets/icons/icon_folder_open.svg + assets/icons/icon_forum.svg + assets/icons/icon_hand_left.svg + assets/icons/icon_hand_right.svg + assets/icons/icon_heavy_metal.svg + assets/icons/icon_help_center.svg + assets/icons/icon_indicator_down.svg + assets/icons/icon_info.svg + assets/icons/icon_installed.svg + assets/icons/icon_launch.svg + assets/icons/icon_library_music.svg + assets/icons/icon_local_movies.svg + assets/icons/icon_logo_head.svg + assets/icons/icon_monitor.svg + assets/icons/icon_movie.svg + assets/icons/icon_multiple_images.svg + assets/icons/icon_new_releases.svg + assets/icons/icon_open_in_new.svg + assets/icons/icon_pause.svg + assets/icons/icon_people.svg + assets/icons/icon_play.svg + assets/icons/icon_plus.svg + assets/icons/icon_report_problem.svg + assets/icons/icon_scene.svg + assets/icons/icon_screen.svg + assets/icons/icon_search.svg + assets/icons/icon_settings.svg + assets/icons/icon_share.svg + assets/icons/icon_single_image.svg + assets/icons/icon_steam.svg + assets/icons/icon_supervisor_account.svg + assets/icons/icon_thumb_down.svg + assets/icons/icon_thumb_up.svg + assets/icons/icon_time.svg + assets/icons/icon_tv.svg + assets/icons/icon_upload.svg + assets/icons/icon_volume.svg + assets/icons/icon_volume_mute.svg + assets/icons/icon_volume_up.svg + assets/icons/icon_widgets.svg + assets/icons/icon_window.svg + assets/icons/monitor_setup.svg + assets/images/Intro.png + assets/images/Intro_PC.png + assets/images/Intro_shine.png + assets/images/Window.svg + assets/images/mask_round.svg + assets/images/mask_workshop.png + assets/images/missingPreview.png + assets/images/noisy-texture-3.png + assets/images/noisy-texture.png + assets/licenses/Apache2.txt + assets/licenses/OFL.txt + assets/particle/backgroundGlow.png + assets/particle/dot.png + assets/shader/movingcolorramp.fsh + assets/startinfo/blender.png + assets/startinfo/flaticon.png + assets/startinfo/forums.png + assets/startinfo/freesound.png + assets/startinfo/gimp.png + assets/startinfo/git_extentions.png + assets/startinfo/gitlab.png + assets/startinfo/godot.png + assets/startinfo/handbreak.png + assets/startinfo/inkscape.png + assets/startinfo/kdeenlive.png + assets/startinfo/krita.png + assets/startinfo/obs.png + assets/startinfo/qml_online.png + assets/startinfo/reddit.png + assets/startinfo/shadertoy.png + assets/startinfo/sharex.png + assets/startinfo/unsplash.png + assets/startinfo/vscode.png + assets/wizards/License_All_Rights_Reserved_1.0.txt + assets/wizards/License_Apache_2.0.txt + assets/wizards/License_CC0_1.0.txt + assets/wizards/License_CC_Attribution-NonCommercial-ShareAlike_4.0.txt + assets/wizards/License_CC_Attribution-ShareAlike_4.0.txt + assets/wizards/License_CC_Attribution_4.0.txt + assets/wizards/License_GPL_3.0.txt + assets/wizards/example_html.png + assets/wizards/example_qml.png + legal/DataProtection.txt + "legal/Font Awesome Free License.txt" + legal/OFL.txt + legal/OpenSSL.txt + "legal/Qt LGPLv3.txt" + legal/gpl-3.0.txt + legal/lgpl-2.1.txt + profiles.json + qtquickcontrols2.conf + assets/images/Early_Access.png + assets/icons/icon_sort-up-solid.svg + assets/icons/icon_sort-down-solid.svg + assets/icons/brand_reddit.svg + assets/icons/steam_default_avatar.png + assets/macos/app.screenplay.plist + assets/icons/item_banner_new.svg + qml/Create/WizardsFiles/HTMLWallpaperMain.html + qml/Create/WizardsFiles/HTMLWidgetMain.html + assets/icons/icon_minimize.svg + assets/icons/icon_video_settings_black_24dp.svg + qml/Create/WizardsFiles/QMLWallpaperMain.qml + qml/Create/WizardsFiles/QMLWidgetMain.qml + assets/icons/font-awsome/patreon-brands.svg + assets/images/steam_offline.png + assets/images/scale_window_indicator.png +) + # Needed on macos find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) @@ -133,9 +267,6 @@ find_package( LinguistTools Test) -qt_add_resources(RESOURCES Resources.qrc) -qt_add_big_resources(FONTS fonts.qrc) - add_library(ScreenPlayApp STATIC) target_include_directories(ScreenPlayApp PUBLIC src/ inc/public/ScreenPlay) @@ -153,6 +284,8 @@ qt_add_qml_module( SOURCES ${SOURCES} ${HEADER} + RESOURCES + ${RESOURCES} ) target_link_libraries( ScreenPlayApp @@ -166,9 +299,7 @@ target_link_libraries( Qt6::Svg ScreenPlayUtil ScreenPlayUtilplugin - SteamSDKQtEnums - ${RESOURCES} - ${FONTS}) + SteamSDKQtEnums) if(${SCREENPLAY_STEAM}) target_compile_definitions(ScreenPlayApp PRIVATE SCREENPLAY_STEAM=1) @@ -207,6 +338,13 @@ target_include_directories( PUBLIC inc/public/ PRIVATE src/) +if(WIN32 OR UNIX AND NOT APPLE) + include(CopyRecursive) + set(FONTS_OUT_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/assets/fonts) + file(MAKE_DIRECTORY ${FONTS_OUT_DIR}) + copy_recursive(${CMAKE_CURRENT_SOURCE_DIR}/assets/fonts ${FONTS_OUT_DIR} "*.ttf") + copy_recursive(${CMAKE_CURRENT_SOURCE_DIR}/assets/fonts ${FONTS_OUT_DIR} "*.otf") +endif() if(WIN32) target_link_libraries(ScreenPlayApp PUBLIC sentry::sentry) diff --git a/ScreenPlay/Resources.qrc b/ScreenPlay/Resources.qrc deleted file mode 100644 index 18c4ad32..00000000 --- a/ScreenPlay/Resources.qrc +++ /dev/null @@ -1,135 +0,0 @@ - - - assets/WorkshopPreview.html - assets/icons/app.ico - assets/icons/brand_github.svg - assets/icons/brand_gitlab.svg - assets/icons/brand_twitch.svg - assets/icons/brand_twitter.svg - assets/icons/exclamation-triangle-solid.svg - assets/icons/font-awsome/close.svg - assets/icons/font-awsome/frown-o.svg - assets/icons/icon_arrow_left.svg - assets/icons/icon_arrow_right.svg - assets/icons/icon_build.svg - assets/icons/icon_cake.afdesign - assets/icons/icon_cake.svg - assets/icons/icon_close.svg - assets/icons/icon_code.svg - assets/icons/icon_community.svg - assets/icons/icon_delete.svg - assets/icons/icon_document.svg - assets/icons/icon_done.svg - assets/icons/icon_download.svg - assets/icons/icon_emptyWidget.svg - assets/icons/icon_folder_open.svg - assets/icons/icon_forum.svg - assets/icons/icon_hand_left.svg - assets/icons/icon_hand_right.svg - assets/icons/icon_heavy_metal.svg - assets/icons/icon_help_center.svg - assets/icons/icon_indicator_down.svg - assets/icons/icon_info.svg - assets/icons/icon_installed.svg - assets/icons/icon_launch.svg - assets/icons/icon_library_music.svg - assets/icons/icon_local_movies.svg - assets/icons/icon_logo_head.svg - assets/icons/icon_monitor.svg - assets/icons/icon_movie.svg - assets/icons/icon_multiple_images.svg - assets/icons/icon_new_releases.svg - assets/icons/icon_open_in_new.svg - assets/icons/icon_pause.svg - assets/icons/icon_people.svg - assets/icons/icon_play.svg - assets/icons/icon_plus.svg - assets/icons/icon_report_problem.svg - assets/icons/icon_scene.svg - assets/icons/icon_screen.svg - assets/icons/icon_search.svg - assets/icons/icon_settings.svg - assets/icons/icon_share.svg - assets/icons/icon_single_image.svg - assets/icons/icon_steam.svg - assets/icons/icon_supervisor_account.svg - assets/icons/icon_thumb_down.svg - assets/icons/icon_thumb_up.svg - assets/icons/icon_time.svg - assets/icons/icon_tv.svg - assets/icons/icon_upload.svg - assets/icons/icon_volume.svg - assets/icons/icon_volume_mute.svg - assets/icons/icon_volume_up.svg - assets/icons/icon_widgets.svg - assets/icons/icon_window.svg - assets/icons/monitor_setup.svg - assets/images/Intro.png - assets/images/Intro_PC.png - assets/images/Intro_shine.png - assets/images/Window.svg - assets/images/mask_round.svg - assets/images/mask_workshop.png - assets/images/missingPreview.png - assets/images/noisy-texture-3.png - assets/images/noisy-texture.png - assets/licenses/Apache2.txt - assets/licenses/OFL.txt - assets/particle/backgroundGlow.png - assets/particle/dot.png - assets/shader/movingcolorramp.fsh - assets/startinfo/blender.png - assets/startinfo/flaticon.png - assets/startinfo/forums.png - assets/startinfo/freesound.png - assets/startinfo/gimp.png - assets/startinfo/git_extentions.png - assets/startinfo/gitlab.png - assets/startinfo/godot.png - assets/startinfo/handbreak.png - assets/startinfo/inkscape.png - assets/startinfo/kdeenlive.png - assets/startinfo/krita.png - assets/startinfo/obs.png - assets/startinfo/qml_online.png - assets/startinfo/reddit.png - assets/startinfo/shadertoy.png - assets/startinfo/sharex.png - assets/startinfo/unsplash.png - assets/startinfo/vscode.png - assets/wizards/License_All_Rights_Reserved_1.0.txt - assets/wizards/License_Apache_2.0.txt - assets/wizards/License_CC0_1.0.txt - assets/wizards/License_CC_Attribution-NonCommercial-ShareAlike_4.0.txt - assets/wizards/License_CC_Attribution-ShareAlike_4.0.txt - assets/wizards/License_CC_Attribution_4.0.txt - assets/wizards/License_GPL_3.0.txt - assets/wizards/example_html.png - assets/wizards/example_qml.png - legal/DataProtection.txt - legal/Font Awesome Free License.txt - legal/OFL.txt - legal/OpenSSL.txt - legal/Qt LGPLv3.txt - legal/gpl-3.0.txt - legal/lgpl-2.1.txt - profiles.json - qtquickcontrols2.conf - assets/images/Early_Access.png - assets/icons/icon_sort-up-solid.svg - assets/icons/icon_sort-down-solid.svg - assets/icons/brand_reddit.svg - assets/icons/steam_default_avatar.png - assets/macos/app.screenplay.plist - assets/icons/item_banner_new.svg - qml/Create/WizardsFiles/HTMLWallpaperMain.html - qml/Create/WizardsFiles/HTMLWidgetMain.html - assets/icons/icon_minimize.svg - assets/icons/icon_video_settings_black_24dp.svg - qml/Create/WizardsFiles/QMLWallpaperMain.qml - qml/Create/WizardsFiles/QMLWidgetMain.qml - assets/icons/font-awsome/patreon-brands.svg - assets/images/steam_offline.png - assets/images/scale_window_indicator.png - - diff --git a/ScreenPlay/fonts.qrc b/ScreenPlay/fonts.qrc deleted file mode 100644 index 76558247..00000000 --- a/ScreenPlay/fonts.qrc +++ /dev/null @@ -1,15 +0,0 @@ - - - assets/fonts/LibreBaskerville-Italic.ttf - assets/fonts/NotoSans-Light.ttf - assets/fonts/NotoSans-Medium.ttf - assets/fonts/NotoSans-Regular.ttf - assets/fonts/NotoSans-Thin.ttf - assets/fonts/NotoSansCJKkr-Regular.otf - assets/fonts/Roboto-Light.ttf - assets/fonts/Roboto-Regular.ttf - assets/fonts/Roboto-Thin.ttf - assets/fonts/RobotoMono-Light.ttf - assets/fonts/RobotoMono-Thin.ttf - - diff --git a/ScreenPlay/main.cpp b/ScreenPlay/main.cpp index 2a25c9ad..e9724644 100644 --- a/ScreenPlay/main.cpp +++ b/ScreenPlay/main.cpp @@ -49,7 +49,6 @@ Q_IMPORT_QML_PLUGIN(ScreenPlayWorkshopPlugin) int main(int argc, char* argv[]) { - Q_INIT_RESOURCE(Resources); QApplication qtGuiApp(argc, argv); diff --git a/ScreenPlay/main.qml b/ScreenPlay/main.qml index 2ce0f9cb..c5333817 100644 --- a/ScreenPlay/main.qml +++ b/ScreenPlay/main.qml @@ -297,7 +297,7 @@ ApplicationWindow { margins: 1 } Image { - source: "qrc:/assets/images/scale_window_indicator.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/scale_window_indicator.png" } MouseArea { id: maResize diff --git a/ScreenPlay/qml/Community/Community.qml b/ScreenPlay/qml/Community/Community.qml index c8aae13a..cf0d7795 100644 --- a/ScreenPlay/qml/Community/Community.qml +++ b/ScreenPlay/qml/Community/Community.qml @@ -46,7 +46,7 @@ Item { Button { text: qsTr("News") onClicked: Qt.openUrlExternally("https://screen-play.app/blog/") - icon.source: "qrc:/assets/icons/icon_document.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_document.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -56,7 +56,7 @@ Item { text: qsTr("Wiki") onClicked: Qt.openUrlExternally( "https://kelteseth.gitlab.io/ScreenPlayDocs/") - icon.source: "qrc:/assets/icons/icon_help_center.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_help_center.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -66,7 +66,7 @@ Item { text: qsTr("Forum") onClicked: Qt.openUrlExternally( "https://forum.screen-play.app/") - icon.source: "qrc:/assets/icons/icon_forum.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_forum.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -76,7 +76,7 @@ Item { text: qsTr("Reddit") onClicked: Qt.openUrlExternally( "https://www.reddit.com/r/ScreenPlayApp/") - icon.source: "qrc:/assets/icons/brand_reddit.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/brand_reddit.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -86,7 +86,7 @@ Item { text: qsTr("Issue Tracker") onClicked: Qt.openUrlExternally( "https://gitlab.com/kelteseth/ScreenPlay/-/issues") - icon.source: "qrc:/assets/icons/icon_report_problem.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_report_problem.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -96,7 +96,7 @@ Item { text: qsTr("Contribute") onClicked: Qt.openUrlExternally( "https://gitlab.com/kelteseth/ScreenPlay#general-contributing") - icon.source: "qrc:/assets/icons/icon_supervisor_account.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_supervisor_account.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter @@ -105,7 +105,7 @@ Item { Button { text: qsTr("Steam Workshop") onClicked: Qt.openUrlExternally("steam://url/GameHub/672870") - icon.source: "qrc:/assets/icons/icon_steam.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_steam.svg" icon.width: 14 icon.height: 14 Layout.alignment: Qt.AlignVCenter diff --git a/ScreenPlay/qml/Community/CommunityNavItem.qml b/ScreenPlay/qml/Community/CommunityNavItem.qml index c972b6ea..ba7af1e7 100644 --- a/ScreenPlay/qml/Community/CommunityNavItem.qml +++ b/ScreenPlay/qml/Community/CommunityNavItem.qml @@ -49,7 +49,7 @@ TabButton { ToolButton { opacity: 0.6 width: parent.width * 0.2 - icon.source: "qrc:/assets/icons/icon_open_in_new.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_open_in_new.svg" icon.width: 16 icon.height: 16 onClicked: Qt.openUrlExternally(control.openLink) diff --git a/ScreenPlay/qml/Create/StartInfo.qml b/ScreenPlay/qml/Create/StartInfo.qml index a689c523..957c6979 100644 --- a/ScreenPlay/qml/Create/StartInfo.qml +++ b/ScreenPlay/qml/Create/StartInfo.qml @@ -70,7 +70,7 @@ Item { model: ListModel { ListElement { text: "Subreddit" - image: "qrc:/assets/startinfo/reddit.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/reddit.png" link: "https://www.reddit.com/r/ScreenPlayApp/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit." category: "Community" @@ -78,7 +78,7 @@ Item { ListElement { text: "Forums" - image: "qrc:/assets/startinfo/forums.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/forums.png" link: "https://forum.screen-play.app/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit." category: "Community" @@ -86,7 +86,7 @@ Item { ListElement { text: "QML Online Editor" - image: "qrc:/assets/startinfo/qml_online.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/qml_online.png" link: "https://qmlonline.kde.org/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit." category: "Tools" @@ -94,7 +94,7 @@ Item { ListElement { text: "Godot" - image: "qrc:/assets/startinfo/godot.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/godot.png" link: "https://godotengine.org/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit." category: "Tools" @@ -102,7 +102,7 @@ Item { ListElement { text: "Handbreak" - image: "qrc:/assets/startinfo/handbreak.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/handbreak.png" link: "https://handbrake.fr/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes," category: "Tools" @@ -110,7 +110,7 @@ Item { ListElement { text: "Blender" - image: "qrc:/assets/startinfo/blender.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/blender.png" link: "https://www.blender.org/" description: "" category: "Tools" @@ -118,7 +118,7 @@ Item { ListElement { text: "OBS Studio" - image: "qrc:/assets/startinfo/obs.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/obs.png" link: "https://obsproject.com/" description: "" category: "Tools" @@ -126,7 +126,7 @@ Item { ListElement { text: "Krita" - image: "qrc:/assets/startinfo/krita.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/krita.png" link: "https://krita.org/" description: "" category: "Tools" @@ -134,7 +134,7 @@ Item { ListElement { text: "Gimp" - image: "qrc:/assets/startinfo/gimp.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/gimp.png" link: "https://gimp.org/" description: "" category: "Tools" @@ -142,7 +142,7 @@ Item { ListElement { text: "Inscape" - image: "qrc:/assets/startinfo/inkscape.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/inkscape.png" link: "https://inkscape.org/" description: "" category: "Tools" @@ -150,7 +150,7 @@ Item { ListElement { text: "Kdenlive" - image: "qrc:/assets/startinfo/kdeenlive.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/kdeenlive.png" link: "https://kdenlive.org/" description: "" category: "Tools" @@ -158,7 +158,7 @@ Item { ListElement { text: "ShareX" - image: "qrc:/assets/startinfo/sharex.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/sharex.png" link: "https://getsharex.com/" description: "" category: "Tools" @@ -166,7 +166,7 @@ Item { ListElement { text: "GitLab" - image: "qrc:/assets/startinfo/gitlab.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/gitlab.png" link: "https://about.gitlab.com/" description: "" category: "Tools" @@ -174,7 +174,7 @@ Item { ListElement { text: "Git Extensions - Git UI for Windows" - image: "qrc:/assets/startinfo/git_extentions.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/git_extentions.png" link: "https://gitextensions.github.io/" description: "" category: "Tools" @@ -182,7 +182,7 @@ Item { ListElement { text: "Visual Studio Code" - image: "qrc:/assets/startinfo/vscode.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/vscode.png" link: "https://code.visualstudio.com/" description: "" category: "Tools" @@ -190,7 +190,7 @@ Item { ListElement { text: "Shadertoy" - image: "qrc:/assets/startinfo/shadertoy.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/shadertoy.png" link: "https://www.shadertoy.com/" description: "" category: "Resources" @@ -198,7 +198,7 @@ Item { ListElement { text: "Flaticon" - image: "qrc:/assets/startinfo/flaticon.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/flaticon.png" link: "https://www.flaticon.com/" description: "" category: "Resources" @@ -206,7 +206,7 @@ Item { ListElement { text: "Unsplash" - image: "qrc:/assets/startinfo/unsplash.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/unsplash.png" link: "https://unsplash.com/" description: "" category: "Resources" @@ -214,7 +214,7 @@ Item { ListElement { text: "FreeSound" - image: "qrc:/assets/startinfo/freesound.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/freesound.png" link: "https://freesound.org/" description: "" category: "Resources" diff --git a/ScreenPlay/qml/Create/Wizards/GifWallpaper.qml b/ScreenPlay/qml/Create/Wizards/GifWallpaper.qml index a543674b..7c11bcb6 100644 --- a/ScreenPlay/qml/Create/Wizards/GifWallpaper.qml +++ b/ScreenPlay/qml/Create/Wizards/GifWallpaper.qml @@ -72,7 +72,7 @@ WizardPage { anchors.fill: parent fillMode: Image.Tile opacity: 0.2 - source: "qrc:/assets/images/noisy-texture-3.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/noisy-texture-3.png" } Text { diff --git a/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml b/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml index de59342f..c35492d9 100644 --- a/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml +++ b/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml @@ -48,7 +48,7 @@ WizardPage { Image { id: imgPreview - source: "qrc:/assets/wizards/example_html.png" + source: "qrc:/qml/ScreenPlayApp/assets/wizards/example_html.png" anchors.fill: parent fillMode: Image.PreserveAspectCrop } diff --git a/ScreenPlay/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml b/ScreenPlay/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml index c60cc36f..37704a93 100644 --- a/ScreenPlay/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml +++ b/ScreenPlay/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml @@ -95,7 +95,7 @@ Item { Common.Slider { id: sliderQuality - iconSource: "qrc:/assets/icons/icon_settings.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/icon_settings.svg" headline: qsTr("Quality slider. Lower value means better quality.") Layout.preferredWidth: 400 @@ -114,7 +114,7 @@ Item { text: qsTr("Open Documentation") Material.accent: Material.color(Material.LightGreen) highlighted: true - icon.source: "qrc:/assets/icons/icon_document.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_document.svg" icon.color: "white" icon.width: 16 icon.height: 16 diff --git a/ScreenPlay/qml/Create/Wizards/ImportWebm/ImportWebmInit.qml b/ScreenPlay/qml/Create/Wizards/ImportWebm/ImportWebmInit.qml index d79d1e0c..2d23c08a 100644 --- a/ScreenPlay/qml/Create/Wizards/ImportWebm/ImportWebmInit.qml +++ b/ScreenPlay/qml/Create/Wizards/ImportWebm/ImportWebmInit.qml @@ -89,7 +89,7 @@ Item { anchors.fill: parent fillMode: Image.Tile opacity: 0.2 - source: "qrc:/assets/images/noisy-texture-3.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/noisy-texture-3.png" } Text { @@ -120,7 +120,7 @@ Item { StartInfoLinkImage { text: "Handbreak" - image: "qrc:/assets/startinfo/handbreak.png" + image: "qrc:/qml/ScreenPlayApp/assets/startinfo/handbreak.png" link: "https://handbrake.fr/" description: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes," category: "Tools" @@ -141,7 +141,7 @@ Item { text: qsTr("Open Documentation") Material.accent: Material.color(Material.LightGreen) highlighted: true - icon.source: "qrc:/assets/icons/icon_document.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_document.svg" icon.color: "white" icon.width: 16 icon.height: 16 diff --git a/ScreenPlay/qml/Create/Wizards/Importh264/Importh264Init.qml b/ScreenPlay/qml/Create/Wizards/Importh264/Importh264Init.qml index 11499629..3dc35f37 100644 --- a/ScreenPlay/qml/Create/Wizards/Importh264/Importh264Init.qml +++ b/ScreenPlay/qml/Create/Wizards/Importh264/Importh264Init.qml @@ -92,7 +92,7 @@ Item { anchors.fill: parent fillMode: Image.Tile opacity: 0.2 - source: "qrc:/assets/images/noisy-texture-3.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/noisy-texture-3.png" } Text { @@ -122,7 +122,7 @@ Item { text: qsTr("Open Documentation") Material.accent: Material.color(Material.LightGreen) highlighted: true - icon.source: "qrc:/assets/icons/icon_document.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_document.svg" icon.color: "white" icon.width: 16 icon.height: 16 diff --git a/ScreenPlay/qml/Create/Wizards/QMLWidget.qml b/ScreenPlay/qml/Create/Wizards/QMLWidget.qml index fc9117ea..23005d30 100644 --- a/ScreenPlay/qml/Create/Wizards/QMLWidget.qml +++ b/ScreenPlay/qml/Create/Wizards/QMLWidget.qml @@ -48,7 +48,7 @@ WizardPage { Image { id: imgPreview - source: "qrc:/assets/wizards/example_qml.png" + source: "qrc:/qml/ScreenPlayApp/assets/wizards/example_qml.png" anchors.fill: parent fillMode: Image.PreserveAspectCrop } diff --git a/ScreenPlay/qml/Installed/Installed.qml b/ScreenPlay/qml/Installed/Installed.qml index 802ffba8..997ea971 100644 --- a/ScreenPlay/qml/Installed/Installed.qml +++ b/ScreenPlay/qml/Installed/Installed.qml @@ -270,7 +270,7 @@ Item { MenuItem { text: qsTr("Open containing folder") objectName: "openFolder" - icon.source: "qrc:/assets/icons/icon_folder_open.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_folder_open.svg" onClicked: { App.util.openFolderInExplorer( contextMenu.absoluteStoragePath) @@ -280,7 +280,7 @@ Item { MenuItem { text: enabled ? qsTr("Remove Item") : qsTr("Remove via Workshop") objectName: enabled ? "removeItem" : "removeWorkshopItem" - icon.source: "qrc:/assets/icons/icon_delete.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_delete.svg" enabled: contextMenu.publishedFileID === 0 onClicked: { deleteDialog.open() @@ -290,7 +290,7 @@ Item { MenuItem { text: qsTr("Open Workshop Page") enabled: contextMenu.publishedFileID !== 0 - icon.source: "qrc:/assets/icons/icon_steam.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_steam.svg" onClicked: { Qt.openUrlExternally( "steam://url/CommunityFilePage/" + contextMenu.publishedFileID) diff --git a/ScreenPlay/qml/Installed/InstalledNavigation.qml b/ScreenPlay/qml/Installed/InstalledNavigation.qml index 696f8320..4d0b179e 100644 --- a/ScreenPlay/qml/Installed/InstalledNavigation.qml +++ b/ScreenPlay/qml/Installed/InstalledNavigation.qml @@ -61,7 +61,7 @@ Item { icon.width: 16 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_installed.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_installed.svg" onClicked: { setSidebarActive(false) App.installedListFilter.sortBySearchType( @@ -77,7 +77,7 @@ Item { icon.width: 16 width: implicitWidth height: parent.height - icon.source: "qrc:/assets/icons/icon_code.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_code.svg" onClicked: { setSidebarActive(false) App.installedListFilter.sortBySearchType( @@ -93,7 +93,7 @@ Item { icon.width: 16 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_movie.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_movie.svg" onClicked: { setSidebarActive(false) App.installedListFilter.sortBySearchType( @@ -109,7 +109,7 @@ Item { icon.width: 16 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_widgets.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_widgets.svg" onClicked: { setSidebarActive(false) App.installedListFilter.sortBySearchType( @@ -137,7 +137,7 @@ Item { property int sortOrder: Qt.DescendingOrder - icon.source: (btnSortOrder.sortOrder === Qt.AscendingOrder) ? "qrc:/assets/icons/icon_sort-down-solid.svg" : "qrc:/assets/icons/icon_sort-up-solid.svg" + icon.source: (btnSortOrder.sortOrder === Qt.AscendingOrder) ? "qrc:/qml/ScreenPlayApp/assets/icons/icon_sort-down-solid.svg" : "qrc:/qml/ScreenPlayApp/assets/icons/icon_sort-up-solid.svg" icon.width: 12 icon.height: 12 hoverEnabled: true diff --git a/ScreenPlay/qml/Installed/InstalledWelcomeScreen.qml b/ScreenPlay/qml/Installed/InstalledWelcomeScreen.qml index d73937cb..448843a9 100644 --- a/ScreenPlay/qml/Installed/InstalledWelcomeScreen.qml +++ b/ScreenPlay/qml/Installed/InstalledWelcomeScreen.qml @@ -20,7 +20,7 @@ Item { Image { id: imgBg - source: "qrc:/assets/images/Intro.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/Intro.png" anchors.fill: parent } @@ -37,7 +37,7 @@ Item { Image { id: imgShine - source: "qrc:/assets/images/Intro_shine.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/Intro_shine.png" height: 1753 width: 1753 opacity: 0 @@ -59,7 +59,7 @@ Item { Image { id: imgLogo - source: "qrc:/assets/images/Early_Access.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/Early_Access.png" width: 539 height: 148 sourceSize: Qt.size(width, height) @@ -96,7 +96,7 @@ Item { Image { id: imgPC - source: "qrc:/assets/images/Intro_PC.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/Intro_PC.png" width: 500 * 0.8 height: 500 * 0.8 sourceSize: Qt.size(width, height) @@ -119,7 +119,7 @@ Item { font.weight: Font.Thin width: implicitWidth + 20 height: implicitHeight + 10 - icon.source: "qrc:/assets/icons/icon_steam.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_steam.svg" icon.width: 18 icon.height: 18 onClicked: helperButtonPressed(1) diff --git a/ScreenPlay/qml/Installed/ScreenPlayItem.qml b/ScreenPlay/qml/Installed/ScreenPlayItem.qml index bab9ec8c..33cc2981 100644 --- a/ScreenPlay/qml/Installed/ScreenPlayItem.qml +++ b/ScreenPlay/qml/Installed/ScreenPlayItem.qml @@ -25,15 +25,15 @@ Item { height: 180 onTypeChanged: { if (Common.JSUtil.isWidget(type)) { - icnType.source = "qrc:/assets/icons/icon_widgets.svg" + icnType.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_widgets.svg" return } if (Common.JSUtil.isScene(type)) { - icnType.source = "qrc:/assets/icons/icon_code.svg" + icnType.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_code.svg" return } if (Common.JSUtil.isVideo(type)) { - icnType.source = "qrc:/assets/icons/icon_movie.svg" + icnType.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_movie.svg" return } } @@ -118,7 +118,7 @@ Item { Image { id: mask - source: "qrc:/assets/images/Window.svg" + source: "qrc:/qml/ScreenPlayApp/assets/images/Window.svg" sourceSize: Qt.size(root.width, root.height) visible: false smooth: true @@ -164,7 +164,7 @@ Item { width: 20 height: 20 opacity: 0.25 - source: "qrc:/assets/icons/icon_movie.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_movie.svg" sourceSize: Qt.size(20, 20) anchors { diff --git a/ScreenPlay/qml/Installed/ScreenPlayItemImage.qml b/ScreenPlay/qml/Installed/ScreenPlayItemImage.qml index 429e7deb..7e1c4d4d 100644 --- a/ScreenPlay/qml/Installed/ScreenPlayItemImage.qml +++ b/ScreenPlay/qml/Installed/ScreenPlayItemImage.qml @@ -32,15 +32,15 @@ Item { fillMode: Image.PreserveAspectCrop source: { if (root.sourceImage === "") - return "qrc:/assets/images/missingPreview.png"; + return "qrc:/qml/ScreenPlayApp/assets/images/missingPreview.png"; - return root.screenPreview === "" ? "qrc:/assets/images/missingPreview.png" : Qt.resolvedUrl(absoluteStoragePath + "/" + root.sourceImage); + return root.screenPreview === "" ? "qrc:/qml/ScreenPlayApp/assets/images/missingPreview.png" : Qt.resolvedUrl(absoluteStoragePath + "/" + root.sourceImage); } onStatusChanged: { if (image.status === Image.Ready) { root.state = "loaded"; } else if (image.status === Image.Error) { - source = "qrc:/assets/images/missingPreview.png"; + source = "qrc:/qml/ScreenPlayApp/assets/images/missingPreview.png"; root.state = "loaded"; } } @@ -54,7 +54,7 @@ Item { asynchronous: true playing: true - source: root.sourceImageGIF === "" ? "qrc:/assets/images/missingPreview.png" : Qt.resolvedUrl(absoluteStoragePath + "/" + root.sourceImageGIF) + source: root.sourceImageGIF === "" ? "qrc:/qml/ScreenPlayApp/assets/images/missingPreview.png" : Qt.resolvedUrl(absoluteStoragePath + "/" + root.sourceImageGIF) fillMode: Image.PreserveAspectCrop } diff --git a/ScreenPlay/qml/Installed/Sidebar.qml b/ScreenPlay/qml/Installed/Sidebar.qml index 3b158b9d..1329533e 100644 --- a/ScreenPlay/qml/Installed/Sidebar.qml +++ b/ScreenPlay/qml/Installed/Sidebar.qml @@ -42,10 +42,10 @@ Item { txtHeadline.text = App.installedListModel.get(root.contentFolderName).m_title; const hasPreviewGif = App.installedListModel.get(root.contentFolderName).m_previewGIF !== undefined; if (!hasPreviewGif) { - image.source = Qt.resolvedUrl(App.GlobalVariables.localStoragePath + "/" + root.contentFolderName + "/" + App.installedListModel.get(root.contentFolderName).m_preview); + image.source = Qt.resolvedUrl(App.globalVariables.localStoragePath + "/" + root.contentFolderName + "/" + App.installedListModel.get(root.contentFolderName).m_preview); image.playing = false; } else { - image.source = Qt.resolvedUrl(App.GlobalVariables.localStoragePath + "/" + root.contentFolderName + "/" + App.installedListModel.get(root.contentFolderName).m_previewGIF); + image.source = Qt.resolvedUrl(App.globalVariables.localStoragePath + "/" + root.contentFolderName + "/" + App.installedListModel.get(root.contentFolderName).m_previewGIF); image.playing = true; } if (Common.JSUtil.isWidget(root.type) || (monitorSelection.activeMonitors.length > 0)) { @@ -170,7 +170,7 @@ Item { anchors.fill: parent onStatusChanged: { if (image.status === Image.Error) - source = "qrc:/assets/images/missingPreview.png"; + source = "qrc:/qml/ScreenPlayApp/assets/images/missingPreview.png"; } } @@ -238,7 +238,7 @@ Item { Image { id: imgBack - source: "qrc:/assets/icons/icon_arrow_right.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_arrow_right.svg" sourceSize: Qt.size(15, 15) fillMode: Image.PreserveAspectFit anchors.centerIn: parent @@ -364,12 +364,12 @@ Item { Material.background: Material.accent Material.foreground: "white" font.family: App.settings.font - icon.source: "qrc:/assets/icons/icon_plus.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_plus.svg" icon.color: "white" icon.width: 16 icon.height: 16 onClicked: { - const absoluteStoragePath = App.GlobalVariables.localStoragePath + "/" + root.contentFolderName; + const absoluteStoragePath = App.globalVariables.localStoragePath + "/" + root.contentFolderName; const previewImage = App.installedListModel.get(root.contentFolderName).m_preview; if (Common.JSUtil.isWallpaper(root.type)) { let activeMonitors = monitorSelection.getActiveMonitors(); diff --git a/ScreenPlay/qml/Monitors/Monitors.qml b/ScreenPlay/qml/Monitors/Monitors.qml index 481492be..5d54be17 100644 --- a/ScreenPlay/qml/Monitors/Monitors.qml +++ b/ScreenPlay/qml/Monitors/Monitors.qml @@ -244,7 +244,7 @@ Common.Popup { height: width icon.width: 16 icon.height: 16 - icon.source: "qrc:/assets/icons/font-awsome/close.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/font-awsome/close.svg" icon.color: Material.iconColor onClicked: root.close() diff --git a/ScreenPlay/qml/Navigation/Navigation.qml b/ScreenPlay/qml/Navigation/Navigation.qml index d989e82c..56a78fef 100644 --- a/ScreenPlay/qml/Navigation/Navigation.qml +++ b/ScreenPlay/qml/Navigation/Navigation.qml @@ -91,7 +91,7 @@ Rectangle { font.pointSize: 12 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_plus.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_plus.svg" onClicked: { root.onPageChanged("Create") } @@ -108,7 +108,7 @@ Rectangle { font.pointSize: 12 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_steam.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_steam.svg" onClicked: { root.onPageChanged("Workshop") } @@ -124,7 +124,7 @@ Rectangle { font.pointSize: 12 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_installed.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_installed.svg" onClicked: { root.onPageChanged("Installed") } @@ -140,7 +140,7 @@ Rectangle { font.pointSize: 12 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_community.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_community.svg" onClicked: { root.onPageChanged("Community") } @@ -156,7 +156,7 @@ Rectangle { font.pointSize: 12 height: parent.height width: implicitWidth - icon.source: "qrc:/assets/icons/icon_settings.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_settings.svg" onClicked: { root.onPageChanged("Settings") } @@ -186,7 +186,7 @@ Rectangle { } ToolButton { - icon.source: "qrc:/assets/icons/font-awsome/patreon-brands.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/font-awsome/patreon-brands.svg" text: qsTr("Support me on Patreon!") onClicked: Qt.openUrlExternally( "https://www.patreon.com/ScreenPlayApp") @@ -215,7 +215,7 @@ Rectangle { ToolButton { id: miMuteAll Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_volume.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume.svg" icon.width: root.iconWidth icon.height: root.iconHeight enabled: quickActionRow.contentActive @@ -224,11 +224,11 @@ Rectangle { property bool soundEnabled: true onSoundEnabledChanged: { if (miMuteAll.soundEnabled) { - miMuteAll.icon.source = "qrc:/assets/icons/icon_volume.svg" + miMuteAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume.svg" App.screenPlayManager.setAllWallpaperValue("muted", "false") } else { - miMuteAll.icon.source = "qrc:/assets/icons/icon_volume_mute.svg" + miMuteAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume_mute.svg" App.screenPlayManager.setAllWallpaperValue("muted", "true") } @@ -242,18 +242,18 @@ Rectangle { id: miStopAll enabled: quickActionRow.contentActive Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_pause.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_pause.svg" icon.width: root.iconWidth icon.height: root.iconHeight onClicked: isPlaying = !isPlaying property bool isPlaying: true onIsPlayingChanged: { if (miStopAll.isPlaying) { - miStopAll.icon.source = "qrc:/assets/icons/icon_pause.svg" + miStopAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_pause.svg" App.screenPlayManager.setAllWallpaperValue( "isPlaying", "true") } else { - miStopAll.icon.source = "qrc:/assets/icons/icon_play.svg" + miStopAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_play.svg" App.screenPlayManager.setAllWallpaperValue( "isPlaying", "false") } @@ -267,7 +267,7 @@ Rectangle { id: miCloseAll enabled: quickActionRow.contentActive Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_close.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_close.svg" icon.width: root.iconWidth icon.height: root.iconHeight onClicked: { @@ -285,7 +285,7 @@ Rectangle { ToolButton { id: miConfig Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_video_settings_black_24dp.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_video_settings_black_24dp.svg" icon.width: root.iconWidth icon.height: root.iconHeight onClicked: App.util.setToggleWallpaperConfiguration() diff --git a/ScreenPlay/qml/Navigation/WindowNavigation.qml b/ScreenPlay/qml/Navigation/WindowNavigation.qml index 69185fb6..3ad08401 100644 --- a/ScreenPlay/qml/Navigation/WindowNavigation.qml +++ b/ScreenPlay/qml/Navigation/WindowNavigation.qml @@ -47,7 +47,7 @@ Rectangle { } onPositionChanged: { if (mouseArea.pressed) { - let pos = ScreenPlay.cursorPos() + let pos = App.cursorPos() window.setX(pos.x - clickPos.x) window.setY(pos.y - clickPos.y) } @@ -64,13 +64,13 @@ Rectangle { WindowNavButton { id: miMinimize Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_minimize.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_minimize.svg" onClicked: root.window.hide() } WindowNavButton { id: miquit Layout.alignment: Qt.AlignVCenter - icon.source: "qrc:/assets/icons/icon_close.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_close.svg" onClicked: { if (App.screenPlayManager.activeWallpaperCounter === 0 && App.screenPlayManager.activeWidgetsCounter === 0) { diff --git a/ScreenPlay/qml/Settings/Settings.qml b/ScreenPlay/qml/Settings/Settings.qml index 12d16d25..6e026b4b 100644 --- a/ScreenPlay/qml/Settings/Settings.qml +++ b/ScreenPlay/qml/Settings/Settings.qml @@ -249,7 +249,7 @@ Item { id: headerPerformance text: qsTr("Performance") - image: "qrc:/assets/icons/icon_build.svg" + image: "qrc:/qml/ScreenPlayApp/assets/icons/icon_build.svg" } contentItem: Column { @@ -319,7 +319,7 @@ Item { id: headerAbout text: qsTr("About") - image: "qrc:/assets/icons/icon_cake.svg" + image: "qrc:/qml/ScreenPlayApp/assets/icons/icon_cake.svg" } contentItem: Column { @@ -399,31 +399,31 @@ Item { } GrowIconLink { - iconSource: "qrc:/assets/icons/brand_github.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/brand_github.svg" url: "https://github.com/kelteseth" color: "#333333" } GrowIconLink { - iconSource: "qrc:/assets/icons/brand_gitlab.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/brand_gitlab.svg" url: "https://gitlab.com/kelteseth" color: "#FC6D26" } GrowIconLink { - iconSource: "qrc:/assets/icons/brand_twitter.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/brand_twitter.svg" url: "https://twitter.com/Kelteseth" color: "#1DA1F2" } GrowIconLink { - iconSource: "qrc:/assets/icons/brand_twitch.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/brand_twitch.svg" url: "https://www.twitch.tv/kelteseth/" color: "#6441A5" } GrowIconLink { - iconSource: "qrc:/assets/icons/brand_reddit.svg" + iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/brand_reddit.svg" url: "https://www.reddit.com/r/ScreenPlayApp/" color: "#FF4500" } @@ -449,7 +449,7 @@ Item { Image { id: mask - source: "qrc:/assets/images/mask_round.svg" + source: "qrc:/qml/ScreenPlayApp/assets/images/mask_round.svg" sourceSize: Qt.size(width, height) smooth: true width: 120 @@ -471,7 +471,7 @@ Item { SettingsHorizontalSeperator {} SettingsButton { - icon.source: "qrc:/assets/icons/icon_launch.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_launch.svg" headline: qsTr("Version") description: qsTr("ScreenPlay Build Version \n") + App.settings.gitBuildHash diff --git a/ScreenPlay/qml/Settings/SettingsHeader.qml b/ScreenPlay/qml/Settings/SettingsHeader.qml index d370fd56..eff2342c 100644 --- a/ScreenPlay/qml/Settings/SettingsHeader.qml +++ b/ScreenPlay/qml/Settings/SettingsHeader.qml @@ -9,7 +9,7 @@ Item { property color background: "#FFAB00" property string text: "HEADLINE" - property url image: "qrc:/assets/icons/icon_settings.svg" + property url image: "qrc:/qml/ScreenPlayApp/assets/icons/icon_settings.svg" state: "out" Component.onCompleted: state = "in" diff --git a/ScreenPlay/qml/Workshop/Workshop.qml b/ScreenPlay/qml/Workshop/Workshop.qml index ecbbc15d..7868710d 100644 --- a/ScreenPlay/qml/Workshop/Workshop.qml +++ b/ScreenPlay/qml/Workshop/Workshop.qml @@ -15,11 +15,11 @@ Item { Component.onCompleted: { if (App.settings.steamVersion) { workshopLoader.setSource( - "qrc:/ScreenPlayWorkshop/qml/SteamWorkshop.qml", { + "qrc:/qml/ScreenPlayWorkshop/qml/SteamWorkshop.qml", { "modalSource": modalSource }) } else { - workshopLoader.setSource("qrc:/ScreenPlayWorkshop/qml/Forum.qml") + workshopLoader.setSource("qrc:/qml/ScreenPlayWorkshop/qml/Forum.qml") } } diff --git a/ScreenPlay/src/app.cpp b/ScreenPlay/src/app.cpp index 716f46bf..0cd2c8d8 100644 --- a/ScreenPlay/src/app.cpp +++ b/ScreenPlay/src/app.cpp @@ -58,27 +58,24 @@ App::App() m_continuousIntegrationMetricsTimer.start(); - QGuiApplication::setWindowIcon(QIcon(":/assets/icons/app.ico")); + QGuiApplication::setWindowIcon(QIcon(":/qml/ScreenPlayApp/assets/icons/app.ico")); QGuiApplication::setOrganizationName("ScreenPlay"); QGuiApplication::setOrganizationDomain("screen-play.app"); QGuiApplication::setApplicationName("ScreenPlay"); QGuiApplication::setApplicationVersion(QVersionNumber(0, 15, 0).toString()); QGuiApplication::setQuitOnLastWindowClosed(false); - QFontDatabase::addApplicationFont(":/assets/fonts/LibreBaskerville-Italic.ttf"); - - QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Light.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Regular.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Thin.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Light.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Thin.ttf"); - - QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Thin.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Regular.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Medium.ttf"); - QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Light.ttf"); - - QFontDatabase::addApplicationFont(":/assets/fonts/NotoSansCJKkr-Regular.otf"); + QFontDatabase::addApplicationFont(":/qml/ScreenPlayApp/assets/fonts/LibreBaskerville-Italic.ttf"); + const QString fontsPath = QGuiApplication::instance()->applicationDirPath() + "/assets/fonts/"; + const QDir fontsDir(fontsPath); + if (!fontsDir.isEmpty() && fontsDir.exists()) { + QDirIterator it(fontsPath, { "*.ttf", "*.otf" }, QDir::Files); + while (it.hasNext()) { + QFontDatabase::addApplicationFont(it.next()); + } + } else { + qWarning() << "Unable to load font from: " << fontsPath; + } QQuickWindow::setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering); @@ -191,7 +188,6 @@ void App::init() qmlRegisterSingletonInstance("ScreenPlay", 1, 0, "App", this); m_mainWindowEngine->addImportPath(guiApplication->applicationDirPath() + "/qml"); guiApplication->addLibraryPath(guiApplication->applicationDirPath()); - qInfo() << m_mainWindowEngine->importPathList(); if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) { setupKDE(); diff --git a/ScreenPlay/src/settings.cpp b/ScreenPlay/src/settings.cpp index b829c980..75e75ca0 100644 --- a/ScreenPlay/src/settings.cpp +++ b/ScreenPlay/src/settings.cpp @@ -121,7 +121,7 @@ void Settings::writeJsonFileFromResource(const QString& filename) if (!directory.exists()) { directory.mkpath(directory.path()); } - QFile defaultSettings(":/" + filename + ".json"); + QFile defaultSettings(":/qml/ScreenPlayApp/" + filename + ".json"); file.open(QIODevice::WriteOnly | QIODevice::Text); defaultSettings.open(QIODevice::ReadOnly | QIODevice::Text); diff --git a/ScreenPlay/src/util.cpp b/ScreenPlay/src/util.cpp index 2f3855b6..ff689f16 100644 --- a/ScreenPlay/src/util.cpp +++ b/ScreenPlay/src/util.cpp @@ -108,7 +108,7 @@ QString Util::toLocal(const QString& url) */ void Util::Util::requestAllLicenses() { - if (m_requestAllLicensesFuture.isStarted()) + if (m_requestAllLicensesFuture.isRunning()) return; m_requestAllLicensesFuture = QtConcurrent::run([this]() { @@ -116,32 +116,32 @@ void Util::Util::requestAllLicenses() QFile file; QTextStream out(&file); - file.setFileName(":/legal/Font Awesome Free License.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/Font Awesome Free License.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); - file.setFileName(":/legal/gpl-3.0.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/gpl-3.0.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); - file.setFileName(":/legal/gpl-3.0.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/gpl-3.0.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); - file.setFileName(":/legal/OFL.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/OFL.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); - file.setFileName(":/legal/OpenSSL.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/OpenSSL.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); - file.setFileName(":/legal/Qt LGPLv3.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/Qt LGPLv3.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); @@ -160,7 +160,7 @@ void Util::Util::requestDataProtection() QFile file; QTextStream out(&file); - file.setFileName(":/legal/DataProtection.txt"); + file.setFileName(":/qml/ScreenPlayApp/legal/DataProtection.txt"); file.open(QIODevice::ReadOnly | QIODevice::Text); tmp += out.readAll(); file.close(); diff --git a/ScreenPlay/src/wizards.cpp b/ScreenPlay/src/wizards.cpp index 8d0b9ba8..dffff319 100644 --- a/ScreenPlay/src/wizards.cpp +++ b/ScreenPlay/src/wizards.cpp @@ -54,7 +54,7 @@ void Wizards::createQMLWidget(const QString& title, obj.insert("type", "qmlWidget"); obj.insert("file", "main.qml"); - if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + if (!Util::writeFileFromQrc(":/qml/ScreenPlayApp/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { qWarning() << "Could not write " << licenseFile; emit widgetCreationFinished(WizardResult::WriteLicenseFileError); return; @@ -120,7 +120,7 @@ void Wizards::createHTMLWidget(const QString& title, obj.insert("type", "htmlWidget"); obj.insert("file", "index.html"); - if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + if (!Util::writeFileFromQrc(":/qml/ScreenPlayApp/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { qWarning() << "Could not write " << licenseFile; emit widgetCreationFinished(WizardResult::WriteLicenseFileError); return; @@ -188,7 +188,7 @@ void Wizards::createHTMLWallpaper( obj.insert("type", "htmlWallpaper"); obj.insert("file", "index.html"); - if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + if (!Util::writeFileFromQrc(":/qml/ScreenPlayApp/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { qWarning() << "Could not write " << licenseFile; emit widgetCreationFinished(WizardResult::WriteLicenseFileError); return; @@ -262,7 +262,7 @@ void Wizards::createQMLWallpaper( } } - if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + if (!Util::writeFileFromQrc(":/qml/ScreenPlayApp/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { qWarning() << "Could not write " << licenseFile; emit widgetCreationFinished(WizardResult::WriteLicenseFileError); return; @@ -315,7 +315,7 @@ void Wizards::createGifWallpaper( obj.insert("tags", ScreenPlayUtil::fillArray(tags)); obj.insert("type", "gifWallpaper"); - if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + if (!Util::writeFileFromQrc(":/qml/ScreenPlayApp/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { qWarning() << "Could not write " << licenseFile; emit widgetCreationFinished(WizardResult::WriteLicenseFileError); return; diff --git a/ScreenPlay/tests/tst_main.cpp b/ScreenPlay/tests/tst_main.cpp index 3b20bf70..2d87d482 100644 --- a/ScreenPlay/tests/tst_main.cpp +++ b/ScreenPlay/tests/tst_main.cpp @@ -54,12 +54,13 @@ class ScreenPlayTest : public QObject { private slots: void initTestCase() { - Q_INIT_RESOURCE(Resources); app.init(); - m_window = qobject_cast(app.mainWindowEngine()->rootObjects().first()); + m_window = qobject_cast(app.mainWindowEngine()->rootObjects().first()); + + m_window->addImportPath(QGuiApplication::instance()->applicationDirPath() + "/qml"); QVERIFY(m_window); - QVERIFY(QTest::qWaitForWindowExposed(m_window)); + //QVERIFY(QTest::qWaitForWindowExposed(m_window.)); QTest::qWait(1000); m_installedSidebar = m_window->findChild("installedSidebar"); @@ -72,7 +73,7 @@ private slots: void import_convert_video(); private: - QQuickWindow* m_window = nullptr; + QQmlApplicationEngine* m_window = nullptr; QQuickItem* m_installedSidebar = nullptr; ScreenPlay::App app; }; diff --git a/ScreenPlayShader.zip b/ScreenPlayShader.zip new file mode 100644 index 00000000..e9d28a3b Binary files /dev/null and b/ScreenPlayShader.zip differ diff --git a/ScreenPlayShader/CMakeLists.txt b/ScreenPlayShader/CMakeLists.txt index bd2e59a0..5a694c1a 100644 --- a/ScreenPlayShader/CMakeLists.txt +++ b/ScreenPlayShader/CMakeLists.txt @@ -42,6 +42,7 @@ qt_add_qml_module( ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} URI ${PROJECT_NAME} + RESOURCE_PREFIX /qml VERSION 1.0 SOURCES diff --git a/ScreenPlayShader/Resources.qrc b/ScreenPlayShader/Resources.qrc deleted file mode 100644 index a2d123b7..00000000 --- a/ScreenPlayShader/Resources.qrc +++ /dev/null @@ -1,9 +0,0 @@ - - - assets/Shadertoy_Bayer.png - assets/Shadertoy_Gray_Noise_Medium.png - assets/Shadertoy_Lichen.jpg - assets/test_image_andras-vas-Bd7gNnWJBkU-unsplash.jpg - assets/mask_01.png - - diff --git a/ScreenPlayShader/src/TestMain.cpp b/ScreenPlayShader/src/TestMain.cpp index 0ad0c82c..ca308a72 100644 --- a/ScreenPlayShader/src/TestMain.cpp +++ b/ScreenPlayShader/src/TestMain.cpp @@ -9,9 +9,11 @@ int main(int argc, char* argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; + engine.addImportPath(QGuiApplication::instance()->applicationDirPath() + "/qml"); + // The first subfolder is the libraryName followed by the regular // folder strucutre: LibararyName/Subfolder - const QUrl url(u"qrc:/ScreenPlayShader/src/TestMain.qml"_qs); + const QUrl url(u"qrc:/qml/ScreenPlayShader/src/TestMain.qml"_qs); QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject* obj, const QUrl& objUrl) { diff --git a/ScreenPlayShader/src/TestMain.qml b/ScreenPlayShader/src/TestMain.qml index 3afd779f..b96c5c84 100644 --- a/ScreenPlayShader/src/TestMain.qml +++ b/ScreenPlayShader/src/TestMain.qml @@ -2,6 +2,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls import QtQuick.Controls.Material +import ScreenPlayShader 1.0 Window { id: root @@ -14,7 +15,7 @@ Window { id: img anchors.fill: parent fillMode: Image.PreserveAspectCrop - source: "qrc:/ScreenPlayShader/assets/test_image_andras-vas-Bd7gNnWJBkU-unsplash.jpg" + source: "qrc:/qml/ScreenPlayShader/assets/test_image_andras-vas-Bd7gNnWJBkU-unsplash.jpg" layer.enabled: true layer.effect: ShaderEffect { property real amplitude: 0.04 * .1 diff --git a/ScreenPlaySysInfo/CMakeLists.txt b/ScreenPlaySysInfo/CMakeLists.txt index 7cd8196e..ee59d6fe 100644 --- a/ScreenPlaySysInfo/CMakeLists.txt +++ b/ScreenPlaySysInfo/CMakeLists.txt @@ -14,7 +14,7 @@ find_package( COMPONENTS Quick Core REQUIRED) -set(QML src/TestMain.qml) +set(QML qml/TestMain.qml) set(QML_PLUGIN_SOURCES src/cpu.cpp @@ -50,7 +50,8 @@ qt_add_qml_module( VERSION 1.0 OUTPUT_DIRECTORY - ${CMAKE_BINARY_DIR}/bin/${PROJECT_NAME} + ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} + RESOURCE_PREFIX /qml QML_FILES ${QML} SOURCES diff --git a/ScreenPlaySysInfo/src/TestMain.qml b/ScreenPlaySysInfo/qml/TestMain.qml similarity index 100% rename from ScreenPlaySysInfo/src/TestMain.qml rename to ScreenPlaySysInfo/qml/TestMain.qml diff --git a/ScreenPlaySysInfo/src/TestMain.cpp b/ScreenPlaySysInfo/src/TestMain.cpp index 2148af2d..e68585ed 100644 --- a/ScreenPlaySysInfo/src/TestMain.cpp +++ b/ScreenPlaySysInfo/src/TestMain.cpp @@ -12,9 +12,11 @@ int main(int argc, char* argv[]) QGuiApplication app(argc, argv); QQmlApplicationEngine engine; + engine.addImportPath(app.applicationDirPath() + "/qml"); + // The first subfolder is the libraryName followed by the regular // folder strucutre: LibararyName/Subfolder - const QUrl url(u"qrc:/ScreenPlaySysInfo/src/TestMain.qml"_qs); + const QUrl url(u"qrc:/qml/ScreenPlaySysInfo/qml/TestMain.qml"_qs); QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject* obj, const QUrl& objUrl) { diff --git a/ScreenPlayUtil/CMakeLists.txt b/ScreenPlayUtil/CMakeLists.txt index d0927b31..90a437ee 100644 --- a/ScreenPlayUtil/CMakeLists.txt +++ b/ScreenPlayUtil/CMakeLists.txt @@ -62,6 +62,7 @@ qt_add_qml_module( ${PROJECT_NAME} OUTPUT_DIRECTORY ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} + RESOURCE_PREFIX /qml URI ${PROJECT_NAME} VERSION diff --git a/ScreenPlayUtil/qml/Dialogs/CriticalError.qml b/ScreenPlayUtil/qml/Dialogs/CriticalError.qml index 547a0c8c..616a6f00 100644 --- a/ScreenPlayUtil/qml/Dialogs/CriticalError.qml +++ b/ScreenPlayUtil/qml/Dialogs/CriticalError.qml @@ -42,7 +42,7 @@ Common.Dialog { Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: 150 Layout.preferredHeight: 150 - source: "qrc:/assets/icons/exclamation-triangle-solid.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/exclamation-triangle-solid.svg" fillMode: Image.PreserveAspectFit layer { diff --git a/ScreenPlayUtil/qml/Dialogs/MonitorConfiguration.qml b/ScreenPlayUtil/qml/Dialogs/MonitorConfiguration.qml index 0f796fae..5c65ee3a 100644 --- a/ScreenPlayUtil/qml/Dialogs/MonitorConfiguration.qml +++ b/ScreenPlayUtil/qml/Dialogs/MonitorConfiguration.qml @@ -30,7 +30,7 @@ Common.Dialog { Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: 150 Layout.preferredHeight: 150 - source: "qrc:/assets/icons/monitor_setup.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/monitor_setup.svg" fillMode: Image.PreserveAspectFit } diff --git a/ScreenPlayUtil/qml/GrowIconLink.qml b/ScreenPlayUtil/qml/GrowIconLink.qml index 23d1787d..ffd91b4c 100644 --- a/ScreenPlayUtil/qml/GrowIconLink.qml +++ b/ScreenPlayUtil/qml/GrowIconLink.qml @@ -21,7 +21,7 @@ Rectangle { anchors.centerIn: parent visible: false smooth: true - source: "qrc:/assets/icons/icon_info.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_info.svg" } ColorOverlay { diff --git a/ScreenPlayUtil/qml/LicenseSelector.qml b/ScreenPlayUtil/qml/LicenseSelector.qml index d5329af3..819ab669 100644 --- a/ScreenPlayUtil/qml/LicenseSelector.qml +++ b/ScreenPlayUtil/qml/LicenseSelector.qml @@ -85,13 +85,13 @@ ColumnLayout { } ToolButton { - icon.source: "qrc:/assets/icons/icon_help_center.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_help_center.svg" icon.color: Material.iconColor onClicked: toolTip.open() } ToolButton { - icon.source: "qrc:/assets/icons/icon_open_in_new.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_open_in_new.svg" icon.color: Material.iconColor onClicked: Qt.openUrlExternally(licenseModel.get(cb.currentIndex).tldrlegal) } diff --git a/ScreenPlayUtil/qml/ModalBackgroundBlur.qml b/ScreenPlayUtil/qml/ModalBackgroundBlur.qml index 9b3821b8..582987fe 100644 --- a/ScreenPlayUtil/qml/ModalBackgroundBlur.qml +++ b/ScreenPlayUtil/qml/ModalBackgroundBlur.qml @@ -21,7 +21,7 @@ FastBlur { Image { anchors.fill: parent opacity: 0.1 - source: "qrc:/assets/images/noisy-texture-3.png" + source: "qrc:/qml/ScreenPlayApp/assets/images/noisy-texture-3.png" fillMode: Image.Tile } } diff --git a/ScreenPlayUtil/qml/Search.qml b/ScreenPlayUtil/qml/Search.qml index 24e2bc1a..d24d119b 100644 --- a/ScreenPlayUtil/qml/Search.qml +++ b/ScreenPlayUtil/qml/Search.qml @@ -12,7 +12,7 @@ Item { ToolButton { id: icnSearch - icon.source: "qrc:/assets/icons/icon_search.svg" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_search.svg" height: 30 width: 30 icon.width: 30 diff --git a/ScreenPlayUtil/qml/Slider.qml b/ScreenPlayUtil/qml/Slider.qml index aa3a2a25..cd1312c9 100644 --- a/ScreenPlayUtil/qml/Slider.qml +++ b/ScreenPlayUtil/qml/Slider.qml @@ -9,7 +9,7 @@ Item { id: root property string headline: "dummyHeandline" - property string iconSource: "qrc:/assets/icons/icon_volume.svg" + property string iconSource: "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume.svg" property alias slider: slider height: 70 diff --git a/ScreenPlayUtil/qml/Tag.qml b/ScreenPlayUtil/qml/Tag.qml index 89ceb3fa..490f77c2 100644 --- a/ScreenPlayUtil/qml/Tag.qml +++ b/ScreenPlayUtil/qml/Tag.qml @@ -74,7 +74,7 @@ Item { id: name anchors.fill: parent - source: "qrc:/assets/icons/icon_close.svg" + source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_close.svg" } } diff --git a/ScreenPlayUtil/qml/TrayIcon.qml b/ScreenPlayUtil/qml/TrayIcon.qml index 3a3aa87e..3fe4b4fa 100644 --- a/ScreenPlayUtil/qml/TrayIcon.qml +++ b/ScreenPlayUtil/qml/TrayIcon.qml @@ -9,7 +9,7 @@ SystemTrayIcon { property Window window visible: true - icon.source: "qrc:/assets/icons/app.ico" + icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/app.ico" tooltip: qsTr("ScreenPlay - Double click to change you settings.") onActivated: function (reason) { switch (reason) { diff --git a/ScreenPlayWallpaper/CMakeLists.txt b/ScreenPlayWallpaper/CMakeLists.txt index 0372f6ce..b30c45c5 100644 --- a/ScreenPlayWallpaper/CMakeLists.txt +++ b/ScreenPlayWallpaper/CMakeLists.txt @@ -44,20 +44,27 @@ set(QML qml/Wallpaper.qml qml/WebsiteWallpaper.qml) -qt_add_resources(RESOURCES Resources.qrc) +set(RESOURCES + dot.png + qtquickcontrols2.conf + index.html +) -add_executable(${PROJECT_NAME} ${SOURCES} ${HEADER} ${RESOURCES}) +add_executable(${PROJECT_NAME} ${SOURCES} ${HEADER} ) qt_add_qml_module( ${PROJECT_NAME} URI - ScreenPlay.Wallpaper + ${PROJECT_NAME} VERSION 1.0 OUTPUT_DIRECTORY ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} + RESOURCE_PREFIX /qml QML_FILES - ${QML}) + ${QML} + RESOURCES + ${RESOURCES}) target_link_libraries( ${PROJECT_NAME} diff --git a/ScreenPlayWallpaper/Resources.qrc b/ScreenPlayWallpaper/Resources.qrc deleted file mode 100644 index 03416186..00000000 --- a/ScreenPlayWallpaper/Resources.qrc +++ /dev/null @@ -1,7 +0,0 @@ - - - dot.png - qtquickcontrols2.conf - index.html - - diff --git a/ScreenPlayWallpaper/qml/Wallpaper.qml b/ScreenPlayWallpaper/qml/Wallpaper.qml index c6a187b7..7f623daa 100644 --- a/ScreenPlayWallpaper/qml/Wallpaper.qml +++ b/ScreenPlayWallpaper/qml/Wallpaper.qml @@ -22,21 +22,21 @@ Rectangle { if (Qt.platform.os === "osx") { if ((Wallpaper.videoCodec === VideoCodec.VP8 || Wallpaper.videoCodec === VideoCodec.VP9)) { - loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaWebView.qml" + loader.source = "qrc:/qml/ScreenPlayWallpaper/qml/MultimediaWebView.qml" } else { - loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml" + loader.source = "qrc:/qml/ScreenPlayWallpaper/qml/MultimediaView.qml" } } if (Qt.platform.os === "windows") { - loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml" + loader.source = "qrc:/qml/ScreenPlayWallpaper/qml/MultimediaView.qml" } fadeIn() break case InstalledType.HTMLWallpaper: loader.setSource( - "qrc:/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", { + "qrc:/qml/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", { "url": Qt.resolvedUrl( Wallpaper.projectSourceFileAbsolute) }) @@ -47,13 +47,13 @@ Rectangle { break case InstalledType.WebsiteWallpaper: loader.setSource( - "qrc:/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", { + "qrc:/qml/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", { "url": Wallpaper.projectSourceFileAbsolute }) fadeIn() break case InstalledType.GifWallpaper: - loader.setSource("qrc:/ScreenPlayWallpaper/qml/GifWallpaper.qml", { + loader.setSource("qrc:/qml/ScreenPlayWallpaper/qml/GifWallpaper.qml", { "source": Qt.resolvedUrl( Wallpaper.projectSourceFileAbsolute) }) @@ -118,7 +118,7 @@ Rectangle { if (oldType === InstalledType.VideoWallpaper) return - loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml" + loader.source = "qrc:/qml/ScreenPlayWallpaper/qml/MultimediaView.qml" } target: Wallpaper diff --git a/ScreenPlayWallpaper/src/winwindow.cpp b/ScreenPlayWallpaper/src/winwindow.cpp index ab20d364..e7b62de3 100644 --- a/ScreenPlayWallpaper/src/winwindow.cpp +++ b/ScreenPlayWallpaper/src/winwindow.cpp @@ -454,7 +454,7 @@ void WinWindow::configureWindowGeometry() // Instead of setting "renderType: Text.NativeRendering" every time we can set it here once m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering); m_window.setResizeMode(QQuickView::ResizeMode::SizeRootObjectToView); - m_window.setSource(QUrl("qrc:/ScreenPlayWallpaper/qml/Wallpaper.qml")); + m_window.setSource(QUrl("qrc:/qml/ScreenPlayWallpaper/qml/Wallpaper.qml")); m_window.hide(); } diff --git a/ScreenPlayWeather/CMakeLists.txt b/ScreenPlayWeather/CMakeLists.txt index 2ececeff..9fbb9827 100644 --- a/ScreenPlayWeather/CMakeLists.txt +++ b/ScreenPlayWeather/CMakeLists.txt @@ -12,7 +12,7 @@ find_package( COMPONENTS Core Quick REQUIRED) -set(QML src/TestMain.qml) +set(QML qml/TestMain.qml) set(QML_PLUGIN_SOURCES src/screenplayweather.cpp) @@ -249,6 +249,7 @@ qt_add_qml_module( ${PROJECT_NAME} OUTPUT_DIRECTORY ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} + RESOURCE_PREFIX /qml VERSION 1.0 QML_FILES diff --git a/ScreenPlayWeather/src/TestMain.qml b/ScreenPlayWeather/qml/TestMain.qml similarity index 92% rename from ScreenPlayWeather/src/TestMain.qml rename to ScreenPlayWeather/qml/TestMain.qml index 6dc79f12..10785fce 100644 --- a/ScreenPlayWeather/src/TestMain.qml +++ b/ScreenPlayWeather/qml/TestMain.qml @@ -15,12 +15,7 @@ Window { id: weather city: "Friedrichshafen" onReady: { - rp.model = weather.days - print("onReady", weather.days.count) - // for (var i = 0; i < rp.count; i++) { - // rp.itemAt(i).day = weather.getDay(i) - // } } } function mapWeatherCode(code) { @@ -31,14 +26,14 @@ Window { // to https://erikflowers.github.io/weather-icons/ switch (code) { case 0: - return time + "-sunny" + return weather_prefix + "day-sunny" case 1: case 2: case 3: return weather_prefix + "cloud" case 45: case 48: - return weather_prefix + "sunny" + return weather_prefix + "day-sunny" case 51: case 53: case 55: @@ -117,7 +112,7 @@ Window { Image { Layout.alignment: Qt.AlignCenter horizontalAlignment: Image.AlignHCenter - source: "qrc:/ScreenPlayWeather/assets/icons/" + root.mapWeatherCode( + source: "qrc:/qml/ScreenPlayWeather/assets/icons/" + root.mapWeatherCode( weatherCode) + ".svg" } diff --git a/ScreenPlayWeather/src/TestMain.cpp b/ScreenPlayWeather/src/TestMain.cpp index 17d32359..8c567bb6 100644 --- a/ScreenPlayWeather/src/TestMain.cpp +++ b/ScreenPlayWeather/src/TestMain.cpp @@ -9,9 +9,11 @@ int main(int argc, char* argv[]) QGuiApplication app(argc, argv); QQmlApplicationEngine engine; + engine.addImportPath(app.applicationDirPath() + "/qml"); + // The first subfolder is the libraryName followed by the regular // folder strucutre: LibararyName/Subfolder - const QUrl url(u"qrc:/ScreenPlayWeather/src/TestMain.qml"_qs); + const QUrl url(u"qrc:/qml/ScreenPlayWeather/qml/TestMain.qml"_qs); QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject* obj, const QUrl& objUrl) { diff --git a/ScreenPlayWidget/CMakeLists.txt b/ScreenPlayWidget/CMakeLists.txt index 4822251d..09ac7251 100644 --- a/ScreenPlayWidget/CMakeLists.txt +++ b/ScreenPlayWidget/CMakeLists.txt @@ -61,6 +61,7 @@ qt_add_qml_module( 1.0 OUTPUT_DIRECTORY ${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME} + RESOURCE_PREFIX /qml QML_FILES ${QML} RESOURCES diff --git a/ScreenPlayWidget/src/widgetwindow.cpp b/ScreenPlayWidget/src/widgetwindow.cpp index ee2f9f7c..1983c2fc 100644 --- a/ScreenPlayWidget/src/widgetwindow.cpp +++ b/ScreenPlayWidget/src/widgetwindow.cpp @@ -68,10 +68,10 @@ WidgetWindow::WidgetWindow( qWarning() << "Cannot parse Wallpaper type from value" << m_project.value("type"); } } - + m_window.engine()->addImportPath(qGuiApp->applicationDirPath() + "/qml"); m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering); m_window.setResizeMode(QQuickView::ResizeMode::SizeViewToRootObject); - m_window.setSource(QUrl("qrc:/ScreenPlayWidget/qml/Widget.qml")); + m_window.setSource(QUrl("qrc:/qml/ScreenPlayWidget/qml/Widget.qml")); m_window.setPosition(m_position); m_window.show(); diff --git a/ScreenPlayWorkshop/CMakeLists.txt b/ScreenPlayWorkshop/CMakeLists.txt index ba5113b1..4a895451 100644 --- a/ScreenPlayWorkshop/CMakeLists.txt +++ b/ScreenPlayWorkshop/CMakeLists.txt @@ -13,7 +13,7 @@ find_package( REQUIRED) set(QML - src/TestMain.qml + qml/TestMain.qml qml/Background.qml qml/Forum.qml qml/Navigation.qml @@ -105,6 +105,7 @@ qt_add_qml_module( ${PROJECT_NAME} OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR} + RESOURCE_PREFIX /qml VERSION 1.0 QML_FILES diff --git a/ScreenPlayWorkshop/qml/SteamWorkshop.qml b/ScreenPlayWorkshop/qml/SteamWorkshop.qml index d8eaccd0..fe763531 100644 --- a/ScreenPlayWorkshop/qml/SteamWorkshop.qml +++ b/ScreenPlayWorkshop/qml/SteamWorkshop.qml @@ -16,7 +16,7 @@ Item { id: screenPlayWorkshop Component.onCompleted: { if (screenPlayWorkshop.init()) { - stackView.push("qrc:/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml", { + stackView.push("qrc:/qml/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml", { "stackView": stackView, "screenPlayWorkshop": screenPlayWorkshop, "steamWorkshop": screenPlayWorkshop.steamWorkshop, diff --git a/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml b/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml index 2ce40451..d458957c 100644 --- a/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml +++ b/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml @@ -276,7 +276,7 @@ Item { text: qsTr("Profile") onClicked: { stackView.push( - "qrc:/ScreenPlayWorkshop/qml/SteamProfile.qml", + "qrc:/qml/ScreenPlayWorkshop/qml/SteamProfile.qml", { "screenPlayWorkshop": root.screenPlayWorkshop, "steamWorkshop": root.steamWorkshop @@ -296,7 +296,7 @@ Item { text: qsTr("Upload") onClicked: { stackView.push( - "qrc:/ScreenPlayWorkshop/qml/upload/UploadProject.qml", + "qrc:/qml/ScreenPlayWorkshop/qml/upload/UploadProject.qml", { "screenPlayWorkshop": root.screenPlayWorkshop, "steamWorkshop": root.steamWorkshop diff --git a/ScreenPlayWorkshop/src/TestMain.qml b/ScreenPlayWorkshop/qml/TestMain.qml similarity index 81% rename from ScreenPlayWorkshop/src/TestMain.qml rename to ScreenPlayWorkshop/qml/TestMain.qml index e7bc0376..f891b922 100644 --- a/ScreenPlayWorkshop/src/TestMain.qml +++ b/ScreenPlayWorkshop/qml/TestMain.qml @@ -13,6 +13,6 @@ Window { Loader { anchors.fill: parent - source:"qrc:/ScreenPlayWorkshop/qml/SteamWorkshop.qml" + source:"qrc:/qml/ScreenPlayWorkshop/qml/SteamWorkshop.qml" } } diff --git a/ScreenPlayWorkshop/src/TestMain.cpp b/ScreenPlayWorkshop/src/TestMain.cpp index d9c93740..fa4f2a71 100644 --- a/ScreenPlayWorkshop/src/TestMain.cpp +++ b/ScreenPlayWorkshop/src/TestMain.cpp @@ -19,9 +19,10 @@ int main(int argc, char* argv[]) "Error: only enums"); QQmlApplicationEngine engine; + engine.addImportPath(app.applicationDirPath() + "/qml"); // The first subfolder is the libraryName followed by the regular // folder strucutre: LibararyName/Subfolder - const QUrl url(u"qrc:/ScreenPlayWorkshop/src/TestMain.qml"_qs); + const QUrl url(u"qrc:/qml/ScreenPlayWorkshop/qml/TestMain.qml"_qs); QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject* obj, const QUrl& objUrl) { diff --git a/ScreenPlayWorkshop/src/steamworkshop.cpp b/ScreenPlayWorkshop/src/steamworkshop.cpp index cc8d8f52..46b6912b 100644 --- a/ScreenPlayWorkshop/src/steamworkshop.cpp +++ b/ScreenPlayWorkshop/src/steamworkshop.cpp @@ -200,20 +200,27 @@ void SteamWorkshop::searchWorkshop(const int enumEUGCQuery) if (!checkOnline()) return; - auto searchHandle = SteamUGC()->CreateQueryAllUGCRequest( + if (m_searchHandle != 0) { + qInfo() << "Invalid m_searchHandle"; + return; + } + + auto m_searchHandle = SteamUGC()->CreateQueryAllUGCRequest( static_cast(enumEUGCQuery), EUGCMatchingUGCType::k_EUGCMatchingUGCType_Items, m_appID, m_appID, m_workshopListModel->currentPage()); + qInfo() << m_searchHandle; + m_workshopListModel->clear(); //Important: First send the request to get the Steam API Call then set the handler - SteamUGC()->SetReturnAdditionalPreviews(searchHandle, true); - SteamUGC()->SetReturnKeyValueTags(searchHandle, true); - SteamUGC()->SetReturnLongDescription(searchHandle, true); - m_steamUGCQuerySearchWorkshopResult.Set(SteamUGC()->SendQueryUGCRequest(searchHandle), this, &SteamWorkshop::onWorkshopSearched); + SteamUGC()->SetReturnAdditionalPreviews(m_searchHandle, true); + SteamUGC()->SetReturnKeyValueTags(m_searchHandle, true); + SteamUGC()->SetReturnLongDescription(m_searchHandle, true); + m_steamUGCQuerySearchWorkshopResult.Set(SteamUGC()->SendQueryUGCRequest(m_searchHandle), this, &SteamWorkshop::onWorkshopSearched); } void SteamWorkshop::onWorkshopSearched(SteamUGCQueryCompleted_t* pCallback, bool bIOFailure) @@ -222,6 +229,8 @@ void SteamWorkshop::onWorkshopSearched(SteamUGCQueryCompleted_t* pCallback, bool qWarning() << "onWorkshopSearched ioFailure"; return; } + + qInfo() << "onWorkshopSearched" << m_searchHandle; queryWorkshopItemFromHandle(m_workshopListModel.get(), pCallback); } @@ -302,8 +311,11 @@ bool SteamWorkshop::queryWorkshopItemFromHandle(SteamWorkshopListModel* listMode } } + qInfo() << m_searchHandle << pCallback->m_handle; SteamUGC()->ReleaseQueryUGCRequest(pCallback->m_handle); + qInfo() << m_searchHandle << pCallback->m_handle; + emit workshopSearchCompleted(results); return true; } diff --git a/ScreenPlayWorkshop/src/steamworkshop.h b/ScreenPlayWorkshop/src/steamworkshop.h index 17951c6e..6093a4e9 100644 --- a/ScreenPlayWorkshop/src/steamworkshop.h +++ b/ScreenPlayWorkshop/src/steamworkshop.h @@ -212,6 +212,8 @@ private: UGCQueryHandle_t m_UGCRegquestItemDetailHandle = 0; SteamAPICall_t m_UGCRegquestItemDetailCall = 0; + UGCQueryHandle_t m_searchHandle = 0; + QTimer m_pollTimer; QQueue m_bulkUploadqueue;