* neutrino clean up: move "start wizard" into its own module

It's better, to have a single module for coming features in the wizard

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@2154 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
thilo
2012-03-19 09:00:11 +00:00
parent 6a5ffc315f
commit cfa58da3c6
10 changed files with 209 additions and 50 deletions

View File

@@ -80,6 +80,7 @@ libneutrino_gui_a_SOURCES = \
settings_manager.cpp \
sleeptimer.cpp \
software_update.cpp \
start_wizard.cpp \
streaminfo2.cpp \
subchannel_select.cpp \
test_menu.cpp \

View File

@@ -42,6 +42,7 @@
#include <gui/widget/stringinput.h>
#include <gui/widget/stringinput_ext.h>
#include <gui/widget/hintbox.h>
#include <gui/widget/messagebox.h>
#include <global.h>
#include <neutrino.h>
@@ -72,6 +73,17 @@ CNetworkSetup::~CNetworkSetup()
//delete networkConfig;
}
CNetworkSetup* CNetworkSetup::getInstance()
{
static CNetworkSetup* me = NULL;
if(!me) {
me = new CNetworkSetup();
dprintf(DEBUG_DEBUG, "CNetworkSetup Instance created\n");
}
return me;
}
int CNetworkSetup::exec(CMenuTarget* parent, const std::string &actionKey)
{
int res = menu_return::RETURN_REPAINT;

View File

@@ -32,7 +32,6 @@
#define __network_setup__
#include <gui/widget/menue.h>
#include <gui/widget/messagebox.h>
#include <system/setting_helpers.h>
#include <system/configure_network.h>
@@ -123,6 +122,8 @@ class CNetworkSetup : public CMenuTarget, CChangeObserver
CNetworkSetup(bool wizard_mode = N_SETUP_MODE_WIZARD_NO);
~CNetworkSetup();
static CNetworkSetup* getInstance();
bool getWizardMode() {return is_wizard;};
void setWizardMode(bool mode);

124
src/gui/start_wizard.cpp Normal file
View File

@@ -0,0 +1,124 @@
/*
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 Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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 Library General Public
License along with this library; 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 <gui/widget/messagebox.h>
#include <video.h>
extern cVideo * videoDecoder;
using namespace std;
CStartUpWizard::CStartUpWizard()
{
}
CStartUpWizard::~CStartUpWizard()
{
}
int CStartUpWizard::exec(CMenuTarget* parent, const string & /*actionKey*/)
{
int res = menu_return::RETURN_REPAINT;
showBackgroundLogo();
if (parent)
parent->hide();
COsdLangSetup languageSettings(COsdLangSetup::OSDLANG_SETUP_MODE_WIZARD);
languageSettings.exec(NULL, "");
if(ShowMsgUTF (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbrCancel) == CMessageBox::mbrYes)
{
//open video settings in wizardmode
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD);
COsdSetup osdSettings(COsdSetup::OSD_SETUP_MODE_WIZARD);
res = g_videoSettings->exec(NULL, "");
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD_NO);
if(res != menu_return::RETURN_EXIT_ALL)
{
res = osdSettings.exec(NULL, "");
}
if(res != menu_return::RETURN_EXIT_ALL)
{
CNetworkSetup::getInstance()->setWizardMode(CNetworkSetup::N_SETUP_MODE_WIZARD);
res = CNetworkSetup::getInstance()->exec(NULL, "");
CNetworkSetup::getInstance()->setWizardMode(CNetworkSetup::N_SETUP_MODE_WIZARD_NO);
}
if(res != menu_return::RETURN_EXIT_ALL)
{
CScanSetup::getInstance()->setWizardMode(CScanSetup::SCAN_SETUP_MODE_WIZARD);
res = CScanSetup::getInstance()->exec(NULL, "");
CScanSetup::getInstance()->setWizardMode(CScanSetup::SCAN_SETUP_MODE_WIZARD_NO);
}
}
killBackgroundLogo();
return res;
}
inline void CStartUpWizard::showBackgroundLogo()
{
videoDecoder->ShowPicture(DATADIR "/neutrino/icons/start.jpg");
}
inline void CStartUpWizard::killBackgroundLogo()
{
videoDecoder->StopPicture();
}

59
src/gui/start_wizard.h Normal file
View File

@@ -0,0 +1,59 @@
/*
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 Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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 Library General Public
License along with this library; 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!
*/
#ifndef __start_wizard__
#define __start_wizard__
#include <global.h>
#include <neutrino.h>
#include <neutrino_menue.h>
class CStartUpWizard : public CMenuTarget
{
private:
void showBackgroundLogo();
void killBackgroundLogo();
public:
CStartUpWizard();
~CStartUpWizard();
int exec(CMenuTarget* parent, const std::string & actionKey);
};
#endif

View File

@@ -49,6 +49,7 @@
#include "gui/scan.h"
#include "gui/scan_setup.h"
#include <zapit/frontend_c.h>
#include <gui/widget/messagebox.h>
extern int cs_test_card(int unit, char * str);

View File

@@ -43,6 +43,7 @@
#include <gui/widget/icons.h>
#include <gui/widget/stringinput.h>
#include <gui/widget/keychooser.h>
#include <gui/widget/messagebox.h>
#include <driver/screen_max.h>

View File

@@ -75,6 +75,7 @@
#include "gui/plugins.h"
#include "gui/rc_lock.h"
#include "gui/scan_setup.h"
#include "gui/start_wizard.h"
#include "gui/timerlist.h"
#include "gui/videosettings.h"
@@ -228,7 +229,6 @@ CNeutrinoApp::CNeutrinoApp()
channelList = NULL;
TVchannelList = NULL;
RADIOchannelList = NULL;
networksetup = NULL;
skipShutdownTimer = false;
current_muted = 0;
recordingstatus = 0;
@@ -1623,20 +1623,17 @@ int CNeutrinoApp::run(int argc, char **argv)
int loadSettingsErg = loadSetup(NEUTRINO_SETTINGS_FILE);
bool display_language_selection;
initialize_iso639_map();
bool show_startwizard = false;
CLocaleManager::loadLocale_ret_t loadLocale_ret = g_Locale->loadLocale(g_settings.language);
if (loadLocale_ret == CLocaleManager::NO_SUCH_LOCALE)
{
strcpy(g_settings.language, "english");
loadLocale_ret = g_Locale->loadLocale(g_settings.language);
display_language_selection = true;
show_startwizard = true;
}
else
display_language_selection = false;
SetupFonts();
SetupTiming();
g_PicViewer = new CPictureViewer();
@@ -1687,9 +1684,6 @@ int CNeutrinoApp::run(int argc, char **argv)
// trigger a change
audioSetupNotifier->changeNotify(LOCALE_AUDIOMENU_AVSYNC, NULL);
if(display_language_selection)
videoDecoder->ShowPicture(DATADIR "/neutrino/icons/start.jpg");
powerManager = new cPowerManager;
if (powerManager) {
@@ -1841,41 +1835,10 @@ int CNeutrinoApp::run(int argc, char **argv)
g_Timerd->registerEvent(CTimerdClient::EVT_EXEC_PLUGIN, 222, NEUTRINO_UDS_NAME);
if (display_language_selection)
{
COsdLangSetup languageSettings(COsdLangSetup::OSDLANG_SETUP_MODE_WIZARD);
if (show_startwizard) {
hintBox->hide();
languageSettings.exec(NULL, "");
if(ShowMsgUTF (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbrCancel) == CMessageBox::mbrYes)
{
//open video settings in wizardmode
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD);
COsdSetup osdSettings(COsdSetup::OSD_SETUP_MODE_WIZARD);
bool ret = g_videoSettings->exec(NULL, "");
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD_NO);
if(ret != menu_return::RETURN_EXIT_ALL)
{
ret = osdSettings.exec(NULL, "");
}
if(ret != menu_return::RETURN_EXIT_ALL)
{
networksetup->setWizardMode(CNetworkSetup::N_SETUP_MODE_WIZARD);
ret = networksetup->exec(NULL, "");
networksetup->setWizardMode(CNetworkSetup::N_SETUP_MODE_WIZARD_NO);
}
if(ret != menu_return::RETURN_EXIT_ALL)
{
CScanSetup::getInstance()->setWizardMode(CScanSetup::SCAN_SETUP_MODE_WIZARD);
ret = CScanSetup::getInstance()->exec(NULL, "");
CScanSetup::getInstance()->setWizardMode(CScanSetup::SCAN_SETUP_MODE_WIZARD_NO);
}
}
videoDecoder->StopPicture();
CStartUpWizard startwizard;
startwizard.exec(NULL, "");
}
if(loadSettingsErg) {

View File

@@ -40,7 +40,6 @@
#include <system/setting_helpers.h>
#include <system/configure_network.h>
#include <gui/timerlist.h>
#include <gui/network_setup.h>
#include <timerdclient/timerdtypes.h>
#include <gui/channellist.h> /* CChannelList */
#include <gui/rc_lock.h>
@@ -125,7 +124,6 @@ private:
bool skipShutdownTimer;
bool pbBlinkChange;
CColorSetupNotifier *colorSetupNotifier;
CNetworkSetup *networksetup;
CMoviePluginChangeExec *MoviePluginChanger;
COnekeyPluginChangeExec *OnekeyPluginChanger;
CIPChangeNotifier *MyIPChanger;

View File

@@ -62,6 +62,7 @@
#include "gui/miscsettings_menu.h"
#include "gui/motorcontrol.h"
#include "gui/movieplayer.h"
#include <gui/network_setup.h>
#include "gui/osd_setup.h"
#include "gui/osdlang_setup.h"
#include "gui/parentallock_setup.h"
@@ -259,9 +260,7 @@ void CNeutrinoApp::InitMenuSettings()
personalize.addItem(MENU_SETTINGS, new CMenuForwarder(LOCALE_PARENTALLOCK_PARENTALLOCK, true, NULL, new CParentalSetup()), &show, false, CPersonalizeGui::PERSONALIZE_SHOW_NO);
// network
if(networksetup == NULL)
networksetup = new CNetworkSetup();
personalize.addItem(MENU_SETTINGS, new CMenuForwarder(LOCALE_MAINSETTINGS_NETWORK, true, NULL, networksetup), &g_settings.personalize[SNeutrinoSettings::P_MSET_NETWORK]);
personalize.addItem(MENU_SETTINGS, new CMenuForwarder(LOCALE_MAINSETTINGS_NETWORK, true, NULL, CNetworkSetup::getInstance()), &g_settings.personalize[SNeutrinoSettings::P_MSET_NETWORK]);
// record settings
personalize.addItem(MENU_SETTINGS, new CMenuForwarder(LOCALE_MAINSETTINGS_RECORDING, true, NULL, new CRecordSetup()), &g_settings.personalize[SNeutrinoSettings::P_MSET_RECORDING]);