CNeutrinoApp: rework switch handling for channallist paint

In some cases it is advantageous if you can override paint of channellist,
e.g.  if RC_ok is shared with other window handlers.
In such cases will so could be avoided.
This commit is contained in:
2015-03-01 22:58:33 +01:00
parent 341b142aa0
commit 0d6f0a8c88
2 changed files with 18 additions and 6 deletions

View File

@@ -233,7 +233,8 @@ CNeutrinoApp::CNeutrinoApp()
favorites_changed = false;
bouquets_changed = false;
channels_init = false;
channellist_visible = false;
channelList_allowed = true;
channelList_painted = false;
}
/*-------------------------------------------------------------------------------------
@@ -2490,10 +2491,18 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu)
int CNeutrinoApp::showChannelList(const neutrino_msg_t _msg, bool from_menu)
{
/* Exit here if paint of channlellist is not allowed, disallow could be possible, eg: if
* RC_ok or other stuff is shared with other window handlers and
* it's easy here to disable channellist paint if required!
*/
if (!channelList_allowed){
channelList_allowed = true;
return menu_return::RETURN_NONE;
}
channelList_painted = false;
neutrino_msg_t msg = _msg;
InfoClock->enableInfoClock(false);
channellist_visible = true;
StopSubtitles();
//_show:
@@ -2582,7 +2591,8 @@ _repeat:
SetChannelMode(LIST_MODE_FAV);
}
channellist_visible = false;
channelList_painted = true;
if (!from_menu)
InfoClock->enableInfoClock(true);

View File

@@ -105,7 +105,8 @@ private:
int tvsort[LIST_MODE_LAST];
int radiosort[LIST_MODE_LAST];
bool channellist_visible;
bool channelList_allowed;
bool channelList_painted;
int first_mode_found;
void SDT_ReloadChannels();
@@ -219,8 +220,9 @@ public:
void saveEpg(bool cvfd_mode);
void stopDaemonsForFlash();
int showChannelList(const neutrino_msg_t msg, bool from_menu = false);
void allowChannelList(bool allow){channelList_allowed = allow;}
CPersonalizeGui & getPersonalizeGui() { return personalize; }
bool getChannellistIsVisible() { return channellist_visible; }
bool getChannellistIsVisible() { return channelList_painted; }
void zapTo(t_channel_id channel_id);
bool wakeupFromStandby(void);
void standbyToStandby(void);