mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-24 11:42:52 +01:00
Add working Windows pipes connection
This commit is contained in:
parent
94024be77d
commit
1441998435
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@ -5,6 +5,8 @@
|
||||
"ms-vscode.cpptools-extension-pack",
|
||||
"ms-vscode.cmake-tools",
|
||||
"seanwu.vscode-qt-for-python",
|
||||
"josetr.cmake-language-support-vscode"
|
||||
"josetr.cmake-language-support-vscode",
|
||||
"geequlim.godot-tools",
|
||||
"stevebushresearch.buildoutputcolorizer"
|
||||
]
|
||||
}
|
121
.vscode/tasks.json
vendored
121
.vscode/tasks.json
vendored
@ -15,61 +15,7 @@
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Format Cpp files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_cpp.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Format CMake files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_cmake.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Format Qml files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_qml.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Run setup.py",
|
||||
"label": "🛫 Run setup.py",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
@ -87,8 +33,11 @@
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Build Godot",
|
||||
"command": "python",
|
||||
"label": "⚙️ Build Godot Wallpaper",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
@ -104,7 +53,7 @@
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Build ScreenPlay release, with deploy and steam enabled",
|
||||
"label": "⚙️ Build ScreenPlay release, with deploy and steam enabled",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
@ -133,7 +82,61 @@
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "Update Qt *.ts translations",
|
||||
"label": "📃 Format Cpp files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_cpp.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "📃 Format CMake files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_cmake.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "📃 Format Qml files",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools"
|
||||
},
|
||||
"args": [
|
||||
"check_format_qml.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "process",
|
||||
"label": "🗨️ Update Qt *.ts translations",
|
||||
"command": "python3",
|
||||
"windows": {
|
||||
"command": "python"
|
||||
|
@ -40,7 +40,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(THIRD_PARTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/")
|
||||
|
||||
option(GODOT_WALLPAPER "Godot Wallpaper support" ON)
|
||||
option(OSX_BUNDLE "Enable distribution macOS bundle" OFF)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "13.0")
|
||||
|
||||
@ -72,6 +71,7 @@ option(SCREENPLAY_DEPLOY "Marks this version as an official deploy version. This
|
||||
OFF)
|
||||
option(SCREENPLAY_TESTS "Enables UI tests." ON)
|
||||
option(SCREENPLAY_INSTALLER "Indicates whether an installer via the Qt Installer Framework is created." OFF)
|
||||
option(SCREENPLAY_GODOT_SUPPORT "Compiles ScreenPlayGodotWallpaper." ON)
|
||||
|
||||
# Gitlab CI has many ENV variables. We use this one to check if the current build happens inside the CI
|
||||
if(DEFINED ENV{CI_COMMIT_MESSAGE})
|
||||
@ -138,7 +138,7 @@ add_subdirectory(ScreenPlayWidget)
|
||||
add_subdirectory(ScreenPlayUtil)
|
||||
add_subdirectory(ScreenPlayWeather)
|
||||
|
||||
if(GODOT_WALLPAPER)
|
||||
if(${SCREENPLAY_GODOT_SUPPORT})
|
||||
add_subdirectory(ScreenPlayWallpaper/Godot)
|
||||
endif()
|
||||
|
||||
@ -176,6 +176,7 @@ message(STATUS "[OPTION] SCREENPLAY_DEPLOY = ${SCREENPLAY_DEPLOY}")
|
||||
message(STATUS "[OPTION] SCREENPLAY_INSTALLER = ${SCREENPLAY_INSTALLER}")
|
||||
message(STATUS "[OPTION] SCREENPLAY_STEAM = ${SCREENPLAY_STEAM}")
|
||||
message(STATUS "[OPTION] SCREENPLAY_TESTS = ${SCREENPLAY_TESTS}")
|
||||
message(STATUS "[OPTION] SCREENPLAY_GODOT_SUPPORT = ${SCREENPLAY_GODOT_SUPPORT}")
|
||||
message(STATUS "[DEFINE] BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
|
||||
message(STATUS "[DEFINE] GIT_COMMIT_HASH = ${GIT_COMMIT_HASH}")
|
||||
message(STATUS "[CPP DEFINE] DEPLOY_VERSION = ${DEPLOY_VERSION}")
|
||||
|
@ -8,6 +8,7 @@ var screenplaywallpaper
|
||||
var appID = ""
|
||||
# Speed of the movement along the path
|
||||
var speed = 0.8
|
||||
var path = "/root/Wallpaper/ScreenPlayGodotWallpaper"
|
||||
|
||||
|
||||
func _process(delta):
|
||||
@ -17,10 +18,10 @@ func _process(delta):
|
||||
# Loop back to the start if we've reached the end of the path
|
||||
if path_follow.progress >= 18.81:
|
||||
path_follow.progress = 0.0
|
||||
|
||||
screenplaywallpaper = get_node("/root/Wallpaper/ScreenPlayGodotWallpaper")
|
||||
if screenplaywallpaper:
|
||||
appID = screenplaywallpaper.get_appID()
|
||||
else:
|
||||
appID = "404"
|
||||
label.text = "Godot Wallpaper\n" + Time.get_time_string_from_system() + "\nAppID: " + appID
|
||||
return
|
||||
if has_node(path):
|
||||
if get_node(path):
|
||||
appID = screenplaywallpaper.get_appID()
|
||||
else:
|
||||
appID = "404"
|
||||
label.text = "Godot Wallpaper\n" + Time.get_time_string_from_system() + "\nAppID: " + appID
|
||||
|
@ -119,7 +119,7 @@ Item {
|
||||
bottom: parent.bottom
|
||||
bottomMargin: -width * .65
|
||||
}
|
||||
SequentialAnimation on opacity {
|
||||
SequentialAnimation on opacity {
|
||||
loops: Animation.Infinite
|
||||
|
||||
OpacityAnimator {
|
||||
|
@ -63,7 +63,7 @@ Item {
|
||||
origin.x: 7.5
|
||||
origin.y: 73
|
||||
angle: (clock.hours * 30) + (clock.minutes * 0.5)
|
||||
Behavior on angle {
|
||||
Behavior on angle {
|
||||
SpringAnimation {
|
||||
spring: 2
|
||||
damping: 0.2
|
||||
@ -82,7 +82,7 @@ Item {
|
||||
origin.x: 6.5
|
||||
origin.y: 83
|
||||
angle: clock.minutes * 6
|
||||
Behavior on angle {
|
||||
Behavior on angle {
|
||||
SpringAnimation {
|
||||
spring: 2
|
||||
damping: 0.2
|
||||
@ -101,7 +101,7 @@ Item {
|
||||
origin.x: 2.5
|
||||
origin.y: 80
|
||||
angle: clock.seconds * 6
|
||||
Behavior on angle {
|
||||
Behavior on angle {
|
||||
SpringAnimation {
|
||||
spring: 2
|
||||
damping: 0.2
|
||||
|
@ -62,7 +62,7 @@ Item {
|
||||
source: "arrow.png"
|
||||
rotation: -90
|
||||
opacity: clockview.atXBeginning ? 0 : 0.5
|
||||
Behavior on opacity {
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: 500
|
||||
}
|
||||
@ -76,7 +76,7 @@ Item {
|
||||
source: "arrow.png"
|
||||
rotation: 90
|
||||
opacity: clockview.atXEnd ? 0 : 0.5
|
||||
Behavior on opacity {
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: 500
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ Item {
|
||||
// to the opacity of the rectangle
|
||||
opacity: sizeSlider.value
|
||||
// Animate the opacity change to make it smooth
|
||||
Behavior on opacity {
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: 100
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ Item {
|
||||
source: image
|
||||
opacity: status === Image.Ready ? 1 : 0
|
||||
|
||||
Behavior on opacity {
|
||||
Behavior on opacity {
|
||||
PropertyAnimation {
|
||||
duration: 250
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ Item {
|
||||
font.pointSize: 18
|
||||
}
|
||||
|
||||
PropertyAnimation on opacity {
|
||||
PropertyAnimation on opacity {
|
||||
id: animFadeIn
|
||||
|
||||
from: 0
|
||||
@ -211,7 +211,7 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation on opacity {
|
||||
PropertyAnimation on opacity {
|
||||
id: animFadeInTxtFooter
|
||||
|
||||
from: 0
|
||||
|
@ -37,56 +37,60 @@ ScreenPlay::SDKConnection::SDKConnection(QLocalSocket* socket, QObject* parent)
|
||||
*/
|
||||
void ScreenPlay::SDKConnection::readyRead()
|
||||
{
|
||||
|
||||
auto msg = QString(m_socket->readAll());
|
||||
|
||||
if (msg == "ping") {
|
||||
emit pingAliveReceived();
|
||||
return;
|
||||
}
|
||||
|
||||
// The first message allways contains the appID
|
||||
if (msg.startsWith("appID=")) {
|
||||
QStringList args = msg.split(",");
|
||||
// Only use the first 32 chars for the appID
|
||||
QString appID = args.at(0);
|
||||
m_appID = appID.remove("appID=");
|
||||
|
||||
bool typeFound = false;
|
||||
for (const QString& type : ScreenPlayUtil::getAvailableTypes()) {
|
||||
if (msg.contains(type, Qt::CaseInsensitive)) {
|
||||
m_type = type;
|
||||
typeFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!typeFound) {
|
||||
qCritical() << "Wallpaper type not found. Expected: " << ScreenPlayUtil::getAvailableTypes() << " got: " << msg;
|
||||
}
|
||||
|
||||
qInfo() << "[2/4] SDKConnection parsed with type: " << m_type << " connected with AppID:" << m_appID;
|
||||
|
||||
emit appConnected(this);
|
||||
|
||||
} else if (msg.startsWith("command=")) {
|
||||
msg.remove("command=");
|
||||
if (msg == "requestRaise") {
|
||||
qInfo() << "Another ScreenPlay instance reuqested this one to raise!";
|
||||
emit requestRaise();
|
||||
}
|
||||
} else if (msg.startsWith("{") && msg.endsWith("}")) {
|
||||
QJsonObject obj;
|
||||
QJsonParseError err {};
|
||||
QJsonDocument doc = QJsonDocument::fromJson(QByteArray { msg.toUtf8() }, &err);
|
||||
|
||||
if (err.error != QJsonParseError::NoError)
|
||||
// Split all messages by semicolon. This fixes double messages like pingping
|
||||
// when we get messages to fast
|
||||
const QString read = QString(m_socket->readAll());
|
||||
const QStringList messages = read.split(";");
|
||||
for (const QString& msg : messages) {
|
||||
if (msg == "ping") {
|
||||
emit pingAliveReceived();
|
||||
return;
|
||||
}
|
||||
|
||||
emit jsonMessageReceived(doc.object());
|
||||
// The first message allways contains the appID
|
||||
if (msg.startsWith("appID=")) {
|
||||
QStringList args = msg.split(",");
|
||||
// Only use the first 32 chars for the appID
|
||||
QString appID = args.at(0);
|
||||
m_appID = appID.remove("appID=");
|
||||
|
||||
} else {
|
||||
qInfo() << "### Message from: " << m_appID << ": " << msg;
|
||||
bool typeFound = false;
|
||||
for (const QString& type : ScreenPlayUtil::getAvailableTypes()) {
|
||||
if (msg.contains(type, Qt::CaseInsensitive)) {
|
||||
m_type = type;
|
||||
typeFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!typeFound) {
|
||||
qCritical() << "Wallpaper type not found. Expected: " << ScreenPlayUtil::getAvailableTypes() << " got: " << msg;
|
||||
}
|
||||
|
||||
qInfo() << "[2/4] SDKConnection parsed with type: " << m_type << " connected with AppID:" << m_appID;
|
||||
|
||||
emit appConnected(this);
|
||||
|
||||
} else if (msg.startsWith("command=")) {
|
||||
QString command = msg;
|
||||
command.remove("command=");
|
||||
if (msg == "requestRaise") {
|
||||
qInfo() << "Another ScreenPlay instance reuqested this one to raise!";
|
||||
emit requestRaise();
|
||||
}
|
||||
} else if (msg.startsWith("{") && msg.endsWith("}")) {
|
||||
QJsonObject obj;
|
||||
QJsonParseError err {};
|
||||
QJsonDocument doc = QJsonDocument::fromJson(QByteArray { msg.toUtf8() }, &err);
|
||||
|
||||
if (err.error != QJsonParseError::NoError)
|
||||
return;
|
||||
|
||||
emit jsonMessageReceived(doc.object());
|
||||
|
||||
} else {
|
||||
qInfo() << "### Message from: " << m_appID << ": " << msg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -622,6 +622,10 @@ ScreenPlay will only quit if no Wallpaper are running.</source>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -815,14 +819,6 @@ ScreenPlay will only quit if no Wallpaper are running.</source>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -875,22 +871,6 @@ ScreenPlay will only quit if no Wallpaper are running.</source>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</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>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -971,6 +951,30 @@ ScreenPlay will only quit if no Wallpaper are running.</source>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1037,6 +1041,37 @@ ScreenPlay will only quit if no Wallpaper are running.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -624,6 +624,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -817,14 +821,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay startet mit Windows und richtet deinen Desktop jedes Mal für dich ein.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Hohe Priorität für Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>Diese Option gewährt ScreenPlay eine höhere Autostartpriorität als anderen Anwendungen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>Sende anonyme Absturzberichte und Statistiken</translation>
|
||||
@ -877,22 +873,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Hell</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Leistung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>Pausiere Wallpaper Video Rendering wenn eine andere App im Vordergrund ist</translation>
|
||||
</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>
|
||||
<translation>Wir deaktivieren das Video Rendering (Aber nicht die Sounds) für die beste Leistung. Wenn du damit probleme haben solltest kannst dieses Verhalten hier ausschalten. Ein Neustart wird aber von Nöten sein!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Standard-Füllmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>Lege diese Eigenschaft fest, um zu definieren, wie das Video skaliert wird, damit es in den Zielbereich passt.</translation>
|
||||
@ -973,6 +953,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>Datenschutz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1039,6 +1043,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation>Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished">ScreenPlay will start with Windows and will setup your Desktop every time for you.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished">High priority Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished">This options grants ScreenPlay a higher autostart priority than other apps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished">Light</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished">Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished">Pause wallpaper video rendering while another app is in the foreground</translation>
|
||||
</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>
|
||||
<translation type="unfinished">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!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished">Default Fill Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished">Set this property to define how the video is scaled to fit the target area.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation>Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay démarrera avec Windows et configurera votre bureau à chaque fois pour vous.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Démarrage automatique haute priorité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>Cette option accorde à ScreenPlay une priorité de démarrage automatique plus élevée que les autres applications.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>Envoyer des rapports d'incidents et des statistiques anonymes</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Clair</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>Mettre en pause le rendu vidéo du fond d'écran quand une autre application est en premier plan</translation>
|
||||
</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>
|
||||
<translation>Nous désactivons le rendu vidéo (pas l'audio) pour obtenir les meilleures performances. Si vous rencontrez des problèmes, vous pouvez désactiver ce comportement ici. Redémarrage du fond d'écran requis !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Mode de remplissage par défaut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>Définissez cette propriété afin de déterminer la façon dont la vidéo est mise à l'échelle pour s'adapter à la zone cible.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>Confidentialité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation>Vous trouverez ci-dessous des outils pour créer des fonds d'écran, au-delà des outils que ScreenPlay met à votre disposition !</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay si avvierà con Windows e configurerà il desktop ogni volta per te.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Avvio automatico ad alta priorità</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>Questa opzione garantisce a ScreenPlay una priorità di avvio automatico più alta di altre applicazioni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>Invia report e statistiche anonime sui crash</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Chiaro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Prestazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
</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>
|
||||
<translation>Disattiviamo il rendering video (non l'audio!) per migliori prestazioni. Se hai problemi puoi disabilitare questa opzione qui. È necessario riavviare lo sfondo!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Modalità riempimento predefinita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished">ScreenPlay will start with Windows and will setup your Desktop every time for you.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished">High priority Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished">This options grants ScreenPlay a higher autostart priority than other apps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished">Light</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished">Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished">Pause wallpaper video rendering while another app is in the foreground</translation>
|
||||
</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>
|
||||
<translation type="unfinished">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!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished">Default Fill Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished">Set this property to define how the video is scaled to fit the target area.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished">ScreenPlay will start with Windows and will setup your Desktop every time for you.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished">High priority Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished">This options grants ScreenPlay a higher autostart priority than other apps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished">Light</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished">Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished">Pause wallpaper video rendering while another app is in the foreground</translation>
|
||||
</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>
|
||||
<translation type="unfinished">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!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished">Default Fill Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished">Set this property to define how the video is scaled to fit the target area.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay zostanie uruchomione przy starcie systemu Windows i ustawi dla Ciebie tapetę za każdym razem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Wysoki priorytet autostartu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>Ta opcja nadaje ScreenPlay wyższy priorytet autostartu w porównaniu do innych aplikacji.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>Wysyłaj anonimowe raporty o awariach oraz statystyki</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Jasny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Wydajność</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>Wstrzymaj renderowanie tapety wideo, gdy inna aplikacja jest na pierwszym planie</translation>
|
||||
</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>
|
||||
<translation>Wyłączamy renderowanie wideo (dźwięk zostaje!) dla najlepszej wydajności. W przypadku problemów, możesz wyłączyć tę funkcję tutaj. Wymaga ponownego uruchomienia tapety!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Domyślny tryb wypełniania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>To ustawienie określa, w jaki sposób film jest skalowany, aby dopasować go do obszaru docelowego.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>Prywatność</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation>Poniżej znajdziesz dodatkowe narzędzia do tworzenia tapety poza tymi, które oferuje dla Ciebie ScreenPlay!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished">ScreenPlay will start with Windows and will setup your Desktop every time for you.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished">High priority Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished">This options grants ScreenPlay a higher autostart priority than other apps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished">Light</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished">Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished">Pause wallpaper video rendering while another app is in the foreground</translation>
|
||||
</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>
|
||||
<translation type="unfinished">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!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished">Default Fill Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished">Set this property to define how the video is scaled to fit the target area.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation type="unfinished">ScreenPlay will start with Windows and will setup your Desktop every time for you.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation type="unfinished">High priority Autostart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation type="unfinished">This options grants ScreenPlay a higher autostart priority than other apps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation type="unfinished">Light</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation type="unfinished">Performance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation type="unfinished">Pause wallpaper video rendering while another app is in the foreground</translation>
|
||||
</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>
|
||||
<translation type="unfinished">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!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation type="unfinished">Default Fill Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation type="unfinished">Set this property to define how the video is scaled to fit the target area.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay, Windows ile başlayacak ve her seferinde sizin için Masaüstünüzü kuracaktır.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Yüksek öncelikli Otomatik başlatma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation type="unfinished">Send anonymous crash reports and statistics</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Aydınlık</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Performans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>Başka bir uygulama ön plandayken duvar kağıdı video oluşturmayı duraklatın</translation>
|
||||
</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>
|
||||
<translation>En iyi performans için video oluşturmayı (sesi değil!) devre dışı bırakıyoruz. Sorun yaşıyorsanız, bu davranışı buradan devre dışı bırakabilirsiniz. Duvar kağıdının yeniden başlatılması gerekiyor!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Varsayılan Doldurma Modu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>Videonun hedef alana sığacak şekilde nasıl ölçeklendirileceğini tanımlamak için bu özelliği ayarlayın.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation type="unfinished">Privacy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay sẽ chạy cùng với Windows và sẽ thiết lập màn hình nền cho bạn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>Tự động mở ưu tiên hơn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>Tùy chọn này cho phép ScreenPlay quyền tự động chạy ưu tiên hơn những ứng dụng khác.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>Gửi báo cáo sự cố và só liệu thống kê ẩn danh</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>Sáng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>Hiệu suất</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>Tạm dừng ảnh nền video khi có một ứng dụng khác đang mở phía trước</translation>
|
||||
</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>
|
||||
<translation>Chúng tôi tắt hiển thị video (không phải âm thanh!) Để có hiệu suất tốt nhất. Nếu bạn gặp sự cố, bạn có thể vô hiệu hóa hành vi này tại đây. Yêu cầu khởi động lại hình nền!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>Cách lấp đầy mặc định</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>Đặt thuộc tính này để xác định cách chia tỷ lệ video để phù hợp với khu vực mục tiêu.</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>Quyền riêng tư</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -625,6 +625,10 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Widgets</source>
|
||||
<translation type="unfinished">Widgets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for Wallpaper & Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstalledWelcomeScreen</name>
|
||||
@ -818,14 +822,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||
<translation>ScreenPlay将在操作系统启动时启动,并会设置您的桌面。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High priority Autostart</source>
|
||||
<translation>高优先级自启动</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This options grants ScreenPlay a higher autostart priority than other apps.</source>
|
||||
<translation>这个选项赋予ScreenPlay比其他应用程序更高的自启动优先级。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send anonymous crash reports and statistics</source>
|
||||
<translation>发送匿名崩溃报告和统计数据</translation>
|
||||
@ -878,22 +874,6 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Light</source>
|
||||
<translation>亮</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Performance</source>
|
||||
<translation>性能</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground</source>
|
||||
<translation>当其他应用程序在前台时,暂停壁纸视频渲染</translation>
|
||||
</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>
|
||||
<translation>我们禁用视频渲染(不是音频)以获得最佳性能。如果您有问题,可以在此处禁用此行为。 需要重启壁纸!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Fill Mode</source>
|
||||
<translation>默认填充模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set this property to define how the video is scaled to fit the target area.</source>
|
||||
<translation>设置此属性可定义视频的缩放方式以适应目标区域。</translation>
|
||||
@ -974,6 +954,30 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<source>Privacy</source>
|
||||
<translation>隐私</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show default installed content</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ScreenPlay will show build in content.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallpaper and Widgets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause wallpaper video rendering while another app is in the foreground.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Limitations: This setting is Windows only, currently only works if you have exactly one monitor connected, and is limited to wallpapers with no audio. Wallpaper restart is required, when changing this setting!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Wallpaper Fill Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsExpander</name>
|
||||
@ -1040,6 +1044,37 @@ ScreenPlay will only quit if no Wallpaper are running.</translation>
|
||||
<translation>下面是一些非ScreenPlay提供的壁纸创建工具</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIcon</name>
|
||||
<message>
|
||||
<source>ScreenPlay - Double click to change you settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unmute all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Play all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit ScreenPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebsiteWallpaper</name>
|
||||
<message>
|
||||
|
@ -63,7 +63,7 @@ void ScreenPlaySDK::connected()
|
||||
return;
|
||||
}
|
||||
|
||||
QByteArray welcomeMessage = QString("appID=" + m_appID + "," + m_type).toUtf8();
|
||||
QByteArray welcomeMessage = QString("appID=" + m_appID + "," + m_type + ";").toUtf8();
|
||||
m_socket.write(welcomeMessage);
|
||||
if (!m_socket.waitForBytesWritten()) {
|
||||
disconnected();
|
||||
@ -164,7 +164,7 @@ void ScreenPlaySDK::redirectMessage(QByteArray& msg)
|
||||
|
||||
void ScreenPlaySDK::pingAlive()
|
||||
{
|
||||
m_socket.write("ping");
|
||||
m_socket.write("ping;");
|
||||
if (!m_socket.waitForBytesWritten(500)) {
|
||||
qInfo() << "Cannot ping to main application. Closing!";
|
||||
emit sdkDisconnected();
|
||||
|
@ -7,7 +7,7 @@ if ( NOT MSVC )
|
||||
option( ${PROJECT_NAME_UPPERCASE}_WARN_EVERYTHING "Turn on all warnings (not recommended - used for lib development)" OFF )
|
||||
endif()
|
||||
|
||||
option( ${PROJECT_NAME_UPPERCASE}_WARNING_AS_ERROR "Treat warnings as errors" ON )
|
||||
option( ${PROJECT_NAME_UPPERCASE}_WARNING_AS_ERROR "Treat warnings as errors" OFF )
|
||||
|
||||
# Add warnings based on compiler
|
||||
# Set some helper variables for readability
|
||||
|
@ -4,10 +4,17 @@ target_sources(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
ScreenPlayGodotWallpaper.h
|
||||
ScreenPlayGodotWallpaper.cpp
|
||||
WindowsPipe.h
|
||||
WindowsPipe.cpp
|
||||
RegisterExtension.cpp
|
||||
)
|
||||
|
||||
find_package(Catch2 CONFIG REQUIRED)
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
"src"
|
||||
)
|
||||
|
||||
# Test app. Start WindowsPipeTestServer.py!
|
||||
add_executable(WindowsPipeTest WindowsPipeTest.cpp WindowsPipe.h WindowsPipe.cpp)
|
||||
target_link_libraries(WindowsPipeTest PRIVATE Catch2::Catch2 Catch2::Catch2WithMain)
|
||||
target_include_directories(WindowsPipeTest PRIVATE "src")
|
@ -10,8 +10,14 @@
|
||||
|
||||
//// ScreenPlayWallpaper
|
||||
using namespace godot;
|
||||
int ScreenPlayGodotWallpaper::sInstanceCount = 0;
|
||||
int ScreenPlayGodotWallpaper::sLastID = 0;
|
||||
|
||||
ScreenPlayGodotWallpaper::ScreenPlayGodotWallpaper()
|
||||
{
|
||||
}
|
||||
|
||||
ScreenPlayGodotWallpaper::~ScreenPlayGodotWallpaper()
|
||||
{
|
||||
}
|
||||
|
||||
void ScreenPlayGodotWallpaper::_bind_methods()
|
||||
{
|
||||
@ -22,7 +28,7 @@ void ScreenPlayGodotWallpaper::_bind_methods()
|
||||
ClassDB::bind_method(godot::D_METHOD("get_screenPlayConnected"), &ScreenPlayGodotWallpaper::get_screenPlayConnected);
|
||||
ClassDB::bind_method(godot::D_METHOD("get_pipeConnected"), &ScreenPlayGodotWallpaper::get_pipeConnected);
|
||||
ClassDB::bind_method(godot::D_METHOD("read_from_pipe"), &ScreenPlayGodotWallpaper::read_from_pipe);
|
||||
ClassDB::bind_method(godot::D_METHOD("ping_alive_screenplay"), &ScreenPlayGodotWallpaper::ping_alive_screenplay);
|
||||
ClassDB::bind_method(godot::D_METHOD("send_ping"), &ScreenPlayGodotWallpaper::send_ping);
|
||||
ClassDB::bind_method(godot::D_METHOD("exit"), &ScreenPlayGodotWallpaper::exit);
|
||||
|
||||
ClassDB::bind_method(godot::D_METHOD("get_activeScreensList"), &ScreenPlayGodotWallpaper::get_activeScreensList);
|
||||
@ -49,24 +55,6 @@ void ScreenPlayGodotWallpaper::hideFromTaskbar(HWND hwnd)
|
||||
SetWindowLong(hwnd, GWL_EXSTYLE, lExStyle);
|
||||
}
|
||||
|
||||
ScreenPlayGodotWallpaper::ScreenPlayGodotWallpaper()
|
||||
{
|
||||
mID = ++sLastID;
|
||||
sInstanceCount++;
|
||||
|
||||
UtilityFunctions::print(
|
||||
"ScreenPlayWallpaper ", itos(mID),
|
||||
" created, current instance count: ", itos(sInstanceCount));
|
||||
}
|
||||
|
||||
ScreenPlayGodotWallpaper::~ScreenPlayGodotWallpaper()
|
||||
{
|
||||
sInstanceCount--;
|
||||
UtilityFunctions::print(
|
||||
"ScreenPlayWallpaper ", itos(mID),
|
||||
" destroyed, current instance count: ", itos(sInstanceCount));
|
||||
}
|
||||
|
||||
bool ScreenPlayGodotWallpaper::configureWindowGeometry()
|
||||
{
|
||||
if (!m_hook->searchWorkerWindowToParentTo()) {
|
||||
@ -141,66 +129,39 @@ bool ScreenPlayGodotWallpaper::init(int activeScreen)
|
||||
|
||||
bool ScreenPlayGodotWallpaper::connect_to_named_pipe()
|
||||
{
|
||||
m_pipeConnected = false;
|
||||
String pipeName = "ScreenPlay";
|
||||
String fullPipeName = "\\\\.\\pipe\\" + pipeName;
|
||||
std::wstring wPipeName = std::wstring(fullPipeName.wide_string());
|
||||
|
||||
m_hPipe = CreateFileW(
|
||||
wPipeName.c_str(),
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
0,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
0,
|
||||
NULL);
|
||||
|
||||
if (m_hPipe == INVALID_HANDLE_VALUE) {
|
||||
m_pipeConnected = false;
|
||||
UtilityFunctions::print("CreateFile failed, error code: " + String::num_int64(GetLastError()));
|
||||
return false;
|
||||
}
|
||||
|
||||
m_pipeConnected = true;
|
||||
return true;
|
||||
m_windowsPipe.setPipeName(L"ScreenPlay");
|
||||
m_pipeConnected = m_windowsPipe.start();
|
||||
return m_pipeConnected;
|
||||
}
|
||||
|
||||
godot::String ScreenPlayGodotWallpaper::read_from_pipe()
|
||||
{
|
||||
char buffer[128];
|
||||
DWORD bytesRead;
|
||||
String result;
|
||||
|
||||
if (ReadFile(m_hPipe, buffer, sizeof(buffer) - 1, &bytesRead, NULL)) {
|
||||
buffer[bytesRead] = '\0';
|
||||
result = String(buffer);
|
||||
} else {
|
||||
UtilityFunctions::print("ReadFile from pipe failed, error code: " + String::num_int64(GetLastError()));
|
||||
std::string outMsg;
|
||||
if (!m_windowsPipe.readFromPipe(outMsg)) {
|
||||
UtilityFunctions::print("Unable to read from pipe");
|
||||
return "";
|
||||
}
|
||||
|
||||
return result;
|
||||
return godot::String(outMsg.c_str());
|
||||
}
|
||||
|
||||
bool ScreenPlayGodotWallpaper::ping_alive_screenplay()
|
||||
bool ScreenPlayGodotWallpaper::writeToPipe(const godot::String& message)
|
||||
{
|
||||
if (m_hPipe == INVALID_HANDLE_VALUE) {
|
||||
UtilityFunctions::print("INVALID_HANDLE_VALUE");
|
||||
return false;
|
||||
}
|
||||
std::string stdMessage = message.utf8().get_data();
|
||||
|
||||
return m_windowsPipe.writeToPipe(stdMessage);
|
||||
}
|
||||
|
||||
bool ScreenPlayGodotWallpaper::send_ping()
|
||||
{
|
||||
if (!m_screenPlayConnected || !m_pipeConnected) {
|
||||
UtilityFunctions::print("ScreenPlay hasn't connected to us yet!");
|
||||
return false;
|
||||
}
|
||||
|
||||
const std::string message = "ping";
|
||||
DWORD bytesWritten;
|
||||
WriteFile(m_hPipe, message.c_str(), static_cast<DWORD>(message.size()), &bytesWritten, NULL);
|
||||
|
||||
if (bytesWritten != message.size()) {
|
||||
UtilityFunctions::print("Unable to send alive ping");
|
||||
const godot::String msg = "ping;";
|
||||
if (!writeToPipe(msg)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -214,19 +175,12 @@ bool ScreenPlayGodotWallpaper::send_welcome()
|
||||
|
||||
// Construct welcome message and write to the named pipe
|
||||
// See void ScreenPlay::SDKConnection::readyRead()
|
||||
godot::String welcomeMessage = godot::String("appID=") + m_appID + ",godotWallpaper";
|
||||
|
||||
std::string stdMessage = welcomeMessage.utf8().get_data();
|
||||
DWORD bytesWritten;
|
||||
WriteFile(m_hPipe, stdMessage.c_str(), static_cast<DWORD>(stdMessage.size()), &bytesWritten, NULL);
|
||||
|
||||
if (bytesWritten != stdMessage.size()) {
|
||||
UtilityFunctions::print("Unable to send welcome message:", welcomeMessage);
|
||||
godot::String msg = godot::String("appID=") + m_appID + ",godotWallpaper;";
|
||||
if (!writeToPipe(msg)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_screenPlayConnected = true;
|
||||
// m_pingAliveTimer->start();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -273,7 +227,6 @@ bool ScreenPlayGodotWallpaper::get_pipeConnected() const
|
||||
}
|
||||
bool ScreenPlayGodotWallpaper::exit()
|
||||
{
|
||||
|
||||
// Somehow this gets called at editor startup
|
||||
// so just return if not initialized
|
||||
if (m_hook) {
|
||||
@ -282,12 +235,8 @@ bool ScreenPlayGodotWallpaper::exit()
|
||||
|
||||
// Force refresh so that we display the regular
|
||||
// desktop wallpaper again
|
||||
ShowWindow(m_hook->windowHandleWorker, SW_HIDE);
|
||||
ShowWindow(m_hook->windowHandleWorker, SW_SHOW);
|
||||
}
|
||||
// Destructor
|
||||
if (m_hPipe != INVALID_HANDLE_VALUE) {
|
||||
CloseHandle(m_hPipe);
|
||||
ShowWindow(m_hook->windowHandleWorker, SW_HIDE);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
#include "ScreenPlayGodotWallpaper.h"
|
||||
#include "windowshook.h"
|
||||
#include "WindowsPipe.h"
|
||||
|
||||
class ScreenPlayGodotWallpaper : public godot::Node {
|
||||
GDCLASS(ScreenPlayGodotWallpaper, Node)
|
||||
@ -26,6 +27,7 @@ public:
|
||||
bool init(int activeScreen);
|
||||
bool connect_to_named_pipe();
|
||||
bool send_welcome();
|
||||
bool writeToPipe(const godot::String& message);
|
||||
godot::String read_from_pipe();
|
||||
void messageReceived(const std::string& key, const std::string& value);
|
||||
|
||||
@ -41,7 +43,7 @@ public:
|
||||
void set_checkWallpaperVisible(bool visible);
|
||||
bool get_screenPlayConnected() const;
|
||||
bool get_pipeConnected() const;
|
||||
bool ping_alive_screenplay();
|
||||
bool send_ping();
|
||||
bool exit();
|
||||
|
||||
protected:
|
||||
@ -52,17 +54,17 @@ private:
|
||||
void hideFromTaskbar(HWND hwnd);
|
||||
|
||||
private:
|
||||
static int sInstanceCount;
|
||||
static int sLastID;
|
||||
|
||||
int mID;
|
||||
OVERLAPPED overlappedRead = {};
|
||||
OVERLAPPED overlappedWrite = {};
|
||||
|
||||
godot::String m_appID = "";
|
||||
godot::String m_projectPath = "";
|
||||
std::unique_ptr<WindowsHook> m_hook;
|
||||
HANDLE m_hPipe;
|
||||
double m_timesinceLastRead = 0.0;
|
||||
bool m_pipeConnected = false;
|
||||
bool m_screenPlayConnected = false;
|
||||
WindowsPipe m_windowsPipe;
|
||||
|
||||
godot::PackedInt64Array m_activeScreensList;
|
||||
float m_volume = 0.0;
|
||||
|
77
ScreenPlayWallpaper/Godot/GDExtention/src/WindowsPipe.cpp
Normal file
77
ScreenPlayWallpaper/Godot/GDExtention/src/WindowsPipe.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
#include "WindowsPipe.h"
|
||||
|
||||
bool WindowsPipe::connectToPipe() {
|
||||
if (m_pipeName.empty()) {
|
||||
std::cerr << "Pipe name not set." << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
std::wstring fullPipeName = L"\\\\.\\pipe\\" + m_pipeName;
|
||||
|
||||
m_hPipe = CreateFileW(
|
||||
fullPipeName.c_str(),
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
0,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_FLAG_OVERLAPPED,
|
||||
NULL);
|
||||
|
||||
if (m_hPipe == INVALID_HANDLE_VALUE) {
|
||||
std::cerr << "Failed to connect to pipe. Error code: " << GetLastError() << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WindowsPipe::readFromPipe(std::string& outMessage) {
|
||||
char buffer[128];
|
||||
DWORD bytesRead;
|
||||
|
||||
if (!ReadFile(m_hPipe, buffer, sizeof(buffer) - 1, &bytesRead, &m_overlapped)) {
|
||||
DWORD error = GetLastError();
|
||||
if (error == ERROR_IO_PENDING) {
|
||||
// Check if the overlapped read operation is complete without waiting
|
||||
if (!GetOverlappedResult(m_hPipe, &m_overlapped, &bytesRead, FALSE)) {
|
||||
if (GetLastError() == ERROR_IO_INCOMPLETE) {
|
||||
// The I/O operation is still pending (no data available yet)
|
||||
return false;
|
||||
}
|
||||
std::cerr << "Overlapped ReadFile failed. Error code: " << GetLastError() << std::endl;
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
std::cerr << "ReadFile from pipe failed. Error code: " << error << std::endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
buffer[bytesRead] = '\0';
|
||||
outMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool WindowsPipe::writeToPipe(const std::string& message) {
|
||||
DWORD bytesWritten;
|
||||
|
||||
if (!WriteFile(m_hPipe, message.c_str(), static_cast<DWORD>(message.size()), &bytesWritten, &m_overlapped)) {
|
||||
if (GetLastError() != ERROR_IO_PENDING) {
|
||||
std::cerr << "WriteFile to pipe failed. Error code: " << GetLastError() << std::endl;
|
||||
return false;
|
||||
}
|
||||
WaitForSingleObject(m_overlapped.hEvent, INFINITE);
|
||||
if (!GetOverlappedResult(m_hPipe, &m_overlapped, &bytesWritten, FALSE)) {
|
||||
std::cerr << "Overlapped WriteFile failed. Error code: " << GetLastError() << std::endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (static_cast<size_t>(bytesWritten) != message.size()) {
|
||||
std::cerr << "Bytes written mismatch." << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
42
ScreenPlayWallpaper/Godot/GDExtention/src/WindowsPipe.h
Normal file
42
ScreenPlayWallpaper/Godot/GDExtention/src/WindowsPipe.h
Normal file
@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
|
||||
class WindowsPipe {
|
||||
public:
|
||||
WindowsPipe()
|
||||
: m_hPipe(INVALID_HANDLE_VALUE)
|
||||
{
|
||||
memset(&m_overlapped, 0, sizeof(m_overlapped));
|
||||
m_overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); // Manual reset event
|
||||
}
|
||||
|
||||
void setPipeName(const std::wstring& pipeName) {
|
||||
m_pipeName = pipeName;
|
||||
}
|
||||
|
||||
bool start() {
|
||||
return connectToPipe();
|
||||
}
|
||||
|
||||
bool readFromPipe(std::string& outMessage);
|
||||
bool writeToPipe(const std::string& message);
|
||||
|
||||
~WindowsPipe() {
|
||||
if (m_hPipe != INVALID_HANDLE_VALUE) {
|
||||
CloseHandle(m_hPipe);
|
||||
}
|
||||
CloseHandle(m_overlapped.hEvent);
|
||||
}
|
||||
|
||||
private:
|
||||
bool connectToPipe();
|
||||
|
||||
private:
|
||||
HANDLE m_hPipe;
|
||||
OVERLAPPED m_overlapped;
|
||||
std::wstring m_pipeName;
|
||||
|
||||
};
|
@ -0,0 +1,27 @@
|
||||
// SPDX-License-Identifier: LicenseRef-EliasSteurerTachiom OR AGPL-3.0-only
|
||||
|
||||
#include "WindowsPipe.h"
|
||||
|
||||
#define CATCH_CONFIG_MAIN
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
TEST_CASE("Test WindowsPipe with Python echo server", "[WindowsPipe]")
|
||||
{
|
||||
WindowsPipe client;
|
||||
client.setPipeName(L"ScreenPlay");
|
||||
REQUIRE(client.start());
|
||||
const int count = 100;
|
||||
|
||||
SECTION("Ping server and expect ping back")
|
||||
{
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
std::string message = "ping;";
|
||||
REQUIRE(client.writeToPipe(message));
|
||||
|
||||
std::string response;
|
||||
REQUIRE(client.readFromPipe(response));
|
||||
REQUIRE(response == "pong;");
|
||||
std::cout << response <<"ok\n";
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
|
||||
# python -m pip install pywin32
|
||||
import win32pipe
|
||||
import win32file
|
||||
import pywintypes
|
||||
import time
|
||||
|
||||
PIPE_NAME = 'ScreenPlay'
|
||||
|
||||
def create_pipe():
|
||||
return win32pipe.CreateNamedPipe(
|
||||
r'\\.\pipe\{}'.format(PIPE_NAME),
|
||||
win32pipe.PIPE_ACCESS_DUPLEX,
|
||||
win32pipe.PIPE_TYPE_MESSAGE | win32pipe.PIPE_READMODE_MESSAGE | win32pipe.PIPE_WAIT,
|
||||
1, # max instances
|
||||
65536, # out buffer size
|
||||
65536, # in buffer size
|
||||
0, # default timeout
|
||||
None # security attributes
|
||||
)
|
||||
|
||||
def main():
|
||||
print("Starting Python Pipe Server...")
|
||||
pipe_handle = create_pipe()
|
||||
print("Waiting for a client to connect...")
|
||||
win32pipe.ConnectNamedPipe(pipe_handle, None)
|
||||
|
||||
while True:
|
||||
try:
|
||||
# Reading from the client
|
||||
result, data = win32file.ReadFile(pipe_handle, 4096)
|
||||
if result == 0: # 0 means the read operation completed successfully
|
||||
print("Received:", data.decode())
|
||||
|
||||
# Sending a response back to the client
|
||||
response = "pong;"
|
||||
win32file.WriteFile(pipe_handle, response.encode())
|
||||
|
||||
except pywintypes.error as e:
|
||||
if e.args[0] == 109: # ERROR_BROKEN_PIPE
|
||||
print("Client disconnected.")
|
||||
# Disconnect and close the current pipe handle
|
||||
win32pipe.DisconnectNamedPipe(pipe_handle)
|
||||
win32file.CloseHandle(pipe_handle)
|
||||
|
||||
# Create a new pipe instance for the next client
|
||||
pipe_handle = create_pipe()
|
||||
|
||||
else:
|
||||
print("Error occurred:", e)
|
||||
|
||||
|
||||
#time.sleep(0.01)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -28,7 +28,7 @@ endif()
|
||||
# Generate our project's .gdextension file from the template
|
||||
set(OUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../ScreenPlayGodot/${PROJECT_NAME}/)
|
||||
set(GD_EXTENSION_FILE ${PROJECT_NAME}.gdextension)
|
||||
configure_file(${GD_EXTENSION_FILE_INPUT} ${OUT_PATH}/${GD_EXTENSION_FILE})
|
||||
#configure_file(${GD_EXTENSION_FILE_INPUT} ${OUT_PATH}/${GD_EXTENSION_FILE})
|
||||
|
||||
unset(ALLOWED_BUILDS)
|
||||
unset(BUILD_TYPE)
|
||||
|
@ -5,9 +5,9 @@ compatibility_minimum = 4.1
|
||||
|
||||
[libraries]
|
||||
|
||||
linux.debug.x86_64 = "lib/Linux-x86_64/libScreenPlayGodotWallpaper-d.so"
|
||||
macos.debug = "lib/Darwin-Universal/libScreenPlayGodotWallpaper-d.dylib"
|
||||
windows.debug.x86_64 = "lib/Windows-AMD64/ScreenPlayGodotWallpaper-d.dll"
|
||||
linux.release.x86_64 = "lib/Linux-x86_64/libScreenPlayGodotWallpaper.so"
|
||||
macos.release = "lib/Darwin-universal/libScreenPlayGodotWallpaper.dylib"
|
||||
windows.release.x86_64 = "lib/Windows-AMD64/ScreenPlayGodotWallpaper.dll"
|
||||
macos.release = "res://ScreenPlayGodotWallpaper/lib/Darwin-universal/libScreenPlayGodotWallpaper.dylib"
|
||||
macos.debug = "res://ScreenPlayGodotWallpaper/lib/Darwin-Universal/libScreenPlayGodotWallpaper-d.dylib"
|
||||
linux.release.x86_64 = "res://ScreenPlayGodotWallpaper/lib/Linux-x86_64/libScreenPlayGodotWallpaper.so"
|
||||
linux.debug.x86_64 = "res://ScreenPlayGodotWallpaper/lib/Linux-x86_64/libScreenPlayGodotWallpaper-d.so"
|
||||
windows.release.x86_64 = "res://ScreenPlayGodotWallpaper/lib/Windows-AMD64/ScreenPlayGodotWallpaper.dll"
|
||||
windows.debug.x86_64 = "res://ScreenPlayGodotWallpaper/lib/Windows-AMD64/ScreenPlayGodotWallpaper-d.dll"
|
@ -8,7 +8,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="./ScreenPlayWallpaperGodot.exe"
|
||||
export_path=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
|
@ -1,24 +1,41 @@
|
||||
extends Node3D
|
||||
|
||||
@onready var screen_play_wallpaper = $ScreenPlayGodotWallpaper
|
||||
@onready var screen_play_wallpaper: ScreenPlayGodotWallpaper = $ScreenPlayGodotWallpaper
|
||||
@onready var ping_alive_timer: Timer = $PingAliveTimer
|
||||
@onready var check_messages_timer: Timer = $CheckMessagesTimer
|
||||
var send_welcome: bool = false
|
||||
|
||||
@onready var alive_timer = $AliveTimer
|
||||
# Pings main ScreenPlay application that
|
||||
# this wallpaper is still active
|
||||
func ping_alive():
|
||||
print("GD: ping_alive")
|
||||
var success = screen_play_wallpaper.send_ping()
|
||||
print("1 ping_alive_screenplay: ", success)
|
||||
if not success:
|
||||
terminate()
|
||||
|
||||
func ping_alive_screenplay():
|
||||
var ping_alive_screenplay = screen_play_wallpaper.ping_alive_screenplay()
|
||||
var msg = screen_play_wallpaper.read_from_pipe()
|
||||
if not msg.isEmpty():
|
||||
print("message", msg)
|
||||
if "quit" in msg:
|
||||
var exit = screen_play_wallpaper.exit()
|
||||
print("exit ", exit)
|
||||
get_tree().quit()
|
||||
return
|
||||
|
||||
#print("ping_alive_screenplay: ", ping_alive_screenplay)
|
||||
func terminate():
|
||||
var exit = screen_play_wallpaper.exit()
|
||||
print("exit ", exit)
|
||||
get_tree().quit()
|
||||
|
||||
# Checks for messages from the main ScreenPlay instance
|
||||
# for example for propery changes or commands like quit
|
||||
func check_messages():
|
||||
print("GD: check_messages")
|
||||
var msg = screen_play_wallpaper.read_from_pipe()
|
||||
if not msg.is_empty():
|
||||
print("message: ", msg)
|
||||
if "quit" in msg:
|
||||
return terminate()
|
||||
|
||||
|
||||
func _ready():
|
||||
alive_timer.timeout.connect(ping_alive_screenplay)
|
||||
ping_alive_timer.wait_time = 0.5
|
||||
ping_alive_timer.timeout.connect(ping_alive)
|
||||
|
||||
check_messages_timer.wait_time = 0.5
|
||||
check_messages_timer.timeout.connect(check_messages)
|
||||
|
||||
if not screen_play_wallpaper:
|
||||
printerr("ERROR INVALID SCREENPLAY OBJECT")
|
||||
@ -41,18 +58,25 @@ func _ready():
|
||||
get_tree().quit()
|
||||
return
|
||||
Engine.set_max_fps(24)
|
||||
|
||||
var ok = screen_play_wallpaper.init(screen_play_wallpaper.get_activeScreensList()[0])
|
||||
|
||||
print("init ", ok)
|
||||
if not screen_play_wallpaper.get_pipeConnected():
|
||||
print("connect to ScreenPlay")
|
||||
var ok_connect_to_named_pipe = screen_play_wallpaper.connect_to_named_pipe()
|
||||
var ok_connect_to_named_pipe = screen_play_wallpaper.connect_to_named_pipe()
|
||||
print("connection: ", ok_connect_to_named_pipe)
|
||||
if not screen_play_wallpaper.get_screenPlayConnected():
|
||||
print("send_welcome")
|
||||
var send_welcome = screen_play_wallpaper.send_welcome()
|
||||
print("send_welcome: ", send_welcome)
|
||||
if send_welcome:
|
||||
alive_timer.start()
|
||||
|
||||
func _process(delta):
|
||||
|
||||
if not send_welcome:
|
||||
if not screen_play_wallpaper.get_screenPlayConnected():
|
||||
print("send_welcome")
|
||||
send_welcome = screen_play_wallpaper.send_welcome()
|
||||
print("send_welcome: ", send_welcome)
|
||||
if send_welcome:
|
||||
check_messages_timer.start()
|
||||
ping_alive_timer.start()
|
||||
|
||||
|
||||
func load_scene(path):
|
||||
|
@ -7,5 +7,8 @@ script = ExtResource("1_ceeuk")
|
||||
|
||||
[node name="ScreenPlayGodotWallpaper" type="ScreenPlayGodotWallpaper" parent="."]
|
||||
|
||||
[node name="AliveTimer" type="Timer" parent="."]
|
||||
[node name="PingAliveTimer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
|
||||
[node name="CheckMessagesTimer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
|
@ -13,6 +13,7 @@ config_version=5
|
||||
config/name="ScreenPlay"
|
||||
run/main_scene="res://main.tscn"
|
||||
config/features=PackedStringArray("4.1", "Mobile")
|
||||
run/flush_stdout_on_print=true
|
||||
boot_splash/bg_color=Color(0.141176, 0.141176, 0.141176, 0)
|
||||
boot_splash/show_image=false
|
||||
boot_splash/fullsize=false
|
||||
@ -29,7 +30,7 @@ window/size/borderless=true
|
||||
|
||||
[editor]
|
||||
|
||||
run/main_run_args="\"0\" \"C:/Code/cpp/ScreenPlay/ScreenPlay/Content/wallpaper_godot_fjord\" \"appID=vin6wuDQclPPJmFdouKukfGUKLrVBDCZ\" \"1\" \"Cover\" \"GodotWallpaper\" \"1\""
|
||||
run/main_run_args="\"0\" \"C:/Code/Cpp/ScreenPlay/ScreenPlay/Content/wallpaper_godot_fjord\" \"appID=test\" \"1\" \"Cover\" \"GodotWallpaper\" \"1\""
|
||||
|
||||
[filesystem]
|
||||
|
||||
|
@ -20,7 +20,7 @@ Rectangle {
|
||||
font.pixelSize: 50
|
||||
}
|
||||
|
||||
OpacityAnimator on opacity {
|
||||
OpacityAnimator on opacity {
|
||||
id: createAnimation
|
||||
from: 0
|
||||
to: 1
|
||||
@ -54,7 +54,7 @@ Rectangle {
|
||||
font.pixelSize: 50
|
||||
}
|
||||
|
||||
OpacityAnimator on opacity {
|
||||
OpacityAnimator on opacity {
|
||||
id: destroyAnimation
|
||||
from: 1
|
||||
to: 0
|
||||
|
@ -512,7 +512,7 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on contentHeight {
|
||||
Behavior on contentHeight {
|
||||
PropertyAnimation {
|
||||
duration: 400
|
||||
property: "contentHeight"
|
||||
|
@ -114,7 +114,8 @@ def main():
|
||||
vcpkg_packages_list = [
|
||||
"curl",
|
||||
"cpp-httplib",
|
||||
"libarchive"
|
||||
"libarchive",
|
||||
"catch2"
|
||||
]
|
||||
if not args.skip_aqt:
|
||||
setup_qt()
|
||||
|
Loading…
Reference in New Issue
Block a user