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.


Origin commit data
------------------
Commit: 0d6f0a8c88
Author: Thilo Graf <dbt@novatux.de>
Date: 2015-03-01 (Sun, 01 Mar 2015)

Origin message was:
------------------
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 a755b1730d
commit 416a6bf591
2 changed files with 18 additions and 6 deletions

View File

@@ -233,7 +233,8 @@ CNeutrinoApp::CNeutrinoApp()
favorites_changed = false; favorites_changed = false;
bouquets_changed = false; bouquets_changed = false;
channels_init = 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) 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; neutrino_msg_t msg = _msg;
InfoClock->enableInfoClock(false); InfoClock->enableInfoClock(false);
channellist_visible = true;
StopSubtitles(); StopSubtitles();
//_show: //_show:
@@ -2582,7 +2591,8 @@ _repeat:
SetChannelMode(LIST_MODE_FAV); SetChannelMode(LIST_MODE_FAV);
} }
channellist_visible = false; channelList_painted = true;
if (!from_menu) if (!from_menu)
InfoClock->enableInfoClock(true); InfoClock->enableInfoClock(true);

View File

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