mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-10-06 09:17:07 +02:00
Merge branch 'master' into qt6-kde
# Conflicts: # ScreenPlay/CMakeLists.txt # ScreenPlay/app.cpp # ScreenPlay/src/screenplaymanager.cpp # Tools/build.py
This commit is contained in:
commit
0f5b310f68
1
.gitignore
vendored
1
.gitignore
vendored
@ -95,3 +95,4 @@ _deps
|
|||||||
/Common/ffmpeg/*
|
/Common/ffmpeg/*
|
||||||
/Docs/html/screenplay.index
|
/Docs/html/screenplay.index
|
||||||
/ContentBuilder/**
|
/ContentBuilder/**
|
||||||
|
/aqtinstall.log
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
project(CMake)
|
project(CMake)
|
||||||
|
|
||||||
set(FILES # cmake-format: sortable
|
set(FILES # cmake-format: sortable
|
||||||
CopyRecursive.cmake
|
CopyRecursive.cmake QtUpdateTranslations.cmake)
|
||||||
QtUpdateTranslations.cmake)
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
${PROJECT_NAME}
|
${PROJECT_NAME}
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
cmake_minimum_required(VERSION 3.16.0)
|
cmake_minimum_required(VERSION 3.16.0)
|
||||||
|
|
||||||
project(ScreenPlay
|
project(
|
||||||
VERSION 0.15.0
|
ScreenPlay
|
||||||
DESCRIPTION "Modern, Cross Plattform, Live Wallpaper, Widgets and AppDrawer!"
|
VERSION 0.15.0
|
||||||
HOMEPAGE_URL "https://screen-play.app/"
|
DESCRIPTION "Modern, Cross Plattform, Live Wallpaper, Widgets and AppDrawer!"
|
||||||
LANGUAGES CXX)
|
HOMEPAGE_URL "https://screen-play.app/"
|
||||||
|
LANGUAGES CXX)
|
||||||
|
|
||||||
# This sets cmake to compile all dlls into the main directory
|
# This sets cmake to compile all dlls into the main directory
|
||||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
option(SCREENPLAY_STEAM "For FOSS distribution so we do not bundle proprietary code." ON)
|
option(SCREENPLAY_STEAM "For FOSS distribution so we do not bundle proprietary code." ON)
|
||||||
option(SCREENPLAY_TESTS "Enables UI tests." OFF)
|
option(SCREENPLAY_TESTS "Enables UI tests." OFF)
|
||||||
option(SCREENPLAY_CREATE_INSTALLER "Indicates whether an installer via the Qt Installer Framework is created." OFF)
|
option(SCREENPLAY_CREATE_INSTALLER "Indicates whether an installer via the Qt Installer Framework is created." OFF)
|
||||||
|
|
||||||
@ -148,8 +149,7 @@ if(${SCREENPLAY_CREATE_INSTALLER})
|
|||||||
DESCRIPTION "This installs ScreenPlay.")
|
DESCRIPTION "This installs ScreenPlay.")
|
||||||
|
|
||||||
cpack_ifw_configure_component(
|
cpack_ifw_configure_component(
|
||||||
ScreenPlayApp
|
ScreenPlayApp FORCED_INSTALLATION
|
||||||
FORCED_INSTALLATION
|
|
||||||
NAME "ScreenPlay"
|
NAME "ScreenPlay"
|
||||||
VERSION ${PROJECT_VERSION} # Version of component
|
VERSION ${PROJECT_VERSION} # Version of component
|
||||||
DESCRIPTION "Welcome to the K3000 installer."
|
DESCRIPTION "Welcome to the K3000 installer."
|
||||||
@ -158,4 +158,3 @@ if(${SCREENPLAY_CREATE_INSTALLER})
|
|||||||
CHECKABLE FALSE)
|
CHECKABLE FALSE)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -71,7 +71,6 @@ set(QML
|
|||||||
qml/Monitors/MonitorsProjectSettingItem.qml
|
qml/Monitors/MonitorsProjectSettingItem.qml
|
||||||
qml/Navigation/Navigation.qml
|
qml/Navigation/Navigation.qml
|
||||||
qml/Navigation/NavigationItem.qml
|
qml/Navigation/NavigationItem.qml
|
||||||
qml/Navigation/NavigationWallpaperConfiguration.qml
|
|
||||||
qml/Monitors/DefaultVideoControls.qml
|
qml/Monitors/DefaultVideoControls.qml
|
||||||
qml/Common/TagSelector.qml
|
qml/Common/TagSelector.qml
|
||||||
qml/Common/Tag.qml
|
qml/Common/Tag.qml
|
||||||
@ -146,6 +145,7 @@ list(
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_it_IT.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_it_IT.ts
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_nl_NL.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_nl_NL.ts
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_de_DE.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_de_DE.ts
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_pl_PL.ts
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_zh_CN.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_zh_CN.ts
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_pt_BR.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_pt_BR.ts
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_es_ES.ts
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/ScreenPlay_es_ES.ts
|
||||||
@ -175,8 +175,6 @@ find_package(
|
|||||||
WebSockets
|
WebSockets
|
||||||
Svg
|
Svg
|
||||||
LinguistTools
|
LinguistTools
|
||||||
WebEngineQuick
|
|
||||||
WebEngineCore
|
|
||||||
Test)
|
Test)
|
||||||
|
|
||||||
qt_add_resources(RESOURCES Resources.qrc)
|
qt_add_resources(RESOURCES Resources.qrc)
|
||||||
@ -184,8 +182,6 @@ qt_add_big_resources(FONTS fonts.qrc)
|
|||||||
|
|
||||||
add_library(ScreenPlayLib ${SOURCES} ${HEADER} ${RESOURCES} ${FONTS})
|
add_library(ScreenPlayLib ${SOURCES} ${HEADER} ${RESOURCES} ${FONTS})
|
||||||
|
|
||||||
target_include_directories(ScreenPlayLib PUBLIC ./ src/ ${LibArchive_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
ScreenPlayLib
|
ScreenPlayLib
|
||||||
PUBLIC ScreenPlaySDK
|
PUBLIC ScreenPlaySDK
|
||||||
@ -199,9 +195,6 @@ target_link_libraries(
|
|||||||
Qt6::Core
|
Qt6::Core
|
||||||
Qt6::WebSockets
|
Qt6::WebSockets
|
||||||
Qt6::Svg
|
Qt6::Svg
|
||||||
Qt6::WebEngineQuick
|
|
||||||
Qt6::WebEngineCore
|
|
||||||
${LibArchive_LIBRARIES}
|
|
||||||
SteamSDKQtEnums)
|
SteamSDKQtEnums)
|
||||||
|
|
||||||
if(${TESTS_ENABLED})
|
if(${TESTS_ENABLED})
|
||||||
|
@ -148,5 +148,11 @@
|
|||||||
<file>translations/ScreenPlay_it_IT.ts</file>
|
<file>translations/ScreenPlay_it_IT.ts</file>
|
||||||
<file>qml/Create/WizardsFiles/HTMLWallpaperMain.html</file>
|
<file>qml/Create/WizardsFiles/HTMLWallpaperMain.html</file>
|
||||||
<file>qml/Create/WizardsFiles/HTMLWidgetMain.html</file>
|
<file>qml/Create/WizardsFiles/HTMLWidgetMain.html</file>
|
||||||
|
<file>assets/icons/icon_minimize.svg</file>
|
||||||
|
<file>assets/icons/icon_video_settings_black_24dp.svg</file>
|
||||||
|
<file>qml/Create/WizardsFiles/QMLWallpaperMain.qml</file>
|
||||||
|
<file>qml/Create/WizardsFiles/QMLWidgetMain.qml</file>
|
||||||
|
<file>translations/ScreenPlay_pl_PL.qm</file>
|
||||||
|
<file>translations/ScreenPlay_pl_PL.ts</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
@ -210,14 +210,12 @@ void App::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
qmlRegisterSingletonInstance("ScreenPlay", 1, 0, "ScreenPlay", this);
|
qmlRegisterSingletonInstance("ScreenPlay", 1, 0, "ScreenPlay", this);
|
||||||
|
QGuiApplication::instance()->addLibraryPath(QGuiApplication::instance()->applicationDirPath());
|
||||||
|
|
||||||
#ifdef Q_OS_MACOS
|
|
||||||
// Needed for macos .app files
|
|
||||||
m_mainWindowEngine->addPluginPath(QGuiApplication::instance()->applicationDirPath());
|
|
||||||
#endif
|
|
||||||
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
||||||
setupKDE();
|
setupKDE();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/ScreenPlay/main.qml")));
|
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/ScreenPlay/main.qml")));
|
||||||
|
|
||||||
// Must be called last to display a error message on startup by the qml engine
|
// Must be called last to display a error message on startup by the qml engine
|
||||||
|
@ -48,7 +48,6 @@
|
|||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#include <QtQml>
|
#include <QtQml>
|
||||||
#include <QtSvg>
|
#include <QtSvg>
|
||||||
#include <QtWebEngineCore>
|
|
||||||
|
|
||||||
#include "src/create.h"
|
#include "src/create.h"
|
||||||
#include "src/globalvariables.h"
|
#include "src/globalvariables.h"
|
||||||
@ -64,8 +63,6 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <sentry.h>
|
#include <sentry.h>
|
||||||
|
|
||||||
class ScreenPlayWorkshopPlugin;
|
|
||||||
|
|
||||||
namespace ScreenPlay {
|
namespace ScreenPlay {
|
||||||
|
|
||||||
class App : public QObject {
|
class App : public QObject {
|
||||||
@ -119,6 +116,8 @@ public slots:
|
|||||||
QString version() const;
|
QString version() const;
|
||||||
void exit();
|
void exit();
|
||||||
|
|
||||||
|
QPointF cursorPos() { return QCursor::pos(); }
|
||||||
|
|
||||||
void setGlobalVariables(GlobalVariables* globalVariables)
|
void setGlobalVariables(GlobalVariables* globalVariables)
|
||||||
{
|
{
|
||||||
if (m_globalVariables.get() == globalVariables)
|
if (m_globalVariables.get() == globalVariables)
|
||||||
@ -215,11 +214,11 @@ public slots:
|
|||||||
m_wizards.reset(wizards);
|
m_wizards.reset(wizards);
|
||||||
emit wizardsChanged(m_wizards.get());
|
emit wizardsChanged(m_wizards.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool setupKDE();
|
bool setupKDE();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPluginLoader m_workshopPlugin;
|
|
||||||
QNetworkAccessManager m_networkAccessManager;
|
QNetworkAccessManager m_networkAccessManager;
|
||||||
QElapsedTimer m_continuousIntegrationMetricsTimer;
|
QElapsedTimer m_continuousIntegrationMetricsTimer;
|
||||||
std::unique_ptr<QQmlApplicationEngine> m_mainWindowEngine;
|
std::unique_ptr<QQmlApplicationEngine> m_mainWindowEngine;
|
||||||
|
1
ScreenPlay/assets/icons/icon_close_black_24dp.svg
Normal file
1
ScreenPlay/assets/icons/icon_close_black_24dp.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
After Width: | Height: | Size: 258 B |
8
ScreenPlay/assets/icons/icon_minimize.svg
Normal file
8
ScreenPlay/assets/icons/icon_minimize.svg
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||||
|
<g transform="matrix(6.12323e-17,1,-1,6.12323e-17,24,0)">
|
||||||
|
<path d="M19,19L5,19L5,5L12,5L12,3L5,3C3.89,3 3,3.9 3,5L3,19C3,20.1 3.89,21 5,21L19,21C20.1,21 21,20.1 21,19L21,12L19,12L19,19ZM14,3L14,5L17.59,5L7.76,14.83L9.17,16.24L19,6.41L19,10L21,10L21,3L14,3Z" style="fill-rule:nonzero;"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 842 B |
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M3,6h18v5h2V6c0-1.1-0.9-2-2-2H3C1.9,4,1,4.9,1,6v12c0,1.1,0.9,2,2,2h9v-2H3V6z"/><polygon points="15,12 9,8 9,16"/><path d="M22.71,18.43c0.03-0.29,0.04-0.58,0.01-0.86l1.07-0.85c0.1-0.08,0.12-0.21,0.06-0.32l-1.03-1.79 c-0.06-0.11-0.19-0.15-0.31-0.11L21.23,15c-0.23-0.17-0.48-0.31-0.75-0.42l-0.2-1.36C20.26,13.09,20.16,13,20.03,13h-2.07 c-0.12,0-0.23,0.09-0.25,0.21l-0.2,1.36c-0.26,0.11-0.51,0.26-0.74,0.42l-1.28-0.5c-0.12-0.05-0.25,0-0.31,0.11l-1.03,1.79 c-0.06,0.11-0.04,0.24,0.06,0.32l1.07,0.86c-0.03,0.29-0.04,0.58-0.01,0.86l-1.07,0.85c-0.1,0.08-0.12,0.21-0.06,0.32l1.03,1.79 c0.06,0.11,0.19,0.15,0.31,0.11l1.27-0.5c0.23,0.17,0.48,0.31,0.75,0.42l0.2,1.36c0.02,0.12,0.12,0.21,0.25,0.21h2.07 c0.12,0,0.23-0.09,0.25-0.21l0.2-1.36c0.26-0.11,0.51-0.26,0.74-0.42l1.28,0.5c0.12,0.05,0.25,0,0.31-0.11l1.03-1.79 c0.06-0.11,0.04-0.24-0.06-0.32L22.71,18.43z M19,19.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5 S19.83,19.5,19,19.5z"/></g></g></svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -36,7 +36,6 @@
|
|||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QCommandLineParser>
|
#include <QCommandLineParser>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QtWebEngineQuick>
|
|
||||||
|
|
||||||
#include <sentry.h>
|
#include <sentry.h>
|
||||||
#define DOCTEST_CONFIG_IMPLEMENT
|
#define DOCTEST_CONFIG_IMPLEMENT
|
||||||
@ -47,9 +46,6 @@ int main(int argc, char* argv[])
|
|||||||
{
|
{
|
||||||
Q_INIT_RESOURCE(Resources);
|
Q_INIT_RESOURCE(Resources);
|
||||||
|
|
||||||
QtWebEngineQuick::initialize();
|
|
||||||
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
|
|
||||||
|
|
||||||
QApplication qtGuiApp(argc, argv);
|
QApplication qtGuiApp(argc, argv);
|
||||||
|
|
||||||
// Unit tests
|
// Unit tests
|
||||||
|
@ -15,18 +15,18 @@ import "qml/Workshop" as Workshop
|
|||||||
import "qml/Community" as Community
|
import "qml/Community" as Community
|
||||||
|
|
||||||
ApplicationWindow {
|
ApplicationWindow {
|
||||||
id: window
|
id: root
|
||||||
|
|
||||||
function setTheme(theme) {
|
function setTheme(theme) {
|
||||||
switch (theme) {
|
switch (theme) {
|
||||||
case Settings.System:
|
case Settings.System:
|
||||||
window.Material.theme = Material.System;
|
root.Material.theme = Material.System;
|
||||||
break;
|
break;
|
||||||
case Settings.Dark:
|
case Settings.Dark:
|
||||||
window.Material.theme = Material.Dark;
|
root.Material.theme = Material.Dark;
|
||||||
break;
|
break;
|
||||||
case Settings.Light:
|
case Settings.Light:
|
||||||
window.Material.theme = Material.Light;
|
root.Material.theme = Material.Light;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -38,7 +38,7 @@ ApplicationWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (name === "Installed") {
|
if (name === "Installed") {
|
||||||
stackView.replace("qrc:/ScreenPlay/qml/" + name + "/" + name + ".qml", {
|
stackView.replace("qrc:/ScreenPlay/qml/Installed/Installed.qml", {
|
||||||
"sidebar": sidebar
|
"sidebar": sidebar
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@ -55,159 +55,254 @@ ApplicationWindow {
|
|||||||
title: "ScreenPlay Alpha - " + ScreenPlay.version()
|
title: "ScreenPlay Alpha - " + ScreenPlay.version()
|
||||||
minimumHeight: 450
|
minimumHeight: 450
|
||||||
minimumWidth: 1050
|
minimumWidth: 1050
|
||||||
|
flags: Qt.FramelessWindowHint |Qt.Window
|
||||||
|
|
||||||
// Partial workaround for
|
// Partial workaround for
|
||||||
// https://bugreports.qt.io/browse/QTBUG-86047
|
// https://bugreports.qt.io/browse/QTBUG-86047
|
||||||
Material.accent: Material.color(Material.Orange)
|
Material.accent: Material.color(Material.Orange)
|
||||||
onVisibilityChanged: {
|
onVisibilityChanged: {
|
||||||
if (window.visibility === 2)
|
if (root.visibility === 2)
|
||||||
ScreenPlay.installedListModel.reset();
|
ScreenPlay.installedListModel.reset();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
onClosing: {
|
||||||
|
if (ScreenPlay.screenPlayManager.activeWallpaperCounter === 0
|
||||||
|
&& ScreenPlay.screenPlayManager.activeWidgetsCounter === 0) {
|
||||||
|
Qt.quit()
|
||||||
|
}
|
||||||
|
}
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
setTheme(ScreenPlay.settings.theme);
|
setTheme(ScreenPlay.settings.theme);
|
||||||
switchPage("Installed");
|
stackView.push("qrc:/ScreenPlay/qml/Installed/Installed.qml", {
|
||||||
|
"sidebar": sidebar
|
||||||
|
})
|
||||||
if (!ScreenPlay.settings.silentStart)
|
if (!ScreenPlay.settings.silentStart)
|
||||||
window.show();
|
root.show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Item {
|
||||||
function onThemeChanged(theme) {
|
anchors.fill: parent
|
||||||
setTheme(theme);
|
anchors.margins: 1
|
||||||
}
|
|
||||||
|
|
||||||
target: ScreenPlay.settings
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
function onRequestNavigation(nav) {
|
|
||||||
switchPage(nav);
|
|
||||||
}
|
|
||||||
|
|
||||||
target: ScreenPlay.util
|
Connections {
|
||||||
}
|
function onThemeChanged(theme) {
|
||||||
|
setTheme(theme);
|
||||||
Connections {
|
|
||||||
function onRequestRaise() {
|
|
||||||
window.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
target: ScreenPlay.screenPlayManager
|
|
||||||
}
|
|
||||||
|
|
||||||
Dialogs.SteamNotAvailable {
|
|
||||||
id: dialogSteam
|
|
||||||
}
|
|
||||||
|
|
||||||
Dialogs.MonitorConfiguration {
|
|
||||||
}
|
|
||||||
|
|
||||||
Dialogs.CriticalError {
|
|
||||||
mainWindow: window
|
|
||||||
}
|
|
||||||
|
|
||||||
Common.TrayIcon {
|
|
||||||
}
|
|
||||||
|
|
||||||
StackView {
|
|
||||||
id: stackView
|
|
||||||
objectName: "stackView"
|
|
||||||
property int duration: 300
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
top: nav.bottom
|
|
||||||
right: parent.right
|
|
||||||
bottom: parent.bottom
|
|
||||||
left: parent.left
|
|
||||||
}
|
|
||||||
|
|
||||||
replaceEnter: Transition {
|
|
||||||
OpacityAnimator {
|
|
||||||
from: 0
|
|
||||||
to: 1
|
|
||||||
duration: stackView.duration
|
|
||||||
easing.type: Easing.InOutQuart
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ScaleAnimator {
|
target: ScreenPlay.settings
|
||||||
from: 0.8
|
}
|
||||||
to: 1
|
|
||||||
duration: stackView.duration
|
Connections {
|
||||||
easing.type: Easing.InOutQuart
|
function onRequestNavigation(nav) {
|
||||||
|
switchPage(nav);
|
||||||
|
}
|
||||||
|
|
||||||
|
target: ScreenPlay.util
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
function onRequestRaise() {
|
||||||
|
root.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
target: ScreenPlay.screenPlayManager
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialogs.SteamNotAvailable {
|
||||||
|
id: dialogSteam
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialogs.MonitorConfiguration {
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialogs.CriticalError {
|
||||||
|
window: root
|
||||||
|
}
|
||||||
|
|
||||||
|
Common.TrayIcon {
|
||||||
|
window: root
|
||||||
|
}
|
||||||
|
|
||||||
|
StackView {
|
||||||
|
id: stackView
|
||||||
|
objectName: "stackView"
|
||||||
|
property int duration: 300
|
||||||
|
|
||||||
|
anchors {
|
||||||
|
top: nav.bottom
|
||||||
|
right: parent.right
|
||||||
|
bottom: parent.bottom
|
||||||
|
left: parent.left
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceEnter: Transition {
|
||||||
|
OpacityAnimator {
|
||||||
|
from: 0
|
||||||
|
to: 1
|
||||||
|
duration: stackView.duration
|
||||||
|
easing.type: Easing.InOutQuart
|
||||||
|
}
|
||||||
|
|
||||||
|
ScaleAnimator {
|
||||||
|
from: 0.8
|
||||||
|
to: 1
|
||||||
|
duration: stackView.duration
|
||||||
|
easing.type: Easing.InOutQuart
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceExit: Transition {
|
||||||
|
OpacityAnimator {
|
||||||
|
from: 1
|
||||||
|
to: 0
|
||||||
|
duration: stackView.duration
|
||||||
|
easing.type: Easing.InOutQuart
|
||||||
|
}
|
||||||
|
|
||||||
|
ScaleAnimator {
|
||||||
|
from: 1
|
||||||
|
to: 0.8
|
||||||
|
duration: stackView.duration
|
||||||
|
easing.type: Easing.InOutQuart
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
replaceExit: Transition {
|
Connections {
|
||||||
OpacityAnimator {
|
function onSetSidebarActive(active) {
|
||||||
from: 1
|
if (active)
|
||||||
to: 0
|
sidebar.state = "active";
|
||||||
duration: stackView.duration
|
else
|
||||||
easing.type: Easing.InOutQuart
|
sidebar.state = "inactive";
|
||||||
}
|
}
|
||||||
|
|
||||||
ScaleAnimator {
|
function onSetNavigationItem(pos) {
|
||||||
from: 1
|
if (pos === 0)
|
||||||
to: 0.8
|
nav.onPageChanged("Create");
|
||||||
duration: stackView.duration
|
else
|
||||||
easing.type: Easing.InOutQuart
|
nav.onPageChanged("Workshop");
|
||||||
|
}
|
||||||
|
|
||||||
|
target: stackView.currentItem
|
||||||
|
ignoreUnknownSignals: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Installed.Sidebar {
|
||||||
|
id: sidebar
|
||||||
|
objectName: "installedSidebar"
|
||||||
|
navHeight: nav.height
|
||||||
|
|
||||||
|
anchors {
|
||||||
|
top: parent.top
|
||||||
|
right: parent.right
|
||||||
|
bottom: parent.bottom
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
Navigation.Navigation {
|
||||||
|
id: nav
|
||||||
|
window: root
|
||||||
|
width:parent.width
|
||||||
|
anchors {
|
||||||
|
top: parent.top
|
||||||
|
right: parent.right
|
||||||
|
left: parent.left
|
||||||
|
}
|
||||||
|
|
||||||
|
onChangePage: (name)=> {
|
||||||
|
monitors.close();
|
||||||
|
switchPage(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
function onSetSidebarActive(active) {
|
|
||||||
if (active)
|
|
||||||
sidebar.state = "active";
|
|
||||||
else
|
|
||||||
sidebar.state = "inactive";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSetNavigationItem(pos) {
|
Monitors.Monitors {
|
||||||
if (pos === 0)
|
id: monitors
|
||||||
nav.onPageChanged("Create");
|
|
||||||
else
|
|
||||||
nav.onPageChanged("Workshop");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
target: stackView.currentItem
|
|
||||||
ignoreUnknownSignals: true
|
|
||||||
}
|
|
||||||
|
|
||||||
Installed.Sidebar {
|
|
||||||
id: sidebar
|
|
||||||
objectName: "installedSidebar"
|
|
||||||
|
|
||||||
navHeight: nav.height
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
right: parent.right
|
|
||||||
bottom: parent.bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Navigation.Navigation {
|
Rectangle {
|
||||||
id: nav
|
height: 1
|
||||||
|
color:"#222"
|
||||||
onChangePage: (name)=> {
|
anchors{
|
||||||
monitors.close();
|
top:parent.top
|
||||||
switchPage(name);
|
right:parent.right
|
||||||
|
left:parent.left
|
||||||
}
|
}
|
||||||
|
}
|
||||||
anchors {
|
Rectangle {
|
||||||
top: parent.top
|
height: 1
|
||||||
right: parent.right
|
color:"#222"
|
||||||
left: parent.left
|
anchors{
|
||||||
|
bottom:parent.bottom
|
||||||
|
right:parent.right
|
||||||
|
left:parent.left
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
width: 1
|
||||||
|
color:"#222"
|
||||||
|
anchors{
|
||||||
|
left:parent.left
|
||||||
|
bottom:parent.bottom
|
||||||
|
top:parent.top
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
width: 1
|
||||||
|
color:"#222"
|
||||||
|
anchors{
|
||||||
|
right:parent.right
|
||||||
|
bottom:parent.bottom
|
||||||
|
top:parent.top
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Monitors.Monitors {
|
Rectangle {
|
||||||
id: monitors
|
width: 15
|
||||||
|
height:width
|
||||||
|
color:"#555"
|
||||||
|
anchors{
|
||||||
|
right:parent.right
|
||||||
|
bottom:parent.bottom
|
||||||
|
margins: 1
|
||||||
|
}
|
||||||
|
MouseArea {
|
||||||
|
id: maResize
|
||||||
|
anchors.fill: parent
|
||||||
|
cursorShape: Qt.SizeFDiagCursor
|
||||||
|
property point clickPosition
|
||||||
|
property size originalSize
|
||||||
|
onPressed: {
|
||||||
|
maResize.clickPosition = Qt.point(maResize.mouseX, maResize.mouseY);
|
||||||
|
maResize.clickPosition = maResize.mapToGlobal(maResize.clickPosition.x , maResize.clickPosition.y )
|
||||||
|
maResize.originalSize = Qt.size(root.width, root.height)
|
||||||
|
}
|
||||||
|
onPositionChanged: {
|
||||||
|
if (maResize.pressed){
|
||||||
|
let newPos = maResize.mapToGlobal(maResize.mouseX, maResize.mouseY)
|
||||||
|
let newPosX = newPos.x - maResize.clickPosition.x
|
||||||
|
let newPosY = newPos.y - maResize.clickPosition.y
|
||||||
|
|
||||||
|
root.setGeometry(root.x,root.y, maResize.originalSize.width + newPosX,
|
||||||
|
maResize.originalSize.height + newPosY)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ import ScreenPlay 1.0
|
|||||||
Dialog {
|
Dialog {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property Window mainWindow
|
property ApplicationWindow window
|
||||||
property string message
|
property string message
|
||||||
|
|
||||||
modal: true
|
modal: true
|
||||||
@ -22,7 +22,7 @@ Dialog {
|
|||||||
Connections {
|
Connections {
|
||||||
function onDisplayErrorPopup(msg) {
|
function onDisplayErrorPopup(msg) {
|
||||||
root.message = msg;
|
root.message = msg;
|
||||||
root.mainWindow.show();
|
root.window.show();
|
||||||
root.open();
|
root.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import Qt.labs.platform 1.1
|
import QtQuick.Window
|
||||||
|
import Qt.labs.platform
|
||||||
import ScreenPlay 1.0
|
import ScreenPlay 1.0
|
||||||
|
|
||||||
SystemTrayIcon {
|
SystemTrayIcon {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
|
property var window
|
||||||
visible: true
|
visible: true
|
||||||
icon.source: "qrc:/assets/icons/app.ico"
|
icon.source: "qrc:/assets/icons/app.ico"
|
||||||
tooltip: qsTr("ScreenPlay - Double click to change you settings.")
|
tooltip: qsTr("ScreenPlay - Double click to change you settings.")
|
||||||
|
@ -4,16 +4,24 @@ import QtQuick.Controls.Material
|
|||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import ScreenPlay 1.0
|
import ScreenPlay 1.0
|
||||||
import QtWebEngine
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
|
XMLNewsfeed {
|
||||||
|
anchors {
|
||||||
|
top: navWrapper.bottom
|
||||||
|
right: parent.right
|
||||||
|
bottom: parent.bottom
|
||||||
|
left: parent.left
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: navWrapper
|
id: navWrapper
|
||||||
|
|
||||||
color: Material.theme === Material.Light ? "white" : Material.background
|
color: Material.theme === Material.Light ? "white" : Material.background
|
||||||
height: 50
|
height: 60
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
top: parent.top
|
top: parent.top
|
||||||
@ -21,60 +29,72 @@ Item {
|
|||||||
left: parent.left
|
left: parent.left
|
||||||
}
|
}
|
||||||
|
|
||||||
TabBar {
|
RowLayout {
|
||||||
id: nav
|
id: nav
|
||||||
|
|
||||||
height: parent.height
|
height: parent.height
|
||||||
currentIndex: 0
|
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
top: parent.top
|
top: parent.top
|
||||||
left: parent.left
|
left: parent.left
|
||||||
|
leftMargin: 20
|
||||||
bottom: parent.bottom
|
bottom: parent.bottom
|
||||||
right: parent.right
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("News")
|
text: qsTr("News")
|
||||||
openLink: "https://screen-play.app/blog/"
|
onClicked: Qt.openUrlExternally("https://screen-play.app/blog/")
|
||||||
icon.source: "qrc:/assets/icons/icon_document.svg"
|
icon.source: "qrc:/assets/icons/icon_document.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("Wiki")
|
text: qsTr("Wiki")
|
||||||
openLink: "https://kelteseth.gitlab.io/ScreenPlayDocs/"
|
onClicked: Qt.openUrlExternally("https://kelteseth.gitlab.io/ScreenPlayDocs/")
|
||||||
icon.source: "qrc:/assets/icons/icon_help_center.svg"
|
icon.source: "qrc:/assets/icons/icon_help_center.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("Forum")
|
text: qsTr("Forum")
|
||||||
openLink: "https://forum.screen-play.app/"
|
onClicked: Qt.openUrlExternally("https://forum.screen-play.app/")
|
||||||
icon.source: "qrc:/assets/icons/icon_forum.svg"
|
icon.source: "qrc:/assets/icons/icon_forum.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("Issue List")
|
text: qsTr("Issue Tracker")
|
||||||
openLink: "https://gitlab.com/kelteseth/ScreenPlay/-/issues"
|
onClicked: Qt.openUrlExternally("https://gitlab.com/kelteseth/ScreenPlay/-/issues")
|
||||||
icon.source: "qrc:/assets/icons/icon_report_problem.svg"
|
icon.source: "qrc:/assets/icons/icon_report_problem.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("Contribute")
|
text: qsTr("Contribute")
|
||||||
openLink: "https://gitlab.com/kelteseth/ScreenPlay#general-contributing"
|
onClicked: Qt.openUrlExternally("https://gitlab.com/kelteseth/ScreenPlay#general-contributing")
|
||||||
icon.source: "qrc:/assets/icons/icon_supervisor_account.svg"
|
icon.source: "qrc:/assets/icons/icon_supervisor_account.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityNavItem {
|
Button {
|
||||||
text: qsTr("Steam Workshop")
|
text: qsTr("Steam Workshop")
|
||||||
openLink: "steam://url/GameHub/672870"
|
onClicked: Qt.openUrlExternally("steam://url/GameHub/672870")
|
||||||
icon.source: "qrc:/assets/icons/icon_steam.svg"
|
icon.source: "qrc:/assets/icons/icon_steam.svg"
|
||||||
|
icon.width: 14
|
||||||
|
icon.height: 14
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
background: Item {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LinearGradient {
|
LinearGradient {
|
||||||
@ -99,90 +119,8 @@ Item {
|
|||||||
position: 1
|
position: 1
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SwipeView {
|
|
||||||
id: swipeView
|
|
||||||
|
|
||||||
currentIndex: nav.currentIndex
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
top: navWrapper.bottom
|
|
||||||
right: parent.right
|
|
||||||
bottom: parent.bottom
|
|
||||||
left: parent.left
|
|
||||||
}
|
|
||||||
|
|
||||||
XMLNewsfeed {
|
|
||||||
}
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
id: repeater
|
|
||||||
|
|
||||||
Loader {
|
|
||||||
active: SwipeView.isCurrentItem || SwipeView.isNextItem || SwipeView.isPreviousItem
|
|
||||||
asynchronous: true
|
|
||||||
|
|
||||||
sourceComponent: Item {
|
|
||||||
Component.onCompleted: timer.start()
|
|
||||||
|
|
||||||
Timer {
|
|
||||||
id: timer
|
|
||||||
|
|
||||||
interval: 200
|
|
||||||
onTriggered: webView.url = webModel.get(index + 1).url
|
|
||||||
}
|
|
||||||
|
|
||||||
WebEngineView {
|
|
||||||
id: webView
|
|
||||||
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
model: ListModel {
|
|
||||||
id: webModel
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://screen-play.app/blog/"
|
|
||||||
}
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://kelteseth.gitlab.io/ScreenPlayDocs/"
|
|
||||||
}
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://forum.screen-play.app/"
|
|
||||||
}
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://gitlab.com/kelteseth/ScreenPlay/-/issues"
|
|
||||||
}
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://gitlab.com/kelteseth/ScreenPlay#general-contributing"
|
|
||||||
}
|
|
||||||
|
|
||||||
ListElement {
|
|
||||||
url: "https://steamcommunity.com/app/672870/workshop/"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Binding {
|
|
||||||
target: nav
|
|
||||||
property: "currentIndex"
|
|
||||||
value: swipeView.currentIndex
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ TabButton {
|
|||||||
property url openLink
|
property url openLink
|
||||||
|
|
||||||
height: parent.height
|
height: parent.height
|
||||||
|
onClicked: Qt.openUrlExternally(control.openLink)
|
||||||
|
|
||||||
contentItem: Item {
|
contentItem: Item {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
@ -17,7 +17,6 @@ Item {
|
|||||||
flickDeceleration: 5000
|
flickDeceleration: 5000
|
||||||
cellHeight: 250
|
cellHeight: 250
|
||||||
cellWidth: 450
|
cellWidth: 450
|
||||||
clip: true
|
|
||||||
model: feedModel
|
model: feedModel
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
|
@ -120,7 +120,7 @@ Item {
|
|||||||
|
|
||||||
text: qsTr("Open Documentation")
|
text: qsTr("Open Documentation")
|
||||||
Material.background: Material.LightGreen
|
Material.background: Material.LightGreen
|
||||||
Material.foreground: "white"
|
highlighted: true
|
||||||
icon.source: "qrc:/assets/icons/icon_document.svg"
|
icon.source: "qrc:/assets/icons/icon_document.svg"
|
||||||
icon.color: "white"
|
icon.color: "white"
|
||||||
icon.width: 16
|
icon.width: 16
|
||||||
|
@ -91,8 +91,8 @@ Item {
|
|||||||
property bool isScrolling: gridView.verticalVelocity != 0
|
property bool isScrolling: gridView.verticalVelocity != 0
|
||||||
|
|
||||||
boundsBehavior: Flickable.DragOverBounds
|
boundsBehavior: Flickable.DragOverBounds
|
||||||
maximumFlickVelocity: 2500
|
maximumFlickVelocity: 5000
|
||||||
flickDeceleration: 500
|
flickDeceleration: 5000
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cellWidth: 340
|
cellWidth: 340
|
||||||
cellHeight: 200
|
cellHeight: 200
|
||||||
|
@ -114,7 +114,7 @@ ColumnLayout {
|
|||||||
"text": qsTr("Scale_Down")
|
"text": qsTr("Scale_Down")
|
||||||
}]
|
}]
|
||||||
onActivated: {
|
onActivated: {
|
||||||
ScreenPlay.screenPlayManager.setWallpaperValueAtMonitorIndex(activeMonitorIndex, "fillmode", settingsComboBox.currentText);
|
ScreenPlay.screenPlayManager.setWallpaperFillModeAtMonitorIndex(activeMonitorIndex,settingsComboBox.currentValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Rectangle {
|
|||||||
property alias background: root.color
|
property alias background: root.color
|
||||||
property alias radius: root.radius
|
property alias radius: root.radius
|
||||||
|
|
||||||
signal requestProjectSettings(int index, var installedType, string appID)
|
signal requestProjectSettings(var index, var installedType, var appID)
|
||||||
|
|
||||||
function selectOnly(index) {
|
function selectOnly(index) {
|
||||||
for (var i = 0; i < rp.count; i++) {
|
for (var i = 0; i < rp.count; i++) {
|
||||||
@ -62,7 +62,7 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function resize() {
|
function resize() {
|
||||||
var absoluteDesktopSize = ScreenPlay.monitorListModel.getAbsoluteDesktopSize();
|
var absoluteDesktopSize = ScreenPlay.monitorListModel.absoluteDesktopSize();
|
||||||
var isWidthGreaterThanHeight = false;
|
var isWidthGreaterThanHeight = false;
|
||||||
var windowsDelta = 0;
|
var windowsDelta = 0;
|
||||||
if (absoluteDesktopSize.width < absoluteDesktopSize.height) {
|
if (absoluteDesktopSize.width < absoluteDesktopSize.height) {
|
||||||
@ -135,22 +135,14 @@ Rectangle {
|
|||||||
delegate: MonitorSelectionItem {
|
delegate: MonitorSelectionItem {
|
||||||
id: delegate
|
id: delegate
|
||||||
|
|
||||||
monitorID: m_monitorID
|
|
||||||
monitorName: m_name
|
|
||||||
appID: m_appID
|
appID: m_appID
|
||||||
height: m_availableGeometry.height
|
geometry: m_geometry
|
||||||
width: m_availableGeometry.width
|
|
||||||
x: m_availableGeometry.x
|
|
||||||
y: m_availableGeometry.y
|
|
||||||
monitorManufacturer: m_manufacturer
|
|
||||||
monitorModel: m_model
|
|
||||||
monitorSize: m_availableGeometry
|
|
||||||
fontSize: root.fontSize
|
fontSize: root.fontSize
|
||||||
index: m_number
|
index: m_index
|
||||||
previewImage: m_previewImage
|
previewImage: m_previewImage
|
||||||
installedType: m_installedType
|
installedType: m_installedType
|
||||||
monitorWithoutContentSelectable: root.monitorWithoutContentSelectable
|
monitorWithoutContentSelectable: root.monitorWithoutContentSelectable
|
||||||
onMonitorSelected: root.selectMonitorAt(delegate.index)
|
onMonitorSelected: (index) => root.selectMonitorAt(index)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -167,15 +159,5 @@ Rectangle {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// layer.effect: InnerShadow {
|
|
||||||
// cached: true
|
|
||||||
// fast: true
|
|
||||||
// smooth: true
|
|
||||||
// radius: 32
|
|
||||||
// spread: 0.8
|
|
||||||
// verticalOffset: 3
|
|
||||||
// color: "#55000000"
|
|
||||||
// }
|
|
||||||
// Width of the Sidebar or Space that should be used
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,14 @@ import ScreenPlay.Enums.InstalledType 1.0
|
|||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property rect monitorSize: Qt.rect(0, 0, 0, 0)
|
property rect geometry
|
||||||
property string monitorModel
|
onGeometryChanged: {
|
||||||
property string monitorManufacturer
|
root.width = geometry.width
|
||||||
property string monitorName
|
root.height = geometry.height
|
||||||
property string monitorID
|
root.x = geometry.x
|
||||||
|
root.y = geometry.y
|
||||||
|
}
|
||||||
|
|
||||||
property string previewImage
|
property string previewImage
|
||||||
property string appID
|
property string appID
|
||||||
property var installedType: InstalledType.QMLWallpaper
|
property var installedType: InstalledType.QMLWallpaper
|
||||||
@ -34,7 +37,7 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: monitorSize.width + "x" + monitorSize.height
|
text: geometry.width + "x" + geometry.height
|
||||||
color: Material.foreground
|
color: Material.foreground
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
@ -72,13 +75,6 @@ Item {
|
|||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
|
||||||
font.pointSize: 14
|
|
||||||
text: root.index
|
|
||||||
anchors.centerIn: parent
|
|
||||||
color: "white"
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
hoverEnabled: true
|
hoverEnabled: true
|
||||||
@ -86,7 +82,7 @@ Item {
|
|||||||
onClicked: {
|
onClicked: {
|
||||||
if (monitorWithoutContentSelectable) {
|
if (monitorWithoutContentSelectable) {
|
||||||
monitorSelected(index);
|
monitorSelected(index);
|
||||||
return ;
|
return
|
||||||
}
|
}
|
||||||
if (root.hasContent && !root.monitorWithoutContentSelectable)
|
if (root.hasContent && !root.monitorWithoutContentSelectable)
|
||||||
monitorSelected(index);
|
monitorSelected(index);
|
||||||
|
@ -83,7 +83,7 @@ Popup {
|
|||||||
monitorWithoutContentSelectable: false
|
monitorWithoutContentSelectable: false
|
||||||
availableWidth: width - 20
|
availableWidth: width - 20
|
||||||
availableHeight: 150
|
availableHeight: 150
|
||||||
function onRequestProjectSettings() {
|
onRequestProjectSettings: ( index, installedType, appID) => {
|
||||||
if (installedType === InstalledType.VideoWallpaper) {
|
if (installedType === InstalledType.VideoWallpaper) {
|
||||||
videoControlWrapper.state = "visible";
|
videoControlWrapper.state = "visible";
|
||||||
customPropertiesGridView.visible = false;
|
customPropertiesGridView.visible = false;
|
||||||
@ -92,7 +92,9 @@ Popup {
|
|||||||
} else {
|
} else {
|
||||||
videoControlWrapper.state = "hidden";
|
videoControlWrapper.state = "hidden";
|
||||||
customPropertiesGridView.visible = true;
|
customPropertiesGridView.visible = true;
|
||||||
ScreenPlay.screenPlayManager.requestProjectSettingsAtMonitorIndex(index);
|
if(!ScreenPlay.screenPlayManager.requestProjectSettingsAtMonitorIndex(index)){
|
||||||
|
console.warn("Unable to get requested settings from index: ", index)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
activeMonitorIndex = index;
|
activeMonitorIndex = index;
|
||||||
}
|
}
|
||||||
@ -126,12 +128,11 @@ Popup {
|
|||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: btnRemoveSelectedWallpaper
|
id: btnRemoveSelectedWallpaper
|
||||||
|
|
||||||
text: qsTr("Remove selected")
|
|
||||||
Material.background: Material.accent
|
Material.background: Material.accent
|
||||||
Material.foreground: "white"
|
highlighted: true
|
||||||
|
text: qsTr("Remove selected")
|
||||||
font.family: ScreenPlay.settings.font
|
font.family: ScreenPlay.settings.font
|
||||||
enabled: monitorSelection.activeMonitors.length == 1
|
enabled: monitorSelection.activeMonitors.length == 1 && ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (!ScreenPlay.screenPlayManager.removeWallpaperAt(monitorSelection.activeMonitors[0]))
|
if (!ScreenPlay.screenPlayManager.removeWallpaperAt(monitorSelection.activeMonitors[0]))
|
||||||
print("Unable to close singel wallpaper");
|
print("Unable to close singel wallpaper");
|
||||||
@ -142,9 +143,9 @@ Popup {
|
|||||||
Button {
|
Button {
|
||||||
id: btnRemoveAllWallpape
|
id: btnRemoveAllWallpape
|
||||||
|
|
||||||
text: qsTr("Remove ") + ScreenPlay.screenPlayManager.activeWallpaperCounter + " " + qsTr("Wallpapers")
|
text: qsTr("Remove all ") + ScreenPlay.screenPlayManager.activeWallpaperCounter + " " + qsTr("Wallpapers")
|
||||||
Material.background: Material.accent
|
Material.background: Material.accent
|
||||||
Material.foreground: "white"
|
highlighted: true
|
||||||
font.family: ScreenPlay.settings.font
|
font.family: ScreenPlay.settings.font
|
||||||
enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
|
enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@ -158,9 +159,10 @@ Popup {
|
|||||||
Button {
|
Button {
|
||||||
id: btnRemoveAllWidgets
|
id: btnRemoveAllWidgets
|
||||||
|
|
||||||
text: qsTr("Remove ") + ScreenPlay.screenPlayManager.activeWidgetsCounter + " " + qsTr("Widgets")
|
text: qsTr("Remove all ") + ScreenPlay.screenPlayManager.activeWidgetsCounter + " " + qsTr("Widgets")
|
||||||
Material.background: Material.accent
|
Material.background: Material.accent
|
||||||
Material.foreground: "white"
|
Material.foreground: Material.primaryTextColor
|
||||||
|
highlighted: true
|
||||||
font.family: ScreenPlay.settings.font
|
font.family: ScreenPlay.settings.font
|
||||||
enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
|
enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import QtQuick.Window
|
||||||
import QtQuick.Controls.Material
|
import QtQuick.Controls.Material
|
||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import QtQuick.Controls.Material.impl
|
import QtQuick.Controls.Material.impl
|
||||||
@ -10,56 +12,78 @@ import "../Common"
|
|||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property string currentNavigationName: ""
|
property string currentNavigationName: "Installed"
|
||||||
property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity]
|
property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity]
|
||||||
property bool navActive: true
|
property bool navActive: true
|
||||||
|
property ApplicationWindow window
|
||||||
|
property int iconWidth: 16
|
||||||
|
property int iconHeight: iconWidth
|
||||||
|
|
||||||
signal changePage(string name)
|
signal changePage(string name)
|
||||||
|
|
||||||
function setActive(active) {
|
function setActive(active) {
|
||||||
navActive = active;
|
navActive = active
|
||||||
if (active)
|
if (active)
|
||||||
root.state = "enabled";
|
root.state = "enabled"
|
||||||
else
|
else
|
||||||
root.state = "disabled";
|
root.state = "disabled"
|
||||||
}
|
}
|
||||||
|
|
||||||
function setNavigation(name) {
|
function setNavigation(name) {
|
||||||
var i = 0;
|
var i = 0
|
||||||
for (; i < navArray.length; i++) {
|
for (; i < navArray.length; i++) {
|
||||||
if (navArray[i].name === name) {
|
if (navArray[i].name === name) {
|
||||||
navArray[i].state = "active";
|
navArray[i].state = "active"
|
||||||
root.currentNavigationName = name;
|
root.currentNavigationName = name
|
||||||
} else {
|
} else {
|
||||||
navArray[i].state = "inactive";
|
navArray[i].state = "inactive"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPageChanged(name) {
|
function onPageChanged(name) {
|
||||||
if (!navActive)
|
if (!navActive)
|
||||||
return ;
|
return
|
||||||
|
|
||||||
root.changePage(name);
|
root.changePage(name)
|
||||||
setNavigation(name);
|
setNavigation(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
height: 60
|
height: 60
|
||||||
clip: true
|
|
||||||
width: 1366
|
width: 1366
|
||||||
color: Material.theme === Material.Light ? "white" : Material.background
|
color: Material.theme === Material.Light ? "white" : Material.background
|
||||||
layer.enabled: true
|
layer.enabled: true
|
||||||
|
|
||||||
MouseHoverBlocker {
|
MouseArea {
|
||||||
|
id: mouseArea
|
||||||
|
|
||||||
|
property var clickPos
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
hoverEnabled: true
|
||||||
|
onPressed: (mouse)=>{
|
||||||
|
clickPos = {
|
||||||
|
"x": mouse.x,
|
||||||
|
"y": mouse.y
|
||||||
|
};
|
||||||
|
}
|
||||||
|
onPositionChanged: {
|
||||||
|
if (mouseArea.pressed){
|
||||||
|
let pos = ScreenPlay.cursorPos();
|
||||||
|
window.setX(pos.x - clickPos.x)
|
||||||
|
window.setY(pos.y - clickPos.y)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
function onRequestNavigationActive(isActive) {
|
function onRequestNavigationActive(isActive) {
|
||||||
setActive(isActive);
|
setActive(isActive)
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRequestNavigation(nav) {
|
function onRequestNavigation(nav) {
|
||||||
onPageChanged(nav);
|
onPageChanged(nav)
|
||||||
}
|
}
|
||||||
|
|
||||||
target: ScreenPlay.util
|
target: ScreenPlay.util
|
||||||
@ -128,10 +152,146 @@ Rectangle {
|
|||||||
onPageClicked: (name)=> {root.onPageChanged(name)}
|
onPageClicked: (name)=> {root.onPageChanged(name)}
|
||||||
objectName: "settingsTab"
|
objectName: "settingsTab"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NavigationWallpaperConfiguration {
|
Rectangle {
|
||||||
|
id:quickActionRowBackground
|
||||||
|
anchors.centerIn: quickActionRow
|
||||||
|
width: quickActionRow.width + 5
|
||||||
|
height: quickActionRow.height - 16
|
||||||
|
color: Material.theme === Material.Light ? Material.background : "#242424"
|
||||||
|
border.color: Material.theme === Material.Light ? Material.iconDisabledColor : Qt.darker(Material.background)
|
||||||
|
border.width: 1
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
id: quickActionRow
|
||||||
|
anchors {
|
||||||
|
top: parent.top
|
||||||
|
right: parent.right
|
||||||
|
rightMargin: 10
|
||||||
|
bottom: parent.bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
property bool contentActive: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
|
||||||
|
|| ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
|
||||||
|
|
||||||
|
onContentActiveChanged: {
|
||||||
|
if(!contentActive){
|
||||||
|
miMuteAll.isMuted = false
|
||||||
|
miStopAll.isPlaying = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolButton {
|
||||||
|
id: miMuteAll
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
icon.source: "qrc:/assets/icons/icon_volume.svg"
|
||||||
|
icon.width: root.iconWidth
|
||||||
|
icon.height: root.iconHeight
|
||||||
|
enabled: quickActionRow.contentActive
|
||||||
|
|
||||||
|
onClicked: isMuted = !isMuted
|
||||||
|
property bool isMuted: false
|
||||||
|
onIsMutedChanged: {
|
||||||
|
if (miMuteAll.isMuted) {
|
||||||
|
miMuteAll.icon.source = "qrc:/assets/icons/icon_volume.svg"
|
||||||
|
ScreenPlay.screenPlayManager.setAllWallpaperValue("muted",
|
||||||
|
"false")
|
||||||
|
} else {
|
||||||
|
miMuteAll.icon.source = "qrc:/assets/icons/icon_volume_mute.svg"
|
||||||
|
ScreenPlay.screenPlayManager.setAllWallpaperValue("muted",
|
||||||
|
"true")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hoverEnabled: true
|
||||||
|
ToolTip.text: qsTr("Mute/Unmute all Wallpaper")
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
}
|
||||||
|
ToolButton {
|
||||||
|
id: miStopAll
|
||||||
|
enabled: quickActionRow.contentActive
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
icon.source: "qrc:/assets/icons/icon_pause.svg"
|
||||||
|
icon.width: root.iconWidth
|
||||||
|
icon.height: root.iconHeight
|
||||||
|
onClicked: isPlaying = !isPlaying
|
||||||
|
property bool isPlaying: true
|
||||||
|
onIsPlayingChanged:{
|
||||||
|
if (miStopAll.isPlaying) {
|
||||||
|
miStopAll.icon.source = "qrc:/assets/icons/icon_pause.svg"
|
||||||
|
ScreenPlay.screenPlayManager.setAllWallpaperValue(
|
||||||
|
"isPlaying", "true")
|
||||||
|
} else {
|
||||||
|
miStopAll.icon.source = "qrc:/assets/icons/icon_play.svg"
|
||||||
|
ScreenPlay.screenPlayManager.setAllWallpaperValue(
|
||||||
|
"isPlaying", "false")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
hoverEnabled: true
|
||||||
|
ToolTip.text: qsTr("Pause/Play all Wallpaper")
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
}
|
||||||
|
ToolButton {
|
||||||
|
id: miConfig
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
icon.source: "qrc:/assets/icons/icon_video_settings_black_24dp.svg"
|
||||||
|
icon.width: root.iconWidth
|
||||||
|
icon.height: root.iconHeight
|
||||||
|
onClicked: ScreenPlay.util.setToggleWallpaperConfiguration()
|
||||||
|
hoverEnabled: true
|
||||||
|
ToolTip.text: qsTr("Configure Wallpaper")
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
color: Material.theme === Material.Light ? Material.iconDisabledColor : Qt.darker(Material.background)
|
||||||
|
height: quickActionRowBackground.height
|
||||||
|
width: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolButton {
|
||||||
|
id: miMinimize
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
icon.source: "qrc:/assets/icons/icon_minimize.svg"
|
||||||
|
icon.width: root.iconWidth
|
||||||
|
icon.height: root.iconHeight
|
||||||
|
onClicked: root.window.hide()
|
||||||
|
hoverEnabled: true
|
||||||
|
ToolTip.text: qsTr("Minimize to Tray")
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
}
|
||||||
|
ToolButton {
|
||||||
|
id: miquit
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
icon.source: "qrc:/assets/icons/icon_close.svg"
|
||||||
|
icon.width: root.iconWidth
|
||||||
|
icon.height: root.iconHeight
|
||||||
|
onClicked: {
|
||||||
|
if(ScreenPlay.screenPlayManager.activeWallpaperCounter === 0
|
||||||
|
&& ScreenPlay.screenPlayManager.activeWidgetsCounter === 0){
|
||||||
|
Qt.quit()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dialog.open()
|
||||||
|
}
|
||||||
|
hoverEnabled: true
|
||||||
|
ToolTip.text: qsTr("Exit")
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialog {
|
||||||
|
id: dialog
|
||||||
|
anchors.centerIn: Overlay.overlay
|
||||||
|
title: qsTr("Are you sure you want to exit ScreenPlay? \nThis will shut down all Wallpaper and Widgets.")
|
||||||
|
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||||
|
onAccepted: Qt.quit()
|
||||||
|
modal: true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
layer.effect: ElevationEffect {
|
layer.effect: ElevationEffect {
|
||||||
@ -149,7 +309,6 @@ Rectangle {
|
|||||||
target: row
|
target: row
|
||||||
opacity: 0.3
|
opacity: 0.3
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
transitions: [
|
transitions: [
|
||||||
@ -161,7 +320,6 @@ Rectangle {
|
|||||||
target: row
|
target: row
|
||||||
duration: 300
|
duration: 300
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,6 @@ Item {
|
|||||||
width: txtAmount.paintedWidth + txt.paintedWidth + icon.paintedWidth + 40
|
width: txtAmount.paintedWidth + txt.paintedWidth + icon.paintedWidth + 40
|
||||||
height: 60
|
height: 60
|
||||||
state: "inactive"
|
state: "inactive"
|
||||||
clip: true
|
|
||||||
onEnabledChanged: {
|
onEnabledChanged: {
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
navigationItem.width = 0;
|
navigationItem.width = 0;
|
||||||
@ -74,7 +73,7 @@ Item {
|
|||||||
anchors.left: txtAmount.right
|
anchors.left: txtAmount.right
|
||||||
anchors.leftMargin: navigationItem.amount == "" ? 0 : 5
|
anchors.leftMargin: navigationItem.amount == "" ? 0 : 5
|
||||||
text: "name"
|
text: "name"
|
||||||
font.pointSize: 14
|
font.pointSize: 12
|
||||||
color: Material.primaryTextColor
|
color: Material.primaryTextColor
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
font.family: ScreenPlay.settings.font
|
font.family: ScreenPlay.settings.font
|
||||||
|
@ -1,127 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Controls
|
|
||||||
import QtQuick.Controls.Material
|
|
||||||
import Qt5Compat.GraphicalEffects
|
|
||||||
import ScreenPlay 1.0
|
|
||||||
import "../Common"
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
width: 390
|
|
||||||
property bool active: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
right: parent.right
|
|
||||||
rightMargin: 20
|
|
||||||
bottom: parent.bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
function onActiveWallpaperCounterChanged() {
|
|
||||||
rippleEffect.trigger()
|
|
||||||
}
|
|
||||||
|
|
||||||
target: ScreenPlay.screenPlayManager
|
|
||||||
}
|
|
||||||
|
|
||||||
Pane {
|
|
||||||
anchors.centerIn: parent
|
|
||||||
contentWidth: activeMonitorName.contentWidth + image.width + 80
|
|
||||||
contentHeight: parent.height - 10
|
|
||||||
background: Item {
|
|
||||||
Rectangle {
|
|
||||||
id: bg
|
|
||||||
clip: true
|
|
||||||
anchors {
|
|
||||||
fill: parent
|
|
||||||
margins: 16
|
|
||||||
}
|
|
||||||
color: "transparent"
|
|
||||||
border.color: root.active ? Material.accentColor : Material.iconDisabledColor
|
|
||||||
border.width: 1
|
|
||||||
radius: 3
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
id: rippleEffect
|
|
||||||
|
|
||||||
target: bg
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Behavior on contentWidth {
|
|
||||||
PropertyAnimation {
|
|
||||||
duration: 250
|
|
||||||
easing.type: Easing.InOutQuart
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: activeMonitorName
|
|
||||||
|
|
||||||
horizontalAlignment: Text.AlignRight
|
|
||||||
color: root.active ? Material.primaryTextColor : Material.iconDisabledColor
|
|
||||||
font.pointSize: 12
|
|
||||||
font.family: ScreenPlay.settings.font
|
|
||||||
text: root.active ? qsTr("Configurate active Wallpaper or Widgets") : qsTr(
|
|
||||||
"No active Wallpaper or Widgets")
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
right: image.right
|
|
||||||
rightMargin: 50
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Image {
|
|
||||||
id: image
|
|
||||||
|
|
||||||
width: 28
|
|
||||||
height: 24
|
|
||||||
source: "qrc:/assets/icons/icon_monitor.svg"
|
|
||||||
layer {
|
|
||||||
effect: ColorOverlay {
|
|
||||||
color: root.active ? Material.color(
|
|
||||||
Material.Orange) : Material.iconDisabledColor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
rightMargin: 30
|
|
||||||
right: parent.right
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: txtAmountActiveWallpapers
|
|
||||||
|
|
||||||
text: ScreenPlay.screenPlayManager.activeWallpaperCounter
|
|
||||||
+ ScreenPlay.screenPlayManager.activeWidgetsCounter
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
verticalAlignment: Text.AlignVCenter
|
|
||||||
color: root.active ? Material.color(
|
|
||||||
Material.Orange) : Material.iconDisabledColor
|
|
||||||
font.pointSize: 10
|
|
||||||
font.bold: true
|
|
||||||
font.family: ScreenPlay.settings.font
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
bottom: parent.bottom
|
|
||||||
bottomMargin: 7
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
id: ma
|
|
||||||
|
|
||||||
anchors.fill: parent
|
|
||||||
cursorShape: Qt.PointingHandCursor
|
|
||||||
onClicked: {
|
|
||||||
ScreenPlay.util.setToggleWallpaperConfiguration()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -169,6 +169,9 @@ Item {
|
|||||||
}, {
|
}, {
|
||||||
"value": Settings.De_DE,
|
"value": Settings.De_DE,
|
||||||
"text": "German"
|
"text": "German"
|
||||||
|
}, {
|
||||||
|
"value": Settings.Pl_PL,
|
||||||
|
"text": "Polish"
|
||||||
}, {
|
}, {
|
||||||
"value": Settings.It_IT,
|
"value": Settings.It_IT,
|
||||||
"text": "Italian"
|
"text": "Italian"
|
||||||
|
@ -3,7 +3,6 @@ import QtQuick.Controls
|
|||||||
import QtQuick.Controls.Material
|
import QtQuick.Controls.Material
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import QtWebEngine
|
|
||||||
import ScreenPlay 1.0
|
import ScreenPlay 1.0
|
||||||
|
|
||||||
|
|
||||||
@ -51,15 +50,4 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WebEngineView {
|
|
||||||
id: webView
|
|
||||||
anchors {
|
|
||||||
top: navWrapper.bottom
|
|
||||||
right: parent.right
|
|
||||||
bottom: parent.bottom
|
|
||||||
left: parent.left
|
|
||||||
}
|
|
||||||
url:"https://forum.screen-play.app/category/5/wallpaper"
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ import QtQuick
|
|||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtWebEngine
|
|
||||||
import QtQuick.Controls.Material
|
import QtQuick.Controls.Material
|
||||||
import Workshop 1.0
|
import Workshop 1.0
|
||||||
import ScreenPlay 1.0
|
import ScreenPlay 1.0
|
||||||
@ -29,7 +28,6 @@ Drawer {
|
|||||||
root.close()
|
root.close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
webView.opacity = 0
|
|
||||||
root.publishedFileID = publishedFileID
|
root.publishedFileID = publishedFileID
|
||||||
root.imgUrl = imgUrl
|
root.imgUrl = imgUrl
|
||||||
root.subscriptionCount = subscriptionCount
|
root.subscriptionCount = subscriptionCount
|
||||||
@ -41,7 +39,6 @@ Drawer {
|
|||||||
root.open()
|
root.open()
|
||||||
|
|
||||||
steamWorkshop.requestWorkshopItemDetails(publishedFileID)
|
steamWorkshop.requestWorkshopItemDetails(publishedFileID)
|
||||||
webView.setVideo()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
edge: Qt.RightEdge
|
edge: Qt.RightEdge
|
||||||
@ -50,16 +47,6 @@ Drawer {
|
|||||||
modal: false
|
modal: false
|
||||||
width: 400
|
width: 400
|
||||||
interactive: false
|
interactive: false
|
||||||
Component.onCompleted: {
|
|
||||||
WebEngine.settings.localContentCanAccessFileUrls = true
|
|
||||||
WebEngine.settings.localContentCanAccessRemoteUrls = true
|
|
||||||
WebEngine.settings.allowRunningInsecureContent = true
|
|
||||||
WebEngine.settings.accelerated2dCanvasEnabled = true
|
|
||||||
WebEngine.settings.javascriptCanOpenWindows = false
|
|
||||||
WebEngine.settings.showScrollBars = false
|
|
||||||
WebEngine.settings.playbackRequiresUserGesture = false
|
|
||||||
WebEngine.settings.focusOnNavigationEnabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
function onRequestItemDetailReturned(title, tags, steamIDOwner, description, votesUp, votesDown, url, fileSize, publishedFileId) {
|
function onRequestItemDetailReturned(title, tags, steamIDOwner, description, votesUp, votesDown, url, fileSize, publishedFileId) {
|
||||||
@ -106,42 +93,7 @@ Drawer {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
}
|
}
|
||||||
|
|
||||||
WebEngineView {
|
|
||||||
id: webView
|
|
||||||
|
|
||||||
property bool ready: false
|
|
||||||
|
|
||||||
function getUpdateVideoCommand() {
|
|
||||||
let src = ""
|
|
||||||
src += "var video = document.getElementById('video');\n"
|
|
||||||
src += "video.src = '" + root.videoPreview + "';\n"
|
|
||||||
// Incase a workshop item has no gif preview
|
|
||||||
src += "video.poster = '" + root.videoPreview + "';\n"
|
|
||||||
src += "video.play();\n"
|
|
||||||
return src
|
|
||||||
}
|
|
||||||
|
|
||||||
function setVideo() {
|
|
||||||
if (!root.videoPreview.toString().startsWith("https"))
|
|
||||||
return
|
|
||||||
|
|
||||||
webView.runJavaScript(getUpdateVideoCommand(),
|
|
||||||
function (result) {
|
|
||||||
webView.opacity = 1
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
anchors.fill: parent
|
|
||||||
opacity: 0
|
|
||||||
url: "qrc:/assets/WorkshopPreview.html"
|
|
||||||
onUrlChanged: print(url)
|
|
||||||
|
|
||||||
Behavior on opacity {
|
|
||||||
NumberAnimation {
|
|
||||||
duration: 200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LinearGradient {
|
LinearGradient {
|
||||||
height: 50
|
height: 50
|
||||||
|
@ -200,12 +200,12 @@ void InstalledListModel::append(const QJsonObject& obj, const QString& folderNam
|
|||||||
*/
|
*/
|
||||||
void InstalledListModel::loadInstalledContent()
|
void InstalledListModel::loadInstalledContent()
|
||||||
{
|
{
|
||||||
if (m_loadContentFuture.isRunning()) {
|
if (m_isLoading) {
|
||||||
qInfo() << "loadInstalledContent is already running. Skip.";
|
qInfo() << "loadInstalledContent is already running. Skip.";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
m_isLoading = true;
|
||||||
m_loadContentFuture = QtConcurrent::run([this]() {
|
auto unused = QtConcurrent::run([this]() {
|
||||||
QFileInfoList list = QDir(m_globalVariables->localStoragePath().toLocalFile()).entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs);
|
QFileInfoList list = QDir(m_globalVariables->localStoragePath().toLocalFile()).entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs);
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
|
|
||||||
@ -239,6 +239,7 @@ void InstalledListModel::loadInstalledContent()
|
|||||||
}
|
}
|
||||||
setCount(counter);
|
setCount(counter);
|
||||||
emit installedLoadingFinished();
|
emit installedLoadingFinished();
|
||||||
|
m_isLoading = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ private:
|
|||||||
QFileSystemWatcher m_fileSystemWatcher;
|
QFileSystemWatcher m_fileSystemWatcher;
|
||||||
QVector<ProjectFile> m_screenPlayFiles;
|
QVector<ProjectFile> m_screenPlayFiles;
|
||||||
int m_count { 0 };
|
int m_count { 0 };
|
||||||
QFuture<void> m_loadContentFuture;
|
std::atomic_bool m_isLoading { false };
|
||||||
|
|
||||||
const std::shared_ptr<GlobalVariables>& m_globalVariables;
|
const std::shared_ptr<GlobalVariables>& m_globalVariables;
|
||||||
};
|
};
|
||||||
|
@ -37,15 +37,8 @@ QHash<int, QByteArray> MonitorListModel::roleNames() const
|
|||||||
{
|
{
|
||||||
static const QHash<int, QByteArray> roles {
|
static const QHash<int, QByteArray> roles {
|
||||||
{ static_cast<int>(MonitorRole::AppID), "m_appID" },
|
{ static_cast<int>(MonitorRole::AppID), "m_appID" },
|
||||||
{ static_cast<int>(MonitorRole::MonitorID), "m_monitorID" },
|
{ static_cast<int>(MonitorRole::Index), "m_index" },
|
||||||
{ static_cast<int>(MonitorRole::Name), "m_name" },
|
|
||||||
{ static_cast<int>(MonitorRole::Size), "m_size" },
|
|
||||||
{ static_cast<int>(MonitorRole::AvailableGeometry), "m_availableGeometry" },
|
|
||||||
{ static_cast<int>(MonitorRole::AvailableVirtualGeometry), "m_availableVirtualGeometry" },
|
|
||||||
{ static_cast<int>(MonitorRole::Number), "m_number" },
|
|
||||||
{ static_cast<int>(MonitorRole::Geometry), "m_geometry" },
|
{ static_cast<int>(MonitorRole::Geometry), "m_geometry" },
|
||||||
{ static_cast<int>(MonitorRole::Model), "m_model" },
|
|
||||||
{ static_cast<int>(MonitorRole::Manufacturer), "m_manufacturer" },
|
|
||||||
{ static_cast<int>(MonitorRole::PreviewImage), "m_previewImage" },
|
{ static_cast<int>(MonitorRole::PreviewImage), "m_previewImage" },
|
||||||
{ static_cast<int>(MonitorRole::InstalledType), "m_installedType" },
|
{ static_cast<int>(MonitorRole::InstalledType), "m_installedType" },
|
||||||
};
|
};
|
||||||
@ -86,32 +79,10 @@ QVariant MonitorListModel::data(const QModelIndex& index, int role) const
|
|||||||
} else {
|
} else {
|
||||||
return QVariant("");
|
return QVariant("");
|
||||||
}
|
}
|
||||||
case MonitorRole::MonitorID: {
|
case MonitorRole::Index:
|
||||||
QScreen* screen = m_monitorList.at(row).m_screen;
|
return m_monitorList.at(row).m_index;
|
||||||
|
|
||||||
QVariant id = QString::number(screen->size().width())
|
|
||||||
+ "x" + QString::number(screen->size().height())
|
|
||||||
+ "_" + QString::number(screen->availableGeometry().x())
|
|
||||||
+ "x" + QString::number(screen->availableGeometry().y());
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
case MonitorRole::Name:
|
|
||||||
return m_monitorList.at(row).m_screen->name();
|
|
||||||
case MonitorRole::Size:
|
|
||||||
return m_monitorList.at(row).m_screen->size();
|
|
||||||
case MonitorRole::AvailableGeometry:
|
|
||||||
return m_monitorList.at(row).m_availableGeometry;
|
|
||||||
case MonitorRole::AvailableVirtualGeometry:
|
|
||||||
return m_monitorList.at(row).m_screen->availableVirtualGeometry();
|
|
||||||
case MonitorRole::Number:
|
|
||||||
return m_monitorList.at(row).m_number;
|
|
||||||
case MonitorRole::Geometry:
|
case MonitorRole::Geometry:
|
||||||
return m_monitorList.at(row).m_screen->geometry();
|
return m_monitorList.at(row).m_geometry;
|
||||||
case MonitorRole::Model:
|
|
||||||
return m_monitorList.at(row).m_screen->model();
|
|
||||||
case MonitorRole::Manufacturer:
|
|
||||||
return m_monitorList.at(row).m_screen->manufacturer();
|
|
||||||
case MonitorRole::InstalledType:
|
case MonitorRole::InstalledType:
|
||||||
if (m_monitorList.at(row).m_activeWallpaper) {
|
if (m_monitorList.at(row).m_activeWallpaper) {
|
||||||
return static_cast<int>(m_monitorList.at(row).m_activeWallpaper->type());
|
return static_cast<int>(m_monitorList.at(row).m_activeWallpaper->type());
|
||||||
@ -143,7 +114,9 @@ void MonitorListModel::loadMonitors()
|
|||||||
// This offset lets us center the monitor selection view in the center
|
// This offset lets us center the monitor selection view in the center
|
||||||
int offsetX = 0;
|
int offsetX = 0;
|
||||||
int offsetY = 0;
|
int offsetY = 0;
|
||||||
for (int i = 0; i < monitors.iMonitors.size(); i++) {
|
const int moinitorCount = monitors.iMonitors.size();
|
||||||
|
|
||||||
|
for (int i = 0; i < moinitorCount; i++) {
|
||||||
const int x = monitors.rcMonitors[i].left;
|
const int x = monitors.rcMonitors[i].left;
|
||||||
const int y = monitors.rcMonitors[i].top;
|
const int y = monitors.rcMonitors[i].top;
|
||||||
if (x < 0) {
|
if (x < 0) {
|
||||||
@ -154,18 +127,18 @@ void MonitorListModel::loadMonitors()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < monitors.iMonitors.size(); i++) {
|
for (int i = 0; i < moinitorCount; i++) {
|
||||||
const int width = std::abs(monitors.rcMonitors[i].right - monitors.rcMonitors[i].left);
|
const int width = std::abs(monitors.rcMonitors[i].right - monitors.rcMonitors[i].left);
|
||||||
const int height = std::abs(monitors.rcMonitors[i].top - monitors.rcMonitors[i].bottom);
|
const int height = std::abs(monitors.rcMonitors[i].top - monitors.rcMonitors[i].bottom);
|
||||||
const int x = monitors.rcMonitors[i].left;
|
const int x = monitors.rcMonitors[i].left;
|
||||||
const int y = monitors.rcMonitors[i].top;
|
const int y = monitors.rcMonitors[i].top;
|
||||||
QRect availableVirtualGeometry(
|
QRect geometry(
|
||||||
x + offsetX,
|
x + offsetX,
|
||||||
y + offsetY,
|
y + offsetY,
|
||||||
width,
|
width,
|
||||||
height);
|
height);
|
||||||
beginInsertRows(index, m_monitorList.size(), m_monitorList.size());
|
beginInsertRows(index, m_monitorList.size(), m_monitorList.size());
|
||||||
m_monitorList.append(Monitor { i, availableVirtualGeometry, QApplication::screens().at(i) });
|
m_monitorList.append(Monitor { i, geometry });
|
||||||
endInsertRows();
|
endInsertRows();
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@ -190,14 +163,8 @@ void MonitorListModel::loadMonitors()
|
|||||||
if (screen->geometry().width() == 0 || screen->geometry().height() == 0)
|
if (screen->geometry().width() == 0 || screen->geometry().height() == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
QRect availableVirtualGeometry(
|
|
||||||
screen->geometry().x() + offsetX,
|
|
||||||
screen->geometry().y() + offsetY,
|
|
||||||
screen->geometry().width(),
|
|
||||||
screen->geometry().height());
|
|
||||||
|
|
||||||
beginInsertRows(index, m_monitorList.size(), m_monitorList.size());
|
beginInsertRows(index, m_monitorList.size(), m_monitorList.size());
|
||||||
m_monitorList.append(Monitor { i, availableVirtualGeometry, screen });
|
m_monitorList.append(Monitor { i, screen->geometry() });
|
||||||
endInsertRows();
|
endInsertRows();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -251,7 +218,7 @@ void MonitorListModel::closeWallpaper(const QString& appID)
|
|||||||
* \brief MonitorListModel::getAbsoluteDesktopSize
|
* \brief MonitorListModel::getAbsoluteDesktopSize
|
||||||
* \return
|
* \return
|
||||||
*/
|
*/
|
||||||
QRect MonitorListModel::getAbsoluteDesktopSize() const
|
QRect MonitorListModel::absoluteDesktopSize() const
|
||||||
{
|
{
|
||||||
auto* app = static_cast<QApplication*>(QGuiApplication::instance());
|
auto* app = static_cast<QApplication*>(QGuiApplication::instance());
|
||||||
return app->screens().at(0)->availableVirtualGeometry();
|
return app->screens().at(0)->availableVirtualGeometry();
|
||||||
@ -283,7 +250,7 @@ void MonitorListModel::setWallpaperMonitor(const std::shared_ptr<ScreenPlayWallp
|
|||||||
std::optional<QString> MonitorListModel::getAppIDByMonitorIndex(const int index) const
|
std::optional<QString> MonitorListModel::getAppIDByMonitorIndex(const int index) const
|
||||||
{
|
{
|
||||||
for (auto& monitor : m_monitorList) {
|
for (auto& monitor : m_monitorList) {
|
||||||
if (monitor.m_number == index && monitor.m_activeWallpaper) {
|
if (monitor.m_index == index && monitor.m_activeWallpaper) {
|
||||||
return { monitor.m_activeWallpaper->appID() };
|
return { monitor.m_activeWallpaper->appID() };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,18 +58,15 @@ namespace ScreenPlay {
|
|||||||
struct Monitor {
|
struct Monitor {
|
||||||
|
|
||||||
Monitor(
|
Monitor(
|
||||||
const int number,
|
const int index,
|
||||||
const QRect& availableGeometry,
|
const QRect& geometry)
|
||||||
QScreen* screen)
|
|
||||||
{
|
{
|
||||||
m_number = number;
|
m_index = index;
|
||||||
m_availableGeometry = availableGeometry;
|
m_geometry = geometry;
|
||||||
m_screen = screen;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect m_availableGeometry;
|
int m_index { 0 };
|
||||||
int m_number { 0 };
|
QRect m_geometry;
|
||||||
QScreen* m_screen { nullptr };
|
|
||||||
std::shared_ptr<ScreenPlayWallpaper> m_activeWallpaper { nullptr };
|
std::shared_ptr<ScreenPlayWallpaper> m_activeWallpaper { nullptr };
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,15 +78,8 @@ public:
|
|||||||
|
|
||||||
enum class MonitorRole {
|
enum class MonitorRole {
|
||||||
AppID = Qt::UserRole,
|
AppID = Qt::UserRole,
|
||||||
MonitorID,
|
Index,
|
||||||
Name,
|
|
||||||
Size,
|
|
||||||
AvailableGeometry,
|
|
||||||
AvailableVirtualGeometry,
|
|
||||||
Number,
|
|
||||||
Geometry,
|
Geometry,
|
||||||
Model,
|
|
||||||
Manufacturer,
|
|
||||||
PreviewImage,
|
PreviewImage,
|
||||||
InstalledType,
|
InstalledType,
|
||||||
};
|
};
|
||||||
@ -114,7 +104,7 @@ public slots:
|
|||||||
void reset();
|
void reset();
|
||||||
void clearActiveWallpaper();
|
void clearActiveWallpaper();
|
||||||
void closeWallpaper(const QString& appID);
|
void closeWallpaper(const QString& appID);
|
||||||
QRect getAbsoluteDesktopSize() const;
|
QRect absoluteDesktopSize() const;
|
||||||
|
|
||||||
void screenAdded(QScreen* screen)
|
void screenAdded(QScreen* screen)
|
||||||
{
|
{
|
||||||
|
@ -83,22 +83,21 @@ void ScreenPlayManager::init(
|
|||||||
|
|
||||||
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
||||||
m_websocketServer = std::make_unique<QWebSocketServer>(QStringLiteral("ScreenPlayWebSocket"), QWebSocketServer::SslMode::NonSecureMode);
|
m_websocketServer = std::make_unique<QWebSocketServer>(QStringLiteral("ScreenPlayWebSocket"), QWebSocketServer::SslMode::NonSecureMode);
|
||||||
const bool success = m_websocketServer->listen(QHostAddress::Any, m_webSocketPort);
|
const bool success = m_websocketServer->listen(QHostAddress::Any, m_webSocketPort);
|
||||||
qInfo() << "Open Websocket:" << success << "port:" <<m_webSocketPort;
|
qInfo() << "Open Websocket:" << success << "port:" << m_webSocketPort;
|
||||||
QObject::connect(m_websocketServer.get(), &QWebSocketServer::newConnection, this, [this]() {
|
QObject::connect(m_websocketServer.get(), &QWebSocketServer::newConnection, this, [this]() {
|
||||||
qInfo() << "New Websocket Connection";
|
qInfo() << "New Websocket Connection";
|
||||||
auto* socket = m_websocketServer->nextPendingConnection();
|
auto* socket = m_websocketServer->nextPendingConnection();
|
||||||
QObject::connect(socket, &QWebSocket::textMessageReceived, this, [this](const QString &message) {
|
QObject::connect(socket, &QWebSocket::textMessageReceived, this, [this](const QString& message) {
|
||||||
qInfo() << "Message:" << message;
|
qInfo() << "Message:" << message;
|
||||||
});
|
});
|
||||||
QObject::connect(socket, &QWebSocket::disconnected, this, [this,socket]() {
|
QObject::connect(socket, &QWebSocket::disconnected, this, [this, socket]() {
|
||||||
m_connections.removeOne(socket);
|
m_connections.removeOne(socket);
|
||||||
qInfo() << "Disconnected connection count: " << m_connections.count();
|
qInfo() << "Disconnected connection count: " << m_connections.count();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
m_connections.push_back(socket);
|
m_connections.push_back(socket);
|
||||||
// socket->flush();
|
// socket->flush();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,8 +149,8 @@ bool ScreenPlayManager::createWallpaper(
|
|||||||
const QString path = QUrl::fromUserInput(absoluteStoragePath).toLocalFile();
|
const QString path = QUrl::fromUserInput(absoluteStoragePath).toLocalFile();
|
||||||
const QString appID = ScreenPlayUtil::generateRandomString();
|
const QString appID = ScreenPlayUtil::generateRandomString();
|
||||||
|
|
||||||
if(m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE){
|
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
||||||
if(m_connections.empty())
|
if (m_connections.empty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
QJsonObject msg;
|
QJsonObject msg;
|
||||||
@ -206,11 +205,11 @@ bool ScreenPlayManager::createWallpaper(
|
|||||||
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::requestSave, this, &ScreenPlayManager::requestSaveProfiles);
|
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::requestSave, this, &ScreenPlayManager::requestSaveProfiles);
|
||||||
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::requestClose, this, &ScreenPlayManager::removeWallpaper);
|
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::requestClose, this, &ScreenPlayManager::removeWallpaper);
|
||||||
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::error, this, &ScreenPlayManager::displayErrorPopup);
|
QObject::connect(wallpaper.get(), &ScreenPlayWallpaper::error, this, &ScreenPlayManager::displayErrorPopup);
|
||||||
if(m_settings->desktopEnvironment() != Settings::DesktopEnvironment::KDE){
|
if (m_settings->desktopEnvironment() != Settings::DesktopEnvironment::KDE) {
|
||||||
if (!wallpaper->start()) {
|
if (!wallpaper->start()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_screenPlayWallpapers.append(wallpaper);
|
m_screenPlayWallpapers.append(wallpaper);
|
||||||
m_monitorListModel->setWallpaperMonitor(wallpaper, monitorIndex);
|
m_monitorListModel->setWallpaperMonitor(wallpaper, monitorIndex);
|
||||||
increaseActiveWallpaperCounter();
|
increaseActiveWallpaperCounter();
|
||||||
@ -285,16 +284,15 @@ bool ScreenPlayManager::removeAllWallpapers()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE){
|
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::KDE) {
|
||||||
for(auto& connection : m_connections){
|
for (auto& connection : m_connections) {
|
||||||
QJsonObject obj;
|
QJsonObject obj;
|
||||||
obj.insert("command", "quit");
|
obj.insert("command", "quit");
|
||||||
connection->sendTextMessage(QJsonDocument(obj).toJson(QJsonDocument::Compact));
|
connection->sendTextMessage(QJsonDocument(obj).toJson(QJsonDocument::Compact));
|
||||||
connection->flush();
|
connection->flush();
|
||||||
connection->close();
|
connection->close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
emit requestSaveProfiles();
|
emit requestSaveProfiles();
|
||||||
|
|
||||||
@ -376,13 +374,30 @@ bool ScreenPlayManager::setWallpaperValueAtMonitorIndex(const int index, const Q
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set a wallpaper \a fillmode at a given \a index and converts the qml enum (int)
|
||||||
|
into the c++ enum class value.
|
||||||
|
*/
|
||||||
|
bool ScreenPlayManager::setWallpaperFillModeAtMonitorIndex(const int index, const int fillmode)
|
||||||
|
{
|
||||||
|
const auto fillModeTyped = static_cast<FillMode::FillMode>(fillmode);
|
||||||
|
|
||||||
|
if (auto appID = m_monitorListModel->getAppIDByMonitorIndex(index)) {
|
||||||
|
return setWallpaperValue(*appID, "fillmode", QVariant::fromValue<FillMode::FillMode>(fillModeTyped).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
qWarning() << "Could net get appID from m_monitorListModel!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Convenient function to set a \a value at a given \a index and \a key for all wallaper. For exmaple used to mute all wallpaper.
|
\brief Convenient function to set a \a value at a given \a index and \a key for all wallaper. For exmaple used to mute all wallpaper.
|
||||||
*/
|
*/
|
||||||
bool ScreenPlayManager::setAllWallpaperValue(const QString& key, const QString& value)
|
bool ScreenPlayManager::setAllWallpaperValue(const QString& key, const QString& value)
|
||||||
{
|
{
|
||||||
for (auto& wallpaper : m_screenPlayWallpapers) {
|
for (auto& wallpaper : m_screenPlayWallpapers) {
|
||||||
return setWallpaperValue(wallpaper->appID(), key, value);
|
if (!wallpaper->setWallpaperValue(key, value, true))
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -406,7 +421,7 @@ ScreenPlayWallpaper* ScreenPlayManager::getWallpaperByAppID(const QString& appID
|
|||||||
*/
|
*/
|
||||||
void ScreenPlayManager::newConnection()
|
void ScreenPlayManager::newConnection()
|
||||||
{
|
{
|
||||||
qInfo() << "[1/3] SDKConnection incomming";
|
qInfo() << "[1/4] SDKConnection incomming";
|
||||||
auto connection = std::make_unique<SDKConnection>(m_server->nextPendingConnection());
|
auto connection = std::make_unique<SDKConnection>(m_server->nextPendingConnection());
|
||||||
QObject::connect(connection.get(), &SDKConnection::requestRaise, this, &ScreenPlayManager::requestRaise);
|
QObject::connect(connection.get(), &SDKConnection::requestRaise, this, &ScreenPlayManager::requestRaise);
|
||||||
|
|
||||||
@ -433,7 +448,7 @@ void ScreenPlayManager::newConnection()
|
|||||||
|
|
||||||
for (int i = 0; i < m_screenPlayWallpapers.size(); ++i) {
|
for (int i = 0; i < m_screenPlayWallpapers.size(); ++i) {
|
||||||
if (m_screenPlayWallpapers.at(i)->appID() == matchingConnection->appID()) {
|
if (m_screenPlayWallpapers.at(i)->appID() == matchingConnection->appID()) {
|
||||||
qInfo() << "Matching Wallpaper found!";
|
qInfo() << "[3/4] Matching Wallpaper found!";
|
||||||
m_screenPlayWallpapers.at(i)->setSDKConnection(std::move(matchingConnection));
|
m_screenPlayWallpapers.at(i)->setSDKConnection(std::move(matchingConnection));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -441,7 +456,7 @@ void ScreenPlayManager::newConnection()
|
|||||||
|
|
||||||
for (int i = 0; i < m_screenPlayWidgets.size(); ++i) {
|
for (int i = 0; i < m_screenPlayWidgets.size(); ++i) {
|
||||||
if (m_screenPlayWidgets.at(i)->appID() == matchingConnection->appID()) {
|
if (m_screenPlayWidgets.at(i)->appID() == matchingConnection->appID()) {
|
||||||
qInfo() << "Matching Widget found!";
|
qInfo() << "[3/4] Matching Widget found!";
|
||||||
m_screenPlayWidgets.at(i)->setSDKConnection(std::move(matchingConnection));
|
m_screenPlayWidgets.at(i)->setSDKConnection(std::move(matchingConnection));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -468,9 +483,9 @@ bool ScreenPlayManager::removeWallpaper(const QString& appID)
|
|||||||
if (wallpaper->appID() != appID) {
|
if (wallpaper->appID() != appID) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(m_settings->desktopEnvironment() == Settings::DesktopEnvironment::Windows ||
|
|
||||||
m_settings->desktopEnvironment() == Settings::DesktopEnvironment::OSX)
|
if (m_settings->desktopEnvironment() == Settings::DesktopEnvironment::Windows || m_settings->desktopEnvironment() == Settings::DesktopEnvironment::OSX)
|
||||||
wallpaper->messageQuit();
|
wallpaper->messageKDECloseWallpaper();
|
||||||
|
|
||||||
qInfo() << "Remove wallpaper " << wallpaper->file() << "at monitor " << wallpaper->screenNumber();
|
qInfo() << "Remove wallpaper " << wallpaper->file() << "at monitor " << wallpaper->screenNumber();
|
||||||
|
|
||||||
@ -478,6 +493,8 @@ bool ScreenPlayManager::removeWallpaper(const QString& appID)
|
|||||||
// for shared_ptr to release the object.
|
// for shared_ptr to release the object.
|
||||||
m_monitorListModel->setWallpaperMonitor({}, wallpaper->screenNumber());
|
m_monitorListModel->setWallpaperMonitor({}, wallpaper->screenNumber());
|
||||||
|
|
||||||
|
wallpaper->close();
|
||||||
|
|
||||||
decreaseActiveWallpaperCounter();
|
decreaseActiveWallpaperCounter();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -507,7 +524,7 @@ bool ScreenPlayManager::removeWidget(const QString& appID)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
widget->messageQuit();
|
widget->close();
|
||||||
|
|
||||||
qInfo() << "Remove widget " << appID;
|
qInfo() << "Remove widget " << appID;
|
||||||
|
|
||||||
|
@ -116,6 +116,7 @@ public slots:
|
|||||||
|
|
||||||
bool requestProjectSettingsAtMonitorIndex(const int index);
|
bool requestProjectSettingsAtMonitorIndex(const int index);
|
||||||
bool setWallpaperValueAtMonitorIndex(const int index, const QString& key, const QString& value);
|
bool setWallpaperValueAtMonitorIndex(const int index, const QString& key, const QString& value);
|
||||||
|
bool setWallpaperFillModeAtMonitorIndex(const int index, const int fillmode);
|
||||||
bool setAllWallpaperValue(const QString& key, const QString& value);
|
bool setAllWallpaperValue(const QString& key, const QString& value);
|
||||||
bool setWallpaperValue(const QString& appID, const QString& key, const QString& value);
|
bool setWallpaperValue(const QString& appID, const QString& key, const QString& value);
|
||||||
ScreenPlayWallpaper* getWallpaperByAppID(const QString& appID) const;
|
ScreenPlayWallpaper* getWallpaperByAppID(const QString& appID) const;
|
||||||
|
@ -138,7 +138,7 @@ QJsonObject ScreenPlayWallpaper::getActiveSettingsJson()
|
|||||||
/*!
|
/*!
|
||||||
\brief Sends command quit to the wallpaper.
|
\brief Sends command quit to the wallpaper.
|
||||||
*/
|
*/
|
||||||
void ScreenPlayWallpaper::messageQuit()
|
void ScreenPlayWallpaper::close()
|
||||||
{
|
{
|
||||||
// When the wallpaper never connected, this is invalid
|
// When the wallpaper never connected, this is invalid
|
||||||
if (!m_connection) {
|
if (!m_connection) {
|
||||||
@ -146,9 +146,9 @@ void ScreenPlayWallpaper::messageQuit()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject obj;
|
if (m_connection->close()) {
|
||||||
obj.insert("command", "quit");
|
m_isExiting = true;
|
||||||
m_connection->sendMessage(QJsonDocument(obj).toJson(QJsonDocument::Compact));
|
}
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
\brief Prints the exit code if != 0.
|
\brief Prints the exit code if != 0.
|
||||||
@ -175,6 +175,9 @@ void ScreenPlayWallpaper::processError(QProcess::ProcessError error)
|
|||||||
*/
|
*/
|
||||||
bool ScreenPlayWallpaper::setWallpaperValue(const QString& key, const QString& value, const bool save)
|
bool ScreenPlayWallpaper::setWallpaperValue(const QString& key, const QString& value, const bool save)
|
||||||
{
|
{
|
||||||
|
if (m_isExiting)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (!m_connection) {
|
if (!m_connection) {
|
||||||
qWarning() << "Cannot set value for unconnected wallpaper!";
|
qWarning() << "Cannot set value for unconnected wallpaper!";
|
||||||
return false;
|
return false;
|
||||||
@ -208,8 +211,13 @@ bool ScreenPlayWallpaper::setWallpaperValue(const QString& key, const QString& v
|
|||||||
void ScreenPlayWallpaper::setSDKConnection(std::unique_ptr<SDKConnection> connection)
|
void ScreenPlayWallpaper::setSDKConnection(std::unique_ptr<SDKConnection> connection)
|
||||||
{
|
{
|
||||||
m_connection = std::move(connection);
|
m_connection = std::move(connection);
|
||||||
qInfo() << "[3/3] SDKConnection (Wallpaper) saved!";
|
qInfo() << "[4/4] SDKConnection (Wallpaper) saved!";
|
||||||
|
setIsConnected(true);
|
||||||
|
|
||||||
|
QObject::connect(m_connection.get(), &SDKConnection::disconnected, this, [this]() {
|
||||||
|
setIsConnected(false);
|
||||||
|
qInfo() << "disconnecetd;";
|
||||||
|
});
|
||||||
QTimer::singleShot(1000, this, [this]() {
|
QTimer::singleShot(1000, this, [this]() {
|
||||||
if (playbackRate() != 1.0) {
|
if (playbackRate() != 1.0) {
|
||||||
setWallpaperValue("playbackRate", QString::number(playbackRate()), false);
|
setWallpaperValue("playbackRate", QString::number(playbackRate()), false);
|
||||||
@ -240,9 +248,15 @@ void ScreenPlayWallpaper::replace(
|
|||||||
const InstalledType::InstalledType type,
|
const InstalledType::InstalledType type,
|
||||||
const bool checkWallpaperVisible)
|
const bool checkWallpaperVisible)
|
||||||
{
|
{
|
||||||
if (!m_connection)
|
|
||||||
|
if (m_isExiting)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!m_connection) {
|
||||||
|
qWarning() << "Cannot replace for unconnected wallpaper!";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
m_previewImage = previewImage;
|
m_previewImage = previewImage;
|
||||||
m_type = type;
|
m_type = type;
|
||||||
m_fillMode = fillMode;
|
m_fillMode = fillMode;
|
||||||
|
@ -44,14 +44,16 @@
|
|||||||
#include "globalvariables.h"
|
#include "globalvariables.h"
|
||||||
#include "projectsettingslistmodel.h"
|
#include "projectsettingslistmodel.h"
|
||||||
#include "sdkconnection.h"
|
#include "sdkconnection.h"
|
||||||
#include "util.h"
|
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
namespace ScreenPlay {
|
namespace ScreenPlay {
|
||||||
|
|
||||||
class ScreenPlayWallpaper : public QObject {
|
class ScreenPlayWallpaper : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
Q_PROPERTY(bool isConnected READ isConnected WRITE setIsConnected NOTIFY isConnectedChanged)
|
||||||
|
|
||||||
Q_PROPERTY(QVector<int> screenNumber READ screenNumber WRITE setScreenNumber NOTIFY screenNumberChanged)
|
Q_PROPERTY(QVector<int> screenNumber READ screenNumber WRITE setScreenNumber NOTIFY screenNumberChanged)
|
||||||
|
|
||||||
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged)
|
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged)
|
||||||
@ -85,7 +87,6 @@ public:
|
|||||||
const std::shared_ptr<Settings>& settings,
|
const std::shared_ptr<Settings>& settings,
|
||||||
QObject* parent = nullptr);
|
QObject* parent = nullptr);
|
||||||
|
|
||||||
|
|
||||||
bool start();
|
bool start();
|
||||||
|
|
||||||
void replace(
|
void replace(
|
||||||
@ -112,6 +113,7 @@ public:
|
|||||||
bool isLooping() const { return m_isLooping; }
|
bool isLooping() const { return m_isLooping; }
|
||||||
ProjectSettingsListModel* getProjectSettingsListModel() { return &m_projectSettingsListModel; }
|
ProjectSettingsListModel* getProjectSettingsListModel() { return &m_projectSettingsListModel; }
|
||||||
float playbackRate() const { return m_playbackRate; }
|
float playbackRate() const { return m_playbackRate; }
|
||||||
|
bool isConnected() const { return m_isConnected; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void screenNumberChanged(QVector<int> screenNumber);
|
void screenNumberChanged(QVector<int> screenNumber);
|
||||||
@ -125,13 +127,16 @@ signals:
|
|||||||
void volumeChanged(float volume);
|
void volumeChanged(float volume);
|
||||||
void isLoopingChanged(bool isLooping);
|
void isLoopingChanged(bool isLooping);
|
||||||
void playbackRateChanged(float playbackRate);
|
void playbackRateChanged(float playbackRate);
|
||||||
|
void messageKDECloseWallpaper();
|
||||||
|
|
||||||
void requestSave();
|
void requestSave();
|
||||||
void requestClose(const QString& appID);
|
void requestClose(const QString& appID);
|
||||||
void error(const QString& msg);
|
void error(const QString& msg);
|
||||||
|
|
||||||
|
void isConnectedChanged(bool isConnected);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void messageQuit();
|
void close();
|
||||||
void processExit(int exitCode, QProcess::ExitStatus exitStatus);
|
void processExit(int exitCode, QProcess::ExitStatus exitStatus);
|
||||||
void processError(QProcess::ProcessError error);
|
void processError(QProcess::ProcessError error);
|
||||||
bool setWallpaperValue(const QString& key, const QString& value, const bool save = false);
|
bool setWallpaperValue(const QString& key, const QString& value, const bool save = false);
|
||||||
@ -229,6 +234,14 @@ public slots:
|
|||||||
emit playbackRateChanged(m_playbackRate);
|
emit playbackRateChanged(m_playbackRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setIsConnected(bool isConnected)
|
||||||
|
{
|
||||||
|
if (m_isConnected == isConnected)
|
||||||
|
return;
|
||||||
|
m_isConnected = isConnected;
|
||||||
|
emit isConnectedChanged(m_isConnected);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::shared_ptr<GlobalVariables> m_globalVariables;
|
const std::shared_ptr<GlobalVariables> m_globalVariables;
|
||||||
std::unique_ptr<SDKConnection> m_connection;
|
std::unique_ptr<SDKConnection> m_connection;
|
||||||
@ -248,5 +261,9 @@ private:
|
|||||||
float m_playbackRate { 1.0f };
|
float m_playbackRate { 1.0f };
|
||||||
QTimer m_pingAliveTimer;
|
QTimer m_pingAliveTimer;
|
||||||
QStringList m_appArgumentsList;
|
QStringList m_appArgumentsList;
|
||||||
|
bool m_isConnected { false };
|
||||||
|
// There are still cases where we can access the current item
|
||||||
|
// while exiting. This flag is to ignore all setWallpaperValue calls
|
||||||
|
bool m_isExiting { false };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -73,11 +73,15 @@ bool ScreenPlayWidget::start()
|
|||||||
/*!
|
/*!
|
||||||
\brief Sends command quit to the widget.
|
\brief Sends command quit to the widget.
|
||||||
*/
|
*/
|
||||||
void ScreenPlayWidget::messageQuit()
|
void ScreenPlayWidget::close()
|
||||||
{
|
{
|
||||||
QJsonObject obj;
|
// When the wallpaper never connected, this is invalid
|
||||||
obj.insert("command", "quit");
|
if (!m_connection) {
|
||||||
m_connection->sendMessage(QJsonDocument(obj).toJson(QJsonDocument::Compact));
|
qCritical() << "Cannot request quit, widget never connected!";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_connection->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -85,7 +85,7 @@ public:
|
|||||||
ProjectSettingsListModel* getProjectSettingsListModel() { return &m_projectSettingsListModel; }
|
ProjectSettingsListModel* getProjectSettingsListModel() { return &m_projectSettingsListModel; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void messageQuit();
|
void close();
|
||||||
QJsonObject getActiveSettingsJson();
|
QJsonObject getActiveSettingsJson();
|
||||||
|
|
||||||
void setPreviewImage(QString previewImage)
|
void setPreviewImage(QString previewImage)
|
||||||
|
@ -17,6 +17,8 @@ ScreenPlay::SDKConnection::SDKConnection(QLocalSocket* socket, QObject* parent)
|
|||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
{
|
{
|
||||||
m_socket = socket;
|
m_socket = socket;
|
||||||
|
|
||||||
|
connect(m_socket, &QLocalSocket::disconnected, this, &SDKConnection::disconnected);
|
||||||
connect(m_socket, &QLocalSocket::readyRead, this, &SDKConnection::readyRead);
|
connect(m_socket, &QLocalSocket::readyRead, this, &SDKConnection::readyRead);
|
||||||
connect(m_socket, &QLocalSocket::errorOccurred, this, [](QLocalSocket::LocalSocketError socketError) {
|
connect(m_socket, &QLocalSocket::errorOccurred, this, [](QLocalSocket::LocalSocketError socketError) {
|
||||||
qInfo() << "Localsocket error:" << socketError;
|
qInfo() << "Localsocket error:" << socketError;
|
||||||
@ -62,7 +64,7 @@ void ScreenPlay::SDKConnection::readyRead()
|
|||||||
qCritical() << "Wallpaper type not found. Expected: " << ScreenPlayUtil::getAvailableTypes() << " got: " << msg;
|
qCritical() << "Wallpaper type not found. Expected: " << ScreenPlayUtil::getAvailableTypes() << " got: " << msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
qInfo() << "[2/3] SDKConnection parsed with type: " << m_type << " connected with AppID:" << m_appID;
|
qInfo() << "[2/4] SDKConnection parsed with type: " << m_type << " connected with AppID:" << m_appID;
|
||||||
|
|
||||||
emit appConnected(this);
|
emit appConnected(this);
|
||||||
|
|
||||||
@ -92,6 +94,10 @@ void ScreenPlay::SDKConnection::readyRead()
|
|||||||
*/
|
*/
|
||||||
bool ScreenPlay::SDKConnection::sendMessage(const QByteArray& message)
|
bool ScreenPlay::SDKConnection::sendMessage(const QByteArray& message)
|
||||||
{
|
{
|
||||||
|
if (!m_socket) {
|
||||||
|
qWarning() << "Unable to write to unconnected socket wit message: " << message;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
m_socket->write(message);
|
m_socket->write(message);
|
||||||
return m_socket->waitForBytesWritten();
|
return m_socket->waitForBytesWritten();
|
||||||
}
|
}
|
||||||
@ -102,28 +108,15 @@ bool ScreenPlay::SDKConnection::sendMessage(const QByteArray& message)
|
|||||||
*/
|
*/
|
||||||
bool ScreenPlay::SDKConnection::close()
|
bool ScreenPlay::SDKConnection::close()
|
||||||
{
|
{
|
||||||
|
if (!m_socket) {
|
||||||
|
qWarning() << "Cannot close invalid socket.";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
qInfo() << "Close " << m_type << m_appID << m_socket->state();
|
qInfo() << "Close " << m_type << m_appID << m_socket->state();
|
||||||
|
m_socket->disconnectFromServer();
|
||||||
|
m_socket->close();
|
||||||
|
|
||||||
QJsonObject obj;
|
return m_socket->state() == QLocalSocket::UnconnectedState;
|
||||||
obj.insert("command", QJsonValue("quit"));
|
|
||||||
QByteArray command = QJsonDocument(obj).toJson();
|
|
||||||
|
|
||||||
m_socket->write(command);
|
|
||||||
if (!m_socket->waitForBytesWritten()) {
|
|
||||||
qWarning("Faild to send quit command to app");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_socket->state() == QLocalSocket::ConnectedState) {
|
|
||||||
m_socket->disconnectFromServer();
|
|
||||||
m_socket->close();
|
|
||||||
|
|
||||||
qInfo() << "### Destroy APPID:\t " << m_appID << " State: " << m_socket->state();
|
|
||||||
} else {
|
|
||||||
qWarning() << "Cannot disconnect app " << m_appID << " with the state:" << m_socket->state();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,7 @@ public:
|
|||||||
QString type() const { return m_type; }
|
QString type() const { return m_type; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void disconnected();
|
||||||
void requestCloseAt(int at);
|
void requestCloseAt(int at);
|
||||||
void appIDChanged(QString appID);
|
void appIDChanged(QString appID);
|
||||||
void monitorChanged(QVector<int> monitor);
|
void monitorChanged(QVector<int> monitor);
|
||||||
|
@ -117,6 +117,7 @@ public:
|
|||||||
enum class Language {
|
enum class Language {
|
||||||
En_US,
|
En_US,
|
||||||
De_DE,
|
De_DE,
|
||||||
|
Pl_PL,
|
||||||
It_IT,
|
It_IT,
|
||||||
Ru_RU,
|
Ru_RU,
|
||||||
Fr_FR,
|
Fr_FR,
|
||||||
|
@ -270,7 +270,7 @@ void Wizards::createGifWallpaper(
|
|||||||
const QString& file,
|
const QString& file,
|
||||||
const QVector<QString>& tags)
|
const QVector<QString>& tags)
|
||||||
{
|
{
|
||||||
QtConcurrent::run([=]() {
|
auto con = QtConcurrent::run([=]() {
|
||||||
std::optional<QString> folderName = createTemporaryFolder();
|
std::optional<QString> folderName = createTemporaryFolder();
|
||||||
|
|
||||||
if (!folderName.has_value()) {
|
if (!folderName.has_value()) {
|
||||||
|
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -680,10 +680,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -692,6 +688,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -758,15 +758,29 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@ -1005,10 +1019,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -1049,6 +1059,11 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Forum</translation>
|
<translation>Forum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Fehler Liste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Beitragen</translation>
|
<translation>Beitragen</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Workshop</translation>
|
<translation>Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -488,98 +488,98 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">Analysiere Video...</translation>
|
<translation type="unfinished">AnalyseVideo...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">Erzeuge Vorschaubild...</translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Erzeuge Vorschau-Miniaturbild...</translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">Generiere ein 5-Sekunden-Vorschau-Video...</translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished">Generiere Vorschau-Gif...</translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Konvertiere Audio...</translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Video wird umgewandelt... Das kann etwas dauern!</translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">Konvertieren nicht erfolgreich!</translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Analyse des Videos schlug Fehl!</translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Importiere ein Video zu ein Wallpaper</translation>
|
<translation type="unfinished">Import a video to a wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Generiere Vorschau-Video...</translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">Name (erforderlich!)</translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Beschreibung</translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">YouTube-URL</translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished">Abbrechen</translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Speichern</translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Speicher Wallpaper...</translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Datei auswählen</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -682,10 +682,6 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation>Die Auswahl entfernen</translation>
|
<translation>Die Auswahl entfernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation>Entferne </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation>Hintergründe</translation>
|
<translation>Hintergründe</translation>
|
||||||
@ -694,6 +690,10 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation>Widgets</translation>
|
<translation>Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -760,16 +760,31 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Einstellungen</translation>
|
<translation>Einstellungen</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation>Konfiguriere aktive Wallpaper oder Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation>Keine aktiven Wallpaper oder Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1007,10 +1022,6 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Version</translation>
|
<translation>Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation>ScreenPlay-Build-Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation>Changelog öffnen</translation>
|
<translation>Changelog öffnen</translation>
|
||||||
@ -1051,6 +1062,12 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation>Datenschutz</translation>
|
<translation>Datenschutz</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1067,15 +1084,15 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1182,11 +1199,11 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1577,7 +1594,7 @@ Bitte Konfiguriere deine Wallpaper noch erneut</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -5,15 +5,15 @@
|
|||||||
<name>ColorPicker</name>
|
<name>ColorPicker</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Red</source>
|
<source>Red</source>
|
||||||
<translation type="unfinished">Red</translation>
|
<translation>Rojo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Green</source>
|
<source>Green</source>
|
||||||
<translation type="unfinished">Green</translation>
|
<translation>Verde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Blue</source>
|
<source>Blue</source>
|
||||||
<translation type="unfinished">Blue</translation>
|
<translation>Azul</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>RGB</source>
|
<source>RGB</source>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>V:</source>
|
<source>V:</source>
|
||||||
<translation type="unfinished">V:</translation>
|
<translation>V:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Alpha:</source>
|
<source>Alpha:</source>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
<name>Community</name>
|
<name>Community</name>
|
||||||
<message>
|
<message>
|
||||||
<source>News</source>
|
<source>News</source>
|
||||||
<translation type="unfinished">News</translation>
|
<translation>Noticias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wiki</source>
|
<source>Wiki</source>
|
||||||
@ -68,33 +68,33 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation type="unfinished">Forum</translation>
|
<translation>Foro</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation type="unfinished">Issue List</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation type="unfinished">Contribute</translation>
|
<translation>Contribuir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation type="unfinished">Steam Workshop</translation>
|
<translation type="unfinished">Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Open in browser</source>
|
<source>Open in browser</source>
|
||||||
<translation type="unfinished">Open in browser</translation>
|
<translation>Abrir en el navegador</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CreateWallpaperInit</name>
|
<name>CreateWallpaperInit</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import any video type</source>
|
<source>Import any video type</source>
|
||||||
<translation type="unfinished">Import any video type</translation>
|
<translation>Importar cualquier tipo de vídeo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Depending on your PC configuration it is better to convert your wallpaper to a specific video codec. If both have bad performance you can also try a QML wallpaper! Supported video formats are:
|
<source>Depending on your PC configuration it is better to convert your wallpaper to a specific video codec. If both have bad performance you can also try a QML wallpaper! Supported video formats are:
|
||||||
@ -106,19 +106,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Set your preffered video codec:</source>
|
<source>Set your preffered video codec:</source>
|
||||||
<translation type="unfinished">Set your preffered video codec:</translation>
|
<translation>Establezca su códec de vídeo predeterminado:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Quality slider. Lower value means better quality.</source>
|
<source>Quality slider. Lower value means better quality.</source>
|
||||||
<translation type="unfinished">Quality slider. Lower value means better quality.</translation>
|
<translation>Deslizador de calidad. Un valor más bajo significa una mejor calidad.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">Open Documentation</translation>
|
<translation>Abrir documentación</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Select file</translation>
|
<translation>Seleccionar archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -164,7 +164,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
<translation>Convirtiendo vídeo... ¡Esto puede tardar un poco!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
@ -192,7 +192,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">Youtube URL</translation>
|
<translation>URL de YouTube</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
@ -200,7 +200,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Save</translation>
|
<translation>Guardar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
@ -215,7 +215,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Playback rate</source>
|
<source>Playback rate</source>
|
||||||
<translation type="unfinished">Playback rate</translation>
|
<translation>Velocidad de reproducción</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Current Video Time</source>
|
<source>Current Video Time</source>
|
||||||
@ -292,7 +292,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>General</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpaper name</source>
|
<source>Wallpaper name</source>
|
||||||
@ -300,11 +300,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By</source>
|
<source>Created By</source>
|
||||||
<translation type="unfinished">Created By</translation>
|
<translation>Creado por</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation type="unfinished">Tags</translation>
|
<translation>Etiquetas</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -315,11 +315,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>General</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpaper name</source>
|
<source>Wallpaper name</source>
|
||||||
<translation type="unfinished">Wallpaper name</translation>
|
<translation>Nombre del fondo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By</source>
|
<source>Created By</source>
|
||||||
@ -335,14 +335,14 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Preview Image</source>
|
<source>Preview Image</source>
|
||||||
<translation type="unfinished">Preview Image</translation>
|
<translation>Imagen de previsualización</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>HTMLWidget</name>
|
<name>HTMLWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Create a HTML widget</source>
|
<source>Create a HTML widget</source>
|
||||||
<translation type="unfinished">Create a HTML widget</translation>
|
<translation>Crear un widget HTML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
@ -350,7 +350,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Widget name</source>
|
<source>Widget name</source>
|
||||||
<translation type="unfinished">Widget name</translation>
|
<translation>Nombre del widget</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created by</source>
|
<source>Created by</source>
|
||||||
@ -451,7 +451,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Save</translation>
|
<translation>Guardar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
@ -462,7 +462,7 @@
|
|||||||
<name>ImportWebmInit</name>
|
<name>ImportWebmInit</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .webm video</source>
|
<source>Import a .webm video</source>
|
||||||
<translation type="unfinished">Import a .webm video</translation>
|
<translation>Importar un vídeo .webm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from 'ideo import and convert (all types)' you can also convert via the free and open source HandBrake!</source>
|
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from 'ideo import and convert (all types)' you can also convert via the free and open source HandBrake!</source>
|
||||||
@ -509,7 +509,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
@ -533,11 +533,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
@ -545,7 +545,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
@ -560,19 +560,19 @@
|
|||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
@ -637,7 +637,7 @@
|
|||||||
<name>LicenseSelector</name>
|
<name>LicenseSelector</name>
|
||||||
<message>
|
<message>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation type="unfinished">License</translation>
|
<translation>Licencia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material for any purpose, even commercially.</source>
|
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material for any purpose, even commercially.</source>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation type="unfinished">Remove selected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation type="unfinished">Wallpapers</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation type="unfinished">Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -21,7 +21,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>HSV</source>
|
<source>HSV</source>
|
||||||
<translation type="unfinished">HSV</translation>
|
<translation>TSV</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>R:</source>
|
<source>R:</source>
|
||||||
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Forum</translation>
|
<translation>Forum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Liste des problèmes</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Contribuer</translation>
|
<translation>Contribuer</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Workshop</translation>
|
<translation>Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -265,15 +265,15 @@
|
|||||||
<name>Forum</name>
|
<name>Forum</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source>
|
<source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source>
|
||||||
<translation type="unfinished">Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</translation>
|
<translation>Téléchargez manuellement des fond d'écran et des widgets depuis notre forum. Si vous voulez télécharger du contenu Steam Workshop, vous devez installer ScreenPlay via Steam.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Install Steam Version</source>
|
<source>Install Steam Version</source>
|
||||||
<translation type="unfinished">Install Steam Version</translation>
|
<translation>Installer la version Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open In Browser</source>
|
<source>Open In Browser</source>
|
||||||
<translation type="unfinished">Open In Browser</translation>
|
<translation>Ouvrir dans le navigateur</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -365,7 +365,7 @@
|
|||||||
<name>HeadlineSection</name>
|
<name>HeadlineSection</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Headline Section</source>
|
<source>Headline Section</source>
|
||||||
<translation type="unfinished">Headline Section</translation>
|
<translation>Section de titre</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -427,7 +427,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Import a video to a wallpaper</translation>
|
<translation>Convertir une vidéo en fond d'écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
@ -466,15 +466,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from 'ideo import and convert (all types)' you can also convert via the free and open source HandBrake!</source>
|
<source>When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from 'ideo import and convert (all types)' you can also convert via the free and open source HandBrake!</source>
|
||||||
<translation type="unfinished">When importing webm we can skip the long conversion. When you get unsatisfying results with the ScreenPlay importer from 'ideo import and convert (all types)' you can also convert via the free and open source HandBrake!</translation>
|
<translation>Lors de l'importation de webm, vous pouvez ignorer l'étape de conversion. Lorsque vous obtenez des résultats insatisfaisants avec l'importateur de ScreenPlay via 'import et conversion de vidéo (tous types)' vous pouvez convertir au format webm via le logiciel HandBrake. Il est gratuit et open source!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source>
|
<source>Invalid file type. Must be valid VP8 or VP9 (*.webm)!</source>
|
||||||
<translation type="unfinished">Invalid file type. Must be valid VP8 or VP9 (*.webm)!</translation>
|
<translation>Type de fichier invalide. Doit être un VP8 ou VP9 (*.webm)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.webm file here or use 'Select file' below.</source>
|
<source>Drop a *.webm file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished">Drop a *.webm file here or use 'Select file' below.</translation>
|
<translation>Déposez un fichier *.webm ici ou utilisez 'Sélectionner un fichier' ci-dessous.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
@ -489,39 +489,39 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">AnalyseVidéo...</translation>
|
<translation type="unfinished">AnalyseVideo...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">Génération de l'image d'aperçu...</translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Génération de la miniature de l’aperçu...</translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">Génération d’une vidéo d’aperçu de 5 secondes...</translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Conversion de l’audio...</translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Erreur d'Analyse Vidéo !</translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
@ -529,11 +529,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Génération de la vidéo d'aperçu...</translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">Nom (requis!)</translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
@ -541,46 +541,46 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">URL Youtube </translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Enregistrer le fond d'écran</translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">Ouvrir la documentation</translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Sélectionner un fichier</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -595,7 +595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pull to refresh!</source>
|
<source>Pull to refresh!</source>
|
||||||
<translation type="unfinished">Pull to refresh!</translation>
|
<translation>Faire glisser pour actualiser!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Get more Wallpaper & Widgets via the Steam workshop!</source>
|
<source>Get more Wallpaper & Widgets via the Steam workshop!</source>
|
||||||
@ -645,7 +645,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You grant other to remix your work and change the license to their liking.</source>
|
<source>You grant other to remix your work and change the license to their liking.</source>
|
||||||
<translation type="unfinished">You grant other to remix your work and change the license to their liking.</translation>
|
<translation>Vous permettez aux autres utilisateurs de réutiliser et altérer votre travail et de changer la licence selon leur souhait.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material. You are not allowed to use it commercially! </source>
|
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material. You are not allowed to use it commercially! </source>
|
||||||
@ -657,7 +657,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You grant other to remix your work but it must remain under the GPLv3. We recommend this license for all code wallpaper!</source>
|
<source>You grant other to remix your work but it must remain under the GPLv3. We recommend this license for all code wallpaper!</source>
|
||||||
<translation type="unfinished">You grant other to remix your work but it must remain under the GPLv3. We recommend this license for all code wallpaper!</translation>
|
<translation>Vous permettez aux autres utilisateurs de réutiliser et altérer votre travail, mais il doit rester sous licence GPLv3. Nous recommandons cette licence pour tout les fonds d'écrans codé.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You do not share any rights and nobody is allowed to use or remix it (Not recommended). Can also used to credit work others.</source>
|
<source>You do not share any rights and nobody is allowed to use or remix it (Not recommended). Can also used to credit work others.</source>
|
||||||
@ -669,224 +669,239 @@
|
|||||||
<message>
|
<message>
|
||||||
<source>Your monitor setup changed!
|
<source>Your monitor setup changed!
|
||||||
Please configure your wallpaper again.</source>
|
Please configure your wallpaper again.</source>
|
||||||
<translation type="unfinished">Your monitor setup changed!
|
<translation>La configuration de votre écran a changé!
|
||||||
Please configure your wallpaper again.</translation>
|
Veuillez configurer votre fond d'écran à nouveau.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Monitors</name>
|
<name>Monitors</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpaper Configuration</source>
|
<source>Wallpaper Configuration</source>
|
||||||
<translation type="unfinished">Wallpaper Configuration</translation>
|
<translation>Configuration du fond d'écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation>Retirer l'écran sélectionné</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation>Fonds d’écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation>Widgets</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Set color</source>
|
<source>Set color</source>
|
||||||
<translation type="unfinished">Set color</translation>
|
<translation>Définir la couleur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Please choose a color</source>
|
<source>Please choose a color</source>
|
||||||
<translation type="unfinished">Please choose a color</translation>
|
<translation>Veuillez choisir une couleur</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Navigation</name>
|
<name>Navigation</name>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation type="unfinished">All</translation>
|
<translation>Tout</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Scenes</source>
|
<source>Scenes</source>
|
||||||
<translation type="unfinished">Scenes</translation>
|
<translation>Scènes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Videos</source>
|
<source>Videos</source>
|
||||||
<translation type="unfinished">Videos</translation>
|
<translation>Vidéos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation>Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Install Date Ascending</source>
|
<source>Install Date Ascending</source>
|
||||||
<translation type="unfinished">Install Date Ascending</translation>
|
<translation>Date d'installation croissante</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Install Date Descending</source>
|
<source>Install Date Descending</source>
|
||||||
<translation type="unfinished">Install Date Descending</translation>
|
<translation>Date d'installation décroissante</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source> Subscribed items: </source>
|
<source> Subscribed items: </source>
|
||||||
<translation type="unfinished"> Subscribed items: </translation>
|
<translation> Éléments souscrits : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Upload to the Steam Workshop</source>
|
<source>Upload to the Steam Workshop</source>
|
||||||
<translation type="unfinished">Upload to the Steam Workshop</translation>
|
<translation>Uploader sur le Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create</source>
|
<source>Create</source>
|
||||||
<translation type="unfinished">Create</translation>
|
<translation>Créer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Workshop</source>
|
<source>Workshop</source>
|
||||||
<translation type="unfinished">Workshop</translation>
|
<translation>Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Installed</source>
|
<source>Installed</source>
|
||||||
<translation type="unfinished">Installed</translation>
|
<translation>Installé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Community</source>
|
<source>Community</source>
|
||||||
<translation type="unfinished">Community</translation>
|
<translation>Communauté</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation>Paramètres</translation>
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Pause/Play all Wallpaper</source>
|
||||||
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PopupOffline</name>
|
<name>PopupOffline</name>
|
||||||
<message>
|
<message>
|
||||||
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
|
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
|
||||||
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
|
<translation>Vous devez exécuter Steam pour cela. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Back</source>
|
<source>Back</source>
|
||||||
<translation type="unfinished">Back</translation>
|
<translation>Précédent</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PopupSteamWorkshopAgreement</name>
|
<name>PopupSteamWorkshopAgreement</name>
|
||||||
<message>
|
<message>
|
||||||
<source>You Need to Agree To The Steam Subscriber Agreement First</source>
|
<source>You Need to Agree To The Steam Subscriber Agreement First</source>
|
||||||
<translation type="unfinished">You Need to Agree To The Steam Subscriber Agreement First</translation>
|
<translation>Vous devez d'abord accepter l'Accord de Souscription Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
|
<source>REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</source>
|
||||||
<translation type="unfinished">REQUIRES INTERNET CONNECTION AND FREE STEAM ACCOUNT TO ACTIVATE. Notice: Product offered subject to your acceptance of the Steam Subscriber Agreement (SSA). You must activate this product via the Internet by registering for a Steam account and accepting the SSA. Please see https://store.steampowered.com/subscriber_agreement/ to view the SSA prior to purchase. If you do not agree with the provisions of the SSA, you should return this game unopened to your retailer in accordance with their return policy.</translation>
|
<translation>REQUIÈRE UNE CONNEXION INTERNET ET UN COMPTE STEAM GRATUIT POUR L'ACTIVATION. Avertissement: Produit offert sous réserve de votre acceptation de l'Accord de Souscription Steam (ASS). Vous devez activer ce produit via Internet en vous enregistrant sur un compte Steam et en acceptant l'ASS. Veuillez consulter https://store.steampowered.com/subscriber_agreement/ pour consulter l'ASS avant l'achat. Si vous n'êtes pas d'accord avec les dispositions de l'ASS, vous devriez retourner ce jeu non ouvert à votre détaillant conformément à leur politique de retour.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>View The Steam Subscriber Agreement</source>
|
<source>View The Steam Subscriber Agreement</source>
|
||||||
<translation type="unfinished">View The Steam Subscriber Agreement</translation>
|
<translation>Voir l'Accord de Souscription Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Accept Steam Workshop Agreement</source>
|
<source>Accept Steam Workshop Agreement</source>
|
||||||
<translation type="unfinished">Accept Steam Workshop Agreement</translation>
|
<translation>Accepter l'Accord de Souscription Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMLWallpaper</name>
|
<name>QMLWallpaper</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Create a QML Wallpaper</source>
|
<source>Create a QML Wallpaper</source>
|
||||||
<translation type="unfinished">Create a QML Wallpaper</translation>
|
<translation>Créer un fond d'écran QML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>Général</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpaper name</source>
|
<source>Wallpaper name</source>
|
||||||
<translation type="unfinished">Wallpaper name</translation>
|
<translation>Nom du fond d'écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By</source>
|
<source>Created By</source>
|
||||||
<translation type="unfinished">Created By</translation>
|
<translation>Créé par</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Description</translation>
|
<translation>Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>License & Tags</source>
|
<source>License & Tags</source>
|
||||||
<translation type="unfinished">License & Tags</translation>
|
<translation>Licence & Tags</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Preview Image</source>
|
<source>Preview Image</source>
|
||||||
<translation type="unfinished">Preview Image</translation>
|
<translation>Image d'aperçu</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMLWidget</name>
|
<name>QMLWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Create a QML widget</source>
|
<source>Create a QML widget</source>
|
||||||
<translation type="unfinished">Create a QML widget</translation>
|
<translation>Créer un widget QML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>Général</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Widget name</source>
|
<source>Widget name</source>
|
||||||
<translation type="unfinished">Widget name</translation>
|
<translation>Nom du Widget</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created by</source>
|
<source>Created by</source>
|
||||||
<translation type="unfinished">Created by</translation>
|
<translation>Créé par</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation type="unfinished">Tags</translation>
|
<translation>Tags</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SaveNotification</name>
|
<name>SaveNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Profile saved successfully!</source>
|
<source>Profile saved successfully!</source>
|
||||||
<translation type="unfinished">Profile saved successfully!</translation>
|
<translation>Profil enregistré avec succès!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ScreenPlayItem</name>
|
<name>ScreenPlayItem</name>
|
||||||
<message>
|
<message>
|
||||||
<source>NEW</source>
|
<source>NEW</source>
|
||||||
<translation type="unfinished">NEW</translation>
|
<translation>NOUVEAU</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Search</name>
|
<name>Search</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Search for Wallpaper & Widgets</source>
|
<source>Search for Wallpaper & Widgets</source>
|
||||||
<translation type="unfinished">Search for Wallpaper & Widgets</translation>
|
<translation>Recherche de fond d'écran et de widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Settings</name>
|
<name>Settings</name>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>Général</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Autostart</source>
|
<source>Autostart</source>
|
||||||
<translation type="unfinished">Autostart</translation>
|
<translation>Démarrage automatique</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
<source>ScreenPlay will start with Windows and will setup your Desktop every time for you.</source>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1034,30 +1045,36 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
|
<source>If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</source>
|
||||||
<translation type="unfinished">If your ScreenPlay missbehaves this is a good way to look for answers. This shows all logs and warning during runtime.</translation>
|
<translation>Si ScreenPlay ne fonctionne pas correctement, c'est une bonne façon de chercher des réponses. Cela montre tous les logs et les avertissements émis pendant l'exécution.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show Logs</source>
|
<source>Show Logs</source>
|
||||||
<translation type="unfinished">Show Logs</translation>
|
<translation>Afficher les logs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Data Protection</source>
|
<source>Data Protection</source>
|
||||||
<translation type="unfinished">Data Protection</translation>
|
<translation>Protection des données</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
|
<source>We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</source>
|
||||||
<translation type="unfinished">We use you data very carefully to improve ScreenPlay. We do not sell or share this (anonymous) information with others!</translation>
|
<translation>Nous utilisons vos données exclusivement pour améliorer ScreenPlay. Nous ne vendons pas ou ne partageons pas ces données (anonyme) avec d'autres !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation>Confidentialité</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy text to clipboard</source>
|
<source>Copy text to clipboard</source>
|
||||||
<translation type="unfinished">Copy text to clipboard</translation>
|
<translation>Copier le texte dans le presse-papiers</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1068,47 +1085,47 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
<translation type="unfinished">GIF Wallpaper</translation>
|
<translation>Fond d'écran GIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>QML Wallpaper</source>
|
<source>QML Wallpaper</source>
|
||||||
<translation type="unfinished">QML Wallpaper</translation>
|
<translation>Fond d'écran QML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>HTML5 Wallpaper</source>
|
<source>HTML5 Wallpaper</source>
|
||||||
<translation type="unfinished">HTML5 Wallpaper</translation>
|
<translation>Fond d'écran HTML5</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Website Wallpaper</source>
|
<source>Website Wallpaper</source>
|
||||||
<translation type="unfinished">Website Wallpaper</translation>
|
<translation>Fond d'écran Site web</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>QML Widget</source>
|
<source>QML Widget</source>
|
||||||
<translation type="unfinished">QML Widget</translation>
|
<translation>Widget QML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>HTML Widget</source>
|
<source>HTML Widget</source>
|
||||||
<translation type="unfinished">HTML Widget</translation>
|
<translation>Widget HTML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Set Wallpaper</source>
|
<source>Set Wallpaper</source>
|
||||||
<translation type="unfinished">Set Wallpaper</translation>
|
<translation>Définir le fond d'écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Set Widget</source>
|
<source>Set Widget</source>
|
||||||
<translation type="unfinished">Set Widget</translation>
|
<translation>Définir le Widget</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Headline</source>
|
<source>Headline</source>
|
||||||
@ -1116,139 +1133,139 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select a Monitor to display the content</source>
|
<source>Select a Monitor to display the content</source>
|
||||||
<translation type="unfinished">Select a Monitor to display the content</translation>
|
<translation>Sélectionnez un écran pour afficher le contenu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Set Volume</source>
|
<source>Set Volume</source>
|
||||||
<translation type="unfinished">Set Volume</translation>
|
<translation>Régler le volume</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Fill Mode</source>
|
<source>Fill Mode</source>
|
||||||
<translation type="unfinished">Fill Mode</translation>
|
<translation>Mode de remplissage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Stretch</source>
|
<source>Stretch</source>
|
||||||
<translation type="unfinished">Stretch</translation>
|
<translation>Étirer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Fill</source>
|
<source>Fill</source>
|
||||||
<translation type="unfinished">Fill</translation>
|
<translation>Remplir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Contain</source>
|
<source>Contain</source>
|
||||||
<translation type="unfinished">Contain</translation>
|
<translation>Contenir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cover</source>
|
<source>Cover</source>
|
||||||
<translation type="unfinished">Cover</translation>
|
<translation>Couvrir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Scale-Down</source>
|
<source>Scale-Down</source>
|
||||||
<translation type="unfinished">Scale-Down</translation>
|
<translation>Réduire</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Size: </source>
|
<source>Size: </source>
|
||||||
<translation type="unfinished">Size: </translation>
|
<translation>Taille : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No description...</source>
|
<source>No description...</source>
|
||||||
<translation type="unfinished">No description...</translation>
|
<translation>Pas de description ...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click here if you like the content</source>
|
<source>Click here if you like the content</source>
|
||||||
<translation type="unfinished">Click here if you like the content</translation>
|
<translation>Cliquez ici si vous aimez le contenu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click here if you do not like the content</source>
|
<source>Click here if you do not like the content</source>
|
||||||
<translation type="unfinished">Click here if you do not like the content</translation>
|
<translation>Cliquez ici si vous n'aimez pas le contenu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Subscribtions: </source>
|
<source>Subscribtions: </source>
|
||||||
<translation type="unfinished">Subscribtions: </translation>
|
<translation>Abonnements : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open In Steam</source>
|
<source>Open In Steam</source>
|
||||||
<translation type="unfinished">Open In Steam</translation>
|
<translation>Ouvrir dans Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Subscribed!</source>
|
<source>Subscribed!</source>
|
||||||
<translation type="unfinished">Subscribed!</translation>
|
<translation>Abonné!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Subscribe</source>
|
<source>Subscribe</source>
|
||||||
<translation type="unfinished">Subscribe</translation>
|
<translation>S'abonner</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SteamNotAvailable</name>
|
<name>SteamNotAvailable</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Could not load steam integration!</source>
|
<source>Could not load steam integration!</source>
|
||||||
<translation type="unfinished">Could not load steam integration!</translation>
|
<translation>Impossible de charger l'intégration Steam!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SteamProfile</name>
|
<name>SteamProfile</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Back</source>
|
<source>Back</source>
|
||||||
<translation type="unfinished">Back</translation>
|
<translation>Précédent</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Forward</source>
|
<source>Forward</source>
|
||||||
<translation type="unfinished">Forward</translation>
|
<translation>Suivant</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SteamWorkshopStartPage</name>
|
<name>SteamWorkshopStartPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Loading</source>
|
<source>Loading</source>
|
||||||
<translation type="unfinished">Loading</translation>
|
<translation>Chargement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Download now!</source>
|
<source>Download now!</source>
|
||||||
<translation type="unfinished">Download now!</translation>
|
<translation>Télécharger maintenant!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Downloading...</source>
|
<source>Downloading...</source>
|
||||||
<translation type="unfinished">Downloading...</translation>
|
<translation>Téléchargement...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Details</source>
|
<source>Details</source>
|
||||||
<translation type="unfinished">Details</translation>
|
<translation>Détails</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open In Steam</source>
|
<source>Open In Steam</source>
|
||||||
<translation type="unfinished">Open In Steam</translation>
|
<translation>Ouvrir dans Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation type="unfinished">Profile</translation>
|
<translation>Profil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Upload</source>
|
<source>Upload</source>
|
||||||
<translation type="unfinished">Upload</translation>
|
<translation>Uploader</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search for Wallpaper and Widgets...</source>
|
<source>Search for Wallpaper and Widgets...</source>
|
||||||
<translation type="unfinished">Search for Wallpaper and Widgets...</translation>
|
<translation>Recherche de fond d'écran et de widgets...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Workshop in Steam</source>
|
<source>Open Workshop in Steam</source>
|
||||||
<translation type="unfinished">Open Workshop in Steam</translation>
|
<translation>Ouvrir le Workshop dans Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ranked By Vote</source>
|
<source>Ranked By Vote</source>
|
||||||
<translation type="unfinished">Ranked By Vote</translation>
|
<translation>Classé par vote</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Publication Date</source>
|
<source>Publication Date</source>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Forum</translation>
|
<translation>Forum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Lista Problemi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Contribuisci</translation>
|
<translation>Contribuisci</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Workshop</translation>
|
<translation>Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -489,98 +489,98 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">Analizza Video...</translation>
|
<translation type="unfinished">AnalyseVideo...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Generazione miniatura di anteprima...</translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">Generazione anteprima video di 5 secondi...</translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished">Generazione gif di anteprima...</translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Conversione Audio...</translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Conversione Video... Potrebbe richiedere un po' di tempo!</translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">Conversione Video ERRORE!</translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Analisi Video ERRORE!</translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Importa un video in uno sfondo</translation>
|
<translation type="unfinished">Import a video to a wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Generazione video di anteprima...</translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">Nome (obbligatorio)</translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Descrizione</translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">URL Youtube</translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished">Interrompi</translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Salva</translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Salva sfondo...</translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">Apri documentazione</translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Seleziona file</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation>Rimuovi selezionati</translation>
|
<translation>Rimuovi selezionati</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation>Rimuovi </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation>Sfondi</translation>
|
<translation>Sfondi</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation>Widgets</translation>
|
<translation>Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Impostazioni</translation>
|
<translation>Impostazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation>Configura Sfondi o Widgets attivi</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation>Nessuno Sfondo o Widget attivi</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Versione</translation>
|
<translation>Versione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation>Versione Build di ScreenPlay </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation>Apri Changelog</translation>
|
<translation>Apri Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation>Privacy</translation>
|
<translation>Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>게시판</translation>
|
<translation>게시판</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>이슈 목록</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation type="unfinished">Contribute</translation>
|
<translation type="unfinished">Contribute</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>스팀 창작마당</translation>
|
<translation>스팀 창작마당</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -493,27 +493,27 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
@ -541,15 +541,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
@ -560,27 +560,27 @@
|
|||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">문서 열기</translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">파일 선택</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation type="unfinished">Remove selected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation type="unfinished">Wallpapers</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation type="unfinished">Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Forum</translation>
|
<translation>Forum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Probleem lijst</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Bijdragen</translation>
|
<translation>Bijdragen</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Workshop</translation>
|
<translation>Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -110,7 +110,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Quality slider. Lower value means better quality.</source>
|
<source>Quality slider. Lower value means better quality.</source>
|
||||||
<translation type="unfinished">Quality slider. Lower value means better quality.</translation>
|
<translation>Kwaliteit schuifregelaar. Lagere waarde betekent betere kwaliteit.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
@ -118,18 +118,18 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Select file</translation>
|
<translation>Selecteer bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CreateWallpaperResult</name>
|
<name>CreateWallpaperResult</name>
|
||||||
<message>
|
<message>
|
||||||
<source>An error occurred!</source>
|
<source>An error occurred!</source>
|
||||||
<translation type="unfinished">An error occurred!</translation>
|
<translation>Er is een fout opgetreden!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy text to clipboard</source>
|
<source>Copy text to clipboard</source>
|
||||||
<translation type="unfinished">Copy text to clipboard</translation>
|
<translation>Kopieer tekst naar klembord</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Back to create and send an error report!</source>
|
<source>Back to create and send an error report!</source>
|
||||||
@ -144,94 +144,94 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">Generating preview image...</translation>
|
<translation>Voorbeeld afbeelding aan het genereren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
<translation>Voorbeeld miniatuurafbeelding aan het genereren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">Generating 5 second preview video...</translation>
|
<translation>5 seconden voorbeeldvideo aan het genereren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished">Generating preview gif...</translation>
|
<translation>Voorbeeld gif aan het genereren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Converting Audio...</translation>
|
<translation>Audio aan het converteren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
<translation>Video aan het converteren... Dit kan even duren!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">Converting Video ERROR!</translation>
|
<translation>Video Converteren FOUT!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Analyse Video ERROR!</translation>
|
<translation>Video Analyse FOUT!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Convert a video to a wallpaper</source>
|
<source>Convert a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Convert a video to a wallpaper</translation>
|
<translation>Converteer een video naar een achtergrond</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Generating preview video...</translation>
|
<translation>Voorbeeldvideo aan het genereren...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">Name (required!)</translation>
|
<translation>Naam (verplicht!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Description</translation>
|
<translation>Beschrijving</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">Youtube URL</translation>
|
<translation>Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished">Abort</translation>
|
<translation>Breek af</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Save</translation>
|
<translation>Sla op</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Save Wallpaper...</translation>
|
<translation>Sla achtergrond op...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DefaultVideoControls</name>
|
<name>DefaultVideoControls</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Volume</source>
|
<source>Volume</source>
|
||||||
<translation type="unfinished">Volume</translation>
|
<translation>Volume</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Playback rate</source>
|
<source>Playback rate</source>
|
||||||
<translation type="unfinished">Playback rate</translation>
|
<translation>Afspeelsnelheid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Current Video Time</source>
|
<source>Current Video Time</source>
|
||||||
<translation type="unfinished">Current Video Time</translation>
|
<translation>Huidige Videotijd</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Fill Mode</source>
|
<source>Fill Mode</source>
|
||||||
<translation type="unfinished">Fill Mode</translation>
|
<translation>Vulmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Stretch</source>
|
<source>Stretch</source>
|
||||||
<translation type="unfinished">Stretch</translation>
|
<translation>Rek uit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Fill</source>
|
<source>Fill</source>
|
||||||
<translation type="unfinished">Fill</translation>
|
<translation>Vul</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Contain</source>
|
<source>Contain</source>
|
||||||
@ -239,26 +239,26 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cover</source>
|
<source>Cover</source>
|
||||||
<translation type="unfinished">Cover</translation>
|
<translation>Dek</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Scale_Down</source>
|
<source>Scale_Down</source>
|
||||||
<translation type="unfinished">Scale_Down</translation>
|
<translation>Schaal_Omlaag</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FileSelector</name>
|
<name>FileSelector</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Clear</source>
|
<source>Clear</source>
|
||||||
<translation type="unfinished">Clear</translation>
|
<translation>Wis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select File</source>
|
<source>Select File</source>
|
||||||
<translation type="unfinished">Select File</translation>
|
<translation>Selecteer bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Please choose a file</source>
|
<source>Please choose a file</source>
|
||||||
<translation type="unfinished">Please choose a file</translation>
|
<translation>Kies een bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -300,42 +300,42 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By</source>
|
<source>Created By</source>
|
||||||
<translation type="unfinished">Created By</translation>
|
<translation>Gemaakt door</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation type="unfinished">Tags</translation>
|
<translation>Tags</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>HTMLWallpaper</name>
|
<name>HTMLWallpaper</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Create a HTML Wallpaper</source>
|
<source>Create a HTML Wallpaper</source>
|
||||||
<translation type="unfinished">Create a HTML Wallpaper</translation>
|
<translation>Maak een HTML Achtergrond</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">General</translation>
|
<translation>Algemeen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpaper name</source>
|
<source>Wallpaper name</source>
|
||||||
<translation type="unfinished">Wallpaper name</translation>
|
<translation>Achtergrond naam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By</source>
|
<source>Created By</source>
|
||||||
<translation type="unfinished">Created By</translation>
|
<translation>Gemaakt door</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Description</translation>
|
<translation>Beschrijving</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>License & Tags</source>
|
<source>License & Tags</source>
|
||||||
<translation type="unfinished">License & Tags</translation>
|
<translation>Licentie & Tags</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Preview Image</source>
|
<source>Preview Image</source>
|
||||||
<translation type="unfinished">Preview Image</translation>
|
<translation>Voorbeeldafbeelding</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -560,23 +560,23 @@
|
|||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation type="unfinished">Remove selected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation type="unfinished">Wallpapers</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation type="unfinished">Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
BIN
ScreenPlay/translations/ScreenPlay_pl_PL.qm
Normal file
BIN
ScreenPlay/translations/ScreenPlay_pl_PL.qm
Normal file
Binary file not shown.
1937
ScreenPlay/translations/ScreenPlay_pl_PL.ts
Normal file
1937
ScreenPlay/translations/ScreenPlay_pl_PL.ts
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Fórum</translation>
|
<translation>Fórum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Lista de Issues</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Contribuir</translation>
|
<translation>Contribuir</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Oficina Steam</translation>
|
<translation>Oficina Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -493,35 +493,35 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
@ -529,58 +529,58 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Selecionar arquivo</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation type="unfinished">Remove selected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation type="unfinished">Wallpapers</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation type="unfinished">Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Форум</translation>
|
<translation>Форум</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Список проблем</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Внести вклад</translation>
|
<translation>Внести вклад</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Мастерская Steam</translation>
|
<translation>Мастерская Steam</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -493,35 +493,35 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
@ -529,58 +529,58 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation type="unfinished">Remove selected</translation>
|
<translation type="unfinished">Remove selected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation type="unfinished">Remove </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation type="unfinished">Wallpapers</translation>
|
<translation type="unfinished">Wallpapers</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation type="unfinished">Widgets</translation>
|
<translation type="unfinished">Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation type="unfinished">Configurate active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation type="unfinished">No active Wallpaper or Widgets</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Forum</translation>
|
<translation>Forum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>Sorun Listesi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Bağış yap</translation>
|
<translation>Bağış yap</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Atölyesi</translation>
|
<translation>Steam Atölyesi</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -489,98 +489,98 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">VideoAnaliz...</translation>
|
<translation type="unfinished">AnalyseVideo...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">Önizleme oluşturuluyor...</translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Önizleme küçük resmi oluşturuluyor...</translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">5 saniyelik önizleme videosu oluşturuluyor...</translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished">Özizleme gifi oluşturuluyor...</translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Ses Dönüştürülüyor...</translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Video dönüştürülüyor... Biraz zaman alabilir!</translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">Video Dönüştürülürken Hata Oluştu!</translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Video Hatasını Analiz Edin!</translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Bir videoyu duvar kağıdına aktarın</translation>
|
<translation type="unfinished">Import a video to a wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Önizleme videosu oluşturuluyor...</translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">İsim (gerekli)</translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">YouTube URL</translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Duvar kağıdını kaydet...</translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">Belgeyi Aç</translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">Dosya seç</translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation>Seçilenleri kaldır</translation>
|
<translation>Seçilenleri kaldır</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation>Kaldır </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation>Duvar kağıtları</translation>
|
<translation>Duvar kağıtları</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation>Widget’lar</translation>
|
<translation>Widget’lar</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation>Aktif Duvar Kağıdını veya Widget'ları yapılandırın</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation>Aktif Duvar Kağıdı veya Widget yok</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Version</translation>
|
<translation type="unfinished">Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation type="unfinished">ScreenPlay Build Version </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation type="unfinished">Open Changelog</translation>
|
<translation type="unfinished">Open Changelog</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation type="unfinished">Privacy</translation>
|
<translation type="unfinished">Privacy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>Diễn đàn</translation>
|
<translation>Diễn đàn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>D.sách lỗi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>Đóng góp</translation>
|
<translation>Đóng góp</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam Workshop</translation>
|
<translation>Steam Workshop</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -489,98 +489,98 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">Đang xử lý video...</translation>
|
<translation type="unfinished">AnalyseVideo...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">Đang tạo ra ảnh xem trước...</translation>
|
<translation type="unfinished">Generating preview image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">Đang tạo ra hình thu nhỏ xem trước...</translation>
|
<translation type="unfinished">Generating preview thumbnail image...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">Đang tao ra video 5 giây xem trước...</translation>
|
<translation type="unfinished">Generating 5 second preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished">Đang tạo ra gif xem trước...</translation>
|
<translation type="unfinished">Generating preview gif...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">Đang chuyển đổi dạng âm thanh...</translation>
|
<translation type="unfinished">Converting Audio...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">Đang chuyển đổi dạng video... Việc này có thể tốn kha khá thời gian!</translation>
|
<translation type="unfinished">Converting Video... This can take some time!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">Đã có lỗi xảy ra khi chuyển đổi dạng video!</translation>
|
<translation type="unfinished">Converting Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">Đã có lỗi xảy ra khi đang xử lý video!</translation>
|
<translation type="unfinished">Analyse Video ERROR!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">Nhập một video vào hình nền</translation>
|
<translation type="unfinished">Import a video to a wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">Đang tạo ra video xem trước...</translation>
|
<translation type="unfinished">Generating preview video...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">Tên (bắt buộc!)</translation>
|
<translation type="unfinished">Name (required!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">Mô tả</translation>
|
<translation type="unfinished">Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">Link YouTube</translation>
|
<translation type="unfinished">Youtube URL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished">Hủy bỏ</translation>
|
<translation type="unfinished">Abort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">Lưu</translation>
|
<translation type="unfinished">Save</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">Lưu hình nền...</translation>
|
<translation type="unfinished">Save Wallpaper...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Import a .mp4 video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Invalid file type. Must be valid h264 (*.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Drop a *.mp4 file here or use 'Select file' below.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">Mở tài liệu tham khảo</translation>
|
<translation type="unfinished">Open Documentation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Select file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -683,10 +683,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation>Xóa mục đã chọn</translation>
|
<translation>Xóa mục đã chọn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation>Xóa</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation>Ảnh động</translation>
|
<translation>Ảnh động</translation>
|
||||||
@ -695,6 +691,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation>Widgets</translation>
|
<translation>Widgets</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -761,16 +761,31 @@
|
|||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation type="unfinished">Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation>Thiết lập hình nền hoặc widgets đang hoạt động</translation>
|
<translation type="unfinished">Mute/Unmute all Wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Pause/Play all Wallpaper</source>
|
||||||
<translation>Không có hình nền hoặc widgets đang hoạt động</translation>
|
<translation type="unfinished">Pause/Play all Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished">Configure Wallpaper</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished">Minimize to Tray</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished">Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished">Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1008,10 +1023,6 @@
|
|||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Phiên bản</translation>
|
<translation>Phiên bản</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>ScreenPlay Build Version </source>
|
|
||||||
<translation>Bản dựng của ScreenPlay </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
<translation>Mở nhật kí thay đổi</translation>
|
<translation>Mở nhật kí thay đổi</translation>
|
||||||
@ -1052,6 +1063,12 @@
|
|||||||
<source>Privacy</source>
|
<source>Privacy</source>
|
||||||
<translation>Quyền riêng tư</translation>
|
<translation>Quyền riêng tư</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>ScreenPlay Build Version
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished">ScreenPlay Build Version
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsExpander</name>
|
<name>SettingsExpander</name>
|
||||||
@ -1068,15 +1085,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import h264 (.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video Import VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Video import (all types)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1200,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Free tools to help you to create wallpaper</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1595,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Password Required To Kick Session</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
Binary file not shown.
@ -70,10 +70,6 @@
|
|||||||
<source>Forum</source>
|
<source>Forum</source>
|
||||||
<translation>论坛</translation>
|
<translation>论坛</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Issue List</source>
|
|
||||||
<translation>议题列表</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Contribute</source>
|
<source>Contribute</source>
|
||||||
<translation>贡献</translation>
|
<translation>贡献</translation>
|
||||||
@ -82,6 +78,10 @@
|
|||||||
<source>Steam Workshop</source>
|
<source>Steam Workshop</source>
|
||||||
<translation>Steam 创意工坊</translation>
|
<translation>Steam 创意工坊</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Issue Tracker</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CommunityNavItem</name>
|
<name>CommunityNavItem</name>
|
||||||
@ -138,10 +138,6 @@
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CreateWallpaperVideoImportConvert</name>
|
<name>CreateWallpaperVideoImportConvert</name>
|
||||||
<message>
|
|
||||||
<source></source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation>生成预览图...</translation>
|
<translation>生成预览图...</translation>
|
||||||
@ -265,15 +261,15 @@
|
|||||||
<name>Forum</name>
|
<name>Forum</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source>
|
<source>Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</source>
|
||||||
<translation type="unfinished">Download Wallpaper and Widgets from our forums manually. If you want to download Steam Workshop content you have to install ScreenPlay via Steam.</translation>
|
<translation>从我们的社区手动下载壁纸与部件 如果您想要下载Steam创意工坊内容,您须要通过Steam安装ScreemPlay。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Install Steam Version</source>
|
<source>Install Steam Version</source>
|
||||||
<translation type="unfinished">Install Steam Version</translation>
|
<translation>安装Steam版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open In Browser</source>
|
<source>Open In Browser</source>
|
||||||
<translation type="unfinished">Open In Browser</translation>
|
<translation>浏览器中打开</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -385,10 +381,6 @@
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportWebmConvert</name>
|
<name>ImportWebmConvert</name>
|
||||||
<message>
|
|
||||||
<source></source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation>分析视频...</translation>
|
<translation>分析视频...</translation>
|
||||||
@ -489,106 +481,102 @@
|
|||||||
<name>Importh264Convert</name>
|
<name>Importh264Convert</name>
|
||||||
<message>
|
<message>
|
||||||
<source>AnalyseVideo...</source>
|
<source>AnalyseVideo...</source>
|
||||||
<translation type="unfinished">分析视频...</translation>
|
<translation>分析视频...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview image...</source>
|
<source>Generating preview image...</source>
|
||||||
<translation type="unfinished">生成预览图...</translation>
|
<translation>生成预览图...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview thumbnail image...</source>
|
<source>Generating preview thumbnail image...</source>
|
||||||
<translation type="unfinished">生成预览缩略图...</translation>
|
<translation>生成预览缩略图...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating 5 second preview video...</source>
|
<source>Generating 5 second preview video...</source>
|
||||||
<translation type="unfinished">生成5秒预览视频...</translation>
|
<translation>生成5秒预览视频...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview gif...</source>
|
<source>Generating preview gif...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>生成预览GIF...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Audio...</source>
|
<source>Converting Audio...</source>
|
||||||
<translation type="unfinished">转换音频...</translation>
|
<translation>转换音频...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video... This can take some time!</source>
|
<source>Converting Video... This can take some time!</source>
|
||||||
<translation type="unfinished">转换视频... 这可能需要一些时间!</translation>
|
<translation>转换视频... 这可能需要一些时间!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Converting Video ERROR!</source>
|
<source>Converting Video ERROR!</source>
|
||||||
<translation type="unfinished">转换视频出错!</translation>
|
<translation>转换视频出错!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Analyse Video ERROR!</source>
|
<source>Analyse Video ERROR!</source>
|
||||||
<translation type="unfinished">分析视频出错!</translation>
|
<translation>分析视频出错!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a video to a wallpaper</source>
|
<source>Import a video to a wallpaper</source>
|
||||||
<translation type="unfinished">将视频导入为壁纸</translation>
|
<translation>将视频导入为壁纸</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generating preview video...</source>
|
<source>Generating preview video...</source>
|
||||||
<translation type="unfinished">生成预览视频...</translation>
|
<translation>生成预览视频...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Name (required!)</source>
|
<source>Name (required!)</source>
|
||||||
<translation type="unfinished">名称(必选)</translation>
|
<translation>名称(必选)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished">简介</translation>
|
<translation>简介</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Youtube URL</source>
|
<source>Youtube URL</source>
|
||||||
<translation type="unfinished">Youtube 链接</translation>
|
<translation>Youtube 链接</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>中止</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished">保存</translation>
|
<translation>保存</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Save Wallpaper...</source>
|
<source>Save Wallpaper...</source>
|
||||||
<translation type="unfinished">保存壁纸...</translation>
|
<translation>保存壁纸...</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Importh264Init</name>
|
<name>Importh264Init</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Import a .mp4 video</source>
|
<source>Import a .mp4 video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>导入.mp4视频</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
<source>ScreenPlay V0.15 and up can play *.mp4 (also more known as h264). This can improove performance on older systems.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>ScreenPlay V0.15以上可播放.mp4(通常称为h264)。这将提升在旧的系统上的性能.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
<source>Invalid file type. Must be valid h264 (*.mp4)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>无效文件类型,必须为合法的h264(.mp4)!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
<source>Drop a *.mp4 file here or use 'Select file' below.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>拖入.mp4文件到此处,或者使用下方的“选择文件”</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Documentation</source>
|
<source>Open Documentation</source>
|
||||||
<translation type="unfinished">打开文档</translation>
|
<translation>打开文档</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select file</source>
|
<source>Select file</source>
|
||||||
<translation type="unfinished">选择文件</translation>
|
<translation>选择文件</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Installed</name>
|
<name>Installed</name>
|
||||||
<message>
|
|
||||||
<source></source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Refreshing!</source>
|
<source>Refreshing!</source>
|
||||||
<translation>刷新中!</translation>
|
<translation>刷新中!</translation>
|
||||||
@ -645,7 +633,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You grant other to remix your work and change the license to their liking.</source>
|
<source>You grant other to remix your work and change the license to their liking.</source>
|
||||||
<translation type="unfinished">You grant other to remix your work and change the license to their liking.</translation>
|
<translation>您允许他人重制您的作品及改变许可证</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material. You are not allowed to use it commercially! </source>
|
<source>Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material. You are not allowed to use it commercially! </source>
|
||||||
@ -683,10 +671,6 @@
|
|||||||
<source>Remove selected</source>
|
<source>Remove selected</source>
|
||||||
<translation>移除已选择</translation>
|
<translation>移除已选择</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Remove </source>
|
|
||||||
<translation>移除</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Wallpapers</source>
|
<source>Wallpapers</source>
|
||||||
<translation>壁纸</translation>
|
<translation>壁纸</translation>
|
||||||
@ -695,6 +679,10 @@
|
|||||||
<source>Widgets</source>
|
<source>Widgets</source>
|
||||||
<translation>物件</translation>
|
<translation>物件</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Remove all </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MonitorsProjectSettingItem</name>
|
<name>MonitorsProjectSettingItem</name>
|
||||||
@ -743,41 +731,55 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create</source>
|
<source>Create</source>
|
||||||
<translation type="unfinished">Create</translation>
|
<translation>创建</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Workshop</source>
|
<source>Workshop</source>
|
||||||
<translation type="unfinished">Workshop</translation>
|
<translation>创意工坊</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Installed</source>
|
<source>Installed</source>
|
||||||
<translation type="unfinished">Installed</translation>
|
<translation>已安装</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Community</source>
|
<source>Community</source>
|
||||||
<translation type="unfinished">Community</translation>
|
<translation>社区</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished">Settings</translation>
|
<translation>设置</translation>
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>NavigationWallpaperConfiguration</name>
|
|
||||||
<message>
|
|
||||||
<source>Configurate active Wallpaper or Widgets</source>
|
|
||||||
<translation>设置活动壁纸或物件</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No active Wallpaper or Widgets</source>
|
<source>Mute/Unmute all Wallpaper</source>
|
||||||
<translation>没有活动壁纸或物件</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Pause/Play all Wallpaper</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Configure Wallpaper</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Minimize to Tray</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to exit ScreenPlay?
|
||||||
|
This will shut down all Wallpaper and Widgets.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PopupOffline</name>
|
<name>PopupOffline</name>
|
||||||
<message>
|
<message>
|
||||||
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
|
<source>You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</source>
|
||||||
<translation type="unfinished">You need to run Steam for this. steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
|
<translation>此功能需要启动Steam。 steamErrorRestart: %1 - steamErrorAPIInit: %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Back</source>
|
<source>Back</source>
|
||||||
@ -868,7 +870,7 @@
|
|||||||
<name>ScreenPlayItem</name>
|
<name>ScreenPlayItem</name>
|
||||||
<message>
|
<message>
|
||||||
<source>NEW</source>
|
<source>NEW</source>
|
||||||
<translation type="unfinished">NEW</translation>
|
<translation>新</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1009,8 +1011,10 @@
|
|||||||
<translation>版本</translation>
|
<translation>版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>ScreenPlay Build Version </source>
|
<source>ScreenPlay Build Version
|
||||||
<translation>ScreenPlay编译版本 </translation>
|
</source>
|
||||||
|
<translation>ScreenPlay编译版本
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Changelog</source>
|
<source>Open Changelog</source>
|
||||||
@ -1068,15 +1072,15 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import h264 (.mp4)</source>
|
<source>Video Import h264 (.mp4)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>视频导入 h264(.mp4)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video Import VP8 & VP9 (.webm)</source>
|
<source>Video Import VP8 & VP9 (.webm)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>视频导入 VP8 & VP9 (.webm)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Video import (all types)</source>
|
<source>Video import (all types)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>视频导入 (所有类型)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GIF Wallpaper</source>
|
<source>GIF Wallpaper</source>
|
||||||
@ -1183,11 +1187,11 @@
|
|||||||
<name>StartInfo</name>
|
<name>StartInfo</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Free tools to help you to create wallpaper</source>
|
<source>Free tools to help you to create wallpaper</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>免费的壁纸创建工具</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
<source>Below you can find tools to create wallaper, beyond the tools that ScreenPlay provides for you!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>在下面有一些创建壁纸的工具,功能比ScreenPlay所提供的更为强大!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1212,87 +1216,87 @@
|
|||||||
<name>SteamWorkshopStartPage</name>
|
<name>SteamWorkshopStartPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Loading</source>
|
<source>Loading</source>
|
||||||
<translation type="unfinished">Loading</translation>
|
<translation>正在加载</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Download now!</source>
|
<source>Download now!</source>
|
||||||
<translation type="unfinished">Download now!</translation>
|
<translation>开始下载</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Downloading...</source>
|
<source>Downloading...</source>
|
||||||
<translation type="unfinished">Downloading...</translation>
|
<translation>下载中...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Details</source>
|
<source>Details</source>
|
||||||
<translation type="unfinished">Details</translation>
|
<translation>查看详情</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open In Steam</source>
|
<source>Open In Steam</source>
|
||||||
<translation type="unfinished">Open In Steam</translation>
|
<translation>Steam中打开</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation type="unfinished">Profile</translation>
|
<translation>配置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Upload</source>
|
<source>Upload</source>
|
||||||
<translation type="unfinished">Upload</translation>
|
<translation>上传</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search for Wallpaper and Widgets...</source>
|
<source>Search for Wallpaper and Widgets...</source>
|
||||||
<translation type="unfinished">Search for Wallpaper and Widgets...</translation>
|
<translation>搜索壁纸和物件...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Workshop in Steam</source>
|
<source>Open Workshop in Steam</source>
|
||||||
<translation type="unfinished">Open Workshop in Steam</translation>
|
<translation>在Steam中打开创意工坊</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ranked By Vote</source>
|
<source>Ranked By Vote</source>
|
||||||
<translation type="unfinished">Ranked By Vote</translation>
|
<translation>评分最好</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Publication Date</source>
|
<source>Publication Date</source>
|
||||||
<translation type="unfinished">Publication Date</translation>
|
<translation>发布日期</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ranked By Trend</source>
|
<source>Ranked By Trend</source>
|
||||||
<translation type="unfinished">Ranked By Trend</translation>
|
<translation>评分趋势</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Favorited By Friends</source>
|
<source>Favorited By Friends</source>
|
||||||
<translation type="unfinished">Favorited By Friends</translation>
|
<translation>好友收藏</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By Friends</source>
|
<source>Created By Friends</source>
|
||||||
<translation type="unfinished">Created By Friends</translation>
|
<translation>好友创建</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Created By Followed Users</source>
|
<source>Created By Followed Users</source>
|
||||||
<translation type="unfinished">Created By Followed Users</translation>
|
<translation>已关注的</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Not Yet Rated</source>
|
<source>Not Yet Rated</source>
|
||||||
<translation type="unfinished">Not Yet Rated</translation>
|
<translation>尚无评分</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Total VotesAsc</source>
|
<source>Total VotesAsc</source>
|
||||||
<translation type="unfinished">Total VotesAsc</translation>
|
<translation>按总票数升序</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Votes Up</source>
|
<source>Votes Up</source>
|
||||||
<translation type="unfinished">Votes Up</translation>
|
<translation>评分上升</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Total Unique Subscriptions</source>
|
<source>Total Unique Subscriptions</source>
|
||||||
<translation type="unfinished">Total Unique Subscriptions</translation>
|
<translation>订阅总数</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Back</source>
|
<source>Back</source>
|
||||||
<translation type="unfinished">Back</translation>
|
<translation>后退</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Forward</source>
|
<source>Forward</source>
|
||||||
<translation type="unfinished">Forward</translation>
|
<translation>前进</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1578,7 +1582,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Password Required To Kick Session</source>
|
<source>Password Required To Kick Session</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>需要密码以启动会话</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Already Logged In Elsewhere</source>
|
<source>Already Logged In Elsewhere</source>
|
||||||
|
@ -49,33 +49,19 @@
|
|||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
class ScreenPlaySDK : public QQuickItem {
|
class ScreenPlaySDK : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_DISABLE_COPY(ScreenPlaySDK)
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ScreenPlaySDK(QQuickItem* parent = nullptr);
|
ScreenPlaySDK(const QString& appID, const QString& type);
|
||||||
ScreenPlaySDK(const QString& appID, const QString& type, QQuickItem* parent = nullptr);
|
|
||||||
~ScreenPlaySDK();
|
~ScreenPlaySDK();
|
||||||
|
|
||||||
Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
|
Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
|
||||||
Q_PROPERTY(bool isConnected READ isConnected WRITE setIsConnected NOTIFY isConnectedChanged)
|
Q_PROPERTY(bool isConnected READ isConnected WRITE setIsConnected NOTIFY isConnectedChanged)
|
||||||
Q_PROPERTY(QString appID READ appID WRITE setAppID NOTIFY appIDChanged)
|
Q_PROPERTY(QString appID READ appID WRITE setAppID NOTIFY appIDChanged)
|
||||||
|
|
||||||
QString type() const
|
QString type() const { return m_type; }
|
||||||
{
|
bool isConnected() const { return m_isConnected; }
|
||||||
return m_type;
|
QString appID() const { return m_appID; }
|
||||||
}
|
|
||||||
|
|
||||||
bool isConnected() const
|
|
||||||
{
|
|
||||||
return m_isConnected;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString appID() const
|
|
||||||
{
|
|
||||||
return m_appID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void sendMessage(const QJsonObject& obj);
|
void sendMessage(const QJsonObject& obj);
|
||||||
@ -140,7 +126,7 @@ signals:
|
|||||||
private:
|
private:
|
||||||
QLocalSocket m_socket;
|
QLocalSocket m_socket;
|
||||||
|
|
||||||
QString m_type = "undefined";
|
QString m_type;
|
||||||
bool m_isConnected = false;
|
bool m_isConnected = false;
|
||||||
|
|
||||||
QString m_appID;
|
QString m_appID;
|
||||||
|
@ -15,16 +15,8 @@ static ScreenPlaySDK* global_sdkPtr = nullptr;
|
|||||||
\brief .
|
\brief .
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ScreenPlaySDK::ScreenPlaySDK(QQuickItem* parent)
|
ScreenPlaySDK::ScreenPlaySDK(const QString& appID, const QString& type)
|
||||||
: QQuickItem(parent)
|
: QObject(nullptr)
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
ScreenPlaySDK::ScreenPlaySDK(
|
|
||||||
const QString& appID,
|
|
||||||
const QString& type,
|
|
||||||
QQuickItem* parent)
|
|
||||||
: QQuickItem(parent)
|
|
||||||
, m_type { type }
|
, m_type { type }
|
||||||
, m_appID { appID }
|
, m_appID { appID }
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,14 @@ set(HEADER
|
|||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER})
|
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER})
|
||||||
|
|
||||||
qt_add_qml_module(${PROJECT_NAME} URI ${PROJECT_NAME} VERSION 1.0)
|
qt_add_qml_module(
|
||||||
|
${PROJECT_NAME}
|
||||||
|
OUTPUT_DIRECTORY
|
||||||
|
${CMAKE_BINARY_DIR}/bin/SysInfo
|
||||||
|
URI
|
||||||
|
${PROJECT_NAME}
|
||||||
|
VERSION
|
||||||
|
1.0)
|
||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
||||||
|
|
||||||
|
@ -12,8 +12,10 @@ find_package(
|
|||||||
set(SOURCES # cmake-format: sortable
|
set(SOURCES # cmake-format: sortable
|
||||||
src/util.cpp src/contenttypes.cpp inc/public/ScreenPlayUtil/httpfileserver.cpp)
|
src/util.cpp src/contenttypes.cpp inc/public/ScreenPlayUtil/httpfileserver.cpp)
|
||||||
|
|
||||||
set(HEADER # cmake-format: sortable
|
set(HEADER
|
||||||
inc/public/ScreenPlayUtil/util.h inc/public/ScreenPlayUtil/httpfileserver.h inc/public/ScreenPlayUtil/contenttypes.h inc/public/ScreenPlayUtil/projectfile.h)
|
# cmake-format: sortable
|
||||||
|
inc/public/ScreenPlayUtil/util.h inc/public/ScreenPlayUtil/httpfileserver.h inc/public/ScreenPlayUtil/contenttypes.h
|
||||||
|
inc/public/ScreenPlayUtil/projectfile.h)
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADER})
|
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADER})
|
||||||
|
|
||||||
|
@ -54,12 +54,11 @@
|
|||||||
namespace ScreenPlayUtil {
|
namespace ScreenPlayUtil {
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
struct WinMonitorStats {
|
struct WinMonitorStats {
|
||||||
std::vector<int> iMonitors;
|
|
||||||
std::vector<HMONITOR> hMonitors;
|
WinMonitorStats()
|
||||||
std::vector<HDC> hdcMonitors;
|
{
|
||||||
std::vector<RECT> rcMonitors;
|
EnumDisplayMonitors(NULL, NULL, MonitorEnum, (LPARAM)this);
|
||||||
std::vector<DEVICE_SCALE_FACTOR> scaleFactor;
|
}
|
||||||
std::vector<std::pair<UINT, UINT>> sizes;
|
|
||||||
|
|
||||||
static BOOL CALLBACK MonitorEnum(HMONITOR hMon, HDC hdc, LPRECT lprcMonitor,
|
static BOOL CALLBACK MonitorEnum(HMONITOR hMon, HDC hdc, LPRECT lprcMonitor,
|
||||||
LPARAM pData)
|
LPARAM pData)
|
||||||
@ -77,10 +76,19 @@ struct WinMonitorStats {
|
|||||||
pThis->hdcMonitors.push_back(hdc);
|
pThis->hdcMonitors.push_back(hdc);
|
||||||
pThis->rcMonitors.push_back(*lprcMonitor);
|
pThis->rcMonitors.push_back(*lprcMonitor);
|
||||||
pThis->iMonitors.push_back(pThis->hdcMonitors.size());
|
pThis->iMonitors.push_back(pThis->hdcMonitors.size());
|
||||||
|
|
||||||
|
//qInfo() << std::abs(lprcMonitor->right - lprcMonitor->left) << std::abs(lprcMonitor->top - lprcMonitor->bottom);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
WinMonitorStats() { EnumDisplayMonitors(0, 0, MonitorEnum, (LPARAM)this); }
|
std::vector<int> iMonitors;
|
||||||
|
std::vector<HMONITOR> hMonitors;
|
||||||
|
std::vector<HDC> hdcMonitors;
|
||||||
|
std::vector<RECT> rcMonitors;
|
||||||
|
std::vector<DEVICE_SCALE_FACTOR> scaleFactor;
|
||||||
|
std::vector<std::pair<UINT, UINT>> sizes;
|
||||||
|
int index = 0;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
QJsonArray fillArray(const QVector<QString>& items);
|
QJsonArray fillArray(const QVector<QString>& items);
|
||||||
|
@ -68,7 +68,7 @@ target_link_libraries(
|
|||||||
Qt6::WebEngineCore
|
Qt6::WebEngineCore
|
||||||
Qt6::WebEngineQuick)
|
Qt6::WebEngineQuick)
|
||||||
|
|
||||||
if (UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
include(CopyRecursive)
|
include(CopyRecursive)
|
||||||
copy_recursive(${CMAKE_CURRENT_SOURCE_DIR}/kde/ScreenPlay ${CMAKE_BINARY_DIR}/bin/kde/ScreenPlay "*")
|
copy_recursive(${CMAKE_CURRENT_SOURCE_DIR}/kde/ScreenPlay ${CMAKE_BINARY_DIR}/bin/kde/ScreenPlay "*")
|
||||||
endif()
|
endif()
|
||||||
@ -76,6 +76,7 @@ endif()
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
||||||
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/${PROJECT_NAME}.app/Contents/MacOS/)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME}
|
TARGET ${PROJECT_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
|
@ -32,8 +32,8 @@ int main(int argc, char* argv[])
|
|||||||
// For testing purposes when starting the ScreenPlayWallpaper directly.
|
// For testing purposes when starting the ScreenPlayWallpaper directly.
|
||||||
if (argumentList.length() == 1) {
|
if (argumentList.length() == 1) {
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
//WinWindow window1({ 0 }, "test", "appID=test", "1", "fill", "videoWallpaper", true, true);
|
// WinWindow window1({ 0 }, "test", "appID=test", "1", "fill", "videoWallpaper", true, true);
|
||||||
WinWindow window1({ 0 }, "C:/Program Files (x86)/Steam/steamapps/workshop/content/672870/2453869686", "appID=test", "1", "fill", "videoWallpaper", true, true);
|
WinWindow window1({ 0, 1, 2 }, "C:/Program Files (x86)/Steam/steamapps/workshop/content/672870/hordemp4", "appID=test", "1", "fill", "videoWallpaper", true, true);
|
||||||
#elif defined(Q_OS_LINUX)
|
#elif defined(Q_OS_LINUX)
|
||||||
LinuxWindow window({ 0 }, "test", "appID=test", "1", "fill", "videoWallpaper", false, true);
|
LinuxWindow window({ 0 }, "test", "appID=test", "1", "fill", "videoWallpaper", false, true);
|
||||||
#elif defined(Q_OS_OSX)
|
#elif defined(Q_OS_OSX)
|
||||||
|
@ -6,12 +6,15 @@ Item {
|
|||||||
id: root
|
id: root
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
property bool loops: Wallpaper.loops
|
property bool loops: Wallpaper.loops
|
||||||
|
property bool isPlaying: Wallpaper.isPlaying
|
||||||
|
onIsPlayingChanged: isPlaying ? mediaPlayer.play() : mediaPlayer.pause()
|
||||||
property bool isWindows: Qt.platform.os === "windows"
|
property bool isWindows: Qt.platform.os === "windows"
|
||||||
signal requestFadeIn
|
signal requestFadeIn
|
||||||
|
|
||||||
MediaPlayer {
|
MediaPlayer {
|
||||||
id: mediaPlayer
|
id: mediaPlayer
|
||||||
|
|
||||||
|
|
||||||
source: Wallpaper.projectSourceFileAbsolute
|
source: Wallpaper.projectSourceFileAbsolute
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
mediaPlayer.play()
|
mediaPlayer.play()
|
||||||
@ -35,10 +38,35 @@ Item {
|
|||||||
VideoOutput {
|
VideoOutput {
|
||||||
id: vo
|
id: vo
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioOutput {
|
AudioOutput {
|
||||||
id: ao
|
id: ao
|
||||||
volume: Wallpaper.volume
|
volume: Wallpaper.volume
|
||||||
|
muted: Wallpaper.muted
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
function onFillModeChanged(fillMode) {
|
||||||
|
if(fillMode === "stretch"){
|
||||||
|
vo.fillMode = VideoOutput.Stretch
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(fillMode === "fill"){
|
||||||
|
vo.fillMode = VideoOutput.PreserveAspectFit
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(fillMode === "contain" || fillMode === "cover" || fillMode === "scale-down"){
|
||||||
|
vo.fillMode = VideoOutput.PreserveAspectCrop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onCurrentTimeChanged(currentTime) {
|
||||||
|
mediaPlayer.position = currentTime * mediaPlayer.duration
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
target: Wallpaper
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,13 +31,16 @@ Rectangle {
|
|||||||
if (Qt.platform.os === "windows") {
|
if (Qt.platform.os === "windows") {
|
||||||
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml"
|
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print(loader.source)
|
||||||
fadeIn()
|
fadeIn()
|
||||||
break
|
break
|
||||||
case InstalledType.HTMLWallpaper:
|
case InstalledType.HTMLWallpaper:
|
||||||
loader.setSource("qrc:/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", {
|
loader.setSource(
|
||||||
"url": Qt.resolvedUrl(
|
"qrc:/ScreenPlayWallpaper/qml/WebsiteWallpaper.qml", {
|
||||||
Wallpaper.projectSourceFileAbsolute)
|
"url": Qt.resolvedUrl(
|
||||||
})
|
Wallpaper.projectSourceFileAbsolute)
|
||||||
|
})
|
||||||
break
|
break
|
||||||
case InstalledType.QMLWallpaper:
|
case InstalledType.QMLWallpaper:
|
||||||
loader.source = Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
loader.source = Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
||||||
@ -61,49 +64,50 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function fadeIn() {
|
function fadeIn() {
|
||||||
Wallpaper.setVisible(true);
|
Wallpaper.setVisible(true)
|
||||||
if (canFadeByWallpaperFillMode && Wallpaper.canFade)
|
if (canFadeByWallpaperFillMode && Wallpaper.canFade)
|
||||||
imgCover.state = "hideDefaultBackgroundImage";
|
imgCover.state = "hideDefaultBackgroundImage"
|
||||||
else
|
else
|
||||||
imgCover.opacity = 0;
|
imgCover.opacity = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: {
|
color: {
|
||||||
if (Qt.platform.os !== "windows")
|
if (Qt.platform.os !== "windows")
|
||||||
return "black";
|
return "black"
|
||||||
else
|
else
|
||||||
return Wallpaper.windowsDesktopProperties.color;
|
return Wallpaper.windowsDesktopProperties.color
|
||||||
}
|
}
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
init();
|
init()
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
function onQmlExit() {
|
function onQmlExit() {
|
||||||
if (canFadeByWallpaperFillMode && Wallpaper.canFade)
|
if (canFadeByWallpaperFillMode && Wallpaper.canFade)
|
||||||
imgCover.state = "exit";
|
imgCover.state = "exit"
|
||||||
else
|
else
|
||||||
Wallpaper.terminate();
|
Wallpaper.terminate()
|
||||||
}
|
}
|
||||||
|
|
||||||
function onQmlSceneValueReceived(key, value) {
|
function onQmlSceneValueReceived(key, value) {
|
||||||
var obj2 = 'import QtQuick; Item {Component.onCompleted: loader.item.' + key + ' = ' + value + '; }';
|
var obj2 = 'import QtQuick; Item {Component.onCompleted: loader.item.'
|
||||||
var newObject = Qt.createQmlObject(obj2.toString(), root, "err");
|
+ key + ' = ' + value + '; }'
|
||||||
newObject.destroy(10000);
|
var newObject = Qt.createQmlObject(obj2.toString(), root, "err")
|
||||||
|
newObject.destroy(10000)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace wallpaper with QML Scene
|
// Replace wallpaper with QML Scene
|
||||||
function onReloadQML(oldType) {
|
function onReloadQML(oldType) {
|
||||||
loader.sourceComponent = undefined;
|
loader.sourceComponent = undefined
|
||||||
loader.source = "";
|
loader.source = ""
|
||||||
Wallpaper.clearComponentCache();
|
Wallpaper.clearComponentCache()
|
||||||
loader.source = Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute);
|
loader.source = Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace wallpaper with GIF
|
// Replace wallpaper with GIF
|
||||||
function onReloadGIF(oldType) {
|
function onReloadGIF(oldType) {
|
||||||
init();
|
init()
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function only gets called here (the same function
|
// This function only gets called here (the same function
|
||||||
@ -113,9 +117,9 @@ Rectangle {
|
|||||||
// We need to check if the old type
|
// We need to check if the old type
|
||||||
// was also Video not get called twice
|
// was also Video not get called twice
|
||||||
if (oldType === InstalledType.VideoWallpaper)
|
if (oldType === InstalledType.VideoWallpaper)
|
||||||
return ;
|
return
|
||||||
|
|
||||||
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml";
|
loader.source = "qrc:/ScreenPlayWallpaper/qml/MultimediaView.qml"
|
||||||
}
|
}
|
||||||
|
|
||||||
target: Wallpaper
|
target: Wallpaper
|
||||||
@ -130,20 +134,19 @@ Rectangle {
|
|||||||
//asynchronous: true
|
//asynchronous: true
|
||||||
onStatusChanged: {
|
onStatusChanged: {
|
||||||
if (loader.status === Loader.Error) {
|
if (loader.status === Loader.Error) {
|
||||||
loader.source = "";
|
loader.source = ""
|
||||||
// Wallpaper.terminate();
|
// Wallpaper.terminate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
function onRequestFadeIn() {
|
function onRequestFadeIn() {
|
||||||
fadeIn();
|
fadeIn()
|
||||||
}
|
}
|
||||||
|
|
||||||
ignoreUnknownSignals: true
|
ignoreUnknownSignals: true
|
||||||
target: loader.item
|
target: loader.item
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
@ -154,40 +157,41 @@ Rectangle {
|
|||||||
sourceSize.height: Wallpaper.height
|
sourceSize.height: Wallpaper.height
|
||||||
source: {
|
source: {
|
||||||
if (Qt.platform.os === "windows")
|
if (Qt.platform.os === "windows")
|
||||||
return Qt.resolvedUrl("file:///" + Wallpaper.windowsDesktopProperties.wallpaperPath);
|
return Qt.resolvedUrl(
|
||||||
|
"file:///" + Wallpaper.windowsDesktopProperties.wallpaperPath)
|
||||||
else
|
else
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
if (Qt.platform.os !== "windows") {
|
if (Qt.platform.os !== "windows") {
|
||||||
root.canFadeByWallpaperFillMode = false;
|
root.canFadeByWallpaperFillMode = false
|
||||||
return ;
|
return
|
||||||
}
|
}
|
||||||
switch (Wallpaper.windowsDesktopProperties.wallpaperStyle) {
|
switch (Wallpaper.windowsDesktopProperties.wallpaperStyle) {
|
||||||
case 10:
|
case 10:
|
||||||
imgCover.fillMode = Image.PreserveAspectCrop;
|
imgCover.fillMode = Image.PreserveAspectCrop
|
||||||
break;
|
break
|
||||||
case 6:
|
case 6:
|
||||||
imgCover.fillMode = Image.PreserveAspectFit;
|
imgCover.fillMode = Image.PreserveAspectFit
|
||||||
break;
|
break
|
||||||
case 2:
|
case 2:
|
||||||
break;
|
break
|
||||||
case 0:
|
case 0:
|
||||||
if (desktopProperties.isTiled) {
|
if (desktopProperties.isTiled) {
|
||||||
// Tiled
|
// Tiled
|
||||||
imgCover.fillMode = Image.Tile;
|
imgCover.fillMode = Image.Tile
|
||||||
} else {
|
} else {
|
||||||
// Center
|
// Center
|
||||||
imgCover.fillMode = Image.PreserveAspectFit;
|
imgCover.fillMode = Image.PreserveAspectFit
|
||||||
imgCover.anchors.centerIn = parent;
|
imgCover.anchors.centerIn = parent
|
||||||
imgCover.width = sourceSize.width;
|
imgCover.width = sourceSize.width
|
||||||
imgCover.height = sourceSize.height;
|
imgCover.height = sourceSize.height
|
||||||
}
|
}
|
||||||
break;
|
break
|
||||||
case 22:
|
case 22:
|
||||||
root.canFadeByWallpaperFillMode = false;
|
root.canFadeByWallpaperFillMode = false
|
||||||
break;
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,7 +210,6 @@ Rectangle {
|
|||||||
target: imgCover
|
target: imgCover
|
||||||
opacity: 1
|
opacity: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
name: "hideDefaultBackgroundImage"
|
name: "hideDefaultBackgroundImage"
|
||||||
@ -215,7 +218,6 @@ Rectangle {
|
|||||||
target: imgCover
|
target: imgCover
|
||||||
opacity: 0
|
opacity: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
name: "exit"
|
name: "exit"
|
||||||
@ -224,7 +226,6 @@ Rectangle {
|
|||||||
target: imgCover
|
target: imgCover
|
||||||
opacity: 1
|
opacity: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
transitions: [
|
transitions: [
|
||||||
@ -243,9 +244,7 @@ Rectangle {
|
|||||||
duration: 600
|
duration: 600
|
||||||
property: "opacity"
|
property: "opacity"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
Transition {
|
Transition {
|
||||||
from: "hideDefaultBackgroundImage"
|
from: "hideDefaultBackgroundImage"
|
||||||
@ -262,9 +261,7 @@ Rectangle {
|
|||||||
ScriptAction {
|
ScriptAction {
|
||||||
script: Wallpaper.terminate()
|
script: Wallpaper.terminate()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -294,7 +291,12 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: "projectSourceFileAbsolute " + Wallpaper.projectSourceFileAbsolute
|
text: "getApplicationPath " + Wallpaper.getApplicationPath()
|
||||||
|
font.pointSize: 14
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "projectSourceFileAbsolute " + Qt.resolvedUrl(Wallpaper.projectSourceFileAbsolute)
|
||||||
font.pointSize: 14
|
font.pointSize: 14
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,9 +333,10 @@ Rectangle {
|
|||||||
Text {
|
Text {
|
||||||
text: {
|
text: {
|
||||||
if (Qt.platform.os === "windows")
|
if (Qt.platform.os === "windows")
|
||||||
return "imgCover.source " + Qt.resolvedUrl("file:///" + Wallpaper.windowsDesktopProperties.wallpaperPath)
|
return "imgCover.source " + Qt.resolvedUrl(
|
||||||
else
|
"file:///" + Wallpaper.windowsDesktopProperties.wallpaperPath)
|
||||||
return ""
|
else
|
||||||
|
return ""
|
||||||
}
|
}
|
||||||
font.pointSize: 14
|
font.pointSize: 14
|
||||||
}
|
}
|
||||||
@ -342,13 +345,10 @@ Rectangle {
|
|||||||
text: "imgCover.status " + imgCover.status
|
text: "imgCover.status " + imgCover.status
|
||||||
font.pointSize: 14
|
font.pointSize: 14
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
opacity: 0.5
|
opacity: 0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,13 @@ BaseWindow::BaseWindow(
|
|||||||
if (auto typeOpt = ScreenPlayUtil::getInstalledTypeFromString(project.value("type").toString())) {
|
if (auto typeOpt = ScreenPlayUtil::getInstalledTypeFromString(project.value("type").toString())) {
|
||||||
setType(typeOpt.value());
|
setType(typeOpt.value());
|
||||||
|
|
||||||
if (!project.contains("videoCodec")) {
|
if (this->type() == ScreenPlay::InstalledType::InstalledType::VideoWallpaper) {
|
||||||
|
if (auto videoCodecOpt = ScreenPlayUtil::getVideoCodecFromString(project.value("videoCodec").toString())) {
|
||||||
|
setVideoCodec(videoCodecOpt.value());
|
||||||
|
} else {
|
||||||
|
qCritical() << "Cannot parse Wallpaper video codec from value" << project.value("type");
|
||||||
|
}
|
||||||
|
} else if (!project.contains("videoCodec") && this->type() == ScreenPlay::InstalledType::InstalledType::VideoWallpaper) {
|
||||||
qWarning("No videoCodec was specified inside the json object!");
|
qWarning("No videoCodec was specified inside the json object!");
|
||||||
const QString filename = project.value("file").toString();
|
const QString filename = project.value("file").toString();
|
||||||
if (filename.endsWith(".mp4")) {
|
if (filename.endsWith(".mp4")) {
|
||||||
@ -93,14 +99,6 @@ BaseWindow::BaseWindow(
|
|||||||
} else if (filename.endsWith(".webm")) {
|
} else if (filename.endsWith(".webm")) {
|
||||||
setVideoCodec(ScreenPlay::VideoCodec::VideoCodec::VP8);
|
setVideoCodec(ScreenPlay::VideoCodec::VideoCodec::VP8);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (this->type() == ScreenPlay::InstalledType::InstalledType::VideoWallpaper) {
|
|
||||||
if (auto videoCodecOpt = ScreenPlayUtil::getVideoCodecFromString(project.value("videoCodec").toString())) {
|
|
||||||
setVideoCodec(videoCodecOpt.value());
|
|
||||||
} else {
|
|
||||||
qCritical() << "Cannot parse Wallpaper video codec from value" << project.value("type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -285,20 +285,43 @@ void WinWindow::setupWallpaperForOneScreen(int activeScreen)
|
|||||||
*/
|
*/
|
||||||
void WinWindow::setupWallpaperForAllScreens()
|
void WinWindow::setupWallpaperForAllScreens()
|
||||||
{
|
{
|
||||||
|
ScreenPlayUtil::WinMonitorStats monitors;
|
||||||
QRect rect;
|
QRect rect;
|
||||||
for (int i = 0; i < QApplication::screens().count(); i++) {
|
for (int i = 0; i < monitors.iMonitors.size(); i++) {
|
||||||
QScreen* screenTmp = QApplication::screens().at(i);
|
const int width = std::abs(monitors.rcMonitors[i].right - monitors.rcMonitors[i].left);
|
||||||
rect.setWidth(rect.width() + screenTmp->geometry().width());
|
const int height = std::abs(monitors.rcMonitors[i].top - monitors.rcMonitors[i].bottom);
|
||||||
rect.setHeight(rect.height() + screenTmp->geometry().height());
|
qInfo() << width << height;
|
||||||
|
rect.setWidth(rect.width() + width);
|
||||||
|
rect.setHeight(rect.height() + height);
|
||||||
}
|
}
|
||||||
m_window.setHeight(rect.height());
|
int offsetX = 0;
|
||||||
m_window.setWidth(rect.width());
|
int offsetY = 0;
|
||||||
if (!SetWindowPos(m_windowHandle, HWND_TOPMOST, 0, 0, rect.width(), rect.height(), SWP_NOSIZE | SWP_NOMOVE)) {
|
for (int i = 0; i < monitors.iMonitors.size(); i++) {
|
||||||
|
const int x = monitors.rcMonitors[i].left;
|
||||||
|
const int y = monitors.rcMonitors[i].top;
|
||||||
|
qInfo() << x << y;
|
||||||
|
if (x < offsetX) {
|
||||||
|
offsetX = x;
|
||||||
|
}
|
||||||
|
if (y < offsetY) {
|
||||||
|
offsetY += y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!SetWindowPos(m_windowHandle, nullptr, offsetX, offsetY, rect.width(), rect.height(), SWP_NOSIZE | SWP_NOMOVE)) {
|
||||||
|
qFatal("Could not set window pos: ");
|
||||||
|
}
|
||||||
|
if (!SetWindowPos(m_windowHandle, nullptr, offsetX, offsetY, rect.width(), rect.height(), SWP_NOSIZE | SWP_NOMOVE)) {
|
||||||
qFatal("Could not set window pos: ");
|
qFatal("Could not set window pos: ");
|
||||||
}
|
}
|
||||||
if (SetParent(m_windowHandle, m_windowHandleWorker) == nullptr) {
|
if (SetParent(m_windowHandle, m_windowHandleWorker) == nullptr) {
|
||||||
qFatal("Could not attach to parent window");
|
qFatal("Could not attach to parent window");
|
||||||
}
|
}
|
||||||
|
qInfo() << rect.width() << rect.height() << offsetX << offsetY;
|
||||||
|
m_window.setHeight(rect.height());
|
||||||
|
m_window.setWidth(rect.width());
|
||||||
|
m_window.setY(offsetY);
|
||||||
|
m_window.setX(offsetX + 1920);
|
||||||
|
qInfo() << m_window.geometry();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -42,6 +42,7 @@ if(WIN32)
|
|||||||
set(STEAM_BIN "${STEAM_LIB_PATH}/win64/steam_api64.dll")
|
set(STEAM_BIN "${STEAM_LIB_PATH}/win64/steam_api64.dll")
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(WORKSHOP_PLUGIN_DIR ${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/Workshop)
|
set(WORKSHOP_PLUGIN_DIR ${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/Workshop)
|
||||||
|
set(MACOS_FRAMEWORKS_DIR ${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/Frameworks/)
|
||||||
set(STEAM_LIB "${STEAM_LIB_PATH}/osx/libsteam_api.dylib")
|
set(STEAM_LIB "${STEAM_LIB_PATH}/osx/libsteam_api.dylib")
|
||||||
set(STEAM_BIN ${STEAM_LIB})
|
set(STEAM_BIN ${STEAM_LIB})
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
@ -50,38 +51,37 @@ elseif(UNIX)
|
|||||||
set(STEAM_BIN ${STEAM_LIB})
|
set(STEAM_BIN ${STEAM_LIB})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADER})
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Quick ${STEAM_LIB} ScreenPlayUtil SteamSDK)
|
||||||
|
|
||||||
qt_add_qml_module(
|
qt_add_qml_module(
|
||||||
${PROJECT_NAME}
|
${PROJECT_NAME}
|
||||||
OUTPUT_DIRECTORY ${WORKSHOP_PLUGIN_DIR}
|
OUTPUT_DIRECTORY
|
||||||
URI "Workshop"
|
${WORKSHOP_PLUGIN_DIR}
|
||||||
SOURCES ${SOURCES} ${HEADER}
|
URI
|
||||||
|
"Workshop"
|
||||||
|
SOURCES
|
||||||
|
${SOURCES}
|
||||||
|
${HEADER}
|
||||||
VERSION
|
VERSION
|
||||||
1.0)
|
1.0)
|
||||||
|
|
||||||
if(APPLE)
|
if(${SCREENPLAY_STEAM})
|
||||||
if(${SCREENPLAY_STEAM})
|
if(APPLE)
|
||||||
add_custom_command(
|
file(MAKE_DIRECTORY ${WORKSHOP_PLUGIN_DIR})
|
||||||
TARGET ${PROJECT_NAME}
|
file(MAKE_DIRECTORY ${MACOS_FRAMEWORKS_DIR})
|
||||||
POST_BUILD
|
|
||||||
COMMENT "Copying steam_appid.txt into ScreenPlay.app bundle. This is for development only!"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt
|
|
||||||
${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/)
|
|
||||||
|
|
||||||
add_custom_command(
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt ${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/ COPYONLY)
|
||||||
TARGET ${PROJECT_NAME}
|
configure_file(${STEAM_BIN} ${WORKSHOP_PLUGIN_DIR} COPYONLY)
|
||||||
POST_BUILD
|
|
||||||
COMMENT "Copying libsteam_api.dylib into ScreenPlay.app bundle."
|
set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${STEAM_LIB}
|
${CMAKE_BINARY_DIR}/bin/ScreenPlay.app/Contents/MacOS/Workshop)
|
||||||
${WORKSHOP_PLUGIN_DIR})
|
else()
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if(${SCREENPLAY_STEAM})
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt ${CMAKE_BINARY_DIR}/bin/steam_appid.txt COPYONLY)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/steam_appid.txt ${CMAKE_BINARY_DIR}/bin/steam_appid.txt COPYONLY)
|
||||||
configure_file(${STEAM_BIN} ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
configure_file(${STEAM_BIN} ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Needed by the automatic generated target missing includes
|
# Needed by the automatic generated target missing includes
|
||||||
# https://github.com/qt/qtdeclarative/blob/7a7064e14f094e843e1ee832cc927e86f887621a/src/qml/Qt6QmlMacros.cmake#L2042
|
# https://github.com/qt/qtdeclarative/blob/7a7064e14f094e843e1ee832cc927e86f887621a/src/qml/Qt6QmlMacros.cmake#L2042
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC src/)
|
target_include_directories(${PROJECT_NAME} PUBLIC src/)
|
||||||
|
@ -49,9 +49,7 @@ set(HEADER
|
|||||||
public/steam/steamnetworkingtypes.h
|
public/steam/steamnetworkingtypes.h
|
||||||
public/steam/steamps3params.h
|
public/steam/steamps3params.h
|
||||||
public/steam/steamtypes.h
|
public/steam/steamtypes.h
|
||||||
public/steam/steamuniverse.h
|
public/steam/steamuniverse.h)
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
if(${SCREENPLAY_STEAM})
|
if(${SCREENPLAY_STEAM})
|
||||||
add_library(${PROJECT_NAME} STATIC ${HEADER})
|
add_library(${PROJECT_NAME} STATIC ${HEADER})
|
||||||
@ -59,8 +57,8 @@ if(${SCREENPLAY_STEAM})
|
|||||||
target_link_libraries(${PROJECT_NAME})
|
target_link_libraries(${PROJECT_NAME})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# We allaways need the generated enums as a workaround to register these enums in app.cpp.
|
# We allaways need the generated enums as a workaround to register these enums in app.cpp. Registering in the ScreenPlayWorkshop plugin does
|
||||||
# Registering in the ScreenPlayWorkshop plugin does not work for some reason.
|
# not work for some reason.
|
||||||
add_library(SteamSDKQtEnums STATIC public/steam/steam_qt_enums_generated.h)
|
add_library(SteamSDKQtEnums STATIC public/steam/steam_qt_enums_generated.h)
|
||||||
target_include_directories(SteamSDKQtEnums PUBLIC public/)
|
target_include_directories(SteamSDKQtEnums PUBLIC public/)
|
||||||
target_link_libraries(SteamSDKQtEnums PRIVATE Qt6::Core)
|
target_link_libraries(SteamSDKQtEnums PRIVATE Qt6::Core)
|
||||||
|
@ -88,8 +88,10 @@ void InstalledListModel::append(const QJsonObject& obj, const QString& folderNam
|
|||||||
|
|
||||||
void InstalledListModel::loadInstalledContent()
|
void InstalledListModel::loadInstalledContent()
|
||||||
{
|
{
|
||||||
|
if (m_loadContentFutureWatcher.isRunning())
|
||||||
|
return;
|
||||||
|
|
||||||
QtConcurrent::run([this]() {
|
m_loadContentFuture = QtConcurrent::run([this]() {
|
||||||
QFileInfoList list = QDir(m_absoluteStoragePath.toLocalFile()).entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs);
|
QFileInfoList list = QDir(m_absoluteStoragePath.toLocalFile()).entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs);
|
||||||
|
|
||||||
for (const auto& item : list) {
|
for (const auto& item : list) {
|
||||||
@ -117,6 +119,7 @@ void InstalledListModel::loadInstalledContent()
|
|||||||
|
|
||||||
emit installedLoadingFinished();
|
emit installedLoadingFinished();
|
||||||
});
|
});
|
||||||
|
m_loadContentFutureWatcher.setFuture(m_loadContentFuture);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariantMap InstalledListModel::get(QString folderId)
|
QVariantMap InstalledListModel::get(QString folderId)
|
||||||
|
@ -89,6 +89,8 @@ signals:
|
|||||||
private:
|
private:
|
||||||
QVector<ScreenPlay::ProjectFile> m_screenPlayFiles;
|
QVector<ScreenPlay::ProjectFile> m_screenPlayFiles;
|
||||||
QUrl m_absoluteStoragePath;
|
QUrl m_absoluteStoragePath;
|
||||||
|
QFuture<void> m_loadContentFuture;
|
||||||
|
QFutureWatcher<void> m_loadContentFutureWatcher;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -103,16 +103,16 @@ public slots:
|
|||||||
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::UploadProgressRole) });
|
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::UploadProgressRole) });
|
||||||
});
|
});
|
||||||
QObject::connect(item.get(), &SteamWorkshopItem::nameChanged, this, [this]() {
|
QObject::connect(item.get(), &SteamWorkshopItem::nameChanged, this, [this]() {
|
||||||
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::NameRole) });
|
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::NameRole) });
|
||||||
});
|
});
|
||||||
QObject::connect(item.get(), &SteamWorkshopItem::absolutePreviewImagePathChanged, this, [this]() {
|
QObject::connect(item.get(), &SteamWorkshopItem::absolutePreviewImagePathChanged, this, [this]() {
|
||||||
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::AbsolutePreviewImagePath) });
|
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::AbsolutePreviewImagePath) });
|
||||||
});
|
});
|
||||||
QObject::connect(item.get(), &SteamWorkshopItem::uploadComplete, this, [this](bool successful) {
|
QObject::connect(item.get(), &SteamWorkshopItem::uploadComplete, this, [this](bool successful) {
|
||||||
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::AbsolutePreviewImagePath) });
|
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::AbsolutePreviewImagePath) });
|
||||||
});
|
});
|
||||||
QObject::connect(item.get(), &SteamWorkshopItem::statusChanged, this, [this](ScreenPlayWorkshopSteamEnums::EResult status) {
|
QObject::connect(item.get(), &SteamWorkshopItem::statusChanged, this, [this](ScreenPlayWorkshopSteamEnums::EResult status) {
|
||||||
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::Status) });
|
emit this->dataChanged(index(0, 0), index(rowCount() - 1, 0), QVector<int> { static_cast<int>(UploadListModelRole::Status) });
|
||||||
|
|
||||||
// Check if all items are
|
// Check if all items are
|
||||||
|
|
||||||
|
@ -2,10 +2,8 @@ project(Tools LANGUAGES CXX)
|
|||||||
|
|
||||||
file(GLOB PYTHON *.py)
|
file(GLOB PYTHON *.py)
|
||||||
|
|
||||||
set(FILES
|
set(FILES # cmake-format: sortable
|
||||||
# cmake-format: sortable
|
Installer/package.xml Installer/installscript.qs)
|
||||||
Installer/package.xml
|
|
||||||
Installer/installscript.qs)
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
${PROJECT_NAME}
|
${PROJECT_NAME}
|
||||||
|
@ -23,6 +23,8 @@ def vs_env_dict():
|
|||||||
return dict((e[0].upper(), e[1]) for e in [p.rstrip().split("=", 1) for p in output] if len(e) == 2)
|
return dict((e[0].upper(), e[1]) for e in [p.rstrip().split("=", 1) for p in output] if len(e) == 2)
|
||||||
|
|
||||||
# Based on https://stackoverflow.com/questions/7207309/how-to-run-functions-in-parallel
|
# Based on https://stackoverflow.com/questions/7207309/how-to-run-functions-in-parallel
|
||||||
|
|
||||||
|
|
||||||
def run_io_tasks_in_parallel(tasks):
|
def run_io_tasks_in_parallel(tasks):
|
||||||
with ThreadPoolExecutor() as executor:
|
with ThreadPoolExecutor() as executor:
|
||||||
running_tasks = [executor.submit(task) for task in tasks]
|
running_tasks = [executor.submit(task) for task in tasks]
|
||||||
@ -30,13 +32,12 @@ def run_io_tasks_in_parallel(tasks):
|
|||||||
running_task.result()
|
running_task.result()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# MAIN
|
# MAIN
|
||||||
parser = argparse.ArgumentParser(description='Build and Package ScreenPlay')
|
parser = argparse.ArgumentParser(description='Build and Package ScreenPlay')
|
||||||
parser.add_argument('-t', action="store", dest="build_type",
|
parser.add_argument('-t', action="store", dest="build_type",
|
||||||
help="Build type. This is either debug or release.")
|
help="Build type. This is either debug or release.")
|
||||||
parser.add_argument('-sign', action="store", dest="sign_build",
|
parser.add_argument('-sign', action="store", dest="sign_build",
|
||||||
help="Enable if you want to sign the apps. This is macos only for now.")
|
help="Enable if you want to sign the apps. This is macos only for now.")
|
||||||
parser.add_argument('-steam', action="store", dest="steam_build",
|
parser.add_argument('-steam', action="store", dest="steam_build",
|
||||||
help="Enable if you want to build the Steam workshop plugin.")
|
help="Enable if you want to build the Steam workshop plugin.")
|
||||||
parser.add_argument('-tests', action="store", dest="build_tests",
|
parser.add_argument('-tests', action="store", dest="build_tests",
|
||||||
@ -85,7 +86,7 @@ if platform == "win32":
|
|||||||
cmake_prefix_path = "c:/Qt/" + qt_version + "/" + windows_msvc
|
cmake_prefix_path = "c:/Qt/" + qt_version + "/" + windows_msvc
|
||||||
cmake_target_triplet = "x64-windows"
|
cmake_target_triplet = "x64-windows"
|
||||||
elif platform == "darwin":
|
elif platform == "darwin":
|
||||||
cmake_prefix_path = "~/Qt/" + qt_version + "/clang_64"
|
cmake_prefix_path = "~/Qt/" + qt_version + "/macos"
|
||||||
deploy_command = "{prefix_path}/bin/macdeployqt {app}.app -qmldir=../../{app}/qml -executable={app}.app/Contents/MacOS/{app}"
|
deploy_command = "{prefix_path}/bin/macdeployqt {app}.app -qmldir=../../{app}/qml -executable={app}.app/Contents/MacOS/{app}"
|
||||||
cmake_target_triplet = "x64-osx"
|
cmake_target_triplet = "x64-osx"
|
||||||
elif platform == "linux":
|
elif platform == "linux":
|
||||||
@ -101,7 +102,8 @@ cmake_toolchain_file = (
|
|||||||
"'{root_path}/../ScreenPlay-vcpkg/scripts/buildsystems/vcpkg.cmake'").format(root_path=root_path)
|
"'{root_path}/../ScreenPlay-vcpkg/scripts/buildsystems/vcpkg.cmake'").format(root_path=root_path)
|
||||||
print("cmake_toolchain_file: %s " % cmake_toolchain_file)
|
print("cmake_toolchain_file: %s " % cmake_toolchain_file)
|
||||||
|
|
||||||
build_folder = root_path + "/build-" + cmake_target_triplet + "-" + args.build_type
|
build_folder = root_path + "/build-" + \
|
||||||
|
cmake_target_triplet + "-" + args.build_type
|
||||||
|
|
||||||
if os.path.isdir(build_folder):
|
if os.path.isdir(build_folder):
|
||||||
print("Remove previous build folder: " + build_folder)
|
print("Remove previous build folder: " + build_folder)
|
||||||
@ -153,9 +155,6 @@ execute(deploy_command.format(
|
|||||||
executable_file_ending=executable_file_ending))
|
executable_file_ending=executable_file_ending))
|
||||||
|
|
||||||
if platform == "darwin" and args.sign_build:
|
if platform == "darwin" and args.sign_build:
|
||||||
print("Remove workshop build folder (macos only).")
|
|
||||||
shutil.rmtree(build_folder + "/bin/workshop")
|
|
||||||
|
|
||||||
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --entitlements \"../../ScreenPlay/entitlements.plist\" --deep \"ScreenPlay.app/\"")
|
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --entitlements \"../../ScreenPlay/entitlements.plist\" --deep \"ScreenPlay.app/\"")
|
||||||
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --deep \"ScreenPlayWallpaper.app/\"")
|
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --deep \"ScreenPlayWallpaper.app/\"")
|
||||||
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --deep \"ScreenPlayWidget.app/\"")
|
execute("codesign --deep -f -s \"Developer ID Application: Elias Steurer (V887LHYKRH)\" --timestamp --options \"runtime\" -f --deep \"ScreenPlayWidget.app/\"")
|
||||||
@ -165,9 +164,12 @@ if platform == "darwin" and args.sign_build:
|
|||||||
execute("codesign --verify --verbose=4 \"ScreenPlayWidget.app/\"")
|
execute("codesign --verify --verbose=4 \"ScreenPlayWidget.app/\"")
|
||||||
|
|
||||||
run_io_tasks_in_parallel([
|
run_io_tasks_in_parallel([
|
||||||
lambda: execute("xcnotary notarize ScreenPlay.app -d kelteseth@gmail.com -k ScreenPlay"),
|
lambda: execute(
|
||||||
lambda: execute("xcnotary notarize ScreenPlayWallpaper.app -d kelteseth@gmail.com -k ScreenPlay"),
|
"xcnotary notarize ScreenPlay.app -d kelteseth@gmail.com -k ScreenPlay"),
|
||||||
lambda: execute("xcnotary notarize ScreenPlayWidget.app -d kelteseth@gmail.com -k ScreenPlay")
|
lambda: execute(
|
||||||
|
"xcnotary notarize ScreenPlayWallpaper.app -d kelteseth@gmail.com -k ScreenPlay"),
|
||||||
|
lambda: execute(
|
||||||
|
"xcnotary notarize ScreenPlayWidget.app -d kelteseth@gmail.com -k ScreenPlay")
|
||||||
])
|
])
|
||||||
|
|
||||||
execute("spctl --assess --verbose \"ScreenPlay.app/\"")
|
execute("spctl --assess --verbose \"ScreenPlay.app/\"")
|
||||||
@ -177,7 +179,8 @@ if platform == "darwin" and args.sign_build:
|
|||||||
# Some dlls like openssl do no longer get copied automatically.
|
# Some dlls like openssl do no longer get copied automatically.
|
||||||
# Lets just copy all of them into bin.
|
# Lets just copy all of them into bin.
|
||||||
if platform == "win32":
|
if platform == "win32":
|
||||||
vcpkg_bin_path = os.path.abspath(("{root_path}/../ScreenPlay-vcpkg/installed/x64-windows/bin").format(root_path=root_path))
|
vcpkg_bin_path = os.path.abspath(
|
||||||
|
("{root_path}/../ScreenPlay-vcpkg/installed/x64-windows/bin").format(root_path=root_path))
|
||||||
print(vcpkg_bin_path)
|
print(vcpkg_bin_path)
|
||||||
for basename in os.listdir(vcpkg_bin_path):
|
for basename in os.listdir(vcpkg_bin_path):
|
||||||
if basename.endswith('.dll'):
|
if basename.endswith('.dll'):
|
||||||
|
Loading…
Reference in New Issue
Block a user