Merge branch 'cst-next' into nmp-cst-next

Origin commit data
------------------
Branch: ni/coolstream
Commit: 59fce4aafa
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2016-01-16 (Sat, 16 Jan 2016)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Michael Liebmann
2016-01-16 13:37:40 +01:00
4 changed files with 34 additions and 11 deletions

View File

@@ -1308,6 +1308,15 @@ bool COsdSetup::changeNotify(const neutrino_locale_t OptionName, void * data)
}
return false;
}
else if(ARE_LOCALES_EQUAL(OptionName, LOCALE_SCREENSAVER_DELAY)) {
screensaverActivate.Activate(g_settings.screensaver_delay != 0);
screensaverOptActivate.Activate(g_settings.screensaver_delay != 0 && g_settings.screensaver_mode == 0);
return false;
}
else if(ARE_LOCALES_EQUAL(OptionName, LOCALE_SCREENSAVER_MODE)) {
screensaverOptActivate.Activate(g_settings.screensaver_mode == 0);
return false;
}
else if(ARE_LOCALES_EQUAL(OptionName, LOCALE_COLORMENU_OSD_PRESET)) {
int preset = * (int *) data;
printf("preset %d (setting %d)\n", preset, g_settings.screen_preset);
@@ -1451,38 +1460,40 @@ const CMenuOptionChooser::keyval SCREENSAVER_MODE_OPTIONS[SCREENSAVER_MODE_OPTIO
void COsdSetup::showOsdScreensaverSetup(CMenuWidget *menu_screensaver)
{
menu_screensaver->addIntroItems(LOCALE_SCREENSAVER_MENU);
screensaverNotifier = new COnOffNotifier();
screensaverActivate.Clear();
screensaverOptActivate.Clear();
// screensaver delay
CMenuOptionNumberChooser* nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_DELAY, &g_settings.screensaver_delay, true, 0, 999, screensaverNotifier, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_SCREENSAVER_OFF);
CMenuOptionNumberChooser* nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_DELAY, &g_settings.screensaver_delay, true, 0, 999, this, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_SCREENSAVER_OFF);
nc->setNumberFormat(std::string("%d ") + g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE));
nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_DELAY);
menu_screensaver->addItem(nc);
// screensaver mode
CMenuOptionChooser* oc = new CMenuOptionChooser(LOCALE_SCREENSAVER_MODE, &g_settings.screensaver_mode, SCREENSAVER_MODE_OPTIONS, SCREENSAVER_MODE_OPTION_COUNT, true);
CMenuOptionChooser* oc = new CMenuOptionChooser(LOCALE_SCREENSAVER_MODE, &g_settings.screensaver_mode, SCREENSAVER_MODE_OPTIONS, SCREENSAVER_MODE_OPTION_COUNT, (g_settings.screensaver_delay != 0), this);
oc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_MODE);
menu_screensaver->addItem(oc);
screensaverNotifier->addItem(oc);
screensaverActivate.Add(oc);
// screensaver timeout
nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_TIMEOUT, &g_settings.screensaver_timeout, (g_settings.screensaver_delay != 0), 0, 60, NULL, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_OPTIONS_OFF);
nc->setNumberFormat(std::string("%d ") + g_Locale->getText(LOCALE_UNIT_SHORT_SECOND));
nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_TIMEOUT);
menu_screensaver->addItem(nc);
screensaverNotifier->addItem(nc);
screensaverActivate.Add(nc);
// screensaver_dir
CMenuForwarder *mf = new CMenuForwarder(LOCALE_SCREENSAVER_DIR, (g_settings.screensaver_delay != 0), g_settings.screensaver_dir, this, "screensaver_dir");
CMenuForwarder *mf = new CMenuForwarder(LOCALE_SCREENSAVER_DIR, (g_settings.screensaver_delay != 0 && g_settings.screensaver_mode == 0), g_settings.screensaver_dir, this, "screensaver_dir");
mf->setHint("", LOCALE_MENU_HINT_SCREENSAVER_DIR);
menu_screensaver->addItem(mf);
screensaverNotifier->addItem(mf);
screensaverOptActivate.Add(mf);
// screensaver random mode
oc = new CMenuOptionChooser(LOCALE_SCREENSAVER_RANDOM, &g_settings.screensaver_random, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true);
oc = new CMenuOptionChooser(LOCALE_SCREENSAVER_RANDOM, &g_settings.screensaver_random, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, (g_settings.screensaver_delay != 0 && g_settings.screensaver_mode == 0));
oc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_RANDOM);
menu_screensaver->addItem(oc);
screensaverNotifier->addItem(oc);
screensaverOptActivate.Add(oc);
}
void COsdSetup::paintWindowSize(int w, int h)

View File

@@ -58,6 +58,8 @@ class COsdSetup : public CMenuTarget, public CChangeObserver
COnOffNotifier* channellistNotifier;
COnOffNotifier* infobarHddNotifier;
CGenericMenuActivate casystemActivate;
CGenericMenuActivate screensaverActivate;
CGenericMenuActivate screensaverOptActivate;
CGenericMenuActivate gradentHeadDirection, gradentHintDirection, gradentInfobarTopDirection, gradentInfobarBodyDirection, gradentInfobarFootDirection;
int width;
int is_wizard;

View File

@@ -38,7 +38,7 @@
#include "screensaver.h"
#include <system/debug.h>
#include <gui/infoclock.h>
#include <zapit/zapit.h>
#include <video.h>
extern cVideo * videoDecoder;
@@ -54,6 +54,7 @@ CScreenSaver::CScreenSaver()
status_mute = CAudioMute::getInstance()->getStatus();
scr_clock = NULL;
clr.i_color = COL_DARK_GRAY;
pip_channel_id = 0;
}
CScreenSaver::~CScreenSaver()
@@ -87,6 +88,10 @@ void CScreenSaver::Start()
if(!CInfoClock::getInstance()->isBlocked())
CInfoClock::getInstance()->disableInfoClock();
pip_channel_id = CZapit::getInstance()->GetPipChannelID();
if (pip_channel_id)
g_Zapit->stopPip();
m_viewer->SetScaling((CPictureViewer::ScalingMode)g_settings.picviewer_scaling);
m_viewer->SetVisible(g_settings.screen_StartX, g_settings.screen_EndX, g_settings.screen_StartY, g_settings.screen_EndY);
@@ -122,6 +127,11 @@ void CScreenSaver::Stop()
scr_clock = NULL;
}
if(pip_channel_id) {
CNeutrinoApp::getInstance()->StartPip(pip_channel_id);
pip_channel_id = 0;
}
m_frameBuffer->paintBackground(); //clear entire screen
CAudioMute::getInstance()->enableMuteIcon(status_mute);

View File

@@ -40,7 +40,7 @@ class CScreenSaver : public sigc::trackable
static void* ScreenSaverPrg(void *arg);
vector<string> v_bg_files;
unsigned int index;
t_channel_id pip_channel_id;
bool status_mute;
bool ReadDir();