Merge branch 'master' into multituner

This commit is contained in:
[CST] Focus
2012-03-26 19:49:03 +04:00
8 changed files with 27 additions and 14 deletions

View File

@@ -330,6 +330,8 @@ int CPersonalizeGui::ShowPersonalizationMenu()
delete pinChangeWidget;
delete fkeyMenu;
delete plMenu;
for(vector<CUserMenuSetup*>::iterator it = v_userMenuSetup.begin(); it != v_userMenuSetup.end(); ++it)
delete *it;
v_userMenuSetup.clear();
delete user_menu_notifier;
delete pin_setup_notifier;
@@ -374,7 +376,7 @@ void CPersonalizeGui::ShowPreverredKeySetup(CMenuWidget* p_widget)
//init usermenu items
void CPersonalizeGui::ShowUserMenu(CMenuWidget* p_widget, vector<CUserMenuSetup*> v_umenu)
void CPersonalizeGui::ShowUserMenu(CMenuWidget* p_widget, vector<CUserMenuSetup*> &v_umenu)
{
p_widget->addIntroItems(LOCALE_USERMENU_HEAD);

View File

@@ -162,7 +162,7 @@ class CPersonalizeGui : public CMenuTarget, public CChangeObserver, public CPINP
void ShowMenuOptions(const int& menu);
void ShowHelpPersonalize();
void ShowPinSetup(CMenuWidget* p_widget, CPINChangeWidget *pin_widget);
void ShowUserMenu(CMenuWidget* p_widget, std::vector<CUserMenuSetup*> v_umenu);
void ShowUserMenu(CMenuWidget* p_widget, std::vector<CUserMenuSetup*> &v_umenu);
void ShowPluginMenu(CMenuWidget* p_widget);
void ShowPreverredKeySetup(CMenuWidget* p_widget);
void SaveAndExit();

View File

@@ -57,17 +57,13 @@ CUserMenuSetup::CUserMenuSetup(neutrino_locale_t menue_title, int menue_button)
width = w_max (40, 10);
pref_name = g_settings.usermenu_text[button]; //set current button name as prefered name
ums = NULL;
mf = NULL;
}
CUserMenuSetup::~CUserMenuSetup()
{
delete ums;
if (mf != NULL)
delete mf;
}
#define USERMENU_ITEM_OPTION_COUNT SNeutrinoSettings::ITEM_MAX
const CMenuOptionChooser::keyval USERMENU_ITEM_OPTIONS[USERMENU_ITEM_OPTION_COUNT] =
{
@@ -114,15 +110,14 @@ int CUserMenuSetup::showSetup()
}else{
//if widget not clean, ensure that we have an empty widget without any item and set the last selected item
int sel = ums->getSelected();
ums->resetWidget();
ums->resetWidget(true);
ums->setSelected(sel);
}
//CUserMenuNotifier *notify = new CUserMenuNotifier();
CStringInputSMS name(LOCALE_USERMENU_NAME, &g_settings.usermenu_text[button], 11, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzäöüß/- "/*, notify*/);
if (mf == NULL)
mf = new CMenuForwarder(LOCALE_USERMENU_NAME, true, g_settings.usermenu_text[button],&name);
CMenuForwarder * mf = new CMenuForwarder(LOCALE_USERMENU_NAME, true, g_settings.usermenu_text[button],&name);
//-------------------------------------
ums->addIntroItems();

View File

@@ -72,7 +72,6 @@ const struct usermenu_props_t usermenu[USERMENU_ITEMS_COUNT] =
void checkButtonName();
CMenuWidget * ums;
CMenuForwarder *mf;
public:
CUserMenuSetup(neutrino_locale_t menue_title, int menue_button);

View File

@@ -380,6 +380,7 @@ void CMenuWidget::move(int xoff, int yoff)
CMenuWidget::~CMenuWidget()
{
#if 0
for(unsigned int count=0;count<items.size();count++) {
CMenuItem * item = items[count];
if ((item != GenericMenuSeparator) &&
@@ -392,6 +393,8 @@ CMenuWidget::~CMenuWidget()
items.clear();
page_start.clear();
#endif
resetWidget(true);
}
void CMenuWidget::addItem(CMenuItem* menuItem, const bool defaultselected)
@@ -411,7 +414,7 @@ void CMenuWidget::addItem(CMenuItem* menuItem, const bool defaultselected)
items.push_back(menuItem);
}
void CMenuWidget::resetWidget()
void CMenuWidget::resetWidget(bool delete_items)
{
for(unsigned int count=0;count<items.size();count++) {
CMenuItem * item = items[count];
@@ -419,7 +422,8 @@ void CMenuWidget::resetWidget()
(item != GenericMenuSeparatorLine) &&
(item != GenericMenuBack) &&
(item != GenericMenuCancel)){
//delete item;//FIXME: possible crash here
if(delete_items)
delete item;
item = NULL;
}
}

View File

@@ -446,7 +446,7 @@ class CMenuWidget : public CMenuTarget
};
virtual void addIntroItems(neutrino_locale_t subhead_text = NONEXISTANT_LOCALE, neutrino_locale_t section_text = NONEXISTANT_LOCALE, int buttontype = BTN_TYPE_BACK );
bool hasItem();
void resetWidget();
void resetWidget(bool delete_items = false);
void insertItem(const uint& item_id, CMenuItem* menuItem);
void removeItem(const uint& item_id);
int getItemId(CMenuItem* menuItem);

View File

@@ -79,6 +79,7 @@ class CZapit : public OpenThreads::Thread
CZapitChannel * current_channel;
t_channel_id live_channel_id;
TP_params TP;
CFrontend * live_fe;
@@ -143,6 +144,7 @@ class CZapit : public OpenThreads::Thread
bool PrepareChannels();
bool StartScan(int scan_mode);
bool StartScanTP(TP_params * TPparams);
bool StartFastScan(int scan_mode, int opid);
void addChannelToBouquet(const unsigned int bouquet, const t_channel_id channel_id);

View File

@@ -97,7 +97,7 @@ transponder_list_t transponders;
CZapitClient::bouquetMode bouquetMode = CZapitClient::BM_UPDATEBOUQUETS;
CZapitClient::scanType scanType = CZapitClient::ST_TVRADIO;
static TP_params TP;
//static TP_params TP;
static bool update_pmt = true;
/******************************************************************************/
@@ -717,6 +717,14 @@ bool CZapit::StartScan(int scan_mode)
return true;
}
bool CZapit::StartScanTP(TP_params * TPparams)
{
PrepareScan();
CServiceScan::getInstance()->Start(CServiceScan::SCAN_TRANSPONDER, (void *) TPparams);
return true;
}
bool CZapit::StartFastScan(int scan_mode, int opid)
{
fast_scan_type_t scant;
@@ -1071,8 +1079,11 @@ printf("[zapit] TP_id %d freq %d rate %d fec %d pol %d\n", TP.TP_id, TP.feparams
CServiceManager::getInstance()->GetSatelliteName(current_channel->getSatellitePosition());
current_channel = 0;
}
#if 0
PrepareScan();
CServiceScan::getInstance()->Start(CServiceScan::SCAN_TRANSPONDER, (void *) &TP);
#endif
StartScanTP(&TP);
break;
}