mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 14:15:38 +00:00
Fixed the screensaver controls.
It's now possible to start a game directly from the slideshow screensaver. Also fixed toggling of the video screensaver which was not working as expected.
This commit is contained in:
parent
41c3c66eb7
commit
c906881957
|
@ -2,7 +2,7 @@
|
|||
// SystemScreenSaver.cpp
|
||||
//
|
||||
// Screensaver, supporting the following modes:
|
||||
// Dim, black, video, slideshow.
|
||||
// Dim, black, slideshow, video.
|
||||
//
|
||||
|
||||
#include "SystemScreenSaver.h"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// SystemScreenSaver.h
|
||||
//
|
||||
// Screensaver, supporting the following modes:
|
||||
// Dim, black, video, slideshow.
|
||||
// Dim, black, slideshow, video.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
|
|
@ -54,10 +54,8 @@ GuiGeneralScreensaverOptions::GuiGeneralScreensaverOptions(Window* window, const
|
|||
"random video" && screensaver_behavior->getSelected() == "random video") {
|
||||
// If before it wasn't risky but now there's a risk of problems, show warning.
|
||||
mWindow->pushGui(new GuiMsgBox(mWindow, getHelpStyle(),
|
||||
"THE \"RANDOM VIDEO\" SCREENSAVER SHOWS\nVIDEOS FROM YOUR GAMELISTS.\n\nIF YOU DO NOT "
|
||||
"HAVE ANY VIDEOS, THE SCREENSAVER\nWILL DEFAULT TO \"BLACK\".\n\nSEE MORE "
|
||||
"OPTIONS IN THE MENU \"UI SETTINGS\" >\n\"SCREENSAVER SETTINGS\" > "
|
||||
"\"VIDEO SCREENSAVER SETTINGS\".",
|
||||
"THE \"RANDOM VIDEO\" SCREENSAVER\nSHOWS VIDEOS FROM YOUR GAMELISTS.\n\nIF YOU DO NOT "
|
||||
"HAVE ANY VIDEOS, THE\nSCREENSAVER WILL DEFAULT TO \"BLACK\"",
|
||||
"OK", [] { return; }));
|
||||
}
|
||||
Settings::getInstance()->setString("ScreenSaverBehavior",
|
||||
|
|
|
@ -17,7 +17,7 @@ GuiVideoScreensaverOptions::GuiVideoScreensaverOptions(Window* window, const cha
|
|||
: GuiScreensaverOptions(window, title)
|
||||
{
|
||||
// Timer for swapping videos.
|
||||
auto swap = std::make_shared<SliderComponent>(mWindow, 10.f, 1000.f, 1.f, "s");
|
||||
auto swap = std::make_shared<SliderComponent>(mWindow, 10.f, 300.f, 5.f, "s");
|
||||
swap->setValue((float)(Settings::getInstance()->
|
||||
getInt("ScreenSaverSwapVideoTimeout") / (1000)));
|
||||
addWithLabel("SWAP VIDEO AFTER (SECS)", swap);
|
||||
|
|
|
@ -131,18 +131,20 @@ void Window::input(InputConfig* config, Input input)
|
|||
if (mScreenSaver) {
|
||||
if (mScreenSaver->isScreenSaverActive() &&
|
||||
Settings::getInstance()->getBool("ScreenSaverControls") &&
|
||||
(Settings::getInstance()->getString("ScreenSaverBehavior") == "random video")) {
|
||||
((Settings::getInstance()->getString("ScreenSaverBehavior") == "random video") ||
|
||||
(Settings::getInstance()->getString("ScreenSaverBehavior") == "slideshow"))) {
|
||||
if (mScreenSaver->getCurrentGame() != nullptr &&
|
||||
(config->isMappedLike("right", input) ||
|
||||
config->isMappedTo("start", input) || config->isMappedTo("select", input))) {
|
||||
if (config->isMappedLike("right", input) || config->isMappedTo("select", input)) {
|
||||
(config->isMappedTo("a", input) ||
|
||||
config->isMappedLike("left", input) || config->isMappedLike("right", input))) {
|
||||
// Left or right browses to the next video or image.
|
||||
if (config->isMappedLike("left", input) || config->isMappedLike("right", input)) {
|
||||
if (input.value != 0) {
|
||||
// Handle screensaver control.
|
||||
mScreenSaver->nextVideo();
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (config->isMappedTo("start", input) && input.value != 0) {
|
||||
else if (config->isMappedTo("a", input) && input.value != 0) {
|
||||
// Launch game.
|
||||
cancelScreenSaver();
|
||||
mScreenSaver->launchGame();
|
||||
|
|
Loading…
Reference in a new issue