mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-22 02:32:29 +01:00
Refactor to use Qt6 style cmake/qml plugins
This commit is contained in:
parent
68851bafea
commit
feb9648684
@ -1,4 +0,0 @@
|
||||
---
|
||||
BasedOnStyle: WebKit
|
||||
|
||||
...
|
@ -4,16 +4,8 @@ set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(benchmark CONFIG REQUIRED)
|
||||
find_package(doctest CONFIG REQUIRED)
|
||||
|
||||
# CURL must be included before sentry because sentry needs the module and does not include it itself on macos...
|
||||
find_package(CURL CONFIG REQUIRED)
|
||||
find_package(sentry CONFIG REQUIRED)
|
||||
|
||||
set(src
|
||||
set(SOURCES
|
||||
# cmake-format: sortable
|
||||
app.cpp
|
||||
src/globalvariables.cpp
|
||||
src/createimportvideo.cpp
|
||||
@ -31,7 +23,8 @@ set(src
|
||||
src/create.cpp
|
||||
src/wizards.cpp)
|
||||
|
||||
set(headers
|
||||
set(HEADER
|
||||
# cmake-format: sortable
|
||||
app.h
|
||||
src/globalvariables.h
|
||||
src/createimportvideo.h
|
||||
@ -51,28 +44,128 @@ set(headers
|
||||
src/create.h
|
||||
src/wizards.h)
|
||||
|
||||
set(QML
|
||||
# cmake-format: sortable
|
||||
main.qml
|
||||
qml/Create/Create.qml
|
||||
qml/Create/Wizard.qml
|
||||
qml/Create/StartInfo.qml
|
||||
qml/Installed/Installed.qml
|
||||
qml/Installed/ScreenPlayItem.qml
|
||||
qml/Installed/ScreenPlayItemImage.qml
|
||||
qml/Installed/Sidebar.qml
|
||||
qml/Installed/InstalledWelcomeScreen.qml
|
||||
qml/Community/Community.qml
|
||||
qml/Community/XMLNewsfeed.qml
|
||||
qml/Settings/SettingBool.qml
|
||||
qml/Settings/Settings.qml
|
||||
qml/Settings/SettingsButton.qml
|
||||
qml/Settings/SettingsComboBox.qml
|
||||
qml/Settings/SettingsExpander.qml
|
||||
qml/Settings/SettingsHeader.qml
|
||||
qml/Settings/SettingsHorizontalSeperator.qml
|
||||
qml/Workshop/Workshop.qml
|
||||
qml/Monitors/Monitors.qml
|
||||
qml/Monitors/MonitorSelection.qml
|
||||
qml/Monitors/MonitorSelectionItem.qml
|
||||
qml/Monitors/MonitorsProjectSettingItem.qml
|
||||
qml/Navigation/Navigation.qml
|
||||
qml/Navigation/NavigationItem.qml
|
||||
qml/Navigation/NavigationWallpaperConfiguration.qml
|
||||
qml/Monitors/DefaultVideoControls.qml
|
||||
qml/Common/TagSelector.qml
|
||||
qml/Common/Tag.qml
|
||||
qml/Common/ImageSelector.qml
|
||||
qml/Common/Slider.qml
|
||||
qml/Common/RippleEffect.qml
|
||||
qml/Common/Shake.qml
|
||||
qml/Common/Grow.qml
|
||||
qml/Common/GrowIconLink.qml
|
||||
qml/Common/CloseIcon.qml
|
||||
qml/Common/Headline.qml
|
||||
qml/Settings/SettingsPage.qml
|
||||
qml/Community/CommunityNavItem.qml
|
||||
qml/Workshop/ScreenPlayItem.qml
|
||||
qml/Workshop/ScreenPlayItemImage.qml
|
||||
qml/Workshop/Background.qml
|
||||
qml/Workshop/WorkshopInstalled.qml
|
||||
qml/Workshop/WorkshopItem.qml
|
||||
qml/Workshop/Sidebar.qml
|
||||
qml/Workshop/Navigation.qml
|
||||
qml/Workshop/PopupOffline.qml
|
||||
qml/Workshop/upload/PopupSteamWorkshopAgreement.qml
|
||||
qml/Workshop/upload/UploadProject.qml
|
||||
qml/Workshop/upload/UploadProjectBigItem.qml
|
||||
qml/Workshop/upload/UploadProjectItem.qml
|
||||
qml/Monitors/SaveNotification.qml
|
||||
qml/Common/TrayIcon.qml
|
||||
qml/Installed/Navigation.qml
|
||||
qml/Common/Search.qml
|
||||
qml/Common/MouseHoverBlocker.qml
|
||||
qml/Create/Wizards/HTMLWallpaper.qml
|
||||
qml/Create/Wizards/HTMLWidget.qml
|
||||
qml/Create/Wizards/QMLWidget.qml
|
||||
qml/Create/Wizards/QMLWallpaper.qml
|
||||
qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaper.qml
|
||||
qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml
|
||||
qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperResult.qml
|
||||
qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperVideoImportConvert.qml
|
||||
qml/Create/Sidebar.qml
|
||||
qml/Create/Wizards/ImportWebm/ImportWebm.qml
|
||||
qml/Create/Wizards/ImportWebm/ImportWebmConvert.qml
|
||||
qml/Create/Wizards/ImportWebm/ImportWebmInit.qml
|
||||
qml/Common/Dialogs/MonitorConfiguration.qml
|
||||
qml/Common/Dialogs/SteamNotAvailable.qml
|
||||
qml/Create/Wizards/WizardPage.qml
|
||||
qml/Create/Wizards/GifWallpaper.qml
|
||||
qml/Common/TextField.qml
|
||||
qml/Common/HeadlineSection.qml
|
||||
qml/Create/Wizards/WebsiteWallpaper.qml
|
||||
qml/Common/FileSelector.qml
|
||||
qml/Create/WizardsFiles/QMLWidgetMain.qml
|
||||
qml/Create/WizardsFiles/QMLWallpaperMain.qml
|
||||
qml/Common/LicenseSelector.qml
|
||||
qml/Common/Util.js
|
||||
qml/Common/Dialogs/CriticalError.qml
|
||||
qml/Common/ColorPicker.qml
|
||||
qml/Create/StartInfoLinkImage.qml
|
||||
qml/Workshop/SteamProfile.qml
|
||||
qml/Workshop/SteamWorkshop.qml
|
||||
qml/Workshop/Forum.qml
|
||||
qml/Workshop/SteamWorkshopStartPage.qml
|
||||
qml/Create/Wizards/Importh264/Importh264.qml
|
||||
qml/Create/Wizards/Importh264/Importh264Convert.qml
|
||||
qml/Create/Wizards/Importh264/Importh264Init.qml)
|
||||
|
||||
list(
|
||||
APPEND
|
||||
L10N_LIST
|
||||
# cmake-format: sortable
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_tr_TR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_it_IT.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_nl_NL.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_de_DE.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_zh_CN.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_pt_BR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_es_ES.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_fr_FR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_ko_KR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_ru_RU.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_vi_VN.ts)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_tr_TR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_it_IT.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_nl_NL.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_de_DE.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_zh_CN.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_pt_BR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_es_ES.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_fr_FR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_ko_KR.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_ru_RU.ts
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_vi_VN.ts)
|
||||
|
||||
include(QtUpdateTranslations)
|
||||
qt_update_translations("${CMAKE_CURRENT_SOURCE_DIR}/qml" "${L10N_LIST}")
|
||||
|
||||
# Needed on macos
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(benchmark CONFIG REQUIRED)
|
||||
find_package(doctest CONFIG REQUIRED)
|
||||
|
||||
# CURL must be included before sentry because sentry needs the module and does not include it itself on macos...
|
||||
find_package(CURL CONFIG REQUIRED)
|
||||
find_package(sentry CONFIG REQUIRED)
|
||||
|
||||
find_package(
|
||||
Qt6
|
||||
@ -87,10 +180,10 @@ find_package(
|
||||
WebEngineCore
|
||||
Test)
|
||||
|
||||
qt_add_resources(RESOURCES Resources.qrc)
|
||||
qt_add_big_resources(FONTS fonts.qrc)
|
||||
|
||||
qt_add_resources(resources ScreenPlayAssets.qrc ScreenPlayQML.qrc)
|
||||
|
||||
add_library(ScreenPlayLib ${src} ${headers} ${resources} ${resources} ${fonts})
|
||||
add_library(ScreenPlayLib ${SOURCES} ${HEADER} ${RESOURCES} ${FONTS})
|
||||
|
||||
target_include_directories(ScreenPlayLib PUBLIC ./ src/)
|
||||
|
||||
@ -117,12 +210,20 @@ if(${TESTS_ENABLED})
|
||||
target_link_libraries(tst_ScreenPlay PRIVATE ScreenPlayLib Qt6::Test)
|
||||
endif()
|
||||
|
||||
add_executable(${PROJECT_NAME} main.cpp)
|
||||
qt_add_executable(${PROJECT_NAME} main.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ScreenPlayLib)
|
||||
|
||||
qt_add_translation(qmFiles ${l10n})
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
||||
|
||||
qt_add_big_resources(fonts fonts.qrc)
|
||||
qt_add_translation(qmFiles ${l10n})
|
||||
qt_add_qml_module(
|
||||
${PROJECT_NAME}
|
||||
URI
|
||||
${PROJECT_NAME}
|
||||
VERSION
|
||||
1.0
|
||||
QML_FILES
|
||||
${QML})
|
||||
|
||||
if(WIN32)
|
||||
# Icon
|
||||
|
@ -148,5 +148,7 @@
|
||||
<file>translations/ScreenPlay_nl_NL.ts</file>
|
||||
<file>translations/ScreenPlay_it_IT.qm</file>
|
||||
<file>translations/ScreenPlay_it_IT.ts</file>
|
||||
<file>qml/Create/WizardsFiles/HTMLWallpaperMain.html</file>
|
||||
<file>qml/Create/WizardsFiles/HTMLWidgetMain.html</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -1,101 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>main.qml</file>
|
||||
<file>qml/Create/Create.qml</file>
|
||||
<file>qml/Create/Wizard.qml</file>
|
||||
<file>qml/Create/StartInfo.qml</file>
|
||||
<file>qml/Installed/Installed.qml</file>
|
||||
<file>qml/Installed/ScreenPlayItem.qml</file>
|
||||
<file>qml/Installed/ScreenPlayItemImage.qml</file>
|
||||
<file>qml/Installed/Sidebar.qml</file>
|
||||
<file>qml/Installed/InstalledWelcomeScreen.qml</file>
|
||||
<file>qml/Community/Community.qml</file>
|
||||
<file>qml/Community/XMLNewsfeed.qml</file>
|
||||
<file>qml/Settings/SettingBool.qml</file>
|
||||
<file>qml/Settings/Settings.qml</file>
|
||||
<file>qml/Settings/SettingsButton.qml</file>
|
||||
<file>qml/Settings/SettingsComboBox.qml</file>
|
||||
<file>qml/Settings/SettingsExpander.qml</file>
|
||||
<file>qml/Settings/SettingsHeader.qml</file>
|
||||
<file>qml/Settings/SettingsHorizontalSeperator.qml</file>
|
||||
<file>qml/Workshop/Workshop.qml</file>
|
||||
<file>qml/Monitors/Monitors.qml</file>
|
||||
<file>qml/Monitors/MonitorSelection.qml</file>
|
||||
<file>qml/Monitors/MonitorSelectionItem.qml</file>
|
||||
<file>qml/Monitors/MonitorsProjectSettingItem.qml</file>
|
||||
<file>qml/Navigation/Navigation.qml</file>
|
||||
<file>qml/Navigation/NavigationItem.qml</file>
|
||||
<file>qml/Navigation/NavigationWallpaperConfiguration.qml</file>
|
||||
<file>qml/Monitors/DefaultVideoControls.qml</file>
|
||||
<file>qml/Common/TagSelector.qml</file>
|
||||
<file>qml/Common/Tag.qml</file>
|
||||
<file>qml/Common/ImageSelector.qml</file>
|
||||
<file>qml/Common/Slider.qml</file>
|
||||
<file>qml/Common/RippleEffect.qml</file>
|
||||
<file>qml/Common/Shake.qml</file>
|
||||
<file>qml/Common/Grow.qml</file>
|
||||
<file>qml/Common/GrowIconLink.qml</file>
|
||||
<file>qml/Common/CloseIcon.qml</file>
|
||||
<file>qml/Common/Headline.qml</file>
|
||||
<file>qml/Settings/SettingsPage.qml</file>
|
||||
<file>qml/Community/CommunityNavItem.qml</file>
|
||||
<file>assets/icons/icon_supervisor_account.svg</file>
|
||||
<file>assets/icons/icon_new_releases.svg</file>
|
||||
<file>assets/icons/icon_report_problem.svg</file>
|
||||
<file>assets/icons/icon_help_center.svg</file>
|
||||
<file>assets/icons/icon_forum.svg</file>
|
||||
<file>qml/Workshop/ScreenPlayItem.qml</file>
|
||||
<file>qml/Workshop/ScreenPlayItemImage.qml</file>
|
||||
<file>qml/Workshop/Background.qml</file>
|
||||
<file>qml/Workshop/WorkshopInstalled.qml</file>
|
||||
<file>qml/Workshop/WorkshopItem.qml</file>
|
||||
<file>qml/Workshop/Sidebar.qml</file>
|
||||
<file>qml/Workshop/Navigation.qml</file>
|
||||
<file>qml/Workshop/PopupOffline.qml</file>
|
||||
<file>qml/Workshop/upload/PopupSteamWorkshopAgreement.qml</file>
|
||||
<file>qml/Workshop/upload/UploadProject.qml</file>
|
||||
<file>qml/Workshop/upload/UploadProjectBigItem.qml</file>
|
||||
<file>qml/Workshop/upload/UploadProjectItem.qml</file>
|
||||
<file>qml/Monitors/SaveNotification.qml</file>
|
||||
<file>qml/Common/TrayIcon.qml</file>
|
||||
<file>qml/Installed/Navigation.qml</file>
|
||||
<file>qml/Common/Search.qml</file>
|
||||
<file>qml/Common/MouseHoverBlocker.qml</file>
|
||||
<file>qml/Create/Wizards/HTMLWallpaper.qml</file>
|
||||
<file>qml/Create/Wizards/HTMLWidget.qml</file>
|
||||
<file>qml/Create/Wizards/QMLWidget.qml</file>
|
||||
<file>qml/Create/Wizards/QMLWallpaper.qml</file>
|
||||
<file>qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaper.qml</file>
|
||||
<file>qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperInit.qml</file>
|
||||
<file>qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperResult.qml</file>
|
||||
<file>qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaperVideoImportConvert.qml</file>
|
||||
<file>qml/Create/Sidebar.qml</file>
|
||||
<file>qml/Create/Wizards/ImportWebm/ImportWebm.qml</file>
|
||||
<file>qml/Create/Wizards/ImportWebm/ImportWebmConvert.qml</file>
|
||||
<file>qml/Create/Wizards/ImportWebm/ImportWebmInit.qml</file>
|
||||
<file>qml/Common/Dialogs/MonitorConfiguration.qml</file>
|
||||
<file>qml/Common/Dialogs/SteamNotAvailable.qml</file>
|
||||
<file>qml/Create/Wizards/WizardPage.qml</file>
|
||||
<file>qml/Create/Wizards/GifWallpaper.qml</file>
|
||||
<file>qml/Common/TextField.qml</file>
|
||||
<file>qml/Common/HeadlineSection.qml</file>
|
||||
<file>qml/Create/Wizards/WebsiteWallpaper.qml</file>
|
||||
<file>qml/Common/FileSelector.qml</file>
|
||||
<file>qml/Create/WizardsFiles/QMLWidgetMain.qml</file>
|
||||
<file>qml/Create/WizardsFiles/QMLWallpaperMain.qml</file>
|
||||
<file>qml/Create/WizardsFiles/HTMLWallpaperMain.html</file>
|
||||
<file>qml/Create/WizardsFiles/HTMLWidgetMain.html</file>
|
||||
<file>qml/Common/LicenseSelector.qml</file>
|
||||
<file>qml/Common/Util.js</file>
|
||||
<file>qml/Common/Dialogs/CriticalError.qml</file>
|
||||
<file>qml/Common/ColorPicker.qml</file>
|
||||
<file>qml/Create/StartInfoLinkImage.qml</file>
|
||||
<file>qml/Workshop/SteamProfile.qml</file>
|
||||
<file>qml/Workshop/SteamWorkshop.qml</file>
|
||||
<file>qml/Workshop/Forum.qml</file>
|
||||
<file>qml/Workshop/SteamWorkshopStartPage.qml</file>
|
||||
<file>qml/Create/Wizards/Importh264/Importh264.qml</file>
|
||||
<file>qml/Create/Wizards/Importh264/Importh264Convert.qml</file>
|
||||
<file>qml/Create/Wizards/Importh264/Importh264Init.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -202,7 +202,7 @@ void App::init()
|
||||
// Needed for macos .app files
|
||||
m_mainWindowEngine->addPluginPath(QGuiApplication::instance()->applicationDirPath());
|
||||
#endif
|
||||
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/main.qml")));
|
||||
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/ScreenPlay/main.qml")));
|
||||
|
||||
// Must be called last to display a error message on startup by the qml engine
|
||||
m_screenPlayManager->init(m_globalVariables, m_monitorListModel, m_settings);
|
||||
|
@ -45,8 +45,7 @@
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
Q_INIT_RESOURCE(ScreenPlayQML);
|
||||
Q_INIT_RESOURCE(ScreenPlayAssets);
|
||||
Q_INIT_RESOURCE(Resources);
|
||||
|
||||
QtWebEngineQuick::initialize();
|
||||
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
|
||||
|
@ -38,12 +38,12 @@ ApplicationWindow {
|
||||
}
|
||||
|
||||
if (name === "Installed") {
|
||||
stackView.replace("qrc:/qml/" + name + "/" + name + ".qml", {
|
||||
stackView.replace("qrc:/ScreenPlay/qml/" + name + "/" + name + ".qml", {
|
||||
"sidebar": sidebar
|
||||
})
|
||||
return
|
||||
}
|
||||
stackView.replace("qrc:/qml/" + name + "/" + name + ".qml")
|
||||
stackView.replace("qrc:/ScreenPlay/qml/" + name + "/" + name + ".qml")
|
||||
sidebar.state = "inactive"
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ Item {
|
||||
|
||||
Component.onCompleted: {
|
||||
wizardContentWrapper.state = "in";
|
||||
stackView.push("qrc:/qml/Create/StartInfo.qml");
|
||||
stackView.push("qrc:/ScreenPlay/qml/Create/StartInfo.qml");
|
||||
}
|
||||
|
||||
Sidebar {
|
||||
|
@ -43,7 +43,7 @@ Rectangle {
|
||||
function onWizardExited() {
|
||||
root.expanded = true
|
||||
stackView.clear(StackView.PushTransition)
|
||||
stackView.push("qrc:/qml/Create/StartInfo.qml")
|
||||
stackView.push("qrc:/ScreenPlay/qml/Create/StartInfo.qml")
|
||||
listView.currentIndex = 0
|
||||
ScreenPlay.util.setNavigationActive(true)
|
||||
}
|
||||
@ -54,70 +54,70 @@ Rectangle {
|
||||
model: ListModel {
|
||||
ListElement {
|
||||
headline: qsTr("Tools Overview")
|
||||
source: "qrc:/qml/Create/StartInfo.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/StartInfo.qml"
|
||||
category: "Home"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("Video Import h264 (.mp4)")
|
||||
source: "qrc:/qml/Create/Wizards/Importh264/Importh264.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/Importh264/Importh264.qml"
|
||||
category: "Video Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("Video Import VP8 & VP9 (.webm)")
|
||||
source: "qrc:/qml/Create/Wizards/ImportWebm/ImportWebm.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/ImportWebm/ImportWebm.qml"
|
||||
category: "Video Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("Video import (all types)")
|
||||
source: "qrc:/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/ImportVideoAndConvert/CreateWallpaper.qml"
|
||||
category: "Video Wallpaper"
|
||||
objectName: "videoImportConvert"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("GIF Wallpaper")
|
||||
source: "qrc:/qml/Create/Wizards/GifWallpaper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/GifWallpaper.qml"
|
||||
category: "Video Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("QML Wallpaper")
|
||||
source: "qrc:/qml/Create/Wizards/QMLWallpaper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/QMLWallpaper.qml"
|
||||
category: "Code Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("HTML5 Wallpaper")
|
||||
source: "qrc:/qml/Create/Wizards/HTMLWallpaper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/HTMLWallpaper.qml"
|
||||
category: "Code Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("Website Wallpaper")
|
||||
source: "qrc:/qml/Create/Wizards/WebsiteWallpaper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/WebsiteWallpaper.qml"
|
||||
category: "Code Wallpaper"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("QML Widget")
|
||||
source: "qrc:/qml/Create/Wizards/QMLWidget.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/QMLWidget.qml"
|
||||
category: "Code Widgets"
|
||||
objectName: ""
|
||||
}
|
||||
|
||||
ListElement {
|
||||
headline: qsTr("HTML Widget")
|
||||
source: "qrc:/qml/Create/Wizards/HTMLWidget.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml"
|
||||
category: "Code Widgets"
|
||||
objectName: ""
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ Item {
|
||||
active: false
|
||||
z: 99
|
||||
anchors.fill: parent
|
||||
source: "qrc:/qml/Installed/InstalledWelcomeScreen.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Installed/InstalledWelcomeScreen.qml"
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
@ -14,7 +14,7 @@ Item {
|
||||
id: screenPlayWorkshop
|
||||
Component.onCompleted: {
|
||||
if (screenPlayWorkshop.init()) {
|
||||
stackView.push("qrc:/qml/Workshop/SteamWorkshopStartPage.qml", {
|
||||
stackView.push("qrc:/ScreenPlay/qml/Workshop/SteamWorkshopStartPage.qml", {
|
||||
"stackView": stackView,
|
||||
"screenPlayWorkshop": screenPlayWorkshop,
|
||||
"steamWorkshop": screenPlayWorkshop.steamWorkshop,
|
||||
|
@ -273,7 +273,7 @@ Item {
|
||||
text: qsTr("Profile")
|
||||
onClicked: {
|
||||
stackView.push(
|
||||
"qrc:/qml/Workshop/SteamProfile.qml", {
|
||||
"qrc:/ScreenPlay/qml/Workshop/SteamProfile.qml", {
|
||||
"screenPlayWorkshop": root.screenPlayWorkshop,
|
||||
"steamWorkshop": root.steamWorkshop
|
||||
})
|
||||
@ -292,7 +292,7 @@ Item {
|
||||
text: qsTr("Upload")
|
||||
onClicked: {
|
||||
stackView.push(
|
||||
"qrc:/qml/Workshop/upload/UploadProject.qml", {
|
||||
"qrc:/ScreenPlay/qml/Workshop/upload/UploadProject.qml", {
|
||||
"screenPlayWorkshop": root.screenPlayWorkshop,
|
||||
"steamWorkshop": root.steamWorkshop
|
||||
})
|
||||
|
@ -11,9 +11,9 @@ Item {
|
||||
|
||||
Component.onCompleted: {
|
||||
if (ScreenPlay.settings.steamVersion) {
|
||||
workshopLoader.setSource("qrc:/qml/Workshop/SteamWorkshop.qml")
|
||||
workshopLoader.setSource("qrc:/ScreenPlay/qml/Workshop/SteamWorkshop.qml")
|
||||
} else {
|
||||
workshopLoader.setSource("qrc:/qml/Workshop/Forum.qml")
|
||||
workshopLoader.setSource("qrc:/ScreenPlay/qml/Workshop/Forum.qml")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ Item {
|
||||
active: false
|
||||
z: 99
|
||||
anchors.fill: parent
|
||||
source: "qrc:/qml/Installed/InstalledUserHelper.qml"
|
||||
source: "qrc:/ScreenPlay/qml/Installed/InstalledUserHelper.qml"
|
||||
}
|
||||
|
||||
transitions: [
|
||||
|
@ -9,11 +9,13 @@ find_package(
|
||||
COMPONENTS Quick Network Core
|
||||
REQUIRED)
|
||||
|
||||
set(src src/screenplay-sdk_plugin.cpp src/screenplaysdk.cpp)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
src/screenplay-sdk_plugin.cpp src/screenplaysdk.cpp)
|
||||
|
||||
set(headers inc/screenplay-sdk_plugin.h inc/screenplaysdk.h)
|
||||
set(HEADER # cmake-format: sortable
|
||||
inc/screenplay-sdk_plugin.h inc/screenplaysdk.h)
|
||||
|
||||
add_library(${PROJECT_NAME} ${src} ${headers})
|
||||
add_library(${PROJECT_NAME} ${SOURCES} ${HEADER})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
module ScreenPlay.screenplaysdk
|
||||
plugin ScreenPlaySDK
|
@ -9,48 +9,27 @@ find_package(
|
||||
COMPONENTS Quick Core
|
||||
REQUIRED)
|
||||
|
||||
set(src screenplayshader_plugin.cpp shaderlibrary.cpp)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
screenplayshader_plugin.cpp shaderlibrary.cpp)
|
||||
|
||||
set(headers screenplayshader_plugin.h shaderlibrary.h)
|
||||
set(HEADER # cmake-format: sortable
|
||||
screenplayshader_plugin.h shaderlibrary.h)
|
||||
|
||||
set(shader shader.qrc)
|
||||
qt_add_resources(RESOURCES Resources.qrc)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${src} ${headers} ${shader})
|
||||
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER} ${RESOURCES})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
||||
qt_add_qml_module(
|
||||
${PROJECT_NAME}
|
||||
URI
|
||||
${PROJECT_NAME}
|
||||
VERSION
|
||||
1.0
|
||||
QML_FILES
|
||||
ShadertoyShader.qml)
|
||||
|
||||
# QML module deployment
|
||||
set(URI "ScreenPlay/Shader")
|
||||
string(REPLACE "." "/" TARGETPATH ${URI})
|
||||
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
||||
get_target_property(QT_QMAKE_EXECUTABLE Qt6::qmake IMPORTED_LOCATION)
|
||||
if(NOT QT_QMAKE_EXECUTABLE)
|
||||
message(FATAL_ERROR "Cannot find qmake")
|
||||
endif()
|
||||
endif()
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE inc)
|
||||
|
||||
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML OUTPUT_VARIABLE QT_INSTALL_QML_RAW)
|
||||
string(STRIP ${QT_INSTALL_QML_RAW} QT_INSTALL_QML)
|
||||
set(DESTDIR "${QT_INSTALL_QML}/${TARGETPATH}")
|
||||
message("DESTDIR ${DESTDIR}")
|
||||
|
||||
file(MAKE_DIRECTORY ${DESTDIR})
|
||||
|
||||
configure_file(qmldir ${DESTDIR} COPYONLY)
|
||||
|
||||
if(APPLE)
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying into ScreenPlay.app bundle"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/bin/$<TARGET_FILE_NAME:${PROJECT_NAME}>
|
||||
${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/$<TARGET_FILE_NAME:${PROJECT_NAME}>)
|
||||
else()
|
||||
# Copies ScreenPlayShader.* into qt qml plugins folder
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ScreenPlayShader> ${DESTDIR}/$<TARGET_FILE_NAME:ScreenPlayShader>)
|
||||
endif()
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Quick Qt6::Gui)
|
||||
|
@ -1,2 +0,0 @@
|
||||
module ScreenPlay.Shader
|
||||
plugin ScreenPlayShader
|
@ -11,7 +11,8 @@ find_package(
|
||||
COMPONENTS Quick Core
|
||||
REQUIRED)
|
||||
|
||||
set(src
|
||||
set(SOURCES
|
||||
# cmake-format: sortable
|
||||
screenplaysysinfo_plugin.cpp
|
||||
sysinfo.cpp
|
||||
cpu.cpp
|
||||
@ -20,7 +21,8 @@ set(src
|
||||
uptime.cpp
|
||||
gpu.cpp)
|
||||
|
||||
set(headers
|
||||
set(HEADER
|
||||
# cmake-format: sortable
|
||||
screenplaysysinfo_plugin.h
|
||||
sysinfo.h
|
||||
cpu.h
|
||||
@ -30,31 +32,10 @@ set(headers
|
||||
uptime.h
|
||||
gpu.h)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
||||
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER})
|
||||
|
||||
# QML module deployment
|
||||
set(URI "ScreenPlay/Sysinfo")
|
||||
string(REPLACE "." "/" TARGETPATH ${URI})
|
||||
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
||||
get_target_property(QT_QMAKE_EXECUTABLE Qt6::qmake IMPORTED_LOCATION)
|
||||
if(NOT QT_QMAKE_EXECUTABLE)
|
||||
message(FATAL_ERROR "Cannot find qmake")
|
||||
endif()
|
||||
endif()
|
||||
qt_add_qml_module(${PROJECT_NAME} URI ${PROJECT_NAME} VERSION 1.0)
|
||||
|
||||
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML OUTPUT_VARIABLE QT_INSTALL_QML_RAW)
|
||||
string(STRIP ${QT_INSTALL_QML_RAW} QT_INSTALL_QML)
|
||||
set(DESTDIR "${QT_INSTALL_QML}/${TARGETPATH}")
|
||||
message("DESTDIR ${DESTDIR}")
|
||||
|
||||
file(MAKE_DIRECTORY ${DESTDIR})
|
||||
|
||||
configure_file(qmldir ${DESTDIR} COPYONLY)
|
||||
|
||||
# Copies ScreenPlaySysInfo.* into qt qml plugins folder
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ScreenPlaySysInfo> ${DESTDIR}/$<TARGET_FILE_NAME:ScreenPlaySysInfo>)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Quick infoware)
|
||||
|
@ -1,2 +0,0 @@
|
||||
module ScreenPlay.Sysinfo
|
||||
plugin ScreenPlaySysInfo
|
@ -9,13 +9,17 @@ find_package(
|
||||
COMPONENTS Core
|
||||
REQUIRED)
|
||||
|
||||
set(SOURCES src/util.cpp src/contenttypes.cpp)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
src/util.cpp src/contenttypes.cpp)
|
||||
|
||||
set(HEADER inc/public/ScreenPlayUtil/util.h inc/public/ScreenPlayUtil/contenttypes.h inc/public/ScreenPlayUtil/projectfile.h)
|
||||
set(HEADER # cmake-format: sortable
|
||||
inc/public/ScreenPlayUtil/util.h inc/public/ScreenPlayUtil/contenttypes.h inc/public/ScreenPlayUtil/projectfile.h)
|
||||
|
||||
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADER})
|
||||
|
||||
target_include_directories(
|
||||
${PROJECT_NAME}
|
||||
PUBLIC inc/public/
|
||||
PRIVATE src/)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core)
|
||||
|
@ -1,5 +0,0 @@
|
||||
#include "util.h"
|
||||
|
||||
Util::Util()
|
||||
{
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#ifndef UTIL_H
|
||||
#define UTIL_H
|
||||
|
||||
class Util {
|
||||
public:
|
||||
Util();
|
||||
};
|
||||
|
||||
#endif // UTIL_H
|
@ -4,8 +4,6 @@ set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
find_package(QT NAMES Qt6 COMPONENTS Core)
|
||||
|
||||
find_package(
|
||||
Qt6
|
||||
COMPONENTS Core
|
||||
@ -21,30 +19,46 @@ find_package(
|
||||
Positioning)
|
||||
|
||||
if(WIN32)
|
||||
set(src_plattform src/windowsdesktopproperties.cpp src/winwindow.cpp)
|
||||
set(headers_plattform src/windowsdesktopproperties.h src/winwindow.h)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
src/windowsdesktopproperties.cpp src/winwindow.cpp)
|
||||
set(HEADER # cmake-format: sortable
|
||||
src/windowsdesktopproperties.h src/winwindow.h)
|
||||
elseif(APPLE)
|
||||
set(src_plattform src/macintegration.cpp src/macwindow.cpp)
|
||||
set(headers_plattform src/macintegration.h src/macbridge.h src/macwindow.h src/MacBridge.mm)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
src/macintegration.cpp src/macwindow.cpp)
|
||||
set(HEADER # cmake-format: sortable
|
||||
src/macintegration.h src/macbridge.h src/macwindow.h src/MacBridge.mm)
|
||||
elseif(UNIX)
|
||||
set(src_plattform main.cpp src/linuxwindow.cpp)
|
||||
set(headers_plattform src/linuxwindow.h)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
src/linuxwindow.cpp)
|
||||
set(HEADER # cmake-format: sortable
|
||||
src/linuxwindow.h)
|
||||
endif()
|
||||
|
||||
set(src main.cpp src/basewindow.cpp)
|
||||
set(headers src/basewindow.h)
|
||||
set(SOURCES ${SOURCES} main.cpp src/basewindow.cpp)
|
||||
set(HEADER ${HEADER} src/basewindow.h)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
qt6_add_resources(resources SPWResources.qrc)
|
||||
else()
|
||||
qt6_add_resources(resources SPWResources.qrc)
|
||||
endif()
|
||||
set(QML # cmake-format: sortable
|
||||
qml/GifWallpaper.qml qml/Test.qml qml/Wallpaper.qml qml/WebsiteWallpaper.qml qml/WebView.qml qml/MultimediaView.qml)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${src} ${headers} ${src_plattform} ${headers_plattform} ${resources})
|
||||
qt_add_resources(RESOURCES Resources.qrc)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADER} ${RESOURCES})
|
||||
|
||||
qt_add_qml_module(
|
||||
${PROJECT_NAME}
|
||||
URI
|
||||
${PROJECT_NAME}
|
||||
VERSION
|
||||
1.0
|
||||
QML_FILES
|
||||
${QML})
|
||||
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PRIVATE Qt6::Quick
|
||||
PRIVATE ScreenPlaySDK
|
||||
ScreenPlayUtil
|
||||
Qt6::Quick
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
Qt6::Core
|
||||
@ -54,28 +68,14 @@ target_link_libraries(
|
||||
Qt6::WebEngineCore
|
||||
Qt6::WebEngineQuick)
|
||||
|
||||
if(WIN32)
|
||||
# Disable console window on Windows
|
||||
# https://stackoverflow.com/questions/8249028/how-do-i-keep-my-qt-c-program-from-opening-a-console-in-windows
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY WIN32_EXECUTABLE true)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE shcore.lib)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
||||
endif()
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ScreenPlaySDK ScreenPlayUtil)
|
||||
|
||||
if(WIN32)
|
||||
# Disable console window on Windows
|
||||
# https://stackoverflow.com/questions/8249028/how-do-i-keep-my-qt-c-program-from-opening-a-console-in-windows
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY WIN32_EXECUTABLE true)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE shcore.lib)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
||||
endif()
|
||||
|
7
ScreenPlayWallpaper/Resources.qrc
Normal file
7
ScreenPlayWallpaper/Resources.qrc
Normal file
@ -0,0 +1,7 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>dot.png</file>
|
||||
<file>qtquickcontrols2.conf</file>
|
||||
<file>index.html</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -1,13 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>dot.png</file>
|
||||
<file>qtquickcontrols2.conf</file>
|
||||
<file>index.html</file>
|
||||
<file>qml/GifWallpaper.qml</file>
|
||||
<file>qml/Test.qml</file>
|
||||
<file>qml/Wallpaper.qml</file>
|
||||
<file>qml/WebsiteWallpaper.qml</file>
|
||||
<file>qml/WebView.qml</file>
|
||||
<file>qml/MultimediaView.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -12,11 +12,11 @@ Rectangle {
|
||||
function init() {
|
||||
switch (Wallpaper.type) {
|
||||
case InstalledType.VideoWallpaper:
|
||||
loader.source = "qrc:/qml/MultimediaView.qml";
|
||||
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml";
|
||||
fadeIn();
|
||||
break;
|
||||
case InstalledType.HTMLWallpaper:
|
||||
loader.setSource("qrc:/qml/WebView.qml", {
|
||||
loader.setSource("qrc:/ScreenPlayWallpaper/qml/WebView.qml", {
|
||||
"url": Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
||||
});
|
||||
break;
|
||||
@ -25,13 +25,13 @@ Rectangle {
|
||||
fadeIn();
|
||||
break;
|
||||
case InstalledType.WebsiteWallpaper:
|
||||
loader.setSource("qrc:/qml/WebsiteWallpaper.qml", {
|
||||
loader.setSource("qrc:/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", {
|
||||
"url": Wallpaper.projectSourceFileAbsolute
|
||||
});
|
||||
fadeIn();
|
||||
break;
|
||||
case InstalledType.GifWallpaper:
|
||||
loader.setSource("qrc:/qml/GifWallpaper.qml", {
|
||||
loader.setSource("qrc:/ScreenPlayWallpaper/qml/GifWallpaper.qml", {
|
||||
"source": Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
||||
});
|
||||
fadeIn();
|
||||
@ -94,7 +94,7 @@ Rectangle {
|
||||
if (oldType === InstalledType.VideoWallpaper)
|
||||
return ;
|
||||
|
||||
loader.source = "qrc:/qml/MultimediaView.qml";
|
||||
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml";
|
||||
}
|
||||
|
||||
target: Wallpaper
|
||||
|
@ -39,7 +39,7 @@ Item {
|
||||
id: webView
|
||||
|
||||
anchors.fill: parent
|
||||
url: "qrc:/index.html"
|
||||
url: "qrc:/ScreenPlayWallpaper/index.html"
|
||||
backgroundColor: "transparent"
|
||||
onJavaScriptConsoleMessage:(lineNumber, message)=> print(lineNumber, message)
|
||||
onLoadProgressChanged: {
|
||||
|
@ -54,7 +54,7 @@ BaseWindow::BaseWindow(
|
||||
|
||||
if (projectFilePath == "test") {
|
||||
setType(ScreenPlay::InstalledType::InstalledType::QMLWallpaper);
|
||||
setProjectSourceFileAbsolute({ "qrc:/qml/Test.qml" });
|
||||
setProjectSourceFileAbsolute({ "qrc:/ScreenPlayWallpaper/qml/Test.qml" });
|
||||
setupLiveReloading();
|
||||
return;
|
||||
}
|
||||
|
@ -489,7 +489,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:/qml/Wallpaper.qml"));
|
||||
m_window.setSource(QUrl("qrc:/ScreenPlayWallpaper/qml/Wallpaper.qml"));
|
||||
m_window.hide();
|
||||
}
|
||||
|
||||
|
@ -4,10 +4,14 @@ set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
find_package(QT NAMES Qt6 COMPONENTS Core)
|
||||
set(src main.cpp src/widgetwindow.cpp)
|
||||
set(SOURCES # cmake-format: sortable
|
||||
main.cpp src/widgetwindow.cpp)
|
||||
|
||||
set(headers src/widgetwindow.h)
|
||||
set(HEADER # cmake-format: sortable
|
||||
src/widgetwindow.h)
|
||||
|
||||
set(QML # cmake-format: sortable
|
||||
qml/Test.qml qml/Widget.qml)
|
||||
|
||||
find_package(
|
||||
Qt6
|
||||
@ -22,13 +26,15 @@ find_package(
|
||||
WebChannel
|
||||
Positioning)
|
||||
|
||||
qt_add_resources(resources SPWidgetResources.qrc)
|
||||
qt_add_resources(RESOURCES Resources.qrc)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${src} ${headers} ${resources})
|
||||
qt_add_executable(${PROJECT_NAME} ${SOURCES} ${HEADER} ${RESOURCES})
|
||||
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PRIVATE Qt6::Quick
|
||||
PRIVATE ScreenPlaySDK
|
||||
ScreenPlayUtil
|
||||
Qt6::Quick
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
Qt6::Core
|
||||
@ -37,7 +43,14 @@ target_link_libraries(
|
||||
Qt6::WebEngineCore
|
||||
Qt6::WebEngineQuick)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ScreenPlaySDK ScreenPlayUtil)
|
||||
qt_add_qml_module(
|
||||
${PROJECT_NAME}
|
||||
URI
|
||||
${PROJECT_NAME}
|
||||
VERSION
|
||||
1.0
|
||||
QML_FILES
|
||||
${QML})
|
||||
|
||||
if(WIN32)
|
||||
# Disable console window on Windows
|
||||
|
@ -4,7 +4,5 @@
|
||||
<file>assets/icons/baseline-close-24px.svg</file>
|
||||
<file>assets/icons/baseline-opacity-24px.svg</file>
|
||||
<file>assets/icons/baseline-settings-20px.svg</file>
|
||||
<file>qml/Test.qml</file>
|
||||
<file>qml/Widget.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -115,7 +115,7 @@ Item {
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onPressed: {
|
||||
onPressed: (mouse)=>{
|
||||
clickPos = {
|
||||
"x": mouse.x,
|
||||
"y": mouse.y
|
||||
|
@ -71,7 +71,7 @@ WidgetWindow::WidgetWindow(
|
||||
|
||||
m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
|
||||
m_window.setResizeMode(QQuickView::ResizeMode::SizeViewToRootObject);
|
||||
m_window.setSource(QUrl("qrc:/qml/Widget.qml"));
|
||||
m_window.setSource(QUrl("qrc:/ScreenPlayWidget/qml/Widget.qml"));
|
||||
m_window.setPosition(m_position);
|
||||
m_window.show();
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
project(workshopplugin LANGUAGES CXX)
|
||||
|
||||
add_subdirectory(SteamSDK)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@ -8,57 +10,55 @@ find_package(
|
||||
COMPONENTS Quick QML Widgets Gui
|
||||
REQUIRED)
|
||||
|
||||
add_library(
|
||||
workshopplugin SHARED
|
||||
src/steamapiwrapper.h
|
||||
set(SOURCES
|
||||
# cmake-format: sortable
|
||||
src/steamapiwrapper.cpp
|
||||
src/steamworkshopitem.cpp
|
||||
src/workshop.cpp
|
||||
src/installedlistmodel.cpp
|
||||
src/screenplayworkshop_plugin.cpp
|
||||
src/steamworkshop.cpp
|
||||
src/steamworkshoplistmodel.cpp
|
||||
src/steamaccount.cpp
|
||||
src/steamqmlimageprovider.cpp)
|
||||
|
||||
set(HEADER
|
||||
# cmake-format: sortable
|
||||
src/steamapiwrapper.h
|
||||
src/steamworkshoplistmodel.h
|
||||
src/uploadlistmodel.h
|
||||
src/steamworkshopitem.h
|
||||
src/steamworkshopitem.cpp
|
||||
src/workshop.cpp
|
||||
src/workshop.h
|
||||
src/workshopitem.h
|
||||
src/installedlistmodel.cpp
|
||||
src/installedlistmodel.h
|
||||
src/screenplayworkshop_plugin.cpp
|
||||
src/screenplayworkshop_plugin.h
|
||||
src/steamworkshop.cpp
|
||||
src/steamworkshop.h
|
||||
src/steamworkshoplistmodel.cpp
|
||||
src/steamaccount.cpp
|
||||
src/steamaccount.h
|
||||
src/steamqmlimageprovider.cpp
|
||||
src/steamqmlimageprovider.h
|
||||
qmldir
|
||||
${qml_resources})
|
||||
src/steamqmlimageprovider.h)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER})
|
||||
|
||||
set(WORKSHOP_PLUGIN_DIR ${CMAKE_BINARY_DIR}/bin/workshop)
|
||||
file(MAKE_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
|
||||
set_target_properties(workshopplugin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
set_target_properties(workshopplugin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
set_target_properties(workshopplugin PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||
|
||||
set(steam_lib_path "${CMAKE_CURRENT_SOURCE_DIR}/SteamSDK/redistributable_bin/")
|
||||
set(STEAM_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/SteamSDK/redistributable_bin/")
|
||||
|
||||
if(WIN32)
|
||||
set(steam_lib "${steam_lib_path}/win64/steam_api64.lib")
|
||||
set(STEAM_LIB "${STEAM_LIB_PATH}/win64/steam_api64.lib")
|
||||
set(STEAM_BIN "${STEAM_LIB_PATH}/win64/steam_api64.dll")
|
||||
elseif(APPLE)
|
||||
set(steam_lib "${steam_lib_path}/osx/libsteam_api.dylib")
|
||||
set(STEAM_LIB "${STEAM_LIB_PATH}/osx/libsteam_api.dylib")
|
||||
set(STEAM_BIN ${STEAM_LIB})
|
||||
elseif(UNIX)
|
||||
set(steam_lib "${steam_lib_path}/linux64/libsteam_api.so")
|
||||
set(STEAM_LIB "${STEAM_LIB_PATH}/linux64/libsteam_api.so")
|
||||
set(STEAM_BIN ${STEAM_LIB})
|
||||
endif()
|
||||
|
||||
target_link_libraries(workshopplugin PRIVATE Qt6::Core Qt6::Quick ${steam_lib} ScreenPlayUtil SteamSDK)
|
||||
|
||||
if(WIN32)
|
||||
set(steam_bin "${steam_lib_path}/win64/steam_api64.dll")
|
||||
elseif(APPLE)
|
||||
set(steam_bin "${steam_lib_path}/osx/libsteam_api.dylib")
|
||||
elseif(UNIX)
|
||||
set(steam_bin "${steam_lib_path}/linux64/libsteam_api.so")
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Quick ${STEAM_LIB} ScreenPlayUtil SteamSDK)
|
||||
|
||||
if(APPLE)
|
||||
set(workshop_install_dir ${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/Workshop)
|
||||
@ -69,26 +69,26 @@ if(APPLE)
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${workshop_install_dir})
|
||||
|
||||
add_custom_command(
|
||||
TARGET workshopplugin
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying qmldir info into ScreenPlay.app bundle"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/qmldir ${workshop_install_dir})
|
||||
|
||||
add_custom_command(
|
||||
TARGET workshopplugin
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying workshop plugin into ScreenPlay.app bundle"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Workshop/libworkshopplugin.dylib ${workshop_install_dir})
|
||||
|
||||
add_custom_command(
|
||||
TARGET workshopplugin
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying steam library into ScreenPlay.app bundle"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${steam_bin} ${workshop_install_dir})
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${STEAM_BIN} ${workshop_install_dir})
|
||||
|
||||
if(${SCREENPLAY_STEAM})
|
||||
add_custom_command(
|
||||
TARGET workshopplugin
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying steam_appid.txt into ScreenPlay.app bundle. This is for development only!"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt
|
||||
@ -100,5 +100,5 @@ else()
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt ${CMAKE_BINARY_DIR}/bin/steam_appid.txt COPYONLY)
|
||||
endif()
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qmldir ${WORKSHOP_PLUGIN_DIR}/qmldir COPYONLY)
|
||||
configure_file(${steam_bin} ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
||||
configure_file(${STEAM_BIN} ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
||||
endif()
|
||||
|
@ -1,2 +0,0 @@
|
||||
module Workshop
|
||||
plugin workshopplugin
|
Loading…
Reference in New Issue
Block a user