start wizard: add easy mode as requested by customers,

which only ask for gui language and show fast scan (sat) and/or simple cable scan menu
This commit is contained in:
[CST] Focus
2013-06-28 15:53:12 +04:00
parent 584405883d
commit d5e57f8877
7 changed files with 85 additions and 27 deletions

View File

@@ -56,7 +56,6 @@ class COsdLangSetup : public CMenuTarget, CChangeObserver
bool is_wizard;
int showLocalSetup();
void showLanguageSetup(CMenuWidget *osdl_setup);
void showPrefMenu(CMenuWidget *prefMenu, CLangSelectNotifier *langNotifier);
CMenuOptionStringChooser* getTzItems();
@@ -74,6 +73,7 @@ class COsdLangSetup : public CMenuTarget, CChangeObserver
COsdLangSetup(bool wizard_mode = OSDLANG_SETUP_MODE_WIZARD_NO);
~COsdLangSetup();
int exec(CMenuTarget* parent, const std::string & actionKey);
void showLanguageSetup(CMenuWidget *osdl_setup);
};
#endif

View File

@@ -218,6 +218,9 @@ CScanSetup::CScanSetup(bool wizard_mode)
lcnhd = NULL;
linkfe = NULL;
in_menu = false;
allow_start = true;
if (CFEManager::getInstance()->haveCable())
nid = new CIntInput(LOCALE_SATSETUP_CABLE_NID, (int&) scansettings.cable_nid, 5, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
}
CScanSetup* CScanSetup::getInstance()
@@ -302,6 +305,8 @@ int CScanSetup::exec(CMenuTarget* parent, const std::string &actionKey)
}
CScanTs scanTs(FE_QAM);
scanTs.exec(NULL, "manual");
if (is_wizard)
return menu_return::RETURN_EXIT_ALL;
return res;
}
std::string scants_key[] = {"all", "manual", "test", "fast", "auto"/*doesn't exists in CScanTs!*/};
@@ -320,6 +325,8 @@ int CScanSetup::exec(CMenuTarget* parent, const std::string &actionKey)
//...then start scan
CScanTs scanTs(delsys);
scanTs.exec(NULL, scants_key[i]);
if (is_wizard && as == "fast")
return menu_return::RETURN_EXIT_ALL;
return res;
}
}
@@ -452,7 +459,7 @@ int CScanSetup::showScanMenu()
settings->addItem(fautoScanAll);
#ifdef ENABLE_FASTSCAN
//fast scan
CMenuWidget * fastScanMenu = new CMenuWidget(LOCALE_SATSETUP_FASTSCAN_HEAD, NEUTRINO_ICON_SETTINGS, MN_WIDGET_ID_SCAN_FAST_SCAN);
CMenuWidget * fastScanMenu = new CMenuWidget(LOCALE_SATSETUP_FASTSCAN_HEAD, NEUTRINO_ICON_SETTINGS, w, MN_WIDGET_ID_SCAN_FAST_SCAN);
addScanMenuFastScan(fastScanMenu);
mf = new CMenuDForwarder(LOCALE_SATSETUP_FASTSCAN_HEAD, true, NULL, fastScanMenu, "", CRCInput::convertDigitToKey(shortcut++));
mf->setHint("", LOCALE_MENU_HINT_SCAN_FAST);
@@ -474,7 +481,7 @@ int CScanSetup::showScanMenu()
nc->setHint("", LOCALE_MENU_HINT_SCAN_FETIMEOUT);
settings->addItem(nc);
}
nid = new CIntInput(LOCALE_SATSETUP_CABLE_NID, (int&) scansettings.cable_nid, 5, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
//nid = new CIntInput(LOCALE_SATSETUP_CABLE_NID, (int&) scansettings.cable_nid, 5, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
//auto scan
char autoscan[64];
@@ -559,7 +566,7 @@ int CScanSetup::showScanMenu()
//delete satSelect;
delete satOnOff;
delete settings;
delete nid;
//delete nid;
return res;
}

View File

@@ -111,11 +111,7 @@ class CScanSetup : public CMenuTarget, public CChangeObserver
void addScanMenuTempSat(CMenuWidget *temp_sat, sat_config_t &satconfig);
void addScanMenuManualScan(CMenuWidget *manual_Scan);
void addScanMenuAutoScanAll(CMenuWidget *auto_ScanAll);
#ifdef ENABLE_FASTSCAN
void addScanMenuFastScan(CMenuWidget *fast_ScanMenu);
#endif
void addScanMenuAutoScan(CMenuWidget *auto_Scan);
void addScanMenuCable(CMenuWidget *menu);
int addScanOptionsItems(CMenuWidget *options_menu, const int &shortcut = 1);
int addListFlagsItems(CMenuWidget *listflags_menu, const int &shortcut = 1, bool manual = false);
@@ -140,6 +136,10 @@ class CScanSetup : public CMenuTarget, public CChangeObserver
int exec(CMenuTarget* parent, const std::string & actionKey = "");
bool changeNotify(const neutrino_locale_t OptionName, void * /*data*/);
#ifdef ENABLE_FASTSCAN
void addScanMenuFastScan(CMenuWidget *fast_ScanMenu);
#endif
void addScanMenuCable(CMenuWidget *menu);
};
class CTPSelectHandler : public CMenuTarget //CScanSetup

View File

@@ -54,19 +54,23 @@
#include <video.h>
extern cVideo * videoDecoder;
extern Zapit_config zapitCfg;
using namespace std;
CStartUpWizard::CStartUpWizard()
{
}
CStartUpWizard::~CStartUpWizard()
{
}
const CMenuOptionChooser::keyval WIZARD_SETUP_TYPE[] =
{
{ 0, LOCALE_WIZARD_SETUP_EASY },
{ 1, LOCALE_WIZARD_SETUP_ADVANCED },
};
int CStartUpWizard::exec(CMenuTarget* parent, const string & /*actionKey*/)
{
int res = menu_return::RETURN_REPAINT;
@@ -74,26 +78,43 @@ int CStartUpWizard::exec(CMenuTarget* parent, const string & /*actionKey*/)
if (parent)
parent->hide();
COsdLangSetup languageSettings(COsdLangSetup::OSDLANG_SETUP_MODE_WIZARD);
#if 0
languageSettings.exec(NULL, "");
#endif
//language setup
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, "");
if(ShowMsgUTF (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbrCancel) == CMessageBox::mbrYes)
if(ShowMsgUTF (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbrCancel) == CMessageBox::mbrYes)
{
int advanced = 1;
#ifdef ENABLE_FASTSCAN
advanced = 0;
CMenuWidget wtype(LOCALE_WIZARD_SETUP);
wtype.setWizardMode(true);
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
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)
if(advanced && res != menu_return::RETURN_EXIT_ALL) {
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD);
res = g_videoSettings->exec(NULL, "");
g_videoSettings->setWizardMode(CVideoSettings::V_SETUP_MODE_WIZARD_NO);
}
if(advanced && res != menu_return::RETURN_EXIT_ALL)
{
COsdSetup osdSettings(COsdSetup::OSD_SETUP_MODE_WIZARD);
res = osdSettings.exec(NULL, "");
}
if(res != menu_return::RETURN_EXIT_ALL)
if(advanced && res != menu_return::RETURN_EXIT_ALL)
{
CNetworkSetup::getInstance()->setWizardMode(CNetworkSetup::N_SETUP_MODE_WIZARD);
res = CNetworkSetup::getInstance()->exec(NULL, "");
@@ -113,19 +134,34 @@ int CStartUpWizard::exec(CMenuTarget* parent, const string & /*actionKey*/)
CZapit::getInstance()->PrepareChannels();
}
}
if(res != menu_return::RETURN_EXIT_ALL)
if(res != menu_return::RETURN_EXIT_ALL)
{
CScanSetup::getInstance()->setWizardMode(CScanSetup::SCAN_SETUP_MODE_WIZARD);
res = CScanSetup::getInstance()->exec(NULL, "");
if (advanced) {
res = CScanSetup::getInstance()->exec(NULL, "");
} else {
CZapit::getInstance()->GetConfig(zapitCfg);
if (CFEManager::getInstance()->haveSat()) {
CMenuWidget fastScanMenu(LOCALE_SATSETUP_FASTSCAN_HEAD, NEUTRINO_ICON_SETTINGS, 45, MN_WIDGET_ID_SCAN_FAST_SCAN);
fastScanMenu.setWizardMode(true);
CScanSetup::getInstance()->addScanMenuFastScan(&fastScanMenu);
res = fastScanMenu.exec(NULL, "");
}
if (CFEManager::getInstance()->haveCable()) {
CMenuWidget cableScan(LOCALE_SATSETUP_CABLE, NEUTRINO_ICON_SETTINGS, 45, MN_WIDGET_ID_SCAN_CABLE_SCAN);
cableScan.setWizardMode(true);
CScanSetup::getInstance()->addScanMenuCable(&cableScan);
res = cableScan.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");