1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-18 16:32:33 +02:00

Add our own Dialog and Popup with blur background

Remove all => for now because the qml formatter does
not like the new syntax
Fix states auf mute/play all buttons
Remove useless playback speed option
This commit is contained in:
Elias Steurer 2022-01-20 16:37:07 +01:00
parent 95f155c889
commit c281ec5599
46 changed files with 12792 additions and 12675 deletions

View File

@ -72,9 +72,12 @@ set(QML
qml/Navigation/Navigation.qml qml/Navigation/Navigation.qml
qml/Navigation/NavigationItem.qml qml/Navigation/NavigationItem.qml
qml/Navigation/WindowNavButton.qml qml/Navigation/WindowNavButton.qml
qml/Navigation/WindowNavigation.qml
qml/Monitors/DefaultVideoControls.qml qml/Monitors/DefaultVideoControls.qml
qml/Common/TagSelector.qml qml/Common/TagSelector.qml
qml/Common/Tag.qml qml/Common/Tag.qml
qml/Common/Popup.qml
qml/Common/Dialog.qml
qml/Common/ImageSelector.qml qml/Common/ImageSelector.qml
qml/Common/Slider.qml qml/Common/Slider.qml
qml/Common/RippleEffect.qml qml/Common/RippleEffect.qml

View File

@ -83,9 +83,50 @@ ApplicationWindow {
} }
Item { Item {
id: content id: noneContentItems
Dialogs.SteamNotAvailable {
id: dialogSteam
modalSource: content
}
Dialogs.MonitorConfiguration {
modalSource: content
}
Dialogs.CriticalError {
window: root
modalSource: content
}
Monitors.Monitors {
id: monitors
modalSource: content
}
Common.TrayIcon {
window: root
}
}
Item {
anchors.fill: parent anchors.fill: parent
anchors.margins: 1 anchors.margins: 1
Navigation.WindowNavigation {
id: windowNav
z:5
modalSource: content
width: parent.width
window: root
}
Item {
id: content
anchors {
top: windowNav.bottom
right: parent.right
bottom: parent.bottom
left: parent.left
}
Connections { Connections {
function onThemeChanged(theme) { function onThemeChanged(theme) {
@ -111,24 +152,6 @@ ApplicationWindow {
target: ScreenPlay.screenPlayManager target: ScreenPlay.screenPlayManager
} }
Dialogs.SteamNotAvailable {
id: dialogSteam
modalSource: content
}
Dialogs.MonitorConfiguration {
modalSource: content
}
Dialogs.CriticalError {
window: root
modalSource: content
}
Common.TrayIcon {
window: root
}
StackView { StackView {
id: stackView id: stackView
objectName: "stackView" objectName: "stackView"
@ -207,8 +230,6 @@ ApplicationWindow {
Navigation.Navigation { Navigation.Navigation {
id: nav id: nav
window: root
width: parent.width
modalSource: content modalSource: content
anchors { anchors {
top: parent.top top: parent.top
@ -221,10 +242,6 @@ ApplicationWindow {
switchPage(name) switchPage(name)
} }
} }
Monitors.Monitors {
id: monitors
modalSource: content
} }
} }

View File

@ -0,0 +1,29 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Qt5Compat.GraphicalEffects
import QtQuick.Controls.Material.impl
import QtQuick.Controls.Material
import ScreenPlay 1.0
Dialog {
id: root
property Item modalSource
dim: true
anchors.centerIn: Overlay.overlay
modal: true
focus: true
Overlay.modal: ModalBackgroundBlur {
id: blurBg
sourceItem: root.modalSource
hideSource: root.hideSource
}
// Workaround for missing animation on hide
// when using hideSource
property bool hideSource: true
onAboutToHide: root.hideSource = false
onAboutToShow: root.hideSource = true
}

View File

@ -5,29 +5,24 @@ import QtQuick.Controls.Material
import QtQuick.Window import QtQuick.Window
import Qt5Compat.GraphicalEffects import Qt5Compat.GraphicalEffects
import ScreenPlay 1.0 import ScreenPlay 1.0
import "../" import "../" as Common
Dialog { Common.Dialog {
id: root id: root
property ApplicationWindow window property ApplicationWindow window
property string message property string message
property var modalSource
Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource
}
anchors.centerIn: Overlay.overlay
standardButtons: Dialog.Ok | Dialog.Help standardButtons: Dialog.Ok | Dialog.Help
onHelpRequested: { onHelpRequested: {
Qt.openUrlExternally("https://forum.screen-play.app/category/7/troubleshooting"); Qt.openUrlExternally(
"https://forum.screen-play.app/category/7/troubleshooting")
} }
Connections { Connections {
function onDisplayErrorPopup(msg) { function onDisplayErrorPopup(msg) {
root.message = msg; root.message = msg
root.window.show(); root.window.show()
root.open(); root.open()
} }
target: ScreenPlay.screenPlayManager target: ScreenPlay.screenPlayManager
@ -55,9 +50,7 @@ Dialog {
effect: ColorOverlay { effect: ColorOverlay {
color: Material.color(Material.DeepOrange) color: Material.color(Material.DeepOrange)
} }
} }
} }
Text { Text {
@ -71,9 +64,6 @@ Dialog {
font.pointSize: 16 font.pointSize: 16
color: Material.primaryTextColor color: Material.primaryTextColor
} }
} }
} }
} }

View File

@ -3,25 +3,17 @@ import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Controls.Material import QtQuick.Controls.Material
import ScreenPlay 1.0 import ScreenPlay 1.0
import "../" import "../" as Common
Dialog { Common.Dialog {
id: dialogMonitorConfigurationChanged id: root
property var modalSource
modal: true
anchors.centerIn: Overlay.overlay
standardButtons: Dialog.Ok standardButtons: Dialog.Ok
contentHeight: 250 contentHeight: 250
Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource
}
Connections { Connections {
function onMonitorConfigurationChanged() { function onMonitorConfigurationChanged() {
dialogMonitorConfigurationChanged.open(); root.open()
} }
target: ScreenPlay.monitorListModel target: ScreenPlay.monitorListModel
@ -51,10 +43,6 @@ Dialog {
font.pointSize: 16 font.pointSize: 16
color: Material.primaryTextColor color: Material.primaryTextColor
} }
} }
} }
} }

View File

@ -1,19 +1,11 @@
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
import "../" import "../" as Common
Dialog { Common.Dialog {
id: root id: root
property var modalSource
Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource
}
modal: true
anchors.centerIn: Overlay.overlay
standardButtons: Dialog.Ok standardButtons: Dialog.Ok
title: qsTr("Could not load steam integration!") title: qsTr("Could not load steam integration!")
} }

View File

@ -3,10 +3,13 @@ import Qt5Compat.GraphicalEffects
FastBlur { FastBlur {
id: root id: root
property var sourceItem property Item sourceItem
property bool hideSource: true
source: ShaderEffectSource { source: ShaderEffectSource {
id: effectSource
sourceItem: root.sourceItem sourceItem: root.sourceItem
live: false live: false
hideSource: root.hideSource
} }
radius: 64 radius: 64
transparentBorder: true transparentBorder: true

View File

@ -0,0 +1,26 @@
import QtQuick
import QtQuick.Controls
import Qt5Compat.GraphicalEffects
import QtQuick.Controls.Material
import QtQuick.Layouts
Popup {
id: root
property Item modalSource
// Workaround for missing animation on hide
// when using hideSource
property bool aboutToHide: false
dim: true
anchors.centerIn: Overlay.overlay
modal: true
focus: true
Overlay.modal: ModalBackgroundBlur {
id: blurBg
sourceItem: root.modalSource
hideSource: root.aboutToHide
}
onAboutToHide: root.aboutToHide = false
onClosed: root.aboutToHide = true
}

View File

@ -27,9 +27,10 @@ Item {
TextField { TextField {
id: txtSearch id: txtSearch
placeholderTextColor: Material.secondaryTextColor
width: 250 width: 250
height: 40 height: 40
color: Material.secondaryTextColor
placeholderText: qsTr("Search for Wallpaper & Widgets") placeholderText: qsTr("Search for Wallpaper & Widgets")
onTextChanged: { onTextChanged: {
if (txtSearch.text.length === 0) if (txtSearch.text.length === 0)

View File

@ -68,6 +68,7 @@ Item {
font.family: ScreenPlay.settings.font font.family: ScreenPlay.settings.font
color: Material.secondaryTextColor color: Material.secondaryTextColor
placeholderTextColor: Material.secondaryTextColor
width: parent.width width: parent.width
Keys.onEscapePressed: resetState() Keys.onEscapePressed: resetState()
onTextEdited: { onTextEdited: {

View File

@ -10,19 +10,19 @@ SystemTrayIcon {
visible: true visible: true
icon.source: "qrc:/assets/icons/app.ico" icon.source: "qrc:/assets/icons/app.ico"
tooltip: qsTr("ScreenPlay - Double click to change you settings.") tooltip: qsTr("ScreenPlay - Double click to change you settings.")
onActivated: (reason)=>{ onActivated: function (reason) {
switch (reason) { switch (reason) {
case SystemTrayIcon.Unknown: case SystemTrayIcon.Unknown:
break; break
case SystemTrayIcon.Context: case SystemTrayIcon.Context:
break; break
case SystemTrayIcon.DoubleClick: case SystemTrayIcon.DoubleClick:
window.show(); window.show()
break; break
case SystemTrayIcon.Trigger: case SystemTrayIcon.Trigger:
break; break
case SystemTrayIcon.MiddleClick: case SystemTrayIcon.MiddleClick:
break; break
} }
} }
@ -30,7 +30,7 @@ SystemTrayIcon {
MenuItem { MenuItem {
text: qsTr("Open ScreenPlay") text: qsTr("Open ScreenPlay")
onTriggered: { onTriggered: {
window.show(); window.show()
} }
} }
@ -42,13 +42,15 @@ SystemTrayIcon {
text: qsTr("Mute all") text: qsTr("Mute all")
onTriggered: { onTriggered: {
if (miMuteAll.isMuted) { if (miMuteAll.isMuted) {
isMuted = false; isMuted = false
miMuteAll.text = qsTr("Mute all"); miMuteAll.text = qsTr("Mute all")
ScreenPlay.screenPlayManager.setAllWallpaperValue("muted", "true"); ScreenPlay.screenPlayManager.setAllWallpaperValue("muted",
"true")
} else { } else {
isMuted = true; isMuted = true
miMuteAll.text = qsTr("Unmute all"); miMuteAll.text = qsTr("Unmute all")
ScreenPlay.screenPlayManager.setAllWallpaperValue("muted", "false"); ScreenPlay.screenPlayManager.setAllWallpaperValue("muted",
"false")
} }
} }
} }
@ -61,13 +63,15 @@ SystemTrayIcon {
text: qsTr("Pause all") text: qsTr("Pause all")
onTriggered: { onTriggered: {
if (miStopAll.isPlaying) { if (miStopAll.isPlaying) {
isPlaying = false; isPlaying = false
miStopAll.text = qsTr("Pause all"); miStopAll.text = qsTr("Pause all")
ScreenPlay.screenPlayManager.setAllWallpaperValue("isPlaying", "true"); ScreenPlay.screenPlayManager.setAllWallpaperValue(
"isPlaying", "true")
} else { } else {
isPlaying = true; isPlaying = true
miStopAll.text = qsTr("Play all"); miStopAll.text = qsTr("Play all")
ScreenPlay.screenPlayManager.setAllWallpaperValue("isPlaying", "false"); ScreenPlay.screenPlayManager.setAllWallpaperValue(
"isPlaying", "false")
} }
} }
} }
@ -76,7 +80,5 @@ SystemTrayIcon {
text: qsTr("Quit") text: qsTr("Quit")
onTriggered: ScreenPlay.exit() onTriggered: ScreenPlay.exit()
} }
} }
} }

View File

@ -8,7 +8,7 @@ import ScreenPlay 1.0
Item { Item {
id: root id: root
required property var modalSource required property Item modalSource
XMLNewsfeed { XMLNewsfeed {
anchors { anchors {

View File

@ -12,7 +12,7 @@ import ScreenPlay.QMLUtilities 1.0
Item { Item {
id: root id: root
required property var modalSource required property Item modalSource
Component.onCompleted: { Component.onCompleted: {
wizardContentWrapper.state = "in"; wizardContentWrapper.state = "in";

View File

@ -21,7 +21,7 @@ Item {
clip: true clip: true
CreateWallpaperInit { CreateWallpaperInit {
onNext: (filePath, codec) => { onNext: function (filePath, codec) {
startConvert(filePath, codec) startConvert(filePath, codec)
} }

View File

@ -9,9 +9,9 @@ import ScreenPlay.Create 1.0
Item { Item {
id: root id: root
signal wizardStarted() signal wizardStarted
signal wizardExited() signal wizardExited
signal next() signal next
SwipeView { SwipeView {
id: swipeView id: swipeView
@ -21,12 +21,12 @@ Item {
clip: true clip: true
ImportWebmInit { ImportWebmInit {
onNext: (filePath) =>{ onNext: function (filePath) {
root.wizardStarted(); root.wizardStarted()
swipeView.currentIndex = 1; swipeView.currentIndex = 1
createWallpaperVideoImportConvert.filePath = filePath; createWallpaperVideoImportConvert.filePath = filePath
ScreenPlay.util.setNavigationActive(false); ScreenPlay.util.setNavigationActive(false)
ScreenPlay.create.createWallpaperStart(filePath); ScreenPlay.create.createWallpaperStart(filePath)
} }
} }
@ -35,7 +35,5 @@ Item {
onExit: root.wizardExited() onExit: root.wizardExited()
} }
} }
} }

View File

@ -9,9 +9,9 @@ import ScreenPlay.Create 1.0
Item { Item {
id: root id: root
signal wizardStarted() signal wizardStarted
signal wizardExited() signal wizardExited
signal next() signal next
SwipeView { SwipeView {
id: swipeView id: swipeView
@ -21,12 +21,12 @@ Item {
clip: true clip: true
Importh264Init { Importh264Init {
onNext: (filePath) =>{ onNext: function (filePath) {
root.wizardStarted(); root.wizardStarted()
swipeView.currentIndex = 1; swipeView.currentIndex = 1
createWallpaperVideoImportConvert.filePath = filePath; createWallpaperVideoImportConvert.filePath = filePath
ScreenPlay.util.setNavigationActive(false); ScreenPlay.util.setNavigationActive(false)
ScreenPlay.create.importH264(filePath); ScreenPlay.create.importH264(filePath)
} }
} }
@ -35,7 +35,5 @@ Item {
onExit: root.wizardExited() onExit: root.wizardExited()
} }
} }
} }

View File

@ -119,7 +119,7 @@ Item {
id: btnOpenDocs id: btnOpenDocs
text: qsTr("Open Documentation") text: qsTr("Open Documentation")
Material.background: Material.LightGreen Material.accent: Material.color(Material.LightGreen)
highlighted: true highlighted: true
icon.source: "qrc:/assets/icons/icon_document.svg" icon.source: "qrc:/assets/icons/icon_document.svg"
icon.color: "white" icon.color: "white"

View File

@ -6,6 +6,7 @@ import QtQuick.Controls.Material.impl
import ScreenPlay 1.0 import ScreenPlay 1.0
import ScreenPlay.Enums.InstalledType 1.0 import ScreenPlay.Enums.InstalledType 1.0
import ScreenPlay.Enums.SearchType 1.0 import ScreenPlay.Enums.SearchType 1.0
import "../Common" as Common
Item { Item {
id: root id: root
@ -20,24 +21,24 @@ Item {
function checkIsContentInstalled() { function checkIsContentInstalled() {
if (ScreenPlay.installedListModel.count === 0) { if (ScreenPlay.installedListModel.count === 0) {
loaderHelp.active = true; loaderHelp.active = true
gridView.footerItem.isVisible = true; gridView.footerItem.isVisible = true
gridView.visible = false; gridView.visible = false
navWrapper.visible = false; navWrapper.visible = false
} else { } else {
loaderHelp.active = false; loaderHelp.active = false
gridView.footerItem.isVisible = false; gridView.footerItem.isVisible = false
refresh = false; refresh = false
gridView.contentY = -82; gridView.contentY = -82
gridView.visible = true; gridView.visible = true
navWrapper.visible = true; navWrapper.visible = true
} }
} }
Component.onCompleted: { Component.onCompleted: {
navWrapper.state = "in"; navWrapper.state = "in"
ScreenPlay.installedListFilter.sortBySearchType(SearchType.All); ScreenPlay.installedListFilter.sortBySearchType(SearchType.All)
checkIsContentInstalled(); checkIsContentInstalled()
} }
Action { Action {
@ -47,7 +48,7 @@ Item {
Connections { Connections {
function onHelperButtonPressed(pos) { function onHelperButtonPressed(pos) {
setNavigationItem(pos); setNavigationItem(pos)
} }
target: loaderHelp.item target: loaderHelp.item
@ -55,13 +56,12 @@ Item {
Connections { Connections {
function onInstalledLoadingFinished() { function onInstalledLoadingFinished() {
checkIsContentInstalled(); checkIsContentInstalled()
} }
function onCountChanged(count) { function onCountChanged(count) {
if (count === 0) if (count === 0)
checkIsContentInstalled(); checkIsContentInstalled()
} }
target: ScreenPlay.installedListModel target: ScreenPlay.installedListModel
@ -78,7 +78,7 @@ Item {
Connections { Connections {
function onSortChanged() { function onSortChanged() {
gridView.positionViewAtBeginning(); gridView.positionViewAtBeginning()
} }
target: ScreenPlay.installedListFilter target: ScreenPlay.installedListFilter
@ -135,13 +135,12 @@ Item {
} }
onContentYChanged: { onContentYChanged: {
if (contentY <= -180) if (contentY <= -180)
gridView.headerItem.isVisible = true; gridView.headerItem.isVisible = true
else else
gridView.headerItem.isVisible = false; gridView.headerItem.isVisible = false
//Pull to refresh //Pull to refresh
if (contentY <= -180 && !refresh && !isDragging) if (contentY <= -180 && !refresh && !isDragging)
ScreenPlay.installedListModel.reset(); ScreenPlay.installedListModel.reset()
} }
anchors { anchors {
@ -158,11 +157,11 @@ Item {
opacity: 0 opacity: 0
onIsVisibleChanged: { onIsVisibleChanged: {
if (isVisible) { if (isVisible) {
txtHeader.color = Material.accent; txtHeader.color = Material.accent
txtHeader.text = qsTr("Refreshing!"); txtHeader.text = qsTr("Refreshing!")
} else { } else {
txtHeader.color = "gray"; txtHeader.color = "gray"
txtHeader.text = qsTr("Pull to refresh!"); txtHeader.text = qsTr("Pull to refresh!")
} }
} }
@ -170,7 +169,7 @@ Item {
interval: 150 interval: 150
running: true running: true
onTriggered: { onTriggered: {
animFadeIn.start(); animFadeIn.start()
} }
} }
@ -192,7 +191,6 @@ Item {
running: false running: false
duration: 1000 duration: 1000
} }
} }
footer: Item { footer: Item {
@ -215,7 +213,7 @@ Item {
interval: 400 interval: 400
running: true running: true
onTriggered: { onTriggered: {
animFadeInTxtFooter.start(); animFadeInTxtFooter.start()
} }
} }
@ -227,9 +225,7 @@ Item {
running: false running: false
duration: 1000 duration: 1000
} }
} }
} }
delegate: ScreenPlayItem { delegate: ScreenPlayItem {
@ -244,24 +240,23 @@ Item {
publishedFileID: m_publishedFileID publishedFileID: m_publishedFileID
itemIndex: index itemIndex: index
isScrolling: gridView.isScrolling isScrolling: gridView.isScrolling
onOpenContextMenu: (position)=>{ onOpenContextMenu: function (position) {
// Set the menu to the current item informations // Set the menu to the current item informations
contextMenu.publishedFileID = delegate.publishedFileID; contextMenu.publishedFileID = delegate.publishedFileID
contextMenu.absoluteStoragePath = delegate.absoluteStoragePath; contextMenu.absoluteStoragePath = delegate.absoluteStoragePath
const pos = delegate.mapToItem(root, position.x, position.y); const pos = delegate.mapToItem(root, position.x, position.y)
// Disable duplicate opening. The can happen if we // Disable duplicate opening. The can happen if we
// call popup when we are in the closing animtion. // call popup when we are in the closing animtion.
if (contextMenu.visible || contextMenu.opened) if (contextMenu.visible || contextMenu.opened)
return ; return
contextMenu.popup(pos.x, pos.y); contextMenu.popup(pos.x, pos.y)
} }
} }
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
snapMode: ScrollBar.SnapOnRelease snapMode: ScrollBar.SnapOnRelease
} }
} }
Menu { Menu {
@ -302,7 +297,7 @@ Item {
} }
} }
Dialog { Common.Dialog {
id: deleteDialog id: deleteDialog
title: qsTr("Are you sure you want to delete this item?") title: qsTr("Are you sure you want to delete this item?")
standardButtons: Dialog.Ok | Dialog.Cancel standardButtons: Dialog.Ok | Dialog.Cancel

View File

@ -173,7 +173,6 @@ Item {
} }
} }
Rectangle { Rectangle {
width: 120 width: 120
@ -224,7 +223,7 @@ Item {
screenPlayItemImage.state = "loaded" screenPlayItemImage.state = "loaded"
screenPlayItemImage.exit() screenPlayItemImage.exit()
} }
onClicked: (mouse)=> { onClicked: function (mouse) {
if (mouse.button === Qt.LeftButton) if (mouse.button === Qt.LeftButton)
ScreenPlay.util.setSidebarItem(root.screenId, root.type) ScreenPlay.util.setSidebarItem(root.screenId, root.type)
else if (mouse.button === Qt.RightButton) else if (mouse.button === Qt.RightButton)

View File

@ -48,17 +48,6 @@ ColumnLayout {
} }
} }
SP.Slider {
id: slPlaybackRate
headline: qsTr("Playback rate")
slider.onValueChanged: ScreenPlay.screenPlayManager.setWallpaperValueAtMonitorIndex(activeMonitorIndex, "playbackRate", (Math.round(slPlaybackRate.slider.value * 100) / 100))
Layout.fillWidth: true
slider.stepSize: 0.1
slider.to: 1
Layout.leftMargin: 10
Layout.rightMargin: 10
}
SP.Slider { SP.Slider {
id: slCurrentVideoTime id: slCurrentVideoTime
@ -118,6 +107,11 @@ ColumnLayout {
} }
} }
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
} }
states: [ states: [

View File

@ -22,96 +22,96 @@ Rectangle {
function selectOnly(index) { function selectOnly(index) {
for (var i = 0; i < rp.count; i++) { for (var i = 0; i < rp.count; i++) {
if (i === index) { if (i === index) {
rp.itemAt(i).isSelected = true; rp.itemAt(i).isSelected = true
continue; continue
} }
rp.itemAt(i).isSelected = false; rp.itemAt(i).isSelected = false
} }
} }
function reset() { function reset() {
for (var i = 0; i < rp.count; i++) { for (var i = 0; i < rp.count; i++) {
rp.itemAt(i).isSelected = false; rp.itemAt(i).isSelected = false
} }
rp.itemAt(0).isSelected = true; rp.itemAt(0).isSelected = true
getActiveMonitors(); getActiveMonitors()
} }
function getActiveMonitors() { function getActiveMonitors() {
root.activeMonitors = []; root.activeMonitors = []
for (var i = 0; i < rp.count; i++) { for (var i = 0; i < rp.count; i++) {
if (rp.itemAt(i).isSelected) if (rp.itemAt(i).isSelected)
root.activeMonitors.push(rp.itemAt(i).index); root.activeMonitors.push(rp.itemAt(i).index)
} }
// Must be called manually. When QML properties are getting altered in js the // Must be called manually. When QML properties are getting altered in js the
// property binding breaks // property binding breaks
root.activeMonitorsChanged(); root.activeMonitorsChanged()
return root.activeMonitors; return root.activeMonitors
} }
function selectMonitorAt(index) { function selectMonitorAt(index) {
if (!multipleMonitorsSelectable) if (!multipleMonitorsSelectable)
selectOnly(index); selectOnly(index)
else else
rp.itemAt(index).isSelected = !rp.itemAt(index).isSelected; rp.itemAt(index).isSelected = !rp.itemAt(index).isSelected
getActiveMonitors(); getActiveMonitors()
if (rp.itemAt(index).hasContent) if (rp.itemAt(index).hasContent)
root.requestProjectSettings(index, rp.itemAt(index).installedType, rp.itemAt(index).appID); root.requestProjectSettings(index, rp.itemAt(index).installedType,
rp.itemAt(index).appID)
} }
function resize() { function resize() {
var absoluteDesktopSize = ScreenPlay.monitorListModel.absoluteDesktopSize(); var absoluteDesktopSize = ScreenPlay.monitorListModel.absoluteDesktopSize()
var isWidthGreaterThanHeight = false; var isWidthGreaterThanHeight = false
var windowsDelta = 0; var windowsDelta = 0
if (absoluteDesktopSize.width < absoluteDesktopSize.height) { if (absoluteDesktopSize.width < absoluteDesktopSize.height) {
windowsDelta = absoluteDesktopSize.width / absoluteDesktopSize.height; windowsDelta = absoluteDesktopSize.width / absoluteDesktopSize.height
isWidthGreaterThanHeight = false; isWidthGreaterThanHeight = false
} else { } else {
windowsDelta = absoluteDesktopSize.height / absoluteDesktopSize.width; windowsDelta = absoluteDesktopSize.height / absoluteDesktopSize.width
isWidthGreaterThanHeight = true; isWidthGreaterThanHeight = true
} }
if (rp.count === 1) if (rp.count === 1)
availableWidth = availableWidth * 0.66; availableWidth = availableWidth * 0.66
var dynamicHeight = availableWidth * windowsDelta; var dynamicHeight = availableWidth * windowsDelta
var dynamicWidth = availableHeight * windowsDelta; var dynamicWidth = availableHeight * windowsDelta
// Delta (height/width) // Delta (height/width)
var monitorHeightRationDelta = 0; var monitorHeightRationDelta = 0
var monitorWidthRationDelta = 0; var monitorWidthRationDelta = 0
if (isWidthGreaterThanHeight) { if (isWidthGreaterThanHeight) {
monitorHeightRationDelta = dynamicHeight / absoluteDesktopSize.height; monitorHeightRationDelta = dynamicHeight / absoluteDesktopSize.height
monitorWidthRationDelta = availableWidth / absoluteDesktopSize.width; monitorWidthRationDelta = availableWidth / absoluteDesktopSize.width
} else { } else {
monitorHeightRationDelta = availableHeight / absoluteDesktopSize.height; monitorHeightRationDelta = availableHeight / absoluteDesktopSize.height
monitorWidthRationDelta = dynamicWidth / absoluteDesktopSize.width; monitorWidthRationDelta = dynamicWidth / absoluteDesktopSize.width
} }
for (var i = 0; i < rp.count; i++) { for (var i = 0; i < rp.count; i++) {
rp.itemAt(i).index = i; rp.itemAt(i).index = i
rp.itemAt(i).height = rp.itemAt(i).height * monitorHeightRationDelta; rp.itemAt(i).height = rp.itemAt(i).height * monitorHeightRationDelta
rp.itemAt(i).width = rp.itemAt(i).width * monitorWidthRationDelta; rp.itemAt(i).width = rp.itemAt(i).width * monitorWidthRationDelta
rp.itemAt(i).x = rp.itemAt(i).x * monitorWidthRationDelta; rp.itemAt(i).x = rp.itemAt(i).x * monitorWidthRationDelta
rp.itemAt(i).y = rp.itemAt(i).y * monitorHeightRationDelta; rp.itemAt(i).y = rp.itemAt(i).y * monitorHeightRationDelta
rp.contentWidth += rp.itemAt(i).width; rp.contentWidth += rp.itemAt(i).width
rp.contentHeight += rp.itemAt(i).height; rp.contentHeight += rp.itemAt(i).height
} }
rp.contentWidth += 200; rp.contentWidth += 200
rp.contentHeight += 200; rp.contentHeight += 200
} }
color: Material.theme === Material.Light ? Material.background : Qt.darker(Material.background) color: Material.theme === Material.Light ? Material.background : Qt.darker(
Material.background)
height: availableHeight height: availableHeight
width: parent.width width: parent.width
clip: true clip: true
layer.enabled: true layer.enabled: true
Component.onCompleted: { Component.onCompleted: {
resize(); resize()
} }
Connections { Connections {
function onMonitorReloadCompleted() { function onMonitorReloadCompleted() {
resize(); resize()
} }
target: ScreenPlay.monitorListModel target: ScreenPlay.monitorListModel
@ -142,9 +142,10 @@ Rectangle {
previewImage: m_previewImage previewImage: m_previewImage
installedType: m_installedType installedType: m_installedType
monitorWithoutContentSelectable: root.monitorWithoutContentSelectable monitorWithoutContentSelectable: root.monitorWithoutContentSelectable
onMonitorSelected: (index) => root.selectMonitorAt(index) onMonitorSelected: function (index) {
root.selectMonitorAt(index)
}
} }
} }
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
@ -156,8 +157,5 @@ Rectangle {
policy: ScrollBar.AlwaysOff policy: ScrollBar.AlwaysOff
snapMode: ScrollBar.SnapOnRelease snapMode: ScrollBar.SnapOnRelease
} }
} }
} }

View File

@ -6,32 +6,23 @@ import QtQuick.Layouts
import QtQuick.Controls.Material.impl import QtQuick.Controls.Material.impl
import ScreenPlay 1.0 import ScreenPlay 1.0
import ScreenPlay.Enums.InstalledType 1.0 import ScreenPlay.Enums.InstalledType 1.0
import "../Common/" as SP import "../Common/" as Common
Popup { Common.Popup {
id: root id: root
property string activeMonitorName: "" property string activeMonitorName: ""
property int activeMonitorIndex property int activeMonitorIndex
property var modalSource
Overlay.modal: SP.ModalBackgroundBlur {
sourceItem: root.modalSource
}
width: 1000 width: 1000
height: 500 height: 500
dim: true
anchors.centerIn: Overlay.overlay
modal: true
focus: true
onOpened: { onOpened: {
monitorSelection.selectMonitorAt(0); monitorSelection.selectMonitorAt(0)
} }
Connections { Connections {
function onRequestToggleWallpaperConfiguration() { function onRequestToggleWallpaperConfiguration() {
root.open(); root.open()
} }
target: ScreenPlay.util target: ScreenPlay.util
@ -75,7 +66,6 @@ Popup {
left: parent.left left: parent.left
leftMargin: 20 leftMargin: 20
} }
} }
MonitorSelection { MonitorSelection {
@ -88,20 +78,23 @@ Popup {
monitorWithoutContentSelectable: false monitorWithoutContentSelectable: false
availableWidth: width - 20 availableWidth: width - 20
availableHeight: 150 availableHeight: 150
onRequestProjectSettings: ( index, installedType, appID) => { onRequestProjectSettings: function (index, installedType, appID) {
if (installedType === InstalledType.VideoWallpaper) { if (installedType === InstalledType.VideoWallpaper) {
videoControlWrapper.state = "visible"; videoControlWrapper.state = "visible"
customPropertiesGridView.visible = false; customPropertiesGridView.visible = false
const wallpaper = ScreenPlay.screenPlayManager.getWallpaperByAppID(appID); const wallpaper = ScreenPlay.screenPlayManager.getWallpaperByAppID(
videoControlWrapper.wallpaper = wallpaper; appID)
videoControlWrapper.wallpaper = wallpaper
} else { } else {
videoControlWrapper.state = "hidden"; videoControlWrapper.state = "hidden"
customPropertiesGridView.visible = true; customPropertiesGridView.visible = true
if(!ScreenPlay.screenPlayManager.requestProjectSettingsAtMonitorIndex(index)){ if (!ScreenPlay.screenPlayManager.requestProjectSettingsAtMonitorIndex(
console.warn("Unable to get requested settings from index: ", index) index)) {
console.warn("Unable to get requested settings from index: ",
index)
} }
} }
activeMonitorIndex = index; activeMonitorIndex = index
} }
anchors { anchors {
@ -113,12 +106,11 @@ Popup {
Connections { Connections {
function onProjectSettingsListModelResult(listModel) { function onProjectSettingsListModelResult(listModel) {
customPropertiesGridView.projectSettingsListmodelRef = listModel; customPropertiesGridView.projectSettingsListmodelRef = listModel
} }
target: ScreenPlay.screenPlayManager target: ScreenPlay.screenPlayManager
} }
} }
ColumnLayout { ColumnLayout {
@ -137,34 +129,39 @@ Popup {
highlighted: true highlighted: true
text: qsTr("Remove selected") text: qsTr("Remove selected")
font.family: ScreenPlay.settings.font font.family: ScreenPlay.settings.font
enabled: monitorSelection.activeMonitors.length == 1 && ScreenPlay.screenPlayManager.activeWallpaperCounter > 0 enabled: monitorSelection.activeMonitors.length == 1
&& ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
onClicked: { onClicked: {
if (!ScreenPlay.screenPlayManager.removeWallpaperAt(monitorSelection.activeMonitors[0])) if (!ScreenPlay.screenPlayManager.removeWallpaperAt(
print("Unable to close singel wallpaper"); monitorSelection.activeMonitors[0]))
print("Unable to close singel wallpaper")
} }
} }
Button { Button {
id: btnRemoveAllWallpape id: btnRemoveAllWallpape
text: qsTr("Remove all ") + ScreenPlay.screenPlayManager.activeWallpaperCounter + " " + qsTr("Wallpapers") text: qsTr("Remove all ")
+ ScreenPlay.screenPlayManager.activeWallpaperCounter + " " + qsTr(
"Wallpapers")
Material.background: Material.accent Material.background: Material.accent
highlighted: true highlighted: true
font.family: ScreenPlay.settings.font font.family: ScreenPlay.settings.font
enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0 enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
onClicked: { onClicked: {
if (!ScreenPlay.screenPlayManager.removeAllWallpapers()) if (!ScreenPlay.screenPlayManager.removeAllWallpapers())
print("Unable to close all wallpaper!"); print("Unable to close all wallpaper!")
root.close(); root.close()
} }
} }
Button { Button {
id: btnRemoveAllWidgets id: btnRemoveAllWidgets
text: qsTr("Remove all ") + ScreenPlay.screenPlayManager.activeWidgetsCounter + " " + qsTr("Widgets") text: qsTr("Remove all ")
+ ScreenPlay.screenPlayManager.activeWidgetsCounter + " " + qsTr(
"Widgets")
Material.background: Material.accent Material.background: Material.accent
Material.foreground: Material.primaryTextColor Material.foreground: Material.primaryTextColor
highlighted: true highlighted: true
@ -172,18 +169,17 @@ Popup {
enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0 enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
onClicked: { onClicked: {
if (!ScreenPlay.screenPlayManager.removeAllWidgets()) if (!ScreenPlay.screenPlayManager.removeAllWidgets())
print("Unable to close all widgets!"); print("Unable to close all widgets!")
root.close(); root.close()
} }
} }
} }
} }
Rectangle { Rectangle {
color: Material.theme === Material.Light ? Material.background : Qt.darker(Material.background) color: Material.theme === Material.Light ? Material.background : Qt.darker(
Material.background)
radius: 3 radius: 3
clip: true clip: true
@ -239,9 +235,7 @@ Popup {
snapMode: ScrollBar.SnapOnRelease snapMode: ScrollBar.SnapOnRelease
policy: ScrollBar.AlwaysOn policy: ScrollBar.AlwaysOn
} }
} }
} }
ToolButton { ToolButton {
@ -257,7 +251,6 @@ Popup {
top: parent.top top: parent.top
right: parent.right right: parent.right
} }
} }
SaveNotification { SaveNotification {
@ -268,15 +261,12 @@ Popup {
Connections { Connections {
function onProfilesSaved() { function onProfilesSaved() {
if (root.opened) if (root.opened)
saveNotification.open(); saveNotification.open()
} }
target: ScreenPlay.screenPlayManager target: ScreenPlay.screenPlayManager
} }
} }
} }
background: Rectangle { background: Rectangle {
@ -288,7 +278,5 @@ Popup {
layer.effect: ElevationEffect { layer.effect: ElevationEffect {
elevation: 6 elevation: 6
} }
} }
} }

View File

@ -15,12 +15,10 @@ Rectangle {
property string currentNavigationName: "Installed" property string currentNavigationName: "Installed"
property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity] property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity]
property bool navActive: true property bool navActive: true
property ApplicationWindow window property Item modalSource
property var modalSource
property int iconWidth: 16 property int iconWidth: 16
property int iconHeight: iconWidth property int iconHeight: iconWidth
signal changePage(string name) signal changePage(string name)
function setActive(active) { function setActive(active) {
@ -51,78 +49,13 @@ Rectangle {
setNavigation(name) setNavigation(name)
} }
height: 89 implicitWidth: 1366
height: 60
width: 1366 width: 1366
color: Material.theme === Material.Light ? "white" : Material.background color: Material.theme === Material.Light ? "white" : Material.background
layer.enabled: true layer.enabled: true
layer.effect: ElevationEffect {
Rectangle { elevation: 2
id:navBg
height:29
width:parent.width
color: Material.theme === Material.Light ? Material.background : "#242424"
Text {
id: title
text: qsTr("ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets").arg(ScreenPlay.version())
color: Material.primaryTextColor
anchors{
left:parent.left
leftMargin: 20
verticalCenter: parent.verticalCenter
}
}
}
MouseArea {
id: mouseArea
property var clickPos
anchors.fill: parent
hoverEnabled: true
onPressed: (mouse)=>{
clickPos = {
"x": mouse.x,
"y": mouse.y
};
}
onPositionChanged: {
if (mouseArea.pressed){
let pos = ScreenPlay.cursorPos();
window.setX(pos.x - clickPos.x)
window.setY(pos.y - clickPos.y)
}
}
}
RowLayout {
anchors {
top:navBg.top
right: navBg.right
bottom: navBg.bottom
}
WindowNavButton {
id: miMinimize
Layout.alignment: Qt.AlignVCenter
icon.source: "qrc:/assets/icons/icon_minimize.svg"
onClicked: root.window.hide()
}
WindowNavButton {
id: miquit
Layout.alignment: Qt.AlignVCenter
icon.source: "qrc:/assets/icons/icon_close.svg"
onClicked: {
if(ScreenPlay.screenPlayManager.activeWallpaperCounter === 0
&& ScreenPlay.screenPlayManager.activeWidgetsCounter === 0){
Qt.quit()
return
}
dialog.open()
}
}
} }
Connections { Connections {
@ -137,16 +70,12 @@ Rectangle {
target: ScreenPlay.util target: ScreenPlay.util
} }
Row { Row {
id: row id: row
height: 60 height: 60
anchors { anchors {
top: parent.top top: parent.top
topMargin: navBg.height
right: parent.right right: parent.right
left: parent.left left: parent.left
leftMargin: 20 leftMargin: 20
@ -161,7 +90,9 @@ Rectangle {
name: "Create" name: "Create"
text: qsTr("Create") text: qsTr("Create")
iconSource: "qrc:/assets/icons/icon_plus.svg" iconSource: "qrc:/assets/icons/icon_plus.svg"
onPageClicked: (name)=> {root.onPageChanged(name)} onPageClicked: function (name) {
root.onPageChanged(name)
}
objectName: "createTab" objectName: "createTab"
} }
@ -172,7 +103,9 @@ Rectangle {
name: "Workshop" name: "Workshop"
text: qsTr("Workshop") text: qsTr("Workshop")
iconSource: "qrc:/assets/icons/icon_steam.svg" iconSource: "qrc:/assets/icons/icon_steam.svg"
onPageClicked: (name)=> {root.onPageChanged(name)} onPageClicked: function (name) {
root.onPageChanged(name)
}
objectName: "workshopTab" objectName: "workshopTab"
} }
@ -184,7 +117,9 @@ Rectangle {
text: qsTr("Installed") text: qsTr("Installed")
amount: ScreenPlay.installedListModel.count amount: ScreenPlay.installedListModel.count
iconSource: "qrc:/assets/icons/icon_installed.svg" iconSource: "qrc:/assets/icons/icon_installed.svg"
onPageClicked: (name)=> {root.onPageChanged(name)} onPageClicked: function (name) {
root.onPageChanged(name)
}
objectName: "installedTab" objectName: "installedTab"
} }
@ -195,7 +130,9 @@ Rectangle {
name: "Community" name: "Community"
text: qsTr("Community") text: qsTr("Community")
iconSource: "qrc:/assets/icons/icon_community.svg" iconSource: "qrc:/assets/icons/icon_community.svg"
onPageClicked: (name)=> {root.onPageChanged(name)} onPageClicked: function (name) {
root.onPageChanged(name)
}
objectName: "communityTab" objectName: "communityTab"
} }
@ -206,7 +143,9 @@ Rectangle {
name: "Settings" name: "Settings"
text: qsTr("Settings") text: qsTr("Settings")
iconSource: "qrc:/assets/icons/icon_settings.svg" iconSource: "qrc:/assets/icons/icon_settings.svg"
onPageClicked: (name)=> {root.onPageChanged(name)} onPageClicked: function (name) {
root.onPageChanged(name)
}
objectName: "settingsTab" objectName: "settingsTab"
} }
} }
@ -217,16 +156,15 @@ Rectangle {
width: quickActionRow.width + 5 width: quickActionRow.width + 5
height: quickActionRow.height - 16 height: quickActionRow.height - 16
color: Material.theme === Material.Light ? Material.background : "#242424" color: Material.theme === Material.Light ? Material.background : "#242424"
border.color: Material.theme === Material.Light ? Material.iconDisabledColor : Qt.darker(Material.background) border.color: Material.theme === Material.Light ? Material.iconDisabledColor : Qt.darker(
Material.background)
border.width: 1 border.width: 1
radius: 3 radius: 3
} }
RowLayout { RowLayout {
anchors { anchors {
top: parent.top top: parent.top
topMargin: navBg.height
right: quickActionRow.left right: quickActionRow.left
rightMargin: 20 rightMargin: 20
bottom: parent.bottom bottom: parent.bottom
@ -235,7 +173,8 @@ Rectangle {
ToolButton { ToolButton {
icon.source: "qrc:/assets/icons/font-awsome/patreon-brands.svg" icon.source: "qrc:/assets/icons/font-awsome/patreon-brands.svg"
text: qsTr("Support me on Patreon!") text: qsTr("Support me on Patreon!")
onClicked: Qt.openUrlExternally("https://www.patreon.com/ScreenPlayApp") onClicked: Qt.openUrlExternally(
"https://www.patreon.com/ScreenPlayApp")
} }
} }
@ -243,7 +182,6 @@ Rectangle {
id: quickActionRow id: quickActionRow
anchors { anchors {
top: parent.top top: parent.top
topMargin: navBg.height
right: parent.right right: parent.right
rightMargin: 10 rightMargin: 10
bottom: parent.bottom bottom: parent.bottom
@ -254,8 +192,8 @@ Rectangle {
onContentActiveChanged: { onContentActiveChanged: {
if (!contentActive) { if (!contentActive) {
miMuteAll.isMuted = false miMuteAll.soundEnabled = true
miStopAll.isPlaying = false miStopAll.isPlaying = true
} }
} }
@ -267,10 +205,10 @@ Rectangle {
icon.height: root.iconHeight icon.height: root.iconHeight
enabled: quickActionRow.contentActive enabled: quickActionRow.contentActive
onClicked: isMuted = !isMuted onClicked: soundEnabled = !soundEnabled
property bool isMuted: false property bool soundEnabled: true
onIsMutedChanged: { onSoundEnabledChanged: {
if (miMuteAll.isMuted) { if (miMuteAll.soundEnabled) {
miMuteAll.icon.source = "qrc:/assets/icons/icon_volume.svg" miMuteAll.icon.source = "qrc:/assets/icons/icon_volume.svg"
ScreenPlay.screenPlayManager.setAllWallpaperValue("muted", ScreenPlay.screenPlayManager.setAllWallpaperValue("muted",
"false") "false")
@ -321,6 +259,8 @@ Rectangle {
onClicked: { onClicked: {
ScreenPlay.screenPlayManager.removeAllWallpapers() ScreenPlay.screenPlayManager.removeAllWallpapers()
ScreenPlay.screenPlayManager.removeAllWidgets() ScreenPlay.screenPlayManager.removeAllWidgets()
miStopAll.isPlaying = true
miMuteAll.soundEnabled = true
} }
hoverEnabled: true hoverEnabled: true
@ -339,29 +279,6 @@ Rectangle {
ToolTip.text: qsTr("Configure Wallpaper") ToolTip.text: qsTr("Configure Wallpaper")
ToolTip.visible: hovered ToolTip.visible: hovered
} }
Dialog {
id: dialog
anchors.centerIn: Overlay.overlay
Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource
}
title: qsTr("Are you sure you want to exit ScreenPlay? \nThis will shut down all Wallpaper and Widgets.")
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: Qt.quit()
modal: true
}
}
layer.effect: ElevationEffect {
elevation: 2
} }
states: [ states: [

View File

@ -0,0 +1,92 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Window
import QtQuick.Controls.Material
import Qt5Compat.GraphicalEffects
import QtQuick.Controls.Material.impl
import ScreenPlay 1.0
import "../Workshop"
import "../Common" as Common
Rectangle {
id: root
height: 29
implicitWidth: 1366
color: Material.theme === Material.Light ? Material.background : "#242424"
property Item modalSource
property ApplicationWindow window
Text {
id: title
text: qsTr("ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets").arg(
ScreenPlay.version())
color: Material.primaryTextColor
verticalAlignment: Text.AlignVCenter
anchors {
top: parent.top
left: parent.left
leftMargin: 10
bottom: parent.bottom
}
}
MouseArea {
id: mouseArea
property var clickPos
anchors.fill: parent
hoverEnabled: true
onPressed: function (mouse) {
clickPos = {
"x": mouse.x,
"y": mouse.y
}
}
onPositionChanged: {
if (mouseArea.pressed) {
let pos = ScreenPlay.cursorPos()
window.setX(pos.x - clickPos.x)
window.setY(pos.y - clickPos.y)
}
}
}
RowLayout {
anchors {
top: root.top
right: root.right
bottom: root.bottom
}
WindowNavButton {
id: miMinimize
Layout.alignment: Qt.AlignVCenter
icon.source: "qrc:/assets/icons/icon_minimize.svg"
onClicked: root.window.hide()
}
WindowNavButton {
id: miquit
Layout.alignment: Qt.AlignVCenter
icon.source: "qrc:/assets/icons/icon_close.svg"
onClicked: {
if (ScreenPlay.screenPlayManager.activeWallpaperCounter === 0
&& ScreenPlay.screenPlayManager.activeWidgetsCounter === 0) {
Qt.quit()
return
}
dialog.open()
}
}
}
Common.Dialog {
id: dialog
modalSource: root.modalSource
title: qsTr("Are you sure you want to exit ScreenPlay? \nThis will shut down all Wallpaper and Widgets.")
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: Qt.quit()
}
}

View File

@ -18,11 +18,11 @@ Item {
width: parent.width width: parent.width
onAvailableChanged: { onAvailableChanged: {
if (!available) { if (!available) {
settingsBool.opacity = 0.5; settingsBool.opacity = 0.5
radioButton.enabled = false; radioButton.enabled = false
} else { } else {
settingsButton.opacity = 1; settingsButton.opacity = 1
radioButton.enabled = true; radioButton.enabled = true
} }
} }
@ -45,7 +45,6 @@ Item {
right: parent.right right: parent.right
rightMargin: 20 rightMargin: 20
} }
} }
Text { Text {
@ -54,8 +53,13 @@ Item {
text: settingsBool.description text: settingsBool.description
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
linkColor: Material.color(Material.Orange) linkColor: Material.color(Material.Orange)
onLinkActivated: (link) => Qt.openUrlExternally(link) onLinkActivated: function (link) {
color: Material.theme === Material.Light ? Qt.lighter(Material.foreground) : Qt.darker(Material.foreground) Qt.openUrlExternally(link)
}
color: Material.theme === Material.Light ? Qt.lighter(
Material.foreground) : Qt.darker(
Material.foreground)
font.family: ScreenPlay.settings.font font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
@ -69,7 +73,6 @@ Item {
right: radioButton.left right: radioButton.left
rightMargin: 20 rightMargin: 20
} }
} }
CheckBox { CheckBox {
@ -78,9 +81,9 @@ Item {
checked: settingsBool.isChecked checked: settingsBool.isChecked
onCheckedChanged: { onCheckedChanged: {
if (radioButton.checkState === Qt.Checked) if (radioButton.checkState === Qt.Checked)
checkboxChanged(true); checkboxChanged(true)
else else
checkboxChanged(false); checkboxChanged(false)
} }
anchors { anchors {
@ -88,7 +91,5 @@ Item {
rightMargin: 20 rightMargin: 20
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
} }
} }

View File

@ -12,16 +12,15 @@ import "../Common"
Item { Item {
id: root id: root
required property var modalSource required property Item modalSource
function indexOfValue(model, value) { function indexOfValue(model, value) {
for (var i = 0; i < model.length; i++) { for (var i = 0; i < model.length; i++) {
let ourValue = model[i].value; let ourValue = model[i].value
if (value === ourValue) if (value === ourValue)
return i; return i
} }
return -1; return -1
} }
Flickable { Flickable {
@ -74,13 +73,12 @@ Item {
headline: qsTr("Autostart") headline: qsTr("Autostart")
description: qsTr("ScreenPlay will start with Windows and will setup your Desktop every time for you.") description: qsTr("ScreenPlay will start with Windows and will setup your Desktop every time for you.")
isChecked: ScreenPlay.settings.autostart isChecked: ScreenPlay.settings.autostart
onCheckboxChanged: (checked) => { onCheckboxChanged: function (checked) {
ScreenPlay.settings.setAutostart(checked); ScreenPlay.settings.setAutostart(checked)
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingBool { SettingBool {
headline: qsTr("High priority Autostart") headline: qsTr("High priority Autostart")
@ -88,49 +86,47 @@ Item {
description: qsTr("This options grants ScreenPlay a higher autostart priority than other apps.") description: qsTr("This options grants ScreenPlay a higher autostart priority than other apps.")
isChecked: ScreenPlay.settings.highPriorityStart isChecked: ScreenPlay.settings.highPriorityStart
onCheckboxChanged: { onCheckboxChanged: {
ScreenPlay.settings.setHighPriorityStart(checked); ScreenPlay.settings.setHighPriorityStart(checked)
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingBool { SettingBool {
height: 70 height: 70
headline: qsTr("Send anonymous crash reports and statistics") headline: qsTr("Send anonymous crash reports and statistics")
description: qsTr("Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes! We use <a href=\"https://sentry.io\">sentry.io</a> to collect and analyze this data. A <b>big thanks to them</b> for providing us with free premium support for open source projects!") description: qsTr("Help us make ScreenPlay faster and more stable. All collected data is purely anonymous and only used for development purposes! We use <a href=\"https://sentry.io\">sentry.io</a> to collect and analyze this data. A <b>big thanks to them</b> for providing us with free premium support for open source projects!")
isChecked: ScreenPlay.settings.anonymousTelemetry isChecked: ScreenPlay.settings.anonymousTelemetry
onCheckboxChanged: (checked) => { onCheckboxChanged: function (checked) {
ScreenPlay.settings.setAnonymousTelemetry(checked); ScreenPlay.settings.setAnonymousTelemetry(checked)
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsButton { SettingsButton {
headline: qsTr("Set save location") headline: qsTr("Set save location")
buttonText: qsTr("Set location") buttonText: qsTr("Set location")
description: { description: {
// Remove file:/// so the used does not get confused // Remove file:/// so the used does not get confused
let path = ScreenPlay.globalVariables.localStoragePath + ""; let path = ScreenPlay.globalVariables.localStoragePath + ""
if (path.length === 0) if (path.length === 0)
return qsTr("Your storage path is empty!"); return qsTr("Your storage path is empty!")
else else
return path.replace('file:///', ''); return path.replace('file:///', '')
} }
onButtonPressed: { onButtonPressed: {
folderDialogSaveLocation.open(); folderDialogSaveLocation.open()
} }
FolderDialog { FolderDialog {
id: folderDialogSaveLocation id: folderDialogSaveLocation
folder: ScreenPlay.globalVariables.localStoragePath folder: ScreenPlay.globalVariables.localStoragePath
onAccepted: { onAccepted: {
ScreenPlay.settings.setLocalStoragePath(folderDialogSaveLocation.currentFolder); ScreenPlay.settings.setLocalStoragePath(
folderDialogSaveLocation.currentFolder)
} }
} }
} }
Text { Text {
@ -149,11 +145,9 @@ Item {
left: parent.left left: parent.left
leftMargin: 20 leftMargin: 20
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsComboBox { SettingsComboBox {
id: settingsLanguage id: settingsLanguage
@ -161,7 +155,9 @@ Item {
headline: qsTr("Language") headline: qsTr("Language")
description: qsTr("Set the ScreenPlay UI Language") description: qsTr("Set the ScreenPlay UI Language")
Component.onCompleted: { Component.onCompleted: {
settingsLanguage.comboBox.currentIndex = root.indexOfValue(settingsLanguage.comboBox.model, ScreenPlay.settings.language); settingsLanguage.comboBox.currentIndex = root.indexOfValue(
settingsLanguage.comboBox.model,
ScreenPlay.settings.language)
} }
comboBox { comboBox {
@ -206,15 +202,14 @@ Item {
"text": "Dutch" "text": "Dutch"
}] }]
onActivated: { onActivated: {
ScreenPlay.settings.setLanguage(settingsLanguage.comboBox.currentValue); ScreenPlay.settings.setLanguage(
ScreenPlay.settings.retranslateUI(); settingsLanguage.comboBox.currentValue)
ScreenPlay.settings.retranslateUI()
}
} }
} }
} SettingsHorizontalSeperator {}
SettingsHorizontalSeperator {
}
SettingsComboBox { SettingsComboBox {
id: settingsTheme id: settingsTheme
@ -222,7 +217,9 @@ Item {
headline: qsTr("Theme") headline: qsTr("Theme")
description: qsTr("Switch dark/light theme") description: qsTr("Switch dark/light theme")
Component.onCompleted: { Component.onCompleted: {
settingsTheme.comboBox.currentIndex = root.indexOfValue(settingsTheme.comboBox.model, ScreenPlay.settings.theme); settingsTheme.comboBox.currentIndex = root.indexOfValue(
settingsTheme.comboBox.model,
ScreenPlay.settings.theme)
} }
comboBox { comboBox {
@ -237,14 +234,12 @@ Item {
"text": qsTr("Light") "text": qsTr("Light")
}] }]
onActivated: { onActivated: {
ScreenPlay.settings.setTheme(settingsTheme.comboBox.currentValue); ScreenPlay.settings.setTheme(
settingsTheme.comboBox.currentValue)
} }
} }
} }
} }
} }
SettingsPage { SettingsPage {
@ -274,13 +269,13 @@ Item {
headline: qsTr("Pause wallpaper video rendering while another app is in the foreground") headline: qsTr("Pause wallpaper video rendering while another app is in the foreground")
description: qsTr("We disable the video rendering (not the audio!) for the best performance. If you have problem you can disable this behaviour here. Wallpaper restart required!") description: qsTr("We disable the video rendering (not the audio!) for the best performance. If you have problem you can disable this behaviour here. Wallpaper restart required!")
isChecked: ScreenPlay.settings.checkWallpaperVisible isChecked: ScreenPlay.settings.checkWallpaperVisible
onCheckboxChanged: (checked) =>{ onCheckboxChanged: function (checked) {
ScreenPlay.settings.setCheckWallpaperVisible(checked); ScreenPlay.settings.setCheckWallpaperVisible(
checked)
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsComboBox { SettingsComboBox {
id: cbVideoFillMode id: cbVideoFillMode
@ -288,11 +283,14 @@ Item {
headline: qsTr("Default Fill Mode") headline: qsTr("Default Fill Mode")
description: qsTr("Set this property to define how the video is scaled to fit the target area.") description: qsTr("Set this property to define how the video is scaled to fit the target area.")
Component.onCompleted: { Component.onCompleted: {
cbVideoFillMode.comboBox.currentIndex = root.indexOfValue(cbVideoFillMode.comboBox.model, ScreenPlay.settings.videoFillMode); cbVideoFillMode.comboBox.currentIndex = root.indexOfValue(
cbVideoFillMode.comboBox.model,
ScreenPlay.settings.videoFillMode)
} }
comboBox { comboBox {
onActivated: ScreenPlay.settings.setVideoFillMode(cbVideoFillMode.comboBox.currentValue) onActivated: ScreenPlay.settings.setVideoFillMode(
cbVideoFillMode.comboBox.currentValue)
model: [{ model: [{
"value": FillMode.Stretch, "value": FillMode.Stretch,
"text": qsTr("Stretch") "text": qsTr("Stretch")
@ -310,11 +308,8 @@ Item {
"text": qsTr("Scale-Down") "text": qsTr("Scale-Down")
}] }]
} }
} }
} }
} }
SettingsPage { SettingsPage {
@ -348,7 +343,8 @@ Item {
Item { Item {
width: parent.width width: parent.width
height: txtHeadline.paintedHeight + txtDescriptionAbout.paintedHeight + wrapperLinks.childrenRect.height + 80 height: txtHeadline.paintedHeight + txtDescriptionAbout.paintedHeight
+ wrapperLinks.childrenRect.height + 80
Text { Text {
id: txtHeadline id: txtHeadline
@ -366,7 +362,6 @@ Item {
left: parent.left left: parent.left
leftMargin: 20 leftMargin: 20
} }
} }
Text { Text {
@ -389,7 +384,6 @@ Item {
right: imgLogoHead.left right: imgLogoHead.left
rightMargin: 60 rightMargin: 60
} }
} }
RowLayout { RowLayout {
@ -432,7 +426,6 @@ Item {
url: "https://www.reddit.com/r/ScreenPlayApp/" url: "https://www.reddit.com/r/ScreenPlayApp/"
color: "#FF4500" color: "#FF4500"
} }
} }
Image { Image {
@ -450,7 +443,6 @@ Item {
right: parent.right right: parent.right
rightMargin: 20 rightMargin: 20
} }
} }
Image { Image {
@ -472,32 +464,30 @@ Item {
maskSource: mask maskSource: mask
smooth: true smooth: true
} }
}
} }
} SettingsHorizontalSeperator {}
SettingsHorizontalSeperator {
}
SettingsButton { SettingsButton {
icon.source: "qrc:/assets/icons/icon_launch.svg" icon.source: "qrc:/assets/icons/icon_launch.svg"
headline: qsTr("Version") headline: qsTr("Version")
description: qsTr("ScreenPlay Build Version \n") + ScreenPlay.settings.gitBuildHash description: qsTr("ScreenPlay Build Version \n")
+ ScreenPlay.settings.gitBuildHash
buttonText: qsTr("Open Changelog") buttonText: qsTr("Open Changelog")
onButtonPressed: Qt.openUrlExternally("https://gitlab.com/kelteseth/ScreenPlay/-/releases") onButtonPressed: Qt.openUrlExternally(
"https://gitlab.com/kelteseth/ScreenPlay/-/releases")
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsButton { SettingsButton {
headline: qsTr("Third Party Software") headline: qsTr("Third Party Software")
description: qsTr("ScreenPlay would not be possible without the work of others. A big thank you to: ") description: qsTr("ScreenPlay would not be possible without the work of others. A big thank you to: ")
buttonText: qsTr("Licenses") buttonText: qsTr("Licenses")
onButtonPressed: { onButtonPressed: {
ScreenPlay.util.requestAllLicenses(); ScreenPlay.util.requestAllLicenses()
expanderCopyright.toggle(); expanderCopyright.toggle()
} }
} }
@ -506,23 +496,21 @@ Item {
Connections { Connections {
function onAllLicenseLoaded(licensesText) { function onAllLicenseLoaded(licensesText) {
expanderCopyright.text = licensesText; expanderCopyright.text = licensesText
} }
target: ScreenPlay.util target: ScreenPlay.util
} }
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsButton { SettingsButton {
headline: qsTr("Logs") headline: qsTr("Logs")
description: qsTr("If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.") description: qsTr("If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.")
buttonText: qsTr("Show Logs") buttonText: qsTr("Show Logs")
onButtonPressed: { onButtonPressed: {
expanderDebug.toggle(); expanderDebug.toggle()
} }
} }
@ -532,16 +520,15 @@ Item {
text: ScreenPlay.util.debugMessages text: ScreenPlay.util.debugMessages
} }
SettingsHorizontalSeperator { SettingsHorizontalSeperator {}
}
SettingsButton { SettingsButton {
headline: qsTr("Data Protection") headline: qsTr("Data Protection")
description: qsTr("We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!") description: qsTr("We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!")
buttonText: qsTr("Privacy") buttonText: qsTr("Privacy")
onButtonPressed: { onButtonPressed: {
ScreenPlay.util.requestDataProtection(); ScreenPlay.util.requestDataProtection()
expanderDataProtection.toggle(); expanderDataProtection.toggle()
} }
} }
@ -550,24 +537,18 @@ Item {
Connections { Connections {
function onAllDataProtectionLoaded(dataProtectionText) { function onAllDataProtectionLoaded(dataProtectionText) {
expanderDataProtection.text = dataProtectionText; expanderDataProtection.text = dataProtectionText
} }
target: ScreenPlay.util target: ScreenPlay.util
} }
} }
} }
} }
} }
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
snapMode: ScrollBar.SnapOnRelease snapMode: ScrollBar.SnapOnRelease
} }
} }
} }

View File

@ -22,7 +22,7 @@ Popup {
} }
required property ScreenPlayWorkshop workshop required property ScreenPlayWorkshop workshop
required property SteamWorkshop steam required property SteamWorkshop steam
required property var modalSource required property Item modalSource
Overlay.modal: ModalBackgroundBlur { Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource sourceItem: root.modalSource
} }

View File

@ -11,7 +11,7 @@ import "upload/"
Item { Item {
id: root id: root
required property var modalSource required property Item modalSource
ScreenPlayWorkshop { ScreenPlayWorkshop {
id: screenPlayWorkshop id: screenPlayWorkshop

View File

@ -16,7 +16,7 @@ Item {
property ScreenPlayWorkshop screenPlayWorkshop property ScreenPlayWorkshop screenPlayWorkshop
property StackView stackView property StackView stackView
property Background background property Background background
property var modalSource property Item modalSource
Component.onCompleted: { Component.onCompleted: {
root.steamWorkshop.searchWorkshop(SteamEnums.K_EUGCQuery_RankedByTrend) root.steamWorkshop.searchWorkshop(SteamEnums.K_EUGCQuery_RankedByTrend)
@ -314,7 +314,7 @@ Item {
leftMargin: 20 leftMargin: 20
} }
TextField { Common.TextField {
id: tiSearch id: tiSearch
placeholderText: qsTr("Search for Wallpaper and Widgets...") placeholderText: qsTr("Search for Wallpaper and Widgets...")
onEditingFinished: root.steamWorkshop.searchWorkshopByText( onEditingFinished: root.steamWorkshop.searchWorkshopByText(

View File

@ -9,7 +9,7 @@ import ScreenPlay
Item { Item {
id: root id: root
required property var modalSource required property Item modalSource
Component.onCompleted: { Component.onCompleted: {
if (ScreenPlay.settings.steamVersion) { if (ScreenPlay.settings.steamVersion) {

View File

@ -14,7 +14,7 @@ Popup {
height: 400 height: 400
closePolicy: Popup.NoAutoClose closePolicy: Popup.NoAutoClose
anchors.centerIn: Overlay.overlay anchors.centerIn: Overlay.overlay
property var modalSource property Item modalSource
Overlay.modal: ModalBackgroundBlur { Overlay.modal: ModalBackgroundBlur {
sourceItem: root.modalSource sourceItem: root.modalSource
} }

View File

@ -774,15 +774,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -795,11 +786,16 @@ This will shut down all Wallpaper and Widgets.</source>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message> <message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source> <source>Back</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Back</source> <source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -1908,6 +1904,18 @@ This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -142,8 +142,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -389,8 +389,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -589,8 +589,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -776,16 +776,6 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -797,14 +787,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>Du musst Steam ausführen, um dies zu tun. SteamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Zurück</translation> <translation>Zurück</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1912,6 +1907,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation>Vorschaubild</translation> <translation>Vorschaubild</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished">Back</translation> <translation type="unfinished">Back</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -104,7 +104,7 @@
<source>Depending on your PC configuration it is better to convert your wallpaper to a specific video codec. If both have bad performance you can also try a QML wallpaper! Supported video formats are: <source>Depending on your PC configuration it is better to convert your wallpaper to a specific video codec. If both have bad performance you can also try a QML wallpaper! Supported video formats are:
*.mp4 *.mpg *.mp2 *.mpeg *.ogv *.avi *.wmv *.m4v *.3gp *.flv</source> *.mp4 *.mpg *.mp2 *.mpeg *.ogv *.avi *.wmv *.m4v *.3gp *.flv</source>
<translation>Selon la configuration de votre PC, il est préférable de convertir votre fond d'écran vers un codec vidéo spécifique. Si les deux ont de mauvaises performances, vous pouvez aussi essayer un fond d'écran QML! Les formats vidéo pris en charge sont : <translation>Selon la configuration de votre PC, il est préférable de convertir votre fond d&apos;écran vers un codec vidéo spécifique. Si les deux ont de mauvaises performances, vous pouvez aussi essayer un fond d&apos;écran QML! Les formats vidéo pris en charge sont :
*.mp4 *.mpg *.mp2 *.mpeg *.ogv *.avi *.wmv *.m4v *.3gp *.flv</translation> *.mp4 *.mpg *.mp2 *.mpeg *.ogv *.avi *.wmv *.m4v *.3gp *.flv</translation>
</message> </message>
@ -143,12 +143,12 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
<translation>Génération de l'image d'aperçu...</translation> <translation>Génération de l&apos;image d&apos;aperçu...</translation>
</message> </message>
<message> <message>
<source>Generating preview thumbnail image...</source> <source>Generating preview thumbnail image...</source>
@ -176,15 +176,15 @@
</message> </message>
<message> <message>
<source>Analyse Video ERROR!</source> <source>Analyse Video ERROR!</source>
<translation>Erreur d'Analyse Vidéo !</translation> <translation>Erreur d&apos;Analyse Vidéo !</translation>
</message> </message>
<message> <message>
<source>Convert a video to a wallpaper</source> <source>Convert a video to a wallpaper</source>
<translation>Convertir une vidéo en fond d'écran</translation> <translation>Convertir une vidéo en fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Generating preview video...</source> <source>Generating preview video...</source>
<translation>Génération de la vidéo d'aperçu...</translation> <translation>Génération de la vidéo d&apos;aperçu...</translation>
</message> </message>
<message> <message>
<source>Name (required!)</source> <source>Name (required!)</source>
@ -196,7 +196,7 @@
</message> </message>
<message> <message>
<source>Youtube URL</source> <source>Youtube URL</source>
<translation>URL Youtube </translation> <translation>URL Youtube&#xa0;</translation>
</message> </message>
<message> <message>
<source>Abort</source> <source>Abort</source>
@ -208,7 +208,7 @@
</message> </message>
<message> <message>
<source>Save Wallpaper...</source> <source>Save Wallpaper...</source>
<translation>Enregistrer le fond d'écran</translation> <translation>Enregistrer le fond d&apos;écran</translation>
</message> </message>
</context> </context>
<context> <context>
@ -227,7 +227,7 @@
</message> </message>
<message> <message>
<source>Fill Mode</source> <source>Fill Mode</source>
<translation>Mode d'affichage</translation> <translation>Mode d&apos;affichage</translation>
</message> </message>
<message> <message>
<source>Stretch</source> <source>Stretch</source>
@ -269,7 +269,7 @@
<name>Forum</name> <name>Forum</name>
<message> <message>
<source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source> <source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source>
<translation>Téléchargez manuellement des fond d'écran et des widgets depuis notre forum. Si vous voulez télécharger du contenu Steam Workshop, vous devez installer ScreenPlay via Steam.</translation> <translation>Téléchargez manuellement des fond d&apos;écran et des widgets depuis notre forum. Si vous voulez télécharger du contenu Steam Workshop, vous devez installer ScreenPlay via Steam.</translation>
</message> </message>
<message> <message>
<source>Install Steam Version</source> <source>Install Steam Version</source>
@ -284,7 +284,7 @@
<name>GifWallpaper</name> <name>GifWallpaper</name>
<message> <message>
<source>Import a Gif Wallpaper</source> <source>Import a Gif Wallpaper</source>
<translation>Importer un fond d'écran Gif</translation> <translation>Importer un fond d&apos;écran Gif</translation>
</message> </message>
<message> <message>
<source>Drop a *.gif file here or use &apos;Select file&apos; below.</source> <source>Drop a *.gif file here or use &apos;Select file&apos; below.</source>
@ -300,7 +300,7 @@
</message> </message>
<message> <message>
<source>Wallpaper name</source> <source>Wallpaper name</source>
<translation>Nom du fond d'écran</translation> <translation>Nom du fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Created By</source> <source>Created By</source>
@ -315,7 +315,7 @@
<name>HTMLWallpaper</name> <name>HTMLWallpaper</name>
<message> <message>
<source>Create a HTML Wallpaper</source> <source>Create a HTML Wallpaper</source>
<translation>Créer un fond d'écran HTML</translation> <translation>Créer un fond d&apos;écran HTML</translation>
</message> </message>
<message> <message>
<source>General</source> <source>General</source>
@ -323,7 +323,7 @@
</message> </message>
<message> <message>
<source>Wallpaper name</source> <source>Wallpaper name</source>
<translation>Nom du fond d'écran</translation> <translation>Nom du fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Created By</source> <source>Created By</source>
@ -339,7 +339,7 @@
</message> </message>
<message> <message>
<source>Preview Image</source> <source>Preview Image</source>
<translation>Aperçu de l'image</translation> <translation>Aperçu de l&apos;image</translation>
</message> </message>
</context> </context>
<context> <context>
@ -376,7 +376,7 @@
<name>ImageSelector</name> <name>ImageSelector</name>
<message> <message>
<source>Set your own preview image</source> <source>Set your own preview image</source>
<translation>Définissez votre image d'aperçu</translation> <translation>Définissez votre image d&apos;aperçu</translation>
</message> </message>
<message> <message>
<source>Clear</source> <source>Clear</source>
@ -384,14 +384,14 @@
</message> </message>
<message> <message>
<source>Select Preview Image</source> <source>Select Preview Image</source>
<translation>Sélectionner l'image d'aperçu</translation> <translation>Sélectionner l&apos;image d&apos;aperçu</translation>
</message> </message>
</context> </context>
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -399,7 +399,7 @@
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
<translation>Génération de l'image d'aperçu...</translation> <translation>Génération de l&apos;image d&apos;aperçu...</translation>
</message> </message>
<message> <message>
<source>Generating preview thumbnail image...</source> <source>Generating preview thumbnail image...</source>
@ -427,15 +427,15 @@
</message> </message>
<message> <message>
<source>Analyse Video ERROR!</source> <source>Analyse Video ERROR!</source>
<translation>Erreur d'Analyse Vidéo !</translation> <translation>Erreur d&apos;Analyse Vidéo !</translation>
</message> </message>
<message> <message>
<source>Import a video to a wallpaper</source> <source>Import a video to a wallpaper</source>
<translation>Convertir une vidéo en fond d'écran</translation> <translation>Convertir une vidéo en fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Generating preview video...</source> <source>Generating preview video...</source>
<translation>Génération de la vidéo d'aperçu...</translation> <translation>Génération de la vidéo d&apos;aperçu...</translation>
</message> </message>
<message> <message>
<source>Name (required!)</source> <source>Name (required!)</source>
@ -447,7 +447,7 @@
</message> </message>
<message> <message>
<source>Youtube URL</source> <source>Youtube URL</source>
<translation>URL Youtube </translation> <translation>URL Youtube&#xa0;</translation>
</message> </message>
<message> <message>
<source>Abort</source> <source>Abort</source>
@ -459,7 +459,7 @@
</message> </message>
<message> <message>
<source>Save Wallpaper...</source> <source>Save Wallpaper...</source>
<translation>Enregistrer le fond d'écran</translation> <translation>Enregistrer le fond d&apos;écran</translation>
</message> </message>
</context> </context>
<context> <context>
@ -470,7 +470,7 @@
</message> </message>
<message> <message>
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source> <source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source>
<translation>Lors de l'importation de webm, vous pouvez ignorer l'étape de conversion. Lorsque vous obtenez des résultats insatisfaisants avec l'importateur de ScreenPlay via &apos;import et conversion de vidéo (tous types)&apos; vous pouvez convertir au format webm via le logiciel HandBrake. Il est gratuit et open source!</translation> <translation>Lors de l&apos;importation de webm, vous pouvez ignorer l&apos;étape de conversion. Lorsque vous obtenez des résultats insatisfaisants avec l&apos;importateur de ScreenPlay via &apos;import et conversion de vidéo (tous types)&apos; vous pouvez convertir au format webm via le logiciel HandBrake. Il est gratuit et open source!</translation>
</message> </message>
<message> <message>
<source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source> <source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -603,7 +603,7 @@
</message> </message>
<message> <message>
<source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source> <source>Get more Wallpaper &amp; Widgets via the Steam workshop!</source>
<translation>Obtenez plus de fonds d'écran et de widgets via le Steam Workshop!</translation> <translation>Obtenez plus de fonds d&apos;écran et de widgets via le Steam Workshop!</translation>
</message> </message>
<message> <message>
<source>Open containing folder</source> <source>Open containing folder</source>
@ -611,7 +611,7 @@
</message> </message>
<message> <message>
<source>Remove Item</source> <source>Remove Item</source>
<translation>Supprimer l'élément</translation> <translation>Supprimer l&apos;élément</translation>
</message> </message>
<message> <message>
<source>Remove via Workshop</source> <source>Remove via Workshop</source>
@ -630,7 +630,7 @@
<name>InstalledWelcomeScreen</name> <name>InstalledWelcomeScreen</name>
<message> <message>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source> <source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation>Obtenez des Widgets et des fonds d'écran gratuits via le Steam Workshop</translation> <translation>Obtenez des Widgets et des fonds d&apos;écran gratuits via le Steam Workshop</translation>
</message> </message>
<message> <message>
<source>Browse the Steam Workshop</source> <source>Browse the Steam Workshop</source>
@ -645,7 +645,7 @@
</message> </message>
<message> <message>
<source>Share copy and redistribute the material in any medium or format. Adapt remix, transform, and build upon the material for any purpose, even commercially.</source> <source>Share copy and redistribute the material in any medium or format. Adapt remix, transform, and build upon the material for any purpose, even commercially.</source>
<translation>Partager copier et redistribuer le matériel sous n'importe quel support ou format. Adapter — remixer, transformer et construire à partir du matériel dans n'importe quel but, même commercial.</translation> <translation>Partager copier et redistribuer le matériel sous n&apos;importe quel support ou format. Adapter remixer, transformer et construire à partir du matériel dans n&apos;importe quel but, même commercial.</translation>
</message> </message>
<message> <message>
<source>You grant other to remix your work and change the license to their liking.</source> <source>You grant other to remix your work and change the license to their liking.</source>
@ -653,7 +653,7 @@
</message> </message>
<message> <message>
<source>Share copy and redistribute the material in any medium or format. Adapt remix, transform, and build upon the material. You are not allowed to use it commercially! </source> <source>Share copy and redistribute the material in any medium or format. Adapt remix, transform, and build upon the material. You are not allowed to use it commercially! </source>
<translation>Partager copier et redistribuer le matériel sous n'importe quel support ou format. Adapter — remixer, transformer et construire à partir du matériel. L'usage commercial n'est pas autorisé! </translation> <translation>Partager copier et redistribuer le matériel sous n&apos;importe quel support ou format. Adapter remixer, transformer et construire à partir du matériel. L&apos;usage commercial n&apos;est pas autorisé! </translation>
</message> </message>
<message> <message>
<source>You allow everyone to do anything with your work.</source> <source>You allow everyone to do anything with your work.</source>
@ -661,7 +661,7 @@
</message> </message>
<message> <message>
<source>You grant other to remix your work but it must remain under the GPLv3. We recommend this license for all code wallpaper!</source> <source>You grant other to remix your work but it must remain under the GPLv3. We recommend this license for all code wallpaper!</source>
<translation>Vous permettez aux autres utilisateurs de réutiliser et altérer votre travail, mais il doit rester sous licence GPLv3. Nous recommandons cette licence pour tout les fonds d'écrans codé.</translation> <translation>Vous permettez aux autres utilisateurs de réutiliser et altérer votre travail, mais il doit rester sous licence GPLv3. Nous recommandons cette licence pour tout les fonds d&apos;écrans codé.</translation>
</message> </message>
<message> <message>
<source>You do not share any rights and nobody is allowed to use or remix it (Not recommended). Can also used to credit work others.</source> <source>You do not share any rights and nobody is allowed to use or remix it (Not recommended). Can also used to credit work others.</source>
@ -674,18 +674,18 @@
<source>Your monitor setup changed! <source>Your monitor setup changed!
Please configure your wallpaper again.</source> Please configure your wallpaper again.</source>
<translation>La configuration de votre écran a changé! <translation>La configuration de votre écran a changé!
Veuillez configurer votre fond d'écran à nouveau.</translation> Veuillez configurer votre fond d&apos;écran à nouveau.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>Monitors</name> <name>Monitors</name>
<message> <message>
<source>Wallpaper Configuration</source> <source>Wallpaper Configuration</source>
<translation>Configuration du fond d'écran</translation> <translation>Configuration du fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Remove selected</source> <source>Remove selected</source>
<translation>Retirer l'écran sélectionné</translation> <translation>Retirer l&apos;écran sélectionné</translation>
</message> </message>
<message> <message>
<source>Wallpapers</source> <source>Wallpapers</source>
@ -731,11 +731,11 @@
</message> </message>
<message> <message>
<source>Install Date Ascending</source> <source>Install Date Ascending</source>
<translation>Date d'installation croissante</translation> <translation>Date d&apos;installation croissante</translation>
</message> </message>
<message> <message>
<source>Install Date Descending</source> <source>Install Date Descending</source>
<translation>Date d'installation décroissante</translation> <translation>Date d&apos;installation décroissante</translation>
</message> </message>
<message> <message>
<source> Subscribed items: </source> <source> Subscribed items: </source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,39 +788,44 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>Vous devez exécuter Steam pour cela. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Précédent</translation> <translation>Précédent</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
<message> <message>
<source>You Need to Agree To The Steam Subscriber Agreement First</source> <source>You Need to Agree To The Steam Subscriber Agreement First</source>
<translation>Vous devez d'abord accepter l'Accord de Souscription Steam</translation> <translation>Vous devez d&apos;abord accepter l&apos;Accord de Souscription Steam</translation>
</message> </message>
<message> <message>
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source> <source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
<translation>REQUIÈRE UNE CONNEXION INTERNET ET UN COMPTE STEAM GRATUIT POUR L'ACTIVATION. Avertissement: Produit offert sous réserve de votre acceptation de l'Accord de Souscription Steam (ASS). Vous devez activer ce produit via Internet en vous enregistrant sur un compte Steam et en acceptant l'ASS. Veuillez consulter https://store.steampowered.com/subscriber_agreement/ pour consulter l'ASS avant l'achat. Si vous n'êtes pas d'accord avec les dispositions de l'ASS, vous devriez retourner ce jeu non ouvert à votre détaillant conformément à leur politique de retour.</translation> <translation>REQUIÈRE UNE CONNEXION INTERNET ET UN COMPTE STEAM GRATUIT POUR L&apos;ACTIVATION. Avertissement: Produit offert sous réserve de votre acceptation de l&apos;Accord de Souscription Steam (ASS). Vous devez activer ce produit via Internet en vous enregistrant sur un compte Steam et en acceptant l&apos;ASS. Veuillez consulter https://store.steampowered.com/subscriber_agreement/ pour consulter l&apos;ASS avant l&apos;achat. Si vous n&apos;êtes pas d&apos;accord avec les dispositions de l&apos;ASS, vous devriez retourner ce jeu non ouvert à votre détaillant conformément à leur politique de retour.</translation>
</message> </message>
<message> <message>
<source>View The Steam Subscriber Agreement</source> <source>View The Steam Subscriber Agreement</source>
<translation>Voir l'Accord de Souscription Steam</translation> <translation>Voir l&apos;Accord de Souscription Steam</translation>
</message> </message>
<message> <message>
<source>Accept Steam Workshop Agreement</source> <source>Accept Steam Workshop Agreement</source>
<translation>Accepter l'Accord de Souscription Steam</translation> <translation>Accepter l&apos;Accord de Souscription Steam</translation>
</message> </message>
</context> </context>
<context> <context>
<name>QMLWallpaper</name> <name>QMLWallpaper</name>
<message> <message>
<source>Create a QML Wallpaper</source> <source>Create a QML Wallpaper</source>
<translation>Créer un fond d'écran QML</translation> <translation>Créer un fond d&apos;écran QML</translation>
</message> </message>
<message> <message>
<source>General</source> <source>General</source>
@ -838,7 +833,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Wallpaper name</source> <source>Wallpaper name</source>
<translation>Nom du fond d'écran</translation> <translation>Nom du fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Created By</source> <source>Created By</source>
@ -854,7 +849,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Preview Image</source> <source>Preview Image</source>
<translation>Image d'aperçu</translation> <translation>Image d&apos;aperçu</translation>
</message> </message>
</context> </context>
<context> <context>
@ -898,7 +893,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>Search</name> <name>Search</name>
<message> <message>
<source>Search for Wallpaper &amp; Widgets</source> <source>Search for Wallpaper &amp; Widgets</source>
<translation>Recherche de fond d'écran et de widgets</translation> <translation>Recherche de fond d&apos;écran et de widgets</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1053,7 +1048,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source> <source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation>Si ScreenPlay ne fonctionne pas correctement, c'est une bonne façon de chercher des réponses. Cela montre tous les logs et les avertissements émis pendant l'exécution.</translation> <translation>Si ScreenPlay ne fonctionne pas correctement, c&apos;est une bonne façon de chercher des réponses. Cela montre tous les logs et les avertissements émis pendant l&apos;exécution.</translation>
</message> </message>
<message> <message>
<source>Show Logs</source> <source>Show Logs</source>
@ -1065,7 +1060,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source> <source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
<translation>Nous utilisons vos données exclusivement pour améliorer ScreenPlay. Nous ne vendons pas ou ne partageons pas ces données (anonyme) avec d'autres !</translation> <translation>Nous utilisons vos données exclusivement pour améliorer ScreenPlay. Nous ne vendons pas ou ne partageons pas ces données (anonyme) avec d&apos;autres !</translation>
</message> </message>
<message> <message>
<source>Privacy</source> <source>Privacy</source>
@ -1105,19 +1100,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>GIF Wallpaper</source> <source>GIF Wallpaper</source>
<translation>Fond d'écran GIF</translation> <translation>Fond d&apos;écran GIF</translation>
</message> </message>
<message> <message>
<source>QML Wallpaper</source> <source>QML Wallpaper</source>
<translation>Fond d'écran QML</translation> <translation>Fond d&apos;écran QML</translation>
</message> </message>
<message> <message>
<source>HTML5 Wallpaper</source> <source>HTML5 Wallpaper</source>
<translation>Fond d'écran HTML5</translation> <translation>Fond d&apos;écran HTML5</translation>
</message> </message>
<message> <message>
<source>Website Wallpaper</source> <source>Website Wallpaper</source>
<translation>Fond d'écran Site web</translation> <translation>Fond d&apos;écran Site web</translation>
</message> </message>
<message> <message>
<source>QML Widget</source> <source>QML Widget</source>
@ -1129,7 +1124,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Set Wallpaper</source> <source>Set Wallpaper</source>
<translation>Définir le fond d'écran</translation> <translation>Définir le fond d&apos;écran</translation>
</message> </message>
<message> <message>
<source>Set Widget</source> <source>Set Widget</source>
@ -1185,7 +1180,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Click here if you do not like the content</source> <source>Click here if you do not like the content</source>
<translation>Cliquez ici si vous n'aimez pas le contenu</translation> <translation>Cliquez ici si vous n&apos;aimez pas le contenu</translation>
</message> </message>
<message> <message>
<source>Subscribtions: </source> <source>Subscribtions: </source>
@ -1201,7 +1196,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Subscribe</source> <source>Subscribe</source>
<translation>S'abonner</translation> <translation>S&apos;abonner</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1219,7 +1214,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>SteamNotAvailable</name> <name>SteamNotAvailable</name>
<message> <message>
<source>Could not load steam integration!</source> <source>Could not load steam integration!</source>
<translation>Impossible de charger l'intégration Steam!</translation> <translation>Impossible de charger l&apos;intégration Steam!</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1265,7 +1260,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Search for Wallpaper and Widgets...</source> <source>Search for Wallpaper and Widgets...</source>
<translation>Recherche de fond d'écran et de widgets...</translation> <translation>Recherche de fond d&apos;écran et de widgets...</translation>
</message> </message>
<message> <message>
<source>Open Workshop in Steam</source> <source>Open Workshop in Steam</source>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -168,7 +168,7 @@
</message> </message>
<message> <message>
<source>Converting Video... This can take some time!</source> <source>Converting Video... This can take some time!</source>
<translation>Conversione Video... Potrebbe richiedere un po' di tempo!</translation> <translation>Conversione Video... Potrebbe richiedere un po&apos; di tempo!</translation>
</message> </message>
<message> <message>
<source>Converting Video ERROR!</source> <source>Converting Video ERROR!</source>
@ -384,14 +384,14 @@
</message> </message>
<message> <message>
<source>Select Preview Image</source> <source>Select Preview Image</source>
<translation>Seleziona Immagine d'Anteprima</translation> <translation>Seleziona Immagine d&apos;Anteprima</translation>
</message> </message>
</context> </context>
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -399,7 +399,7 @@
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
<translation>Generazione immagine d'anteprima...</translation> <translation>Generazione immagine d&apos;anteprima...</translation>
</message> </message>
<message> <message>
<source>Generating preview thumbnail image...</source> <source>Generating preview thumbnail image...</source>
@ -419,7 +419,7 @@
</message> </message>
<message> <message>
<source>Converting Video... This can take some time!</source> <source>Converting Video... This can take some time!</source>
<translation>Conversione Video... Potrebbe richiedere un po' di tempo!</translation> <translation>Conversione Video... Potrebbe richiedere un po&apos; di tempo!</translation>
</message> </message>
<message> <message>
<source>Converting Video ERROR!</source> <source>Converting Video ERROR!</source>
@ -470,7 +470,7 @@
</message> </message>
<message> <message>
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source> <source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source>
<translation>Importando un file webm è possibile saltare la conversione. Se ottiene risultati insoddisfacenti dall'importer di ScreenPlay &apos;Importa e converti video (tutti i tipi)&apos; puoi anche farlo con il convertitore gratuito ed open source HandBrake!</translation> <translation>Importando un file webm è possibile saltare la conversione. Se ottiene risultati insoddisfacenti dall&apos;importer di ScreenPlay &apos;Importa e converti video (tutti i tipi)&apos; puoi anche farlo con il convertitore gratuito ed open source HandBrake!</translation>
</message> </message>
<message> <message>
<source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source> <source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,28 +788,33 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>È necessario eseguire Steam per questo. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Indietro</translation> <translation>Indietro</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
<message> <message>
<source>You Need to Agree To The Steam Subscriber Agreement First</source> <source>You Need to Agree To The Steam Subscriber Agreement First</source>
<translation>Devi prima accettare l'accordo di iscrizione di Steam</translation> <translation>Devi prima accettare l&apos;accordo di iscrizione di Steam</translation>
</message> </message>
<message> <message>
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source> <source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
<translation>RICHIESTA CONNESSIONE INTERNET E ACCOUNT STEAM GRATUITO PER L'ATTIVAZIONE. Avviso: Prodotto offerto previa accettazione dell'Accordo Iscrizione di Steam. È necessario attivare questo prodotto via Internet registrandosi per un account Steam e accettando il SSA. Per favore consulta https://store.steampowered.com/subscriber_agreement/ per visualizzare l'SSA prima dell'acquisto. Se non siete d'accordo con le disposizioni della SSA, dovresti restituire questo gioco non aperto al tuo rivenditore in conformità con la sua politica di ritorno.</translation> <translation>RICHIESTA CONNESSIONE INTERNET E ACCOUNT STEAM GRATUITO PER L&apos;ATTIVAZIONE. Avviso: Prodotto offerto previa accettazione dell&apos;Accordo Iscrizione di Steam. È necessario attivare questo prodotto via Internet registrandosi per un account Steam e accettando il SSA. Per favore consulta https://store.steampowered.com/subscriber_agreement/ per visualizzare l&apos;SSA prima dell&apos;acquisto. Se non siete d&apos;accordo con le disposizioni della SSA, dovresti restituire questo gioco non aperto al tuo rivenditore in conformità con la sua politica di ritorno.</translation>
</message> </message>
<message> <message>
<source>View The Steam Subscriber Agreement</source> <source>View The Steam Subscriber Agreement</source>
<translation>Visualizza L'Accordo Sull'Iscrizione di Steam</translation> <translation>Visualizza L&apos;Accordo Sull&apos;Iscrizione di Steam</translation>
</message> </message>
<message> <message>
<source>Accept Steam Workshop Agreement</source> <source>Accept Steam Workshop Agreement</source>
@ -953,7 +948,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Set the ScreenPlay UI Language</source> <source>Set the ScreenPlay UI Language</source>
<translation>Imposta la lingua dell'interfaccia utente di ScreenPlay</translation> <translation>Imposta la lingua dell&apos;interfaccia utente di ScreenPlay</translation>
</message> </message>
<message> <message>
<source>Theme</source> <source>Theme</source>
@ -981,11 +976,11 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Pause wallpaper video rendering while another app is in the foreground</source> <source>Pause wallpaper video rendering while another app is in the foreground</source>
<translation>Metti in pausa il rendering video dello sfondo mentre un'altra app è in primo piano</translation> <translation>Metti in pausa il rendering video dello sfondo mentre un&apos;altra app è in primo piano</translation>
</message> </message>
<message> <message>
<source>We disable the video rendering (not the audio!) for the best performance. If you have problem you can disable this behaviour here. Wallpaper restart required!</source> <source>We disable the video rendering (not the audio!) for the best performance. If you have problem you can disable this behaviour here. Wallpaper restart required!</source>
<translation>Disattiviamo il rendering video (non l'audio!) per migliori prestazioni. Se hai problemi puoi disabilitare questa opzione qui. È necessario riavviare lo sfondo!</translation> <translation>Disattiviamo il rendering video (non l&apos;audio!) per migliori prestazioni. Se hai problemi puoi disabilitare questa opzione qui. È necessario riavviare lo sfondo!</translation>
</message> </message>
<message> <message>
<source>Default Fill Mode</source> <source>Default Fill Mode</source>
@ -993,7 +988,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Set this property to define how the video is scaled to fit the target area.</source> <source>Set this property to define how the video is scaled to fit the target area.</source>
<translation>Imposta questa proprietà per definire come il video viene adattato all'area di destinazione.</translation> <translation>Imposta questa proprietà per definire come il video viene adattato all&apos;area di destinazione.</translation>
</message> </message>
<message> <message>
<source>Stretch</source> <source>Stretch</source>
@ -1053,7 +1048,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source> <source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
<translation>Se il tuo ScreenPlay non funziona correttamente questo è un buon modo per cercare risposte. Questo mostra tutti i log e gli avvisi durante l'esecuzione.</translation> <translation>Se il tuo ScreenPlay non funziona correttamente questo è un buon modo per cercare risposte. Questo mostra tutti i log e gli avvisi durante l&apos;esecuzione.</translation>
</message> </message>
<message> <message>
<source>Show Logs</source> <source>Show Logs</source>
@ -1219,7 +1214,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>SteamNotAvailable</name> <name>SteamNotAvailable</name>
<message> <message>
<source>Could not load steam integration!</source> <source>Could not load steam integration!</source>
<translation>Impossibile caricare l'integrazione di Steam!</translation> <translation>Impossibile caricare l&apos;integrazione di Steam!</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1719,7 +1714,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Value Out Of Range</source> <source>Value Out Of Range</source>
<translation>Valore fuori dall'intervallo</translation> <translation>Valore fuori dall&apos;intervallo</translation>
</message> </message>
<message> <message>
<source>Unexpecte Error</source> <source>Unexpecte Error</source>
@ -1791,7 +1786,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Account Activity Limit Exceeded</source> <source>Account Activity Limit Exceeded</source>
<translation>Limite Attività Dell'Account Superato</translation> <translation>Limite Attività Dell&apos;Account Superato</translation>
</message> </message>
<message> <message>
<source>Phone Activity Limit Exceeded</source> <source>Phone Activity Limit Exceeded</source>
@ -1803,7 +1798,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Email Send Failure</source> <source>Email Send Failure</source>
<translation>Errore nell'invio della mail</translation> <translation>Errore nell&apos;invio della mail</translation>
</message> </message>
<message> <message>
<source>Not Settled</source> <source>Not Settled</source>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation>Immagine danteprima</translation> <translation>Immagine danteprima</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>
@ -1928,7 +1936,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>WorkshopItem</name> <name>WorkshopItem</name>
<message> <message>
<source>Successfully subscribed to Workshop Item!</source> <source>Successfully subscribed to Workshop Item!</source>
<translation>Iscritto con successo all'oggetto Workshop!</translation> <translation>Iscritto con successo all&apos;oggetto Workshop!</translation>
</message> </message>
<message> <message>
<source>Download complete!</source> <source>Download complete!</source>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished">Back</translation> <translation type="unfinished">Back</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished">Back</translation> <translation type="unfinished">Back</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation>Konfiguruj tapetę</translation> <translation>Konfiguruj tapetę</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation>Czy na pewno chcesz zamknąć ScreenPlay?
Spowoduje to wyłączenie wszystkich tapet oraz widżetów.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ Spowoduje to wyłączenie wszystkich tapet oraz widżetów.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>Ta funkcja wymaga uruchomienia Steam. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Wstecz</translation> <translation>Wstecz</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -815,7 +810,7 @@ Spowoduje to wyłączenie wszystkich tapet oraz widżetów.</translation>
</message> </message>
<message> <message>
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source> <source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
<translation>DO AKTYWACJI WYMAGANE JEST POŁĄCZENIE Z INTERNETEM ORAZ BEZPŁATNE KONTO STEAM. Uwaga: Oferowany produkt podlega Twojej akceptacji Umowy użytkownika Steam (dalej "Umowa"). Należy aktywować ten produkt przez Internet rejestrując konto Steam oraz akceptująć Umowę. Odwiedź https://store.steampowered.com/subscriber_agreement/, aby zapoznać się z Umową przed zakupem. Jeśli nie zgadzasz się z warunkami Umowy, należy zwrócić tę grę w stanie nieotwartym do Twojego sprzedawcy zgodnie z jego warunkami zwrotów.</translation> <translation>DO AKTYWACJI WYMAGANE JEST POŁĄCZENIE Z INTERNETEM ORAZ BEZPŁATNE KONTO STEAM. Uwaga: Oferowany produkt podlega Twojej akceptacji Umowy użytkownika Steam (dalej &quot;Umowa&quot;). Należy aktywować ten produkt przez Internet rejestrując konto Steam oraz akceptująć Umowę. Odwiedź https://store.steampowered.com/subscriber_agreement/, aby zapoznać się z Umową przed zakupem. Jeśli nie zgadzasz się z warunkami Umowy, należy zwrócić tę grę w stanie nieotwartym do Twojego sprzedawcy zgodnie z jego warunkami zwrotów.</translation>
</message> </message>
<message> <message>
<source>View The Steam Subscriber Agreement</source> <source>View The Steam Subscriber Agreement</source>
@ -1913,6 +1908,19 @@ Spowoduje to wyłączenie wszystkich tapet oraz widżetów.</translation>
<translation>Obraz podglądu</translation> <translation>Obraz podglądu</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Czy na pewno chcesz zamknąć ScreenPlay?
Spowoduje to wyłączenie wszystkich tapet oraz widżetów.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished">Back</translation> <translation type="unfinished">Back</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished">Back</translation> <translation type="unfinished">Back</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -346,7 +346,7 @@
<name>HTMLWidget</name> <name>HTMLWidget</name>
<message> <message>
<source>Create a HTML widget</source> <source>Create a HTML widget</source>
<translation>Bir HTML widget'ı oluşturun</translation> <translation>Bir HTML widget&apos;ı oluşturun</translation>
</message> </message>
<message> <message>
<source>General</source> <source>General</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -470,7 +470,7 @@
</message> </message>
<message> <message>
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source> <source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from &apos;ideo import and convert (all types)&apos; you can also convert via the free and open source HandBrake!</source>
<translation>Webm'yi içe aktarırken uzun dönüşümü atlayabiliriz. &apos; Video içe aktarma ve dönüştürmeden (tüm türler) ScreenPlay içe aktarıcı ile tatmin edici olmayan sonuçlar aldığınızda, ücretsiz ve ık kaynaklı El Freni aracılığıyla da dönüştürebilirsiniz! &apos;</translation> <translation>Webm&apos;yi içe aktarırken uzun dönüşümü atlayabiliriz. &apos; Video içe aktarma ve dönüştürmeden (tüm türler) ScreenPlay içe aktarıcı ile tatmin edici olmayan sonuçlar aldığınızda, ücretsiz ve ık kaynaklı El Freni aracılığıyla da dönüştürebilirsiniz! &apos;</translation>
</message> </message>
<message> <message>
<source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source> <source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -630,7 +630,7 @@
<name>InstalledWelcomeScreen</name> <name>InstalledWelcomeScreen</name>
<message> <message>
<source>Get free Widgets and Wallpaper via the Steam Workshop</source> <source>Get free Widgets and Wallpaper via the Steam Workshop</source>
<translation>Steam Atölyesi aracılığıyla ücretsiz Widget'lar ve Duvar Kağıdı alın</translation> <translation>Steam Atölyesi aracılığıyla ücretsiz Widget&apos;lar ve Duvar Kağıdı alın</translation>
</message> </message>
<message> <message>
<source>Browse the Steam Workshop</source> <source>Browse the Steam Workshop</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>Bunun için Steam'i çalıştırmanız gerekiyor. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Geri</translation> <translation>Geri</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -815,7 +810,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source> <source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
<translation>ETKİNLEŞTİRMEK İÇİN İNTERNET BAĞLANTISI VE ÜCRETSİZ BUHAR HESABI GEREKTİRİR. Uyarı: Ürün, Steam Abonelik Sözleşmesini (SSA) kabul etmenize tabi olarak sunulur. Bu ürünü bir Steam hesabına kaydolarak ve SSA'yı kabul ederek İnternet üzerinden etkinleştirmelisiniz. Satın almadan önce SSA'yı görüntülemek için lütfen https://store.steampowered.com/subscriber_agreement/ adresini ziyaret edin. SSA hükümlerini kabul etmiyorsanız, bu oyunu açılmadan satıcınıza iade politikalarına uygun olarak iade etmelisiniz.</translation> <translation>ETKİNLEŞTİRMEK İÇİN İNTERNET BAĞLANTISI VE ÜCRETSİZ BUHAR HESABI GEREKTİRİR. Uyarı: Ürün, Steam Abonelik Sözleşmesini (SSA) kabul etmenize tabi olarak sunulur. Bu ürünü bir Steam hesabına kaydolarak ve SSA&apos;yı kabul ederek İnternet üzerinden etkinleştirmelisiniz. Satın almadan önce SSA&apos;yı görüntülemek için lütfen https://store.steampowered.com/subscriber_agreement/ adresini ziyaret edin. SSA hükümlerini kabul etmiyorsanız, bu oyunu açılmadan satıcınıza iade politikalarına uygun olarak iade etmelisiniz.</translation>
</message> </message>
<message> <message>
<source>View The Steam Subscriber Agreement</source> <source>View The Steam Subscriber Agreement</source>
@ -861,7 +856,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>QMLWidget</name> <name>QMLWidget</name>
<message> <message>
<source>Create a QML widget</source> <source>Create a QML widget</source>
<translation>Bir QML widget'ı oluşturun</translation> <translation>Bir QML widget&apos;ı oluşturun</translation>
</message> </message>
<message> <message>
<source>General</source> <source>General</source>
@ -898,7 +893,7 @@ This will shut down all Wallpaper and Widgets.</translation>
<name>Search</name> <name>Search</name>
<message> <message>
<source>Search for Wallpaper &amp; Widgets</source> <source>Search for Wallpaper &amp; Widgets</source>
<translation>Duvar Kağıdı ve Widget'ları Ara</translation> <translation>Duvar Kağıdı ve Widget&apos;ları Ara</translation>
</message> </message>
</context> </context>
<context> <context>
@ -921,7 +916,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source> <source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
<translation>Bu seçenekler, ScreenPlay'e diğer uygulamalardan daha yüksek bir otomatik başlatma önceliği verir.</translation> <translation>Bu seçenekler, ScreenPlay&apos;e diğer uygulamalardan daha yüksek bir otomatik başlatma önceliği verir.</translation>
</message> </message>
<message> <message>
<source>Send anonymous crash reports and statistics</source> <source>Send anonymous crash reports and statistics</source>
@ -1021,7 +1016,7 @@ This will shut down all Wallpaper and Widgets.</translation>
</message> </message>
<message> <message>
<source>Thank you for using ScreenPlay</source> <source>Thank you for using ScreenPlay</source>
<translation>ScreePlay'i kullandığınız için teşekkür ederiz!</translation> <translation>ScreePlay&apos;i kullandığınız için teşekkür ederiz!</translation>
</message> </message>
<message> <message>
<source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source> <source>Hi, I&apos;m Elias Steurer also known as Kelteseth and I&apos;m the developer of ScreenPlay. Thank you for using my software. You can follow me to receive updates about ScreenPlay here:</source>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation type="unfinished">Preview Image</translation> <translation type="unfinished">Preview Image</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation type="unfinished">Configure Wallpaper</translation> <translation type="unfinished">Configure Wallpaper</translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished">ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation type="unfinished">Support me on Patreon!</translation> <translation type="unfinished">Support me on Patreon!</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</translation>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>Bạn cần chạy Steam đ làm việc này ´ ω ` ♡ steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation>Quay lại</translation> <translation>Quay lại</translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1913,6 +1908,19 @@ This will shut down all Wallpaper and Widgets.</translation>
<translation>nh xem trước</translation> <translation>nh xem trước</translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -143,8 +143,8 @@
<context> <context>
<name>CreateWallpaperVideoImportConvert</name> <name>CreateWallpaperVideoImportConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Generating preview image...</source> <source>Generating preview image...</source>
@ -390,8 +390,8 @@
<context> <context>
<name>ImportWebmConvert</name> <name>ImportWebmConvert</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>AnalyseVideo...</source> <source>AnalyseVideo...</source>
@ -590,8 +590,8 @@
<context> <context>
<name>Installed</name> <name>Installed</name>
<message> <message>
<source/> <source></source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<source>Refreshing!</source> <source>Refreshing!</source>
@ -777,16 +777,6 @@
<source>Configure Wallpaper</source> <source>Configure Wallpaper</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation>退ScreenPlay吗
</translation>
</message>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation>ScreenPlay Alpha %1 - </translation>
</message>
<message> <message>
<source>Support me on Patreon!</source> <source>Support me on Patreon!</source>
<translation>Patreon上支持</translation> <translation>Patreon上支持</translation>
@ -798,14 +788,19 @@ This will shut down all Wallpaper and Widgets.</source>
</context> </context>
<context> <context>
<name>PopupOffline</name> <name>PopupOffline</name>
<message>
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
<translation>SteamsteamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
</message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>You need to run Steam to access the Steam Workshop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Steam Error Restart: %1
Steam Error API Init: %2</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PopupSteamWorkshopAgreement</name> <name>PopupSteamWorkshopAgreement</name>
@ -1912,6 +1907,19 @@ This will shut down all Wallpaper and Widgets.</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
<context>
<name>WindowNavigation</name>
<message>
<source>ScreenPlay Alpha %1 - Open Source Wallpaper And Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Are you sure you want to exit ScreenPlay?
This will shut down all Wallpaper and Widgets.</source>
<translation type="unfinished">退ScreenPlay吗
</translation>
</message>
</context>
<context> <context>
<name>WizardPage</name> <name>WizardPage</name>
<message> <message>

View File

@ -41,9 +41,12 @@ Item {
WebEngineView { WebEngineView {
id: webView id: webView
anchors.fill: parent anchors.fill: parent
url: Qt.resolvedUrl("file://"+ Wallpaper.getApplicationPath() + "/index.html") url: Qt.resolvedUrl("file://" + Wallpaper.getApplicationPath(
onJavaScriptConsoleMessage: (lineNumber, message) => print(lineNumber, ) + "/index.html")
message) onJavaScriptConsoleMessage: function (lineNumber, message) {
print(lineNumber, message)
}
onLoadProgressChanged: { onLoadProgressChanged: {
if (loadProgress === 100) { if (loadProgress === 100) {
webView.runJavaScript(root.getSetVideoCommand(), webView.runJavaScript(root.getSetVideoCommand(),

View File

@ -12,23 +12,24 @@ Item {
Connections { Connections {
function onQmlExit() { function onQmlExit() {
if (Qt.platform.os === "windows") if (Qt.platform.os === "windows")
Widget.setWindowBlur(0); Widget.setWindowBlur(0)
animFadeOut.start(); animFadeOut.start()
} }
function onQmlSceneValueReceived(key, value) { function onQmlSceneValueReceived(key, value) {
var obj2 = 'import QtQuick; Item {Component.onCompleted: loader.item.' + key + ' = ' + value + '; }'; var obj2 = 'import QtQuick; Item {Component.onCompleted: loader.item.'
var newObject = Qt.createQmlObject(obj2.toString(), root, "err"); + key + ' = ' + value + '; }'
newObject.destroy(10000); var newObject = Qt.createQmlObject(obj2.toString(), root, "err")
newObject.destroy(10000)
} }
// Replace wallpaper with QML Scene // Replace wallpaper with QML Scene
function onReloadQML(oldType) { function onReloadQML(oldType) {
loader.sourceComponent = undefined; loader.sourceComponent = undefined
loader.source = ""; loader.source = ""
Widget.clearComponentCache(); Widget.clearComponentCache()
loader.source = Qt.resolvedUrl(Widget.projectSourceFileAbsolute); loader.source = Qt.resolvedUrl(Widget.projectSourceFileAbsolute)
} }
target: Widget target: Widget
@ -70,24 +71,25 @@ Item {
Component.onCompleted: { Component.onCompleted: {
switch (Widget.type) { switch (Widget.type) {
case InstalledType.QMLWidget: case InstalledType.QMLWidget:
loader.source = Qt.resolvedUrl(Widget.projectSourceFileAbsolute); loader.source = Qt.resolvedUrl(Widget.projectSourceFileAbsolute)
break; break
case InstalledType.HTMLWidget: case InstalledType.HTMLWidget:
loader.sourceComponent = webViewComponent; loader.sourceComponent = webViewComponent
break; break
} }
} }
onStatusChanged: { onStatusChanged: {
if (loader.status == Loader.Ready) { if (loader.status == Loader.Ready) {
if (loader.item.widgetBackground !== undefined) if (loader.item.widgetBackground !== undefined)
bgColor.color = loader.item.widgetBackground; bgColor.color = loader.item.widgetBackground
if (loader.item.widgetBackgroundOpacity !== undefined) if (loader.item.widgetBackgroundOpacity !== undefined)
bgColor.opacity = loader.item.widgetBackgroundOpacity; bgColor.opacity = loader.item.widgetBackgroundOpacity
if (loader.item.widgetWidth !== undefined && loader.item.widgetHeight !== undefined)
Widget.setWidgetSize(loader.item.widgetWidth, loader.item.widgetHeight);
if (loader.item.widgetWidth !== undefined
&& loader.item.widgetHeight !== undefined)
Widget.setWidgetSize(loader.item.widgetWidth,
loader.item.widgetHeight)
} }
} }
} }
@ -102,10 +104,9 @@ Item {
anchors.fill: parent anchors.fill: parent
onJavaScriptConsoleMessage: print(lineNumber, message) onJavaScriptConsoleMessage: print(lineNumber, message)
Component.onCompleted: { Component.onCompleted: {
webView.url = Qt.resolvedUrl(Widget.sourcePath); webView.url = Qt.resolvedUrl(Widget.sourcePath)
} }
} }
} }
MouseArea { MouseArea {
@ -115,16 +116,16 @@ Item {
anchors.fill: parent anchors.fill: parent
hoverEnabled: true hoverEnabled: true
onPressed: (mouse)=>{ onPressed: function (mouse) {
clickPos = { clickPos = {
"x": mouse.x, "x": mouse.x,
"y": mouse.y "y": mouse.y
}; }
} }
onPositionChanged: { onPositionChanged: {
if (mouseArea.pressed) if (mouseArea.pressed)
Widget.setPos(Widget.cursorPos().x - clickPos.x, Widget.cursorPos().y - clickPos.y); Widget.setPos(Widget.cursorPos().x - clickPos.x,
Widget.cursorPos().y - clickPos.y)
} }
} }
@ -139,8 +140,8 @@ Item {
onExited: imgClose.opacity = 0.15 onExited: imgClose.opacity = 0.15
onClicked: { onClicked: {
if (Qt.platform.os === "windows") if (Qt.platform.os === "windows")
Widget.setWindowBlur(0); Widget.setWindowBlur(0)
animFadeOut.start(); animFadeOut.start()
} }
anchors { anchors {
@ -159,9 +160,7 @@ Item {
target: parent target: parent
duration: 300 duration: 300
} }
} }
} }
MouseArea { MouseArea {
@ -173,19 +172,17 @@ Item {
height: width height: width
cursorShape: Qt.SizeFDiagCursor cursorShape: Qt.SizeFDiagCursor
onPressed: { onPressed: {
clickPosition = Qt.point(mouseX, mouseY); clickPosition = Qt.point(mouseX, mouseY)
} }
onPositionChanged: { onPositionChanged: {
if (mouseAreaResize.pressed) if (mouseAreaResize.pressed)
Widget.setWidgetSize(clickPosition.x + mouseX, clickPosition.y + mouseY); Widget.setWidgetSize(clickPosition.x + mouseX,
clickPosition.y + mouseY)
} }
anchors { anchors {
bottom: parent.bottom bottom: parent.bottom
right: parent.right right: parent.right
} }
} }
} }