scan_setup: re-write to support two frontends; move update of manual scan menu params from neutrino; changeNotify for related params

Origin commit data
------------------
Commit: 20b61be14a
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2012-01-13 (Fri, 13 Jan 2012)
This commit is contained in:
[CST] Focus
2012-01-13 14:46:14 +04:00
parent f18d75fb01
commit dcb469a2b7
2 changed files with 476 additions and 272 deletions

View File

@@ -35,7 +35,7 @@
#include <system/setting_helpers.h>
#include <system/settings.h>
#include <zapit/satconfig.h>
#include <string>
@@ -43,39 +43,56 @@
#define ENABLE_FASTSCAN //don't define this to remove fast scan menu
class CScanSetup : public CMenuTarget
class CScanSetup : public CMenuTarget, public CChangeObserver
{
protected:
int width;
private:
CSatelliteSetupNotifier *satNotify;
CAllUsalsNotifier *usalsNotify;
CMenuOptionStringChooser *satSelect;
CMenuWidget *satOnOff;
/* global items to be enabled/disabled in notify */
CMenuForwarder *fautoScanAll;
CMenuForwarder *frontendSetup;
CMenuForwarder *fsatSetup;
/* dynamic frontend items to be enabled/disabled in notify */
CGenericMenuActivate itemsForAdvancedDiseqc;
CGenericMenuActivate itemsForNonAdvancedDiseqc;
CGenericMenuActivate itemsForAnyDiseqc;
/* variables for selected frontend */
/* diseqc mode */
int dmode;
int fenumber;
/* flag to allow any operations which can damage recordings */
bool allow_start;
bool is_wizard;
int selected;
int dmode;
int sfound;
int fselected;
int fec_count;
int freq_length;
int r_system;
bool allow_start;
int femode;
neutrino_locale_t satprov_locale;
uint getSatMenuListWidth();
int showScanMenu();
void addScanMenuLnbSetup(CMenuWidget *sat_setup);
void addScanMenuProvider(CMenuWidget *provider_setup);
void addScanMenuSatFind(CMenuWidget *sat_findMenu);
void addScanMenuSatOnOff(CMenuWidget *sat_OnOff);
void addScanMenuTempSat(CMenuWidget *temp_sat);
void addScanMenuMotorMenu(CMenuWidget *motor_Menu);
int showFrontendSetup(int number);
int showScanMenuLnbSetup();
int showScanMenuSatFind();
void fillSatSelect();
void fillCableSelect();
void addScanMenuFrontendSetup(CMenuWidget *settings);
void addScanMenuTempSat(CMenuWidget *temp_sat, sat_config_t &satconfig);
void addScanMenuManualScan(CMenuWidget *manual_Scan);
void addScanMenuAutoScanAll(CMenuWidget *auto_ScanAll);
#ifdef ENABLE_FASTSCAN
@@ -85,28 +102,30 @@ class CScanSetup : public CMenuTarget
int addScanOptionsItems(CMenuWidget *options_menu, const int &shortcut = 1);
int addListFlagsItems(CMenuWidget *listflags_menu, const int &shortcut = 1);
void saveScanSetup();
CScanSetup(bool wizard_mode = SCAN_SETUP_MODE_WIZARD_NO);
public:
enum SCAN_SETUP_MODE
{
SCAN_SETUP_MODE_WIZARD_NO = 0,
SCAN_SETUP_MODE_WIZARD = 1
};
CScanSetup(bool wizard_mode = SCAN_SETUP_MODE_WIZARD_NO);
~CScanSetup();
static CScanSetup* getInstance();
bool getWizardMode() {return is_wizard;};
void setWizardMode(bool mode);
void updateManualSettings();
int exec(CMenuTarget* parent, const std::string & actionKey = "");
bool changeNotify(const neutrino_locale_t OptionName, void * /*data*/);
};
class CTPSelectHandler : public CScanSetup
class CTPSelectHandler : public CMenuTarget //CScanSetup
{
public:
int exec(CMenuTarget* parent, const std::string &actionkey);