diff --git a/ScreenPlay/CMakeLists.txt b/ScreenPlay/CMakeLists.txt index a4f52235..4ba92846 100644 --- a/ScreenPlay/CMakeLists.txt +++ b/ScreenPlay/CMakeLists.txt @@ -136,20 +136,12 @@ set(RESOURCES 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 @@ -157,8 +149,6 @@ set(RESOURCES 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 @@ -167,8 +157,6 @@ set(RESOURCES 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 @@ -261,6 +249,7 @@ find_package( Qt6 COMPONENTS Core Quick + QuickControls2 Gui Widgets WebSockets @@ -298,6 +287,7 @@ target_link_libraries( Qt6::Core Qt6::WebSockets Qt6::Svg + Qt6::QuickControls2 ScreenPlayUtil ScreenPlayUtilplugin QArchive diff --git a/ScreenPlay/assets/icons/icon_code.svg b/ScreenPlay/assets/icons/icon_code.svg index 8a7562dd..aa09dbd1 100644 --- a/ScreenPlay/assets/icons/icon_code.svg +++ b/ScreenPlay/assets/icons/icon_code.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_community.svg b/ScreenPlay/assets/icons/icon_community.svg index 0b6b7eb7..78961b24 100644 --- a/ScreenPlay/assets/icons/icon_community.svg +++ b/ScreenPlay/assets/icons/icon_community.svg @@ -1,36 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_hand_left.svg b/ScreenPlay/assets/icons/icon_hand_left.svg deleted file mode 100644 index cdd0309b..00000000 --- a/ScreenPlay/assets/icons/icon_hand_left.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_hand_right.svg b/ScreenPlay/assets/icons/icon_hand_right.svg deleted file mode 100644 index 0bcab757..00000000 --- a/ScreenPlay/assets/icons/icon_hand_right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_heavy_metal.svg b/ScreenPlay/assets/icons/icon_heavy_metal.svg deleted file mode 100644 index 36140a7a..00000000 --- a/ScreenPlay/assets/icons/icon_heavy_metal.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ScreenPlay/assets/icons/icon_installed.svg b/ScreenPlay/assets/icons/icon_installed.svg index 9c3a52b7..f531b926 100644 --- a/ScreenPlay/assets/icons/icon_installed.svg +++ b/ScreenPlay/assets/icons/icon_installed.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_library_music.svg b/ScreenPlay/assets/icons/icon_library_music.svg deleted file mode 100644 index 6e498acd..00000000 --- a/ScreenPlay/assets/icons/icon_library_music.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_local_movies.svg b/ScreenPlay/assets/icons/icon_local_movies.svg deleted file mode 100644 index f090db78..00000000 --- a/ScreenPlay/assets/icons/icon_local_movies.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_logo_head.svg b/ScreenPlay/assets/icons/icon_logo_head.svg deleted file mode 100644 index 55507605..00000000 --- a/ScreenPlay/assets/icons/icon_logo_head.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_monitor.svg b/ScreenPlay/assets/icons/icon_monitor.svg deleted file mode 100644 index 4d31d2d3..00000000 --- a/ScreenPlay/assets/icons/icon_monitor.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/ScreenPlay/assets/icons/icon_movie.svg b/ScreenPlay/assets/icons/icon_movie.svg index bd751e60..59deab37 100644 --- a/ScreenPlay/assets/icons/icon_movie.svg +++ b/ScreenPlay/assets/icons/icon_movie.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_multiple_images.svg b/ScreenPlay/assets/icons/icon_multiple_images.svg deleted file mode 100644 index 365e7935..00000000 --- a/ScreenPlay/assets/icons/icon_multiple_images.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/ScreenPlay/assets/icons/icon_plus.svg b/ScreenPlay/assets/icons/icon_plus.svg index b0986fa8..05a02317 100644 --- a/ScreenPlay/assets/icons/icon_plus.svg +++ b/ScreenPlay/assets/icons/icon_plus.svg @@ -1,9 +1 @@ - - - - - - - - - + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_scene.svg b/ScreenPlay/assets/icons/icon_scene.svg deleted file mode 100644 index a511ed92..00000000 --- a/ScreenPlay/assets/icons/icon_scene.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_screen.svg b/ScreenPlay/assets/icons/icon_screen.svg deleted file mode 100644 index 4ee04364..00000000 --- a/ScreenPlay/assets/icons/icon_screen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_settings.svg b/ScreenPlay/assets/icons/icon_settings.svg index 4650aef5..6aeee0f8 100644 --- a/ScreenPlay/assets/icons/icon_settings.svg +++ b/ScreenPlay/assets/icons/icon_settings.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_time.svg b/ScreenPlay/assets/icons/icon_time.svg deleted file mode 100644 index a3e3fa15..00000000 --- a/ScreenPlay/assets/icons/icon_time.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ScreenPlay/assets/icons/icon_tv.svg b/ScreenPlay/assets/icons/icon_tv.svg deleted file mode 100644 index 286a5952..00000000 --- a/ScreenPlay/assets/icons/icon_tv.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/ScreenPlay/assets/icons/icon_widgets.svg b/ScreenPlay/assets/icons/icon_widgets.svg index d9bb1549..433aba2a 100644 --- a/ScreenPlay/assets/icons/icon_widgets.svg +++ b/ScreenPlay/assets/icons/icon_widgets.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/ScreenPlay/main.qml b/ScreenPlay/main.qml index d81c4043..c4202250 100644 --- a/ScreenPlay/main.qml +++ b/ScreenPlay/main.qml @@ -56,7 +56,7 @@ ApplicationWindow { // Set visible if the -silent parameter was not set (see app.cpp end of constructor). visible: false width: 1400 - height: 788 + height: 810 title: "ScreenPlay Alpha - V" + App.version() minimumHeight: 450 minimumWidth: 1050 diff --git a/ScreenPlay/qml/Create/Create.qml b/ScreenPlay/qml/Create/Create.qml index 24a8755f..4c573022 100644 --- a/ScreenPlay/qml/Create/Create.qml +++ b/ScreenPlay/qml/Create/Create.qml @@ -8,7 +8,7 @@ import QtQuick.Controls.Material.impl import ScreenPlayApp import ScreenPlay import ScreenPlay.Create -import ScreenPlay.QMLUtilities +import ScreenPlayUtil Item { id: root diff --git a/ScreenPlay/qml/Create/CreateSidebar.qml b/ScreenPlay/qml/Create/CreateSidebar.qml index 38b77561..337b27e6 100644 --- a/ScreenPlay/qml/Create/CreateSidebar.qml +++ b/ScreenPlay/qml/Create/CreateSidebar.qml @@ -8,7 +8,7 @@ import QtQuick.Controls.Material.impl import ScreenPlayApp import ScreenPlay import ScreenPlay.Create -import ScreenPlay.QMLUtilities +import ScreenPlayUtil Rectangle { id: root diff --git a/ScreenPlay/qml/Create/StartInfo.qml b/ScreenPlay/qml/Create/StartInfo.qml index 32373036..29dc7d41 100644 --- a/ScreenPlay/qml/Create/StartInfo.qml +++ b/ScreenPlay/qml/Create/StartInfo.qml @@ -8,7 +8,6 @@ import QtQuick.Controls.Material.impl import ScreenPlayApp import ScreenPlay import ScreenPlay.Create -import ScreenPlay.QMLUtilities import ScreenPlayUtil as Util Item { diff --git a/ScreenPlay/qml/Create/StartInfoLinkImage.qml b/ScreenPlay/qml/Create/StartInfoLinkImage.qml index ec687452..4facab40 100644 --- a/ScreenPlay/qml/Create/StartInfoLinkImage.qml +++ b/ScreenPlay/qml/Create/StartInfoLinkImage.qml @@ -8,7 +8,6 @@ import QtQuick.Controls.Material.impl import ScreenPlayApp import ScreenPlay import ScreenPlay.Create -import ScreenPlay.QMLUtilities import ScreenPlayUtil Item { diff --git a/ScreenPlay/qml/Installed/InstalledNavigation.qml b/ScreenPlay/qml/Installed/InstalledNavigation.qml index 627c1d56..0ca5191a 100644 --- a/ScreenPlay/qml/Installed/InstalledNavigation.qml +++ b/ScreenPlay/qml/Installed/InstalledNavigation.qml @@ -47,6 +47,7 @@ Item { TabBar { height: parent.height + background: Item {} anchors { top: parent.top topMargin: 5 @@ -55,71 +56,51 @@ Item { bottom: parent.bottom } - TabButton { - text: qsTr("All") + component CustomTabButton: TabButton { icon.height: 16 icon.width: 16 height: parent.height width: implicitWidth + background: Item {} + font.capitalization: Font.MixedCase + } + + CustomTabButton { + text: qsTr("All") icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_installed.svg" onClicked: { setSidebarActive(false) - App.installedListFilter.sortBySearchType( - SearchType.All) + App.installedListFilter.sortBySearchType(SearchType.All) } - - background: Item {} } - TabButton { + CustomTabButton { text: qsTr("Scenes") - icon.height: 16 - icon.width: 16 - width: implicitWidth - height: parent.height icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_code.svg" onClicked: { setSidebarActive(false) - App.installedListFilter.sortBySearchType( - SearchType.Scene) + App.installedListFilter.sortBySearchType(SearchType.Scene) } - - background: Item {} } - TabButton { + CustomTabButton { text: qsTr("Videos") - icon.height: 16 - icon.width: 16 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_movie.svg" onClicked: { setSidebarActive(false) App.installedListFilter.sortBySearchType( SearchType.Wallpaper) } - - background: Item {} } - TabButton { + CustomTabButton { text: qsTr("Widgets") - icon.height: 16 - icon.width: 16 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_widgets.svg" onClicked: { setSidebarActive(false) - App.installedListFilter.sortBySearchType( - SearchType.Widget) + App.installedListFilter.sortBySearchType(SearchType.Widget) } - - background: Item {} } - - background: Item {} } Util.Search { @@ -144,14 +125,12 @@ Item { ToolTip.delay: 100 ToolTip.timeout: 5000 ToolTip.visible: hovered - ToolTip.text: (btnSortOrder.sortOrder - === Qt.AscendingOrder) ? "Install Date Ascending": "Install Date Descending" + ToolTip.text: (btnSortOrder.sortOrder === Qt.AscendingOrder) ? "Install Date Ascending" : "Install Date Descending" onClicked: { btnSortOrder.sortOrder = (btnSortOrder.sortOrder === Qt.DescendingOrder) ? Qt.AscendingOrder : Qt.DescendingOrder - App.installedListFilter.setSortOrder( - btnSortOrder.sortOrder) + App.installedListFilter.setSortOrder(btnSortOrder.sortOrder) } anchors { diff --git a/ScreenPlay/qml/Installed/Sidebar.qml b/ScreenPlay/qml/Installed/Sidebar.qml index 9548762f..04c1af53 100644 --- a/ScreenPlay/qml/Installed/Sidebar.qml +++ b/ScreenPlay/qml/Installed/Sidebar.qml @@ -353,8 +353,6 @@ Item { Material.foreground: "white" icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_plus.svg" icon.color: "white" - icon.width: 16 - icon.height: 16 font.pointSize: 12 onClicked: { const absoluteStoragePath = App.globalVariables.localStoragePath diff --git a/ScreenPlay/qml/Navigation/Navigation.qml b/ScreenPlay/qml/Navigation/Navigation.qml index 116d7098..fec57139 100644 --- a/ScreenPlay/qml/Navigation/Navigation.qml +++ b/ScreenPlay/qml/Navigation/Navigation.qml @@ -83,85 +83,67 @@ Rectangle { spacing: 0 - TabButton { - id: navCreate - text: qsTr("Create") + component CustomTabButton: TabButton { icon.height: 16 icon.width: 16 font.pointSize: 12 height: parent.height width: implicitWidth + background: Item {} + font.capitalization: Font.MixedCase + } + + CustomTabButton { + id: navCreate + icon.height: 22 + icon.width: 22 + text: qsTr("Create") icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_plus.svg" onClicked: { root.onPageChanged("Create") } objectName: "createTab" - background: Item {} } - TabButton { + CustomTabButton { id: navWorkshop enabled: App.settings.steamVersion text: qsTr("Workshop") - icon.height: 16 - icon.width: 16 - font.pointSize: 12 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_steam.svg" onClicked: { root.onPageChanged("Workshop") } objectName: "workshopTab" - background: Item {} } - TabButton { + CustomTabButton { id: navInstalled text: qsTr("Installed") + " " + App.installedListModel.count - icon.height: 16 - icon.width: 16 - font.pointSize: 12 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_installed.svg" onClicked: { root.onPageChanged("Installed") } objectName: "installedTab" - background: Item {} } - TabButton { + CustomTabButton { id: navCommunity text: qsTr("Community") - icon.height: 16 - icon.width: 16 - font.pointSize: 12 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_community.svg" onClicked: { root.onPageChanged("Community") } objectName: "communityTab" - background: Item {} } - TabButton { + CustomTabButton { id: navSettings text: qsTr("Settings") - icon.height: 16 - icon.width: 16 - font.pointSize: 12 - height: parent.height - width: implicitWidth icon.source: "qrc:/qml/ScreenPlayApp/assets/icons/icon_settings.svg" onClicked: { root.onPageChanged("Settings") } objectName: "settingsTab" - background: Item {} } } @@ -225,12 +207,11 @@ Rectangle { onSoundEnabledChanged: { if (miMuteAll.soundEnabled) { miMuteAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume.svg" - App.screenPlayManager.setAllWallpaperValue("muted", - "false") + App.screenPlayManager.setAllWallpaperValue("muted", "false") } else { - miMuteAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume_mute.svg" - App.screenPlayManager.setAllWallpaperValue("muted", - "true") + miMuteAll.icon.source + = "qrc:/qml/ScreenPlayApp/assets/icons/icon_volume_mute.svg" + App.screenPlayManager.setAllWallpaperValue("muted", "true") } } @@ -250,12 +231,12 @@ Rectangle { onIsPlayingChanged: { if (miStopAll.isPlaying) { miStopAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_pause.svg" - App.screenPlayManager.setAllWallpaperValue( - "isPlaying", "true") + App.screenPlayManager.setAllWallpaperValue("isPlaying", + "true") } else { miStopAll.icon.source = "qrc:/qml/ScreenPlayApp/assets/icons/icon_play.svg" - App.screenPlayManager.setAllWallpaperValue( - "isPlaying", "false") + App.screenPlayManager.setAllWallpaperValue("isPlaying", + "false") } } hoverEnabled: true diff --git a/ScreenPlay/src/app.cpp b/ScreenPlay/src/app.cpp index 3a969e0c..38d65431 100644 --- a/ScreenPlay/src/app.cpp +++ b/ScreenPlay/src/app.cpp @@ -3,6 +3,7 @@ #include "steam/steam_qt_enums_generated.h" #include #include +#include namespace ScreenPlay { /*! @@ -203,6 +204,7 @@ void App::init() setupKDE(); } + QQuickStyle::setStyle("Material"); m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/qml/ScreenPlayApp/main.qml"))); // Must be called last to display a error message on startup by the qml engine diff --git a/ScreenPlay/translations/ScreenPlay_.ts b/ScreenPlay/translations/ScreenPlay_.ts index c69efc03..aa5a3a14 100644 --- a/ScreenPlay/translations/ScreenPlay_.ts +++ b/ScreenPlay/translations/ScreenPlay_.ts @@ -571,6 +571,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_de_DE.ts b/ScreenPlay/translations/ScreenPlay_de_DE.ts index 2e523a64..f138dab3 100644 --- a/ScreenPlay/translations/ScreenPlay_de_DE.ts +++ b/ScreenPlay/translations/ScreenPlay_de_DE.ts @@ -572,6 +572,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_es_ES.ts b/ScreenPlay/translations/ScreenPlay_es_ES.ts index 97c0424f..43ab28ff 100644 --- a/ScreenPlay/translations/ScreenPlay_es_ES.ts +++ b/ScreenPlay/translations/ScreenPlay_es_ES.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_fr_FR.ts b/ScreenPlay/translations/ScreenPlay_fr_FR.ts index bb10d4a0..d64c0597 100644 --- a/ScreenPlay/translations/ScreenPlay_fr_FR.ts +++ b/ScreenPlay/translations/ScreenPlay_fr_FR.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_it_IT.ts b/ScreenPlay/translations/ScreenPlay_it_IT.ts index a470a090..e966abbb 100644 --- a/ScreenPlay/translations/ScreenPlay_it_IT.ts +++ b/ScreenPlay/translations/ScreenPlay_it_IT.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_ko_KR.ts b/ScreenPlay/translations/ScreenPlay_ko_KR.ts index 35db17a0..22948b39 100644 --- a/ScreenPlay/translations/ScreenPlay_ko_KR.ts +++ b/ScreenPlay/translations/ScreenPlay_ko_KR.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_nl_NL.ts b/ScreenPlay/translations/ScreenPlay_nl_NL.ts index 4b15ca90..a5f5d743 100644 --- a/ScreenPlay/translations/ScreenPlay_nl_NL.ts +++ b/ScreenPlay/translations/ScreenPlay_nl_NL.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_pl_PL.ts b/ScreenPlay/translations/ScreenPlay_pl_PL.ts index b0656ebf..09ed23ab 100644 --- a/ScreenPlay/translations/ScreenPlay_pl_PL.ts +++ b/ScreenPlay/translations/ScreenPlay_pl_PL.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_pt_BR.ts b/ScreenPlay/translations/ScreenPlay_pt_BR.ts index 35030e29..b5a1f413 100644 --- a/ScreenPlay/translations/ScreenPlay_pt_BR.ts +++ b/ScreenPlay/translations/ScreenPlay_pt_BR.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_ru_RU.ts b/ScreenPlay/translations/ScreenPlay_ru_RU.ts index c9ac13c8..eb002515 100644 --- a/ScreenPlay/translations/ScreenPlay_ru_RU.ts +++ b/ScreenPlay/translations/ScreenPlay_ru_RU.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_tr_TR.ts b/ScreenPlay/translations/ScreenPlay_tr_TR.ts index 59f0c3c8..25867e91 100644 --- a/ScreenPlay/translations/ScreenPlay_tr_TR.ts +++ b/ScreenPlay/translations/ScreenPlay_tr_TR.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_vi_VN.ts b/ScreenPlay/translations/ScreenPlay_vi_VN.ts index 0ca796a6..778b713f 100644 --- a/ScreenPlay/translations/ScreenPlay_vi_VN.ts +++ b/ScreenPlay/translations/ScreenPlay_vi_VN.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlay/translations/ScreenPlay_zh_CN.ts b/ScreenPlay/translations/ScreenPlay_zh_CN.ts index 50e0ae2f..4e47f088 100644 --- a/ScreenPlay/translations/ScreenPlay_zh_CN.ts +++ b/ScreenPlay/translations/ScreenPlay_zh_CN.ts @@ -573,6 +573,10 @@ Import Content... + + Export Content... + + InstalledNavigation diff --git a/ScreenPlayWorkshop/CMakeLists.txt b/ScreenPlayWorkshop/CMakeLists.txt index 3ee6e37a..a24385ed 100644 --- a/ScreenPlayWorkshop/CMakeLists.txt +++ b/ScreenPlayWorkshop/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package( Qt6 - COMPONENTS Core Quick + COMPONENTS Core Quick QuickControls2 REQUIRED) set(QML @@ -56,12 +56,15 @@ set(HEADER set(RESOURCES assets/icons/icon_download.svg + assets/icons/icon_file_upload.svg assets/icons/icon_open_in_new.svg assets/icons/icon_plus.svg assets/icons/icon_steam.svg assets/icons/icon_thumb_down.svg assets/icons/icon_thumb_up.svg + assets/icons/icon_account_circle.svg assets/icons/icon_arrow_left.svg + assets/icons/icon_close.svg assets/icons/icon_arrow_right.svg assets/icons/icon_search.svg assets/icons/icon_info.svg @@ -128,6 +131,7 @@ if(${SCREENPLAY_STEAM}) target_link_libraries( tst_ScreenPlayWorkshop PRIVATE Qt6::Quick + Qt6::QuickControls2 ${PROJECT_NAME}plugin ScreenPlayUtilplugin SteamSDK diff --git a/ScreenPlayWorkshop/assets/icons/icon_account_circle.svg b/ScreenPlayWorkshop/assets/icons/icon_account_circle.svg new file mode 100644 index 00000000..cbcf8227 --- /dev/null +++ b/ScreenPlayWorkshop/assets/icons/icon_account_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ScreenPlayWorkshop/assets/icons/icon_close.svg b/ScreenPlayWorkshop/assets/icons/icon_close.svg new file mode 100644 index 00000000..bdebbc33 --- /dev/null +++ b/ScreenPlayWorkshop/assets/icons/icon_close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ScreenPlayWorkshop/assets/icons/icon_download.svg b/ScreenPlayWorkshop/assets/icons/icon_download.svg index 1eeae5cb..1abd62bb 100644 --- a/ScreenPlayWorkshop/assets/icons/icon_download.svg +++ b/ScreenPlayWorkshop/assets/icons/icon_download.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/ScreenPlayWorkshop/assets/icons/icon_file_upload.svg b/ScreenPlayWorkshop/assets/icons/icon_file_upload.svg new file mode 100644 index 00000000..eb1d10a5 --- /dev/null +++ b/ScreenPlayWorkshop/assets/icons/icon_file_upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ScreenPlayWorkshop/assets/icons/icon_search.svg b/ScreenPlayWorkshop/assets/icons/icon_search.svg index ac6f7145..8a99f822 100644 --- a/ScreenPlayWorkshop/assets/icons/icon_search.svg +++ b/ScreenPlayWorkshop/assets/icons/icon_search.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml b/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml index 280a9dcb..877e77df 100644 --- a/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml +++ b/ScreenPlayWorkshop/qml/SteamWorkshopStartPage.qml @@ -126,15 +126,24 @@ Item { leftMargin: 100 } - Text { - id: bannerTxtUnderline + Rectangle { + height: 36 + width: 160 + color: Material.backgroundColor + radius: 4 + Text { + id: bannerTxtUnderline - property int numberSubscriber: 0 + property int numberSubscriber: 0 - text: numberSubscriber + " SUBSCRIBED TO:" - font.pointSize: 12 - color: "white" - font.weight: Font.Thin + text: numberSubscriber + " SUBSCRIBED TO:" + font.pointSize: 12 + color: "white" + font.weight: Font.Thin + anchors.fill: parent + horizontalAlignment: Qt.AlignHCenter + verticalAlignment: Qt.AlignVCenter + } } Text { @@ -145,6 +154,13 @@ Item { color: "white" font.weight: Font.Thin width: 400 + + layer.enabled: true + layer.effect: DropShadow { + verticalOffset: 2 + color: "#80000000" + radius: 3 + } } RowLayout { @@ -195,6 +211,12 @@ Item { color: "white" font.underline: true font.weight: Font.Thin + layer.enabled: true + layer.effect: DropShadow { + verticalOffset: 2 + color: "#80000000" + radius:3 + } } } } @@ -274,6 +296,7 @@ Item { } text: qsTr("Profile") + icon.source: "qrc:/qml/ScreenPlayWorkshop/assets/icons/icon_account_circle.svg" onClicked: { stackView.push( "qrc:/qml/ScreenPlayWorkshop/qml/SteamProfile.qml", @@ -294,6 +317,7 @@ Item { } text: qsTr("Upload") + icon.source: "qrc:/qml/ScreenPlayWorkshop/assets/icons/icon_file_upload.svg" onClicked: { stackView.push( "qrc:/qml/ScreenPlayWorkshop/qml/upload/UploadProject.qml", @@ -307,13 +331,30 @@ Item { Item { id: searchWrapper - width: 400 height: 50 anchors { - verticalCenter: parent.verticalCenter left: btnSteamUpload.right + right: wrapperRight.left + rightMargin: 20 leftMargin: 20 + verticalCenter: parent.verticalCenter + } + ToolButton { + icon.source: "qrc:/qml/ScreenPlayWorkshop/assets/icons/icon_search.svg" + onClicked: { + root.state = "searching" + root.steamWorkshop.searchWorkshopByText( + tiSearch.text) + } + icon.width: 20 + icon.height: 20 + anchors { + left: parent.left + leftMargin: -3 + bottom: parent.bottom + bottomMargin: 3 + } } TextField { @@ -329,39 +370,40 @@ Item { root.steamWorkshop.searchWorkshopByText( tiSearch.text) } + leftInset: -20 + leftPadding: 20 anchors { top: parent.top right: parent.right bottom: parent.bottom left: parent.left - leftMargin: 10 + leftMargin: 20 } } - ToolButton { - id: tb - icon.source: "qrc:/qml/ScreenPlayWorkshop/assets/icons/icon_search.svg" + icon.source: "qrc:/qml/ScreenPlayWorkshop/assets/icons/icon_close.svg" onClicked: { root.state = "searching" - root.steamWorkshop.searchWorkshopByText( - tiSearch.text) + tiSearch.text = "" + root.steamWorkshop.searchWorkshop(SteamEnums.K_EUGCQuery_RankedByTrend) } + enabled: tiSearch.text !== "" icon.width: 20 icon.height: 20 anchors { right: parent.right + rightMargin: -3 bottom: parent.bottom - bottomMargin: 10 + bottomMargin: 3 } } } RowLayout { + id: wrapperRight spacing: 20 anchors { - left: searchWrapper.right - leftMargin: 20 right: cbQuerySort.left rightMargin: 20 verticalCenter: parent.verticalCenter @@ -448,7 +490,8 @@ Item { itemIndex: index steamWorkshop: root.steamWorkshop onClicked: { - sidebar.setWorkshopItem(publishedFileID, imgUrl, + sidebar.setWorkshopItem(m_publishedFileID, + m_workshopPreview, additionalPreviewUrl, subscriptionCount) } diff --git a/ScreenPlayWorkshop/qml/TestMain.qml b/ScreenPlayWorkshop/qml/TestMain.qml index 5decf174..4adc0807 100644 --- a/ScreenPlayWorkshop/qml/TestMain.qml +++ b/ScreenPlayWorkshop/qml/TestMain.qml @@ -6,13 +6,30 @@ import ScreenPlayWorkshop Window { id: root - width: 1366 + width: 1400 height: 768 visible: true title: qsTr("ScreenPlayWorkshop") + Component.onCompleted: root.Material.theme = Material.Dark Loader { - anchors.fill: parent - source:"qrc:/qml/ScreenPlayWorkshop/qml/SteamWorkshop.qml" + anchors { + top: nav.bottom + right: parent.right + bottom: parent.bottom + left: parent.left + } + + source: "qrc:/qml/ScreenPlayWorkshop/qml/SteamWorkshop.qml" } + Rectangle { + height: 60 + color: Material.background + id: nav + anchors { + right: parent.right + left: parent.left + } + } + }