mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 07:51:19 +02:00
- timerlist: formatting code using astyle; some manual code nicenings
Conflicts: src/gui/timerlist.cpp Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
@@ -136,9 +136,7 @@ public:
|
||||
m1->setActive(false);
|
||||
m6->setActive(false);
|
||||
}
|
||||
if (type == CTimerd::TIMER_RECORD ||
|
||||
type == CTimerd::TIMER_ZAPTO)
|
||||
/*|| type == CTimerd::TIMER_NEXTPROGRAM)*/
|
||||
if (type == CTimerd::TIMER_RECORD || type == CTimerd::TIMER_ZAPTO /*|| type == CTimerd::TIMER_NEXTPROGRAM*/)
|
||||
{
|
||||
m2->setActive(true);
|
||||
}
|
||||
@@ -256,7 +254,8 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
std::string string_printf_helper(const char *fmt, ...) {
|
||||
std::string string_printf_helper(const char *fmt, ...)
|
||||
{
|
||||
va_list arglist;
|
||||
const int bufferlen = 4 * 1024;
|
||||
char buffer[bufferlen] = {0};
|
||||
@@ -474,11 +473,13 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||
r_url += "&channel_id=" + string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timerlist[selected].channel_id);
|
||||
r_url += "&aj=on";
|
||||
r_url += "&rs=on";
|
||||
if (timerlist[selected].eventRepeat > CTimerd::TIMERREPEAT_ONCE) {
|
||||
if (timerlist[selected].eventRepeat > CTimerd::TIMERREPEAT_ONCE)
|
||||
{
|
||||
r_url += "&rep=" + to_string((int)timerlist[selected].eventRepeat);
|
||||
r_url += "&repcount=" + to_string((int)timerlist[selected].repeatCount);
|
||||
}
|
||||
if (timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS) {
|
||||
if (timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||
{
|
||||
Timer->setWeekdaysToStr(timerlist[selected].eventRepeat, m_weekdaysStr);
|
||||
r_url += "&wd=" + m_weekdaysStr;
|
||||
}
|
||||
@@ -546,11 +547,13 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||
r_url += "&channel_id=" + string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timerlist[selected].channel_id);
|
||||
r_url += "&aj=on";
|
||||
r_url += "&rs=on";
|
||||
if (timerlist[selected].eventRepeat > CTimerd::TIMERREPEAT_ONCE) {
|
||||
if (timerlist[selected].eventRepeat > CTimerd::TIMERREPEAT_ONCE)
|
||||
{
|
||||
r_url += "&rep=" + to_string((int)timerlist[selected].eventRepeat);
|
||||
r_url += "&repcount=" + to_string((int)timerlist[selected].repeatCount);
|
||||
}
|
||||
if (timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS) {
|
||||
if (timerlist[selected].eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||
{
|
||||
Timer->setWeekdaysToStr(timerlist[selected].eventRepeat, m_weekdaysStr);
|
||||
r_url += "&wd=" + m_weekdaysStr;
|
||||
}
|
||||
@@ -573,7 +576,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||
void *data = NULL;
|
||||
if (timerNew.eventType == CTimerd::TIMER_STANDBY)
|
||||
data = &(timerNew.standby_on);
|
||||
/* else if (timerNew.eventType==CTimerd::TIMER_NEXTPROGRAM || */
|
||||
//else if (timerNew.eventType==CTimerd::TIMER_NEXTPROGRAM ||
|
||||
else if (timerNew.eventType == CTimerd::TIMER_ZAPTO ||
|
||||
timerNew.eventType == CTimerd::TIMER_RECORD)
|
||||
{
|
||||
@@ -945,7 +948,8 @@ int CTimerList::show()
|
||||
|| (msg == CRCInput::RC_timer || msg == CRCInput::RC_program)
|
||||
|| (msg == CRCInput::RC_ok && timerlist.empty())
|
||||
)
|
||||
{ //Exit after timeout or cancel key
|
||||
{
|
||||
// Exit after timeout or cancel key
|
||||
if (fader.StartFadeOut())
|
||||
{
|
||||
timeoutEnd = CRCInput::calcTimeoutEnd(1);
|
||||
@@ -1228,6 +1232,11 @@ void CTimerList::paintItem(int pos)
|
||||
if (currpos < timerlist.size())
|
||||
{
|
||||
CTimerd::responseGetTimer &timer = timerlist[currpos];
|
||||
if (timer.eventType == CTimerd::TIMER_REMOTEBOX)
|
||||
{
|
||||
color = COL_MENUCONTENTINACTIVE_TEXT;
|
||||
bgcolor = COL_MENUCONTENTINACTIVE_PLUS_0;
|
||||
}
|
||||
char zAlarmTime[25] = {0};
|
||||
struct tm *alarmTime = localtime(&(timer.alarmTime));
|
||||
strftime(zAlarmTime, 20, "%d.%m. %H:%M", alarmTime);
|
||||
@@ -1284,7 +1293,8 @@ void CTimerList::paintItem(int pos)
|
||||
case CTimerd::TIMER_ZAPTO:
|
||||
case CTimerd::TIMER_RECORD:
|
||||
{
|
||||
zAddData = convertChannelId2String(timer.channel_id); // UTF-8
|
||||
zAddData = convertChannelId2String(timer.channel_id);
|
||||
// zAddData += timer.channel_ci ? " (CI)" : ""; // FIXME: channel_ci not available
|
||||
if (timer.apids != TIMERD_APIDS_CONF)
|
||||
{
|
||||
std::string sep = "";
|
||||
@@ -1342,7 +1352,8 @@ void CTimerList::paintItem(int pos)
|
||||
std::string errMsg = "";
|
||||
Json::Value root;
|
||||
bool ok = parseJsonFromString(r_url, &root, &errMsg);
|
||||
if (!ok) {
|
||||
if (!ok)
|
||||
{
|
||||
printf("Failed to parse JSON\n");
|
||||
printf("%s\n", errMsg.c_str());
|
||||
}
|
||||
@@ -1450,7 +1461,7 @@ void CTimerList::paintFoot()
|
||||
if (timer != NULL)
|
||||
{
|
||||
// replace info button with dummy if timer is not type REC or ZAP
|
||||
if (timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_REMOTEBOX || timer->eventType == CTimerd::TIMER_ZAPTO)
|
||||
if (timer->eventType == CTimerd::TIMER_RECORD || timer->eventType == CTimerd::TIMER_ZAPTO || timer->eventType == CTimerd::TIMER_REMOTEBOX)
|
||||
TimerListButtons[4].button = NEUTRINO_ICON_BUTTON_INFO_SMALL;
|
||||
else
|
||||
TimerListButtons[4].button = NEUTRINO_ICON_BUTTON_DUMMY_SMALL;
|
||||
@@ -1478,6 +1489,9 @@ void CTimerList::paint()
|
||||
CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_TIMERLIST_NAME));
|
||||
|
||||
paintHead();
|
||||
// paint plain background and footer first to avoid flicker effects while timerlist construction
|
||||
frameBuffer->paintBoxRel(x, y + header_height, width, item_height * listmaxshow, COL_MENUCONTENT_PLUS_0);
|
||||
paintFoot();
|
||||
for (unsigned int count = 0; count < listmaxshow; count++)
|
||||
{
|
||||
paintItem(count);
|
||||
@@ -1495,7 +1509,7 @@ void CTimerList::paint()
|
||||
visible = true;
|
||||
}
|
||||
|
||||
const char * CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes type) // UTF-8
|
||||
const char *CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -1522,7 +1536,7 @@ const char * CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes
|
||||
}
|
||||
}
|
||||
|
||||
std::string CTimerList::convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep) // UTF-8
|
||||
std::string CTimerList::convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep)
|
||||
{
|
||||
switch (rep)
|
||||
{
|
||||
@@ -1572,7 +1586,7 @@ std::string CTimerList::convertTimerRepeat2String(const CTimerd::CTimerEventRepe
|
||||
}
|
||||
}
|
||||
|
||||
std::string CTimerList::convertChannelId2String(const t_channel_id id) // UTF-8
|
||||
std::string CTimerList::convertChannelId2String(const t_channel_id id)
|
||||
{
|
||||
std::string name = CServiceManager::getInstance()->GetServiceName(id);
|
||||
if (name.empty())
|
||||
@@ -1634,7 +1648,7 @@ int CTimerList::modifyTimer()
|
||||
timerSettings.addIntroItems();
|
||||
|
||||
char type[80];
|
||||
strcpy(type, convertTimerType2String(timer->eventType)); // UTF
|
||||
strcpy(type, convertTimerType2String(timer->eventType));
|
||||
CMenuForwarder *m0 = new CMenuForwarder(LOCALE_TIMERLIST_TYPE, false, type);
|
||||
timerSettings.addItem(m0);
|
||||
|
||||
@@ -1822,15 +1836,10 @@ int CTimerList::newTimer()
|
||||
CMenuForwarder *m9 = new CMenuForwarder(LOCALE_TIMERLIST_MESSAGE, false, timerNew_message, &timerSettings_msg);
|
||||
|
||||
timerNew_pluginName = "---";
|
||||
CPluginChooser plugin_chooser(LOCALE_TIMERLIST_PLUGIN, CPlugins::P_TYPE_SCRIPT | CPlugins::P_TYPE_TOOL
|
||||
| CPlugins::P_TYPE_LUA
|
||||
, timerNew_pluginName);
|
||||
CPluginChooser plugin_chooser(LOCALE_TIMERLIST_PLUGIN, CPlugins::P_TYPE_SCRIPT | CPlugins::P_TYPE_TOOL | CPlugins::P_TYPE_LUA, timerNew_pluginName);
|
||||
CMenuForwarder *m10 = new CMenuForwarder(LOCALE_TIMERLIST_PLUGIN, false, timerNew_pluginName, &plugin_chooser);
|
||||
|
||||
|
||||
CTimerListNewNotifier notifier2((int *)&timerNew.eventType,
|
||||
&timerNew.stopTime,m2,m6,m8,m9,m10,m7,
|
||||
&timerSettings_stopTime.getValue());
|
||||
CTimerListNewNotifier notifier2((int *)&timerNew.eventType, &timerNew.stopTime, m2, m6, m8, m9, m10, m7, &timerSettings_stopTime.getValue());
|
||||
CMenuOptionChooser *m0;
|
||||
if (g_settings.recording_type != CNeutrinoApp::RECORDING_OFF)
|
||||
m0 = new CMenuOptionChooser(LOCALE_TIMERLIST_TYPE, (int *)&timerNew.eventType, TIMERLIST_TYPE_OPTIONS, TIMERLIST_TYPE_OPTION_COUNT, true, ¬ifier2, CRCInput::RC_nokey, "", true, true);
|
||||
@@ -1901,7 +1910,7 @@ bool CTimerList::askUserOnRemoteTimerConflict(time_t announceTime, time_t stopTi
|
||||
{
|
||||
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
||||
timerbuf += " (";
|
||||
timerbuf += CTimerList::convertChannelId2String(it->channel_id); // UTF-8
|
||||
timerbuf += CTimerList::convertChannelId2String(it->channel_id);
|
||||
if (it->epg_id != 0)
|
||||
{
|
||||
CEPGData epgdata;
|
||||
@@ -1932,16 +1941,24 @@ bool CTimerList::askUserOnRemoteTimerConflict(time_t announceTime, time_t stopTi
|
||||
|
||||
bool askUserOnTimerConflict(time_t announceTime, time_t stopTime, t_channel_id channel_id)
|
||||
{
|
||||
if (CFEManager::getInstance()->getEnabledCount() == 1) {
|
||||
bool useCI = false;
|
||||
CZapitChannel *channel = CServiceManager::getInstance()->FindChannel(channel_id);
|
||||
if (channel)
|
||||
useCI = channel->bUseCI;
|
||||
|
||||
if (CFEManager::getInstance()->getEnabledCount() == 1 || useCI)
|
||||
{
|
||||
CTimerdClient Timer;
|
||||
CTimerd::TimerList overlappingTimers = Timer.getOverlappingTimers(announceTime, stopTime);
|
||||
//printf("[CTimerdClient] attention\n%d\t%d\t%d conflicts with:\n",timerNew.announceTime,timerNew.alarmTime,timerNew.stopTime);
|
||||
|
||||
// Don't ask if there are overlapping timers on the same transponder.
|
||||
if (channel_id) {
|
||||
if (channel_id)
|
||||
{
|
||||
CTimerd::TimerList::iterator i;
|
||||
for (i = overlappingTimers.begin(); i != overlappingTimers.end(); i++)
|
||||
if ((i->eventType != CTimerd::TIMER_RECORD || !SAME_TRANSPONDER(channel_id, i->channel_id)))
|
||||
//if ((i->eventType != CTimerd::TIMER_RECORD || !SAME_TRANSPONDER(channel_id, i->channel_id)))
|
||||
if ((i->eventType != CTimerd::TIMER_RECORD || !SAME_TRANSPONDER(channel_id, i->channel_id && !useCI) /*|| (useCI && i->channel_ci)*/)) // FIXME: channel_ci not available
|
||||
break;
|
||||
if (i == overlappingTimers.end())
|
||||
return true; // yes, add timer
|
||||
@@ -1951,9 +1968,12 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime, t_channel_id c
|
||||
timerbuf += "\n";
|
||||
for (CTimerd::TimerList::iterator it = overlappingTimers.begin(); it != overlappingTimers.end(); ++it)
|
||||
{
|
||||
// if (useCI && !it->channel_ci) // FIXME: channel_ci not available
|
||||
// continue;
|
||||
|
||||
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
||||
timerbuf += " (";
|
||||
timerbuf += CTimerList::convertChannelId2String(it->channel_id); // UTF-8
|
||||
timerbuf += CTimerList::convertChannelId2String(it->channel_id);
|
||||
if (it->epg_id != 0)
|
||||
{
|
||||
CEPGData epgdata;
|
||||
@@ -1978,7 +1998,7 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime, t_channel_id c
|
||||
//printf("%d\t%d\t%d\n",it->announceTime,it->alarmTime,it->stopTime);
|
||||
}
|
||||
//printf("message:\n%s\n",timerbuf.c_str());
|
||||
// todo: localize message
|
||||
// TODO: localize message
|
||||
//g_Locale->getText(TIMERLIST_OVERLAPPING_MESSAGE);
|
||||
|
||||
return (ShowMsg(LOCALE_MESSAGEBOX_INFO, timerbuf, CMsgBox::mbrNo, CMsgBox::mbNo | CMsgBox::mbYes) == CMsgBox::mbrYes);
|
||||
|
@@ -86,7 +86,7 @@ class CTimerList : public CMenuTarget, public CListHelpers
|
||||
void hide();
|
||||
int modifyTimer();
|
||||
int newTimer();
|
||||
/* todo: properly import the enum CVFD::MODES */
|
||||
// TODO: properly import the enum CVFD::MODES
|
||||
CVFD::MODES saved_displaymode;
|
||||
bool RemoteBoxSetup();
|
||||
void RemoteBoxSelect();
|
||||
@@ -106,9 +106,9 @@ class CTimerList : public CMenuTarget, public CListHelpers
|
||||
void updateEvents(void);
|
||||
int show();
|
||||
int exec(CMenuTarget *parent, const std::string &actionKey);
|
||||
static const char * convertTimerType2String(const CTimerd::CTimerEventTypes type); // UTF-8
|
||||
static std::string convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep); // UTF-8
|
||||
static std::string convertChannelId2String(const t_channel_id id); // UTF-8
|
||||
static const char *convertTimerType2String(const CTimerd::CTimerEventTypes type);
|
||||
static std::string convertTimerRepeat2String(const CTimerd::CTimerEventRepeat rep);
|
||||
static std::string convertChannelId2String(const t_channel_id id);
|
||||
void RemoteBoxTimerList(CTimerd::TimerList &timerlist);
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user