Files
recycled-ni-neutrino/src/gui/start_wizard.cpp
vanhofen e143e0bcb0 Merge branch 'master' of https://github.com/tuxbox-neutrino/gui-neutrino into ni/tuxbox
Conflicts:
	configure.ac
	data/icons/buttons/0.png
	data/icons/buttons/1.png
	data/icons/buttons/2.png
	data/icons/buttons/3.png
	data/icons/buttons/4.png
	data/icons/buttons/5.png
	data/icons/buttons/6.png
	data/icons/buttons/7.png
	data/icons/buttons/8.png
	data/icons/buttons/9.png
	data/icons/buttons/blau.png
	data/icons/buttons/btn_backward.png
	data/icons/buttons/btn_forward.png
	data/icons/buttons/btn_pause.png
	data/icons/buttons/btn_play.png
	data/icons/buttons/btn_record_active.png
	data/icons/buttons/btn_record_inactive.png
	data/icons/buttons/btn_stop.png
	data/icons/buttons/down.png
	data/icons/buttons/gelb.png
	data/icons/buttons/gruen.png
	data/icons/buttons/help.png
	data/icons/buttons/help_small.png
	data/icons/buttons/home.png
	data/icons/buttons/info.png
	data/icons/buttons/info_small.png
	data/icons/buttons/left.png
	data/icons/buttons/menu.png
	data/icons/buttons/menu_small.png
	data/icons/buttons/mute_small.png
	data/icons/buttons/mute_zap_gray.png
	data/icons/buttons/mute_zap_green.png
	data/icons/buttons/ok.png
	data/icons/buttons/power.png
	data/icons/buttons/right.png
	data/icons/buttons/rot.png
	data/icons/buttons/up.png
	data/icons/filetypes/movie.png
	data/icons/filetypes/mp3.png
	data/icons/headers/audio.png
	data/icons/headers/bookmarkmanager.png
	data/icons/headers/colors.png
	data/icons/headers/error.png
	data/icons/headers/features.png
	data/icons/headers/games.png
	data/icons/headers/icon_blue.png
	data/icons/headers/icon_green.png
	data/icons/headers/icon_red.png
	data/icons/headers/icon_yellow.png
	data/icons/headers/information.png
	data/icons/headers/keybinding.png
	data/icons/headers/language.png
	data/icons/headers/lcd.png
	data/icons/headers/mainmenue.png
	data/icons/headers/multimedia.png
	data/icons/headers/network.png
	data/icons/headers/personalize.png
	data/icons/headers/shell.png
	data/icons/headers/softupdate.png
	data/icons/headers/streaming.png
	data/icons/headers/timer.png
	data/icons/headers/upnp.png
	data/icons/headers/video.png
	data/icons/movieplayer/mp_b-skip.png
	data/icons/movieplayer/mp_f-skip.png
	data/icons/movieplayer/mp_pause.png
	data/icons/movieplayer/mp_play.png
	data/icons/movieplayer/mp_play_repeat_all.png
	data/icons/movieplayer/mp_play_repeat_track.png
	data/icons/status/ca/biss_green.png
	data/icons/status/ca/biss_white.png
	data/icons/status/ca/biss_yellow.png
	data/icons/status/ca/conax_green.png
	data/icons/status/ca/conax_white.png
	data/icons/status/ca/conax_yellow.png
	data/icons/status/ca/cw_green.png
	data/icons/status/ca/cw_white.png
	data/icons/status/ca/cw_yellow.png
	data/icons/status/ca/d_green.png
	data/icons/status/ca/d_white.png
	data/icons/status/ca/d_yellow.png
	data/icons/status/ca/ird_green.png
	data/icons/status/ca/ird_white.png
	data/icons/status/ca/ird_yellow.png
	data/icons/status/ca/nagra_green.png
	data/icons/status/ca/nagra_white.png
	data/icons/status/ca/nagra_yellow.png
	data/icons/status/ca/nds_green.png
	data/icons/status/ca/nds_white.png
	data/icons/status/ca/nds_yellow.png
	data/icons/status/ca/powervu_green.png
	data/icons/status/ca/powervu_white.png
	data/icons/status/ca/powervu_yellow.png
	data/icons/status/ca/seca_green.png
	data/icons/status/ca/seca_white.png
	data/icons/status/ca/seca_yellow.png
	data/icons/status/ca/via_green.png
	data/icons/status/ca/via_white.png
	data/icons/status/ca/via_yellow.png
	data/icons/status/ca/x_green.png
	data/icons/status/ca/x_white.png
	data/icons/status/ca/x_yellow.png
	data/icons/status/channel/16_9.png
	data/icons/status/channel/16_9_gray.png
	data/icons/status/channel/ca2.png
	data/icons/status/channel/ca2_gray.png
	data/icons/status/channel/dd.png
	data/icons/status/channel/dd_avail.png
	data/icons/status/channel/dd_gray.png
	data/icons/status/channel/radiotextget.png
	data/icons/status/channel/radiotextoff.png
	data/icons/status/channel/radiotextwait.png
	data/icons/status/channel/res_000.png
	data/icons/status/channel/res_1080.png
	data/icons/status/channel/res_1280.png
	data/icons/status/channel/res_1440.png
	data/icons/status/channel/res_1920.png
	data/icons/status/channel/res_288.png
	data/icons/status/channel/res_352.png
	data/icons/status/channel/res_382.png
	data/icons/status/channel/res_480.png
	data/icons/status/channel/res_528.png
	data/icons/status/channel/res_544.png
	data/icons/status/channel/res_576.png
	data/icons/status/channel/res_704.png
	data/icons/status/channel/res_720.png
	data/icons/status/channel/res_hd.png
	data/icons/status/channel/res_sd.png
	data/icons/status/channel/subt.png
	data/icons/status/channel/subt_gray.png
	data/icons/status/channel/tuner_1.png
	data/icons/status/channel/tuner_2.png
	data/icons/status/channel/tuner_3.png
	data/icons/status/channel/tuner_4.png
	data/icons/status/channel/vtxt.png
	data/icons/status/channel/vtxt_gray.png
	data/icons/status/various/ats.png
	data/icons/status/various/ats_gray.png
	data/icons/status/various/ca.png
	data/icons/status/various/lock.png
	data/icons/status/various/mounted.png
	data/icons/status/various/mute.png
	data/icons/status/various/not_mounted.png
	data/icons/status/various/pip.png
	data/icons/status/various/rec_event_marker.png
	data/icons/status/various/rec_gray.png
	data/icons/status/various/zap.png
	data/locale/Makefile.am
	data/locale/english.locale
	data/pictures/backgrounds/1280x720/start.jpg
	src/driver/fb_accel_sti.cpp
	src/gui/Makefile.am
	src/gui/dboxinfo.cpp
	src/gui/infoviewer_bb.cpp
	src/gui/movieplayer.cpp
	src/gui/osd_setup.cpp
	src/gui/streaminfo2.cpp
	src/gui/themes.cpp
	src/neutrino.cpp
	src/system/flashtool.cpp
	src/system/settings.cpp
	src/system/settings.h


Origin commit data
------------------
Branch: ni/coolstream
Commit: 4121099dcf
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-10-18 (Wed, 18 Oct 2017)



------------------
This commit was generated by Migit
2017-10-18 09:41:46 +02:00

203 lines
6.5 KiB
C++

/*
Neutrino-GUI - Tuxbox-Project
Copyright (C) 2001 Steffen Hehn 'McClean'
http://www.tuxbox.org
Startup wizard
based upon an implementation created by
Copyright (C) 2009 CoolStream International Ltd.
Reworked by dbt (Thilo Graf)
Copyright (C) 2012 dbt
http://www.dbox2-tuning.net
License: GPL
This software is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
Boston, MA 02110-1301, USA.
NOTE for ignorant distributors:
It's not allowed to distribute any compiled parts of this code, if you don't accept the terms of GPL.
Please read it and understand it right!
This means for you: Hold it, if not, leave it! You could face legal action!
Otherwise ask the copyright owners, anything else would be theft!
*/
#include "start_wizard.h"
#include <global.h>
#include <neutrino.h>
#include <neutrino_menue.h>
#include "network_setup.h"
#include "osd_setup.h"
#include "osdlang_setup.h"
#include "scan_setup.h"
#include "settings_manager.h"
#include "videosettings.h"
#include <zapit/zapit.h>
#include <system/helpers.h>
#include <gui/widget/msgbox.h>
#include <video.h>
extern cVideo * videoDecoder;
extern Zapit_config zapitCfg;
using namespace std;
CStartUpWizard::CStartUpWizard()
{
}
CStartUpWizard::~CStartUpWizard()
{
}
#ifdef ENABLE_FASTSCAN
const CMenuOptionChooser::keyval WIZARD_SETUP_TYPE[] =
{
{ 0, LOCALE_WIZARD_SETUP_EASY },
{ 1, LOCALE_WIZARD_SETUP_ADVANCED },
};
#endif
int CStartUpWizard::exec(CMenuTarget* parent, const string & /*actionKey*/)
{
//NI remove menu-timeout during wizard
int default_timing_menu = g_settings.timing[SNeutrinoSettings::TIMING_MENU];
g_settings.timing[SNeutrinoSettings::TIMING_MENU] = 0;
//printf("[neutrino] Removing 'timing.menu' during wizard ...\n");
int res = menu_return::RETURN_REPAINT;
showBackgroundLogo();
if (parent)
parent->hide();
//language setup
COsdLangSetup languageSettings(SNeutrinoSettings::WIZARD_START);
CMenuWidget osdl_setup(LOCALE_LANGUAGESETUP_OSD, NEUTRINO_ICON_LANGUAGE, 45, MN_WIDGET_ID_LANGUAGESETUP_LOCALE);
osdl_setup.setWizardMode(true);
languageSettings.showLanguageSetup(&osdl_setup);
osdl_setup.exec(NULL, "");
/* hack to ensure system's view of timezone is the same as neutrino's */
CTZChangeNotifier tzn;
tzn.changeNotify(NONEXISTANT_LOCALE, (void *)"dummy");
//restore backup
CSettingsManager settingsManager(SNeutrinoSettings::WIZARD_START);
settingsManager.exec(NULL, "");
#if 0
if(ShowMsg (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMsgBox::mbrYes, CMsgBox::mbYes | CMsgBox::mbrCancel) == CMsgBox::mbrYes)
#endif
{
int advanced = 1;
#ifdef ENABLE_FASTSCAN
std::string lang = g_settings.language;
if (lang == "nederlands") {
advanced = 0;
CMenuWidget wtype(LOCALE_WIZARD_SETUP);
wtype.setWizardMode(SNeutrinoSettings::WIZARD_ON);
wtype.addIntroItems();
CMenuOptionChooser * mc = new CMenuOptionChooser(LOCALE_WIZARD_SETUP_TYPE, &advanced, WIZARD_SETUP_TYPE, 2, true, NULL);
mc->setHint("", LOCALE_WIZARD_SETUP_TYPE_HINT);
wtype.addItem(mc);
wtype.exec(NULL, "");
}
#endif
//open video settings in wizardmode
if(advanced && res != menu_return::RETURN_EXIT_ALL) {
g_videoSettings->setWizardMode(SNeutrinoSettings::WIZARD_ON);
res = g_videoSettings->exec(NULL, "");
g_videoSettings->setWizardMode(SNeutrinoSettings::WIZARD_OFF);
}
if(advanced && res != menu_return::RETURN_EXIT_ALL)
{
COsdSetup osdSettings(SNeutrinoSettings::WIZARD_ON);
res = osdSettings.exec(NULL, "");
}
if(advanced && res != menu_return::RETURN_EXIT_ALL)
{
CNetworkSetup::getInstance()->setWizardMode(SNeutrinoSettings::WIZARD_ON);
res = CNetworkSetup::getInstance()->exec(NULL, "");
CNetworkSetup::getInstance()->setWizardMode(SNeutrinoSettings::WIZARD_OFF);
}
bool init_settings = false;
if (CFEManager::getInstance()->haveSat())
init_settings = file_exists(CONFIGDIR "/initial/");
if(advanced && init_settings && (res != menu_return::RETURN_EXIT_ALL))
{
if (ShowMsg(LOCALE_WIZARD_INITIAL_SETTINGS, g_Locale->getText(LOCALE_WIZARD_INSTALL_SETTINGS),
CMsgBox::mbrYes, CMsgBox::mbYes | CMsgBox::mbNo, NULL, 450, 30) == CMsgBox::mbrYes) {
system("/bin/cp " CONFIGDIR "/initial/* " CONFIGDIR "/zapit/");
CFEManager::getInstance()->loadSettings();
CFEManager::getInstance()->saveSettings();
CZapit::getInstance()->PrepareChannels();
}
}
if(res != menu_return::RETURN_EXIT_ALL)
{
CScanSetup::getInstance()->setWizardMode(SNeutrinoSettings::WIZARD_ON);
if (advanced) {
res = CScanSetup::getInstance()->exec(NULL, "setup_frontend");
if(res != menu_return::RETURN_EXIT_ALL)
res = CScanSetup::getInstance()->exec(NULL, "");
} else {
CZapit::getInstance()->GetConfig(zapitCfg);
#ifdef ENABLE_FASTSCAN
if (CFEManager::getInstance()->haveSat()) {
CMenuWidget fastScanMenu(LOCALE_SATSETUP_FASTSCAN_HEAD, NEUTRINO_ICON_SETTINGS, 45, MN_WIDGET_ID_SCAN_FAST_SCAN);
fastScanMenu.setWizardMode(SNeutrinoSettings::WIZARD_ON);
CScanSetup::getInstance()->addScanMenuFastScan(&fastScanMenu);
res = fastScanMenu.exec(NULL, "");
}
#endif
if (CFEManager::getInstance()->haveCable()) {
CMenuWidget cableScan(LOCALE_SATSETUP_CABLE, NEUTRINO_ICON_SETTINGS, 45, MN_WIDGET_ID_SCAN_CABLE_SCAN);
cableScan.setWizardMode(SNeutrinoSettings::WIZARD_ON);
CScanSetup::getInstance()->addScanMenuCable(&cableScan);
res = cableScan.exec(NULL, "");
}
}
CScanSetup::getInstance()->setWizardMode(SNeutrinoSettings::WIZARD_OFF);
}
}
//NI reset menu-timeout to our default if user doesn't change the value
if (g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0) {
g_settings.timing[SNeutrinoSettings::TIMING_MENU] = default_timing_menu;
//printf("[neutrino] Set 'timing.menu' to default...\n");
}
killBackgroundLogo();
return res;
}
inline void CStartUpWizard::showBackgroundLogo()
{
CFrameBuffer::getInstance()->showFrame("start.jpg");
}
inline void CStartUpWizard::killBackgroundLogo()
{
CFrameBuffer::getInstance()->stopFrame();
}