mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 00:11:14 +02:00
- timerlist: just small code cosmetics
This commit is contained in:
@@ -181,11 +181,13 @@ public:
|
|||||||
|
|
||||||
bool changeNotify(const neutrino_locale_t /*OptionName*/, void *)
|
bool changeNotify(const neutrino_locale_t /*OptionName*/, void *)
|
||||||
{
|
{
|
||||||
if (*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS) {
|
if (*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS)
|
||||||
|
{
|
||||||
m1->setActive (true);
|
m1->setActive (true);
|
||||||
*weekdays = "XXXXX--";
|
*weekdays = "XXXXX--";
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
m1->setActive (false);
|
m1->setActive (false);
|
||||||
*weekdays = "-------";
|
*weekdays = "-------";
|
||||||
}
|
}
|
||||||
@@ -294,18 +296,19 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
{
|
{
|
||||||
const char * key = actionKey.c_str();
|
const char * key = actionKey.c_str();
|
||||||
|
|
||||||
if(actionKey == "add_ip") {
|
if (actionKey == "add_ip")
|
||||||
|
{
|
||||||
std::string rbname,rbaddress,user,pass = "";
|
std::string rbname,rbaddress,user,pass = "";
|
||||||
std::string port = "80";
|
std::string port = "80";
|
||||||
CKeyboardInput remotebox_name(LOCALE_REMOTEBOX_RBNAME , &rbname, 25);
|
CKeyboardInput remotebox_name(LOCALE_REMOTEBOX_RBNAME, &rbname, 25);
|
||||||
remotebox_name.forceSaveScreen(true);
|
remotebox_name.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_address(LOCALE_REMOTEBOX_RBADDR , &rbaddress, 50);
|
CKeyboardInput remotebox_address(LOCALE_REMOTEBOX_RBADDR, &rbaddress, 50);
|
||||||
remotebox_address.forceSaveScreen(true);
|
remotebox_address.forceSaveScreen(true);
|
||||||
CStringInput remotebox_port(LOCALE_REMOTEBOX_PORT , &port, 5);
|
CStringInput remotebox_port(LOCALE_REMOTEBOX_PORT, &port, 5);
|
||||||
remotebox_port.forceSaveScreen(true);
|
remotebox_port.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_user(LOCALE_REMOTEBOX_USER , &user, 15);
|
CKeyboardInput remotebox_user(LOCALE_REMOTEBOX_USER, &user, 15);
|
||||||
remotebox_user.forceSaveScreen(true);
|
remotebox_user.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_pass(LOCALE_REMOTEBOX_PASS , &pass, 15);
|
CKeyboardInput remotebox_pass(LOCALE_REMOTEBOX_PASS, &pass, 15);
|
||||||
remotebox_pass.forceSaveScreen(true);
|
remotebox_pass.forceSaveScreen(true);
|
||||||
CMenuWidget * rbsetup = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
CMenuWidget * rbsetup = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_RBNAME, true, rbname, &remotebox_name));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_RBNAME, true, rbname, &remotebox_name));
|
||||||
@@ -314,30 +317,34 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_USER, true, user, &remotebox_user));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_USER, true, user, &remotebox_user));
|
||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_PASS, true, pass, &remotebox_pass));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_PASS, true, pass, &remotebox_pass));
|
||||||
rbsetup->enableSaveScreen(true);
|
rbsetup->enableSaveScreen(true);
|
||||||
if ((rbsetup->exec(NULL,"") == true) && (!rbaddress.empty())) {
|
if ((rbsetup->exec(NULL,"") == true) && (!rbaddress.empty()))
|
||||||
|
{
|
||||||
remboxmenu->addItem(new CMenuForwarder(rbname, true, NULL, this, "cha_ip"));
|
remboxmenu->addItem(new CMenuForwarder(rbname, true, NULL, this, "cha_ip"));
|
||||||
rbsetup->hide();
|
rbsetup->hide();
|
||||||
remboxmenu->enableSaveScreen(false);
|
remboxmenu->enableSaveScreen(false);
|
||||||
remboxmenu->hide();
|
remboxmenu->hide();
|
||||||
timer_remotebox_item timer_rb;
|
timer_remotebox_item timer_rb;
|
||||||
timer_rb.rbaddress = rbaddress;
|
timer_rb.rbaddress = rbaddress;
|
||||||
if (!timer_rb.rbaddress.empty()) {
|
if (!timer_rb.rbaddress.empty())
|
||||||
timer_rb.port = atoi(port);
|
{
|
||||||
timer_rb.user = user;
|
timer_rb.port = atoi(port);
|
||||||
timer_rb.pass = pass;
|
timer_rb.user = user;
|
||||||
timer_rb.rbname = rbname;
|
timer_rb.pass = pass;
|
||||||
if (timer_rb.rbname.empty())
|
timer_rb.rbname = rbname;
|
||||||
timer_rb.rbname = timer_rb.rbaddress;
|
if (timer_rb.rbname.empty())
|
||||||
g_settings.timer_remotebox_ip.push_back(timer_rb);
|
timer_rb.rbname = timer_rb.rbaddress;
|
||||||
|
g_settings.timer_remotebox_ip.push_back(timer_rb);
|
||||||
}
|
}
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(actionKey == "del_ip") {
|
if (actionKey == "del_ip")
|
||||||
|
{
|
||||||
bselected = remboxmenu->getSelected();
|
bselected = remboxmenu->getSelected();
|
||||||
if (bselected >= item_offset) {
|
if (bselected >= item_offset)
|
||||||
|
{
|
||||||
remboxmenu->removeItem(bselected);
|
remboxmenu->removeItem(bselected);
|
||||||
remboxmenu->enableSaveScreen(false);
|
remboxmenu->enableSaveScreen(false);
|
||||||
remboxmenu->hide();
|
remboxmenu->hide();
|
||||||
@@ -347,22 +354,23 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(actionKey == "cha_ip") {
|
if (actionKey == "cha_ip")
|
||||||
|
{
|
||||||
bselected = remboxmenu->getSelected();
|
bselected = remboxmenu->getSelected();
|
||||||
CMenuItem* item = remboxmenu->getItem(bselected);
|
CMenuItem* item = remboxmenu->getItem(bselected);
|
||||||
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
||||||
std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin();
|
std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin();
|
||||||
std::advance(it,bselected-item_offset);
|
std::advance(it,bselected-item_offset);
|
||||||
std::string port = to_string(it->port);
|
std::string port = to_string(it->port);
|
||||||
CKeyboardInput remotebox_name(LOCALE_REMOTEBOX_RBNAME , &it->rbname, 25);
|
CKeyboardInput remotebox_name(LOCALE_REMOTEBOX_RBNAME, &it->rbname, 25);
|
||||||
remotebox_name.forceSaveScreen(true);
|
remotebox_name.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_address(LOCALE_REMOTEBOX_RBADDR , &it->rbaddress, 50);
|
CKeyboardInput remotebox_address(LOCALE_REMOTEBOX_RBADDR, &it->rbaddress, 50);
|
||||||
remotebox_address.forceSaveScreen(true);
|
remotebox_address.forceSaveScreen(true);
|
||||||
CStringInput remotebox_port(LOCALE_REMOTEBOX_PORT , &port, 5);
|
CStringInput remotebox_port(LOCALE_REMOTEBOX_PORT, &port, 5);
|
||||||
remotebox_port.forceSaveScreen(true);
|
remotebox_port.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_user(LOCALE_REMOTEBOX_USER , &it->user, 15);
|
CKeyboardInput remotebox_user(LOCALE_REMOTEBOX_USER, &it->user, 15);
|
||||||
remotebox_user.forceSaveScreen(true);
|
remotebox_user.forceSaveScreen(true);
|
||||||
CKeyboardInput remotebox_pass(LOCALE_REMOTEBOX_PASS , &it->pass, 15);
|
CKeyboardInput remotebox_pass(LOCALE_REMOTEBOX_PASS, &it->pass, 15);
|
||||||
remotebox_pass.forceSaveScreen(true);
|
remotebox_pass.forceSaveScreen(true);
|
||||||
CMenuWidget * rbsetup = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
CMenuWidget * rbsetup = new CMenuWidget(LOCALE_REMOTEBOX_HEAD, NEUTRINO_ICON_TIMER);
|
||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_RBNAME, true, it->rbname, &remotebox_name));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_RBNAME, true, it->rbname, &remotebox_name));
|
||||||
@@ -371,7 +379,8 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_USER, true, it->user, &remotebox_user));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_USER, true, it->user, &remotebox_user));
|
||||||
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_PASS, true, it->pass, &remotebox_pass));
|
rbsetup->addItem(new CMenuForwarder(LOCALE_REMOTEBOX_PASS, true, it->pass, &remotebox_pass));
|
||||||
rbsetup->enableSaveScreen(true);
|
rbsetup->enableSaveScreen(true);
|
||||||
if ((rbsetup->exec(NULL,"") == true) && (!it->rbaddress.empty())) {
|
if ((rbsetup->exec(NULL,"") == true) && (!it->rbaddress.empty()))
|
||||||
|
{
|
||||||
it->port = atoi(port);
|
it->port = atoi(port);
|
||||||
f->setName(it->rbname);
|
f->setName(it->rbname);
|
||||||
rbsetup->hide();
|
rbsetup->hide();
|
||||||
@@ -393,18 +402,18 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
if (timer_apids_dflt)
|
if (timer_apids_dflt)
|
||||||
timerlist[selected].apids = TIMERD_APIDS_CONF;
|
timerlist[selected].apids = TIMERD_APIDS_CONF;
|
||||||
else
|
else
|
||||||
timerlist[selected].apids = (unsigned char)((timer_apids_std * TIMERD_APIDS_STD) | (timer_apids_ac3 * TIMERD_APIDS_AC3) |
|
timerlist[selected].apids = (unsigned char)((timer_apids_std * TIMERD_APIDS_STD) | (timer_apids_ac3 * TIMERD_APIDS_AC3) | (timer_apids_alt * TIMERD_APIDS_ALT));
|
||||||
(timer_apids_alt * TIMERD_APIDS_ALT));
|
|
||||||
Timer->modifyTimerAPid(timerlist[selected].eventID,timerlist[selected].apids);
|
Timer->modifyTimerAPid(timerlist[selected].eventID,timerlist[selected].apids);
|
||||||
Timer->modifyRecordTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
Timer->modifyRecordTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
||||||
timerlist[selected].alarmTime,
|
timerlist[selected].alarmTime,
|
||||||
timerlist[selected].stopTime, timerlist[selected].eventRepeat,
|
timerlist[selected].stopTime, timerlist[selected].eventRepeat,
|
||||||
timerlist[selected].repeatCount,timerlist[selected].recordingDir);
|
timerlist[selected].repeatCount,timerlist[selected].recordingDir);
|
||||||
} else if (timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX)
|
}
|
||||||
|
else if (timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX)
|
||||||
{
|
{
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
||||||
r_url += "/control/timer?action=new&update=1";
|
r_url += "/control/timer?action=new&update=1";
|
||||||
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime);
|
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime);
|
||||||
@@ -417,7 +426,8 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
//printf("[remotetimer] url:%s\n",r_url.c_str());
|
||||||
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
//printf("[remotetimer] status:%s\n",r_url.c_str());
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
Timer->modifyTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
Timer->modifyTimerEvent(timerlist[selected].eventID, timerlist[selected].announceTime,
|
||||||
timerlist[selected].alarmTime,
|
timerlist[selected].alarmTime,
|
||||||
@@ -430,7 +440,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
{
|
{
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
||||||
r_url += "/control/timer?action=new";
|
r_url += "/control/timer?action=new";
|
||||||
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime + timerlist[selected].rem_pre);
|
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime + timerlist[selected].rem_pre);
|
||||||
@@ -470,7 +480,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
|
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(remotebox_name);
|
r_url += RemoteBoxConnectUrl(remotebox_name);
|
||||||
r_url += "/control/timer?action=remove";
|
r_url += "/control/timer?action=remove";
|
||||||
r_url += "&id=" + eventID;
|
r_url += "&id=" + eventID;
|
||||||
@@ -483,7 +493,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
{
|
{
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
||||||
r_url += "/control/timer?action=remove";
|
r_url += "/control/timer?action=remove";
|
||||||
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
r_url += "&id=" + to_string((int)timerlist[selected].eventID);
|
||||||
@@ -495,7 +505,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
{
|
{
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
||||||
r_url += "/control/timer?action=new&update=1";
|
r_url += "/control/timer?action=new&update=1";
|
||||||
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime);
|
r_url += "&alarm=" + to_string((int)timerlist[selected].alarmTime);
|
||||||
@@ -541,7 +551,8 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
timerNew.announceTime-= 120; // 2 more mins for rec timer
|
timerNew.announceTime-= 120; // 2 more mins for rec timer
|
||||||
strncpy(recinfo.recordingDir,timerNew.recordingDir,sizeof(recinfo.recordingDir)-1);
|
strncpy(recinfo.recordingDir,timerNew.recordingDir,sizeof(recinfo.recordingDir)-1);
|
||||||
data = &recinfo;
|
data = &recinfo;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
data= &eventinfo;
|
data= &eventinfo;
|
||||||
}
|
}
|
||||||
else if (timerNew.eventType==CTimerd::TIMER_REMIND)
|
else if (timerNew.eventType==CTimerd::TIMER_REMIND)
|
||||||
@@ -576,30 +587,34 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
{
|
{
|
||||||
int delta;
|
int delta;
|
||||||
sscanf(&(key[3]),
|
sscanf(&(key[3]),
|
||||||
SCANF_CHANNEL_ID_TYPE
|
SCANF_CHANNEL_ID_TYPE
|
||||||
"%n",
|
"%n",
|
||||||
&timerNew.channel_id,
|
&timerNew.channel_id,
|
||||||
&delta);
|
&delta);
|
||||||
timerNew_channel_name = std::string(key + 3 + delta + 1);
|
timerNew_channel_name = std::string(key + 3 + delta + 1);
|
||||||
g_RCInput->postMsg(CRCInput::RC_timeout, 0); // leave underlying menu also
|
g_RCInput->postMsg(CRCInput::RC_timeout, 0); // leave underlying menu also
|
||||||
g_RCInput->postMsg(CRCInput::RC_timeout, 0); // leave underlying menu also
|
g_RCInput->postMsg(CRCInput::RC_timeout, 0); // leave underlying menu also
|
||||||
return menu_return::RETURN_EXIT;
|
return menu_return::RETURN_EXIT;
|
||||||
}
|
}
|
||||||
else if(actionKey == "rec_dir1") {
|
else if (actionKey == "rec_dir1")
|
||||||
|
{
|
||||||
if (parent)
|
if (parent)
|
||||||
parent->hide();
|
parent->hide();
|
||||||
const char *action_str = "RecDir1";
|
const char *action_str = "RecDir1";
|
||||||
if(chooserDir(timerlist[selected].recordingDir, true, action_str, sizeof(timerlist[selected].recordingDir)-1)) {
|
if (chooserDir(timerlist[selected].recordingDir, true, action_str, sizeof(timerlist[selected].recordingDir)-1))
|
||||||
|
{
|
||||||
printf("[timerlist] new %s dir %s\n", action_str, timerlist[selected].recordingDir);
|
printf("[timerlist] new %s dir %s\n", action_str, timerlist[selected].recordingDir);
|
||||||
}
|
}
|
||||||
timer_recordingDir = timerlist[selected].recordingDir;
|
timer_recordingDir = timerlist[selected].recordingDir;
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
else if(actionKey == "rec_dir2") {
|
else if (actionKey == "rec_dir2")
|
||||||
|
{
|
||||||
if (parent)
|
if (parent)
|
||||||
parent->hide();
|
parent->hide();
|
||||||
const char *action_str = "RecDir2";
|
const char *action_str = "RecDir2";
|
||||||
if(chooserDir(timerNew.recordingDir, true, action_str, sizeof(timerNew.recordingDir)-1)) {
|
if (chooserDir(timerNew.recordingDir, true, action_str, sizeof(timerNew.recordingDir)-1))
|
||||||
|
{
|
||||||
printf("[timerlist] new %s dir %s\n", action_str, timerNew.recordingDir);
|
printf("[timerlist] new %s dir %s\n", action_str, timerNew.recordingDir);
|
||||||
}
|
}
|
||||||
timerNew_recordingDir = timerNew.recordingDir;
|
timerNew_recordingDir = timerNew.recordingDir;
|
||||||
@@ -615,11 +630,11 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
/*
|
/*
|
||||||
if( ret > -1)
|
if (ret > -1)
|
||||||
{
|
{
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
else if( ret == -1)
|
else if (ret == -1)
|
||||||
{
|
{
|
||||||
// -1 bedeutet nur REPAINT
|
// -1 bedeutet nur REPAINT
|
||||||
return menu_return::RETURN_REPAINT;
|
return menu_return::RETURN_REPAINT;
|
||||||
@@ -703,8 +718,8 @@ void CTimerList::RemoteBoxSelect()
|
|||||||
std::advance(it,select);
|
std::advance(it,select);
|
||||||
if (askUserOnRemoteTimerConflict(timerlist[selected].announceTime, timerlist[selected].stopTime, (char*) it->rbname.c_str()))
|
if (askUserOnRemoteTimerConflict(timerlist[selected].announceTime, timerlist[selected].stopTime, (char*) it->rbname.c_str()))
|
||||||
{
|
{
|
||||||
strncpy(timerlist[selected].remotebox_name,it->rbname.c_str(),sizeof(timerlist[selected].remotebox_name));
|
strncpy(timerlist[selected].remotebox_name,it->rbname.c_str(),sizeof(timerlist[selected].remotebox_name));
|
||||||
timerlist[selected].remotebox_name[sizeof(timerlist[selected].remotebox_name) - 1] = 0;
|
timerlist[selected].remotebox_name[sizeof(timerlist[selected].remotebox_name) - 1] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -715,7 +730,7 @@ bool CTimerList::RemoteBoxChanExists(t_channel_id channel_id)
|
|||||||
|
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
r_url += RemoteBoxConnectUrl(timerlist[selected].remotebox_name);
|
||||||
r_url += "/control/getchannel?format=json&id=";
|
r_url += "/control/getchannel?format=json&id=";
|
||||||
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, channel_id);
|
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, channel_id);
|
||||||
@@ -750,9 +765,10 @@ bool CTimerList::LocalBoxChanExists(t_channel_id channel_id)
|
|||||||
std::string CTimerList::RemoteBoxConnectUrl(std::string _rbname)
|
std::string CTimerList::RemoteBoxConnectUrl(std::string _rbname)
|
||||||
{
|
{
|
||||||
std::string c_url = "";
|
std::string c_url = "";
|
||||||
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin();
|
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin(); it != g_settings.timer_remotebox_ip.end(); ++it)
|
||||||
it != g_settings.timer_remotebox_ip.end(); ++it) {
|
{
|
||||||
if (it->rbname == _rbname) {
|
if (it->rbname == _rbname)
|
||||||
|
{
|
||||||
if (!it->user.empty() && !it->pass.empty())
|
if (!it->user.empty() && !it->pass.empty())
|
||||||
c_url += it->user + ":" + it->pass +"@";
|
c_url += it->user + ":" + it->pass +"@";
|
||||||
c_url += it->rbaddress;
|
c_url += it->rbaddress;
|
||||||
@@ -770,37 +786,40 @@ void CTimerList::RemoteBoxTimerList(CTimerd::TimerList &rtimerlist)
|
|||||||
|
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin();
|
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin(); it != g_settings.timer_remotebox_ip.end(); ++it)
|
||||||
it != g_settings.timer_remotebox_ip.end(); ++it) {
|
{
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(it->rbname);
|
r_url += RemoteBoxConnectUrl(it->rbname);
|
||||||
r_url += "/control/timer?format=json";
|
r_url += "/control/timer?format=json";
|
||||||
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
r_url = httpTool.downloadString(r_url, -1, httpConnectTimeout);
|
||||||
//printf("[remotetimer] timers:%s\n",r_url.c_str());
|
//printf("[remotetimer] timers:%s\n",r_url.c_str());
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
Json::Reader reader;
|
||||||
bool parsedSuccess = reader.parse(r_url, root, false);
|
bool parsedSuccess = reader.parse(r_url, root, false);
|
||||||
if (!parsedSuccess) {
|
if (!parsedSuccess)
|
||||||
printf("Failed to parse JSON\n");
|
{
|
||||||
printf("%s\n", reader.getFormattedErrorMessages().c_str());
|
printf("Failed to parse JSON\n");
|
||||||
}
|
printf("%s\n", reader.getFormattedErrorMessages().c_str());
|
||||||
Json::Value delays = root["data"]["timer"][0];
|
}
|
||||||
|
Json::Value delays = root["data"]["timer"][0];
|
||||||
|
|
||||||
rem_pre = atoi(delays["config"].get("pre_delay","0").asString());
|
rem_pre = atoi(delays["config"].get("pre_delay","0").asString());
|
||||||
rem_post = atoi(delays["config"].get("post_delay","0").asString());
|
rem_post = atoi(delays["config"].get("post_delay","0").asString());
|
||||||
|
|
||||||
//printf("[remotetimer] pre:%d - post:%d\n", rem_pre, rem_post);
|
//printf("[remotetimer] pre:%d - post:%d\n", rem_pre, rem_post);
|
||||||
|
|
||||||
Json::Value remotetimers = root["data"]["timer"][0]["timer_list"];
|
Json::Value remotetimers = root["data"]["timer"][0]["timer_list"];
|
||||||
|
|
||||||
for (unsigned int i= 0; i<remotetimers.size();i++) {
|
for (unsigned int i= 0; i<remotetimers.size();i++)
|
||||||
|
{
|
||||||
CTimerd::responseGetTimer rtimer;
|
CTimerd::responseGetTimer rtimer;
|
||||||
if ( atoi(remotetimers[i].get("type_number","").asString()) == 5) {
|
if ( atoi(remotetimers[i].get("type_number","").asString()) == 5)
|
||||||
strncpy(rtimer.remotebox_name,it->rbname.c_str(),sizeof(rtimer.remotebox_name));
|
{
|
||||||
rtimer.remotebox_name[sizeof(rtimer.remotebox_name) - 1] = 0;
|
strncpy(rtimer.remotebox_name,it->rbname.c_str(),sizeof(rtimer.remotebox_name));
|
||||||
rtimer.rem_pre = rem_pre;
|
rtimer.remotebox_name[sizeof(rtimer.remotebox_name) - 1] = 0;
|
||||||
rtimer.rem_post = rem_post;
|
rtimer.rem_pre = rem_pre;
|
||||||
|
rtimer.rem_post = rem_post;
|
||||||
rtimer.eventID = atoi(remotetimers[i].get("id","").asString());
|
rtimer.eventID = atoi(remotetimers[i].get("id","").asString());
|
||||||
rtimer.eventType = CTimerd::TIMER_REMOTEBOX;
|
rtimer.eventType = CTimerd::TIMER_REMOTEBOX;
|
||||||
rtimer.eventState = (CTimerd::CTimerEventStates) atoi(remotetimers[i].get("state","").asString());
|
rtimer.eventState = (CTimerd::CTimerEventStates) atoi(remotetimers[i].get("state","").asString());
|
||||||
@@ -822,13 +841,13 @@ void CTimerList::RemoteBoxTimerList(CTimerd::TimerList &rtimerlist)
|
|||||||
//printf("[remotetimer] r-timer:%s - %s\n", remotetimers[i].get("channel_id","").asString().c_str(), remotetimers[i].get("title","").asString().c_str());
|
//printf("[remotetimer] r-timer:%s - %s\n", remotetimers[i].get("channel_id","").asString().c_str(), remotetimers[i].get("title","").asString().c_str());
|
||||||
rtimerlist.push_back(rtimer);
|
rtimerlist.push_back(rtimer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int CTimerList::show()
|
int CTimerList::show()
|
||||||
{
|
{
|
||||||
neutrino_msg_t msg;
|
neutrino_msg_t msg;
|
||||||
neutrino_msg_data_t data;
|
neutrino_msg_data_t data;
|
||||||
|
|
||||||
int res = menu_return::RETURN_REPAINT;
|
int res = menu_return::RETURN_REPAINT;
|
||||||
@@ -853,32 +872,42 @@ int CTimerList::show()
|
|||||||
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd );
|
||||||
|
|
||||||
//ignore numeric keys
|
//ignore numeric keys
|
||||||
if (g_RCInput->isNumeric(msg)){
|
if (g_RCInput->isNumeric(msg))
|
||||||
|
{
|
||||||
msg = CRCInput::RC_nokey;
|
msg = CRCInput::RC_nokey;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( msg <= CRCInput::RC_MaxRC )
|
if ( msg <= CRCInput::RC_MaxRC )
|
||||||
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
|
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
|
||||||
::TIMING_MENU]);
|
|
||||||
|
|
||||||
if((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer())) {
|
if ((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer()))
|
||||||
if(fader.FadeDone())
|
{
|
||||||
|
if (fader.FadeDone())
|
||||||
loop = false;
|
loop = false;
|
||||||
}
|
}
|
||||||
else if ( ( msg == CRCInput::RC_timeout ) ||
|
else if (
|
||||||
( msg == CRCInput::RC_home) || (msg == CRCInput::RC_left) ||
|
(msg == CRCInput::RC_timeout)
|
||||||
(( msg == CRCInput::RC_ok) && (timerlist.empty())) )
|
|| (msg == CRCInput::RC_home)
|
||||||
|
|| (msg == CRCInput::RC_left)
|
||||||
|
|| (msg == CRCInput::RC_ok && timerlist.empty())
|
||||||
|
)
|
||||||
{ //Exit after timeout or cancel key
|
{ //Exit after timeout or cancel key
|
||||||
if(fader.StartFadeOut()) {
|
if (fader.StartFadeOut())
|
||||||
|
{
|
||||||
timeoutEnd = CRCInput::calcTimeoutEnd( 1 );
|
timeoutEnd = CRCInput::calcTimeoutEnd( 1 );
|
||||||
msg = 0;
|
msg = 0;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
loop=false;
|
loop=false;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (!timerlist.empty() &&
|
else if (!timerlist.empty() && (
|
||||||
(msg == CRCInput::RC_up || (int)msg == g_settings.key_pageup ||
|
msg == CRCInput::RC_up
|
||||||
msg == CRCInput::RC_down || (int)msg == g_settings.key_pagedown))
|
|| msg == CRCInput::RC_down
|
||||||
|
|| (int)msg == g_settings.key_pageup
|
||||||
|
|| (int)msg == g_settings.key_pagedown
|
||||||
|
)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
int prev_selected = selected;
|
int prev_selected = selected;
|
||||||
int oldliststart = liststart;
|
int oldliststart = liststart;
|
||||||
@@ -888,13 +917,19 @@ int CTimerList::show()
|
|||||||
liststart = (selected / listmaxshow) * listmaxshow;
|
liststart = (selected / listmaxshow) * listmaxshow;
|
||||||
if (oldliststart != liststart)
|
if (oldliststart != liststart)
|
||||||
paint();
|
paint();
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
paintItem(prev_selected - liststart);
|
paintItem(prev_selected - liststart);
|
||||||
paintItem(selected - liststart);
|
paintItem(selected - liststart);
|
||||||
}
|
}
|
||||||
paintFoot();
|
paintFoot();
|
||||||
}
|
}
|
||||||
else if ((msg == CRCInput::RC_right || msg == CRCInput::RC_ok || msg==CRCInput::RC_blue) && !(timerlist.empty()))
|
else if (!timerlist.empty() && (
|
||||||
|
msg == CRCInput::RC_ok
|
||||||
|
|| msg == CRCInput::RC_right
|
||||||
|
|| msg == CRCInput::RC_blue
|
||||||
|
)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
if (modifyTimer()==menu_return::RETURN_EXIT_ALL)
|
if (modifyTimer()==menu_return::RETURN_EXIT_ALL)
|
||||||
{
|
{
|
||||||
@@ -904,84 +939,92 @@ int CTimerList::show()
|
|||||||
else
|
else
|
||||||
update=true;
|
update=true;
|
||||||
}
|
}
|
||||||
else if ((msg == CRCInput::RC_play) && !(timerlist.empty()) && (g_settings.timer_remotebox_ip.size() > 0))
|
else if (!timerlist.empty() && (msg == CRCInput::RC_play && g_settings.timer_remotebox_ip.size() > 0))
|
||||||
{
|
{
|
||||||
if (timerlist[selected].eventType == CTimerd::TIMER_RECORD ) {
|
if (timerlist[selected].eventType == CTimerd::TIMER_RECORD )
|
||||||
|
{
|
||||||
RemoteBoxSelect();
|
RemoteBoxSelect();
|
||||||
if (exec(this,"send_remotetimer"))
|
if (exec(this,"send_remotetimer"))
|
||||||
{
|
{
|
||||||
res=menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
loop=false;
|
loop = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
update=true;
|
update=true;
|
||||||
} else if (timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX ) {
|
}
|
||||||
|
else if (timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX )
|
||||||
|
{
|
||||||
if (exec(this,"fetch_remotetimer"))
|
if (exec(this,"fetch_remotetimer"))
|
||||||
{
|
{
|
||||||
res=menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
loop=false;
|
loop = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
update=true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((msg == CRCInput::RC_red) && !(timerlist.empty()))
|
else if (!timerlist.empty() && msg == CRCInput::RC_red)
|
||||||
{
|
{
|
||||||
if ((timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX) && (timerlist[selected].eventState < CTimerd::TIMERSTATE_ISRUNNING)) {
|
if ((timerlist[selected].eventType == CTimerd::TIMER_REMOTEBOX) && (timerlist[selected].eventState < CTimerd::TIMERSTATE_ISRUNNING))
|
||||||
if (exec(this,"del_remotetimer"))
|
{
|
||||||
{
|
if (exec(this,"del_remotetimer"))
|
||||||
res=menu_return::RETURN_EXIT_ALL;
|
{
|
||||||
loop=false;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
}
|
loop = false;
|
||||||
} else {
|
|
||||||
bool killTimer = true;
|
|
||||||
if (CRecordManager::getInstance()->RecordingStatus(timerlist[selected].channel_id)) {
|
|
||||||
CTimerd::RecordingStopInfo recinfo;
|
|
||||||
recinfo.channel_id = timerlist[selected].channel_id;
|
|
||||||
recinfo.eventID = timerlist[selected].eventID;
|
|
||||||
if (CRecordManager::getInstance()->IsRecording(&recinfo)) {
|
|
||||||
std::string title = "";
|
|
||||||
char buf1[1024];
|
|
||||||
CEPGData epgdata;
|
|
||||||
CEitManager::getInstance()->getEPGid(timerlist[selected].epgID, timerlist[selected].epg_starttime, &epgdata);
|
|
||||||
memset(buf1, '\0', sizeof(buf1));
|
|
||||||
if (!epgdata.title.empty())
|
|
||||||
title = "(" + epgdata.title + ")\n";
|
|
||||||
snprintf(buf1, sizeof(buf1)-1, g_Locale->getText(LOCALE_TIMERLIST_ASK_TO_DELETE), title.c_str());
|
|
||||||
if(ShowMsg(LOCALE_RECORDINGMENU_RECORD_IS_RUNNING, buf1,
|
|
||||||
CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbNo, NULL, 450, 30, false) == CMessageBox::mbrNo) {
|
|
||||||
killTimer = false;
|
|
||||||
update = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (killTimer) {
|
else
|
||||||
|
{
|
||||||
|
bool killTimer = true;
|
||||||
|
if (CRecordManager::getInstance()->RecordingStatus(timerlist[selected].channel_id))
|
||||||
|
{
|
||||||
|
CTimerd::RecordingStopInfo recinfo;
|
||||||
|
recinfo.channel_id = timerlist[selected].channel_id;
|
||||||
|
recinfo.eventID = timerlist[selected].eventID;
|
||||||
|
if (CRecordManager::getInstance()->IsRecording(&recinfo))
|
||||||
|
{
|
||||||
|
std::string title = "";
|
||||||
|
char buf1[1024];
|
||||||
|
CEPGData epgdata;
|
||||||
|
CEitManager::getInstance()->getEPGid(timerlist[selected].epgID, timerlist[selected].epg_starttime, &epgdata);
|
||||||
|
memset(buf1, '\0', sizeof(buf1));
|
||||||
|
if (!epgdata.title.empty())
|
||||||
|
title = "(" + epgdata.title + ")\n";
|
||||||
|
snprintf(buf1, sizeof(buf1)-1, g_Locale->getText(LOCALE_TIMERLIST_ASK_TO_DELETE), title.c_str());
|
||||||
|
if (ShowMsg(LOCALE_RECORDINGMENU_RECORD_IS_RUNNING, buf1, CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbNo, NULL, 450, 30, false) == CMessageBox::mbrNo)
|
||||||
|
{
|
||||||
|
killTimer = false;
|
||||||
|
update = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (killTimer)
|
||||||
|
{
|
||||||
Timer->removeTimerEvent(timerlist[selected].eventID);
|
Timer->removeTimerEvent(timerlist[selected].eventID);
|
||||||
update = true;
|
update = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else if (msg == CRCInput::RC_green)
|
||||||
else if (msg==CRCInput::RC_green)
|
|
||||||
{
|
{
|
||||||
if (newTimer()==menu_return::RETURN_EXIT_ALL)
|
if (newTimer() == menu_return::RETURN_EXIT_ALL)
|
||||||
{
|
{
|
||||||
res=menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
loop=false;
|
loop = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
update=true;
|
update = true;
|
||||||
}
|
}
|
||||||
else if (msg==CRCInput::RC_setup)
|
else if (msg == CRCInput::RC_setup)
|
||||||
{
|
{
|
||||||
update = RemoteBoxSetup();
|
update = RemoteBoxSetup();
|
||||||
}
|
}
|
||||||
else if (msg==CRCInput::RC_yellow)
|
else if (msg == CRCInput::RC_yellow)
|
||||||
{
|
{
|
||||||
update=true;
|
update = true;
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
else if ((msg==CRCInput::RC_blue)||
|
else if (msg==CRCInput::RC_blue || CRCInput::isNumeric(msg))
|
||||||
(CRCInput::isNumeric(msg)) )
|
|
||||||
{
|
{
|
||||||
//pushback key if...
|
//pushback key if...
|
||||||
g_RCInput->postMsg( msg, data );
|
g_RCInput->postMsg( msg, data );
|
||||||
@@ -996,26 +1039,29 @@ int CTimerList::show()
|
|||||||
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_REMOTEBOX || timer->eventType == CTimerd::TIMER_ZAPTO)
|
||||||
{
|
{
|
||||||
hide();
|
hide();
|
||||||
if (timer->epgID != 0){
|
if (timer->epgID != 0)
|
||||||
|
{
|
||||||
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
res = g_EpgData->show(timer->channel_id, timer->epgID, &timer->epg_starttime);
|
||||||
update=true;
|
update = true;
|
||||||
}else
|
}
|
||||||
|
else
|
||||||
ShowHint(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NOTFOUND);
|
ShowHint(LOCALE_MESSAGEBOX_INFO, LOCALE_EPGVIEWER_NOTFOUND);
|
||||||
if (res==menu_return::RETURN_EXIT_ALL)
|
if (res == menu_return::RETURN_EXIT_ALL)
|
||||||
loop=false;
|
loop = false;
|
||||||
else
|
else
|
||||||
paint();
|
paint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (CNeutrinoApp::getInstance()->listModeKey(msg)) {
|
else if (CNeutrinoApp::getInstance()->listModeKey(msg))
|
||||||
g_RCInput->postMsg (msg, 0);
|
{
|
||||||
|
g_RCInput->postMsg(msg, 0);
|
||||||
loop = false;
|
loop = false;
|
||||||
res = menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
|
if (CNeutrinoApp::getInstance()->handleMsg(msg, data) & messages_return::cancel_all)
|
||||||
{
|
{
|
||||||
loop = false;
|
loop = false;
|
||||||
res = menu_return::RETURN_EXIT_ALL;
|
res = menu_return::RETURN_EXIT_ALL;
|
||||||
@@ -1047,27 +1093,29 @@ bool CTimerList::RemoteBoxSetup()
|
|||||||
remboxmenu->addIntroItems();
|
remboxmenu->addIntroItems();
|
||||||
|
|
||||||
item_offset = remboxmenu->getItemsCount();
|
item_offset = remboxmenu->getItemsCount();
|
||||||
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin();
|
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin(); it != g_settings.timer_remotebox_ip.end(); ++it)
|
||||||
it != g_settings.timer_remotebox_ip.end(); ++it)
|
|
||||||
remboxmenu->addItem(new CMenuForwarder(it->rbname, true, NULL, this, "cha_ip"));
|
remboxmenu->addItem(new CMenuForwarder(it->rbname, true, NULL, this, "cha_ip"));
|
||||||
|
|
||||||
remboxmenu->setFooter(RemoteBoxFooterButtons, RemoteBoxFooterButtonCount);
|
remboxmenu->setFooter(RemoteBoxFooterButtons, RemoteBoxFooterButtonCount);
|
||||||
|
|
||||||
remboxmenu->enableSaveScreen(true);
|
remboxmenu->enableSaveScreen(true);
|
||||||
remboxmenu->exec(NULL, "");
|
remboxmenu->exec(NULL, "");
|
||||||
if (changed) {
|
if (changed)
|
||||||
std::vector<timer_remotebox_item> old_timer_remotebox_ip = g_settings.timer_remotebox_ip;
|
{
|
||||||
g_settings.timer_remotebox_ip.clear();
|
std::vector<timer_remotebox_item> old_timer_remotebox_ip = g_settings.timer_remotebox_ip;
|
||||||
for (int i = item_offset; i < remboxmenu->getItemsCount(); i++) {
|
g_settings.timer_remotebox_ip.clear();
|
||||||
CMenuItem *item = remboxmenu->getItem(i);
|
for (int i = item_offset; i < remboxmenu->getItemsCount(); i++)
|
||||||
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
{
|
||||||
for (std::vector<timer_remotebox_item>::iterator it = old_timer_remotebox_ip.begin();
|
CMenuItem *item = remboxmenu->getItem(i);
|
||||||
it != old_timer_remotebox_ip.end(); ++it)
|
CMenuForwarder *f = static_cast<CMenuForwarder*>(item);
|
||||||
if (it->rbname == f->getName()) {
|
for (std::vector<timer_remotebox_item>::iterator it = old_timer_remotebox_ip.begin(); it != old_timer_remotebox_ip.end(); ++it)
|
||||||
g_settings.timer_remotebox_ip.push_back(*it);}
|
if (it->rbname == f->getName())
|
||||||
}
|
{
|
||||||
changed = false;
|
g_settings.timer_remotebox_ip.push_back(*it);
|
||||||
ret = true;
|
}
|
||||||
|
}
|
||||||
|
changed = false;
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
delete remboxmenu;
|
delete remboxmenu;
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1125,9 +1173,11 @@ void CTimerList::paintItem(int pos)
|
|||||||
{
|
{
|
||||||
char srepeatcount[25] = {0};
|
char srepeatcount[25] = {0};
|
||||||
if (timer.repeatCount == 0)
|
if (timer.repeatCount == 0)
|
||||||
// Unicode 8734 (hex: 221E) not available in all fonts
|
{
|
||||||
// sprintf(srepeatcount,"∞");
|
// Unicode 8734 (hex: 221E) not available in all fonts
|
||||||
|
//sprintf(srepeatcount,"∞");
|
||||||
sprintf(srepeatcount,"00");
|
sprintf(srepeatcount,"00");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
sprintf(srepeatcount,"%ux",timer.repeatCount);
|
sprintf(srepeatcount,"%ux",timer.repeatCount);
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+fw*13+(real_width-fw*23)/2,ypos+fheight, (real_width-fw*13)/2-5, srepeatcount, color, fheight);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+fw*13+(real_width-fw*23)/2,ypos+fheight, (real_width-fw*13)/2-5, srepeatcount, color, fheight);
|
||||||
@@ -1136,23 +1186,28 @@ void CTimerList::paintItem(int pos)
|
|||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+fw*13+(real_width-fw*13)/2,ypos+fheight, (real_width-fw*13)/2-5, t_type, color, fheight);
|
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+fw*13+(real_width-fw*13)/2,ypos+fheight, (real_width-fw*13)/2-5, t_type, color, fheight);
|
||||||
|
|
||||||
// paint rec icon when recording in progress
|
// paint rec icon when recording in progress
|
||||||
if ((timer.eventType == CTimerd::TIMER_RECORD) && (CRecordManager::getInstance()->RecordingStatus(timer.channel_id))) {
|
if ((timer.eventType == CTimerd::TIMER_RECORD) && (CRecordManager::getInstance()->RecordingStatus(timer.channel_id)))
|
||||||
|
{
|
||||||
CTimerd::RecordingStopInfo recinfo;
|
CTimerd::RecordingStopInfo recinfo;
|
||||||
recinfo.channel_id = timer.channel_id;
|
recinfo.channel_id = timer.channel_id;
|
||||||
recinfo.eventID = timer.eventID;
|
recinfo.eventID = timer.eventID;
|
||||||
if (CRecordManager::getInstance()->IsRecording(&recinfo)) {
|
if (CRecordManager::getInstance()->IsRecording(&recinfo))
|
||||||
|
{
|
||||||
int icol_w, icol_h;
|
int icol_w, icol_h;
|
||||||
frameBuffer->getIconSize(NEUTRINO_ICON_REC, &icol_w, &icol_h);
|
frameBuffer->getIconSize(NEUTRINO_ICON_REC, &icol_w, &icol_h);
|
||||||
if ((icol_w > 0) && (icol_h > 0)) {
|
if ((icol_w > 0) && (icol_h > 0))
|
||||||
|
{
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_REC, (x + real_width) - (icol_w + 8), ypos, 2*fheight);
|
frameBuffer->paintIcon(NEUTRINO_ICON_REC, (x + real_width) - (icol_w + 8), ypos, 2*fheight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((timer.eventType == CTimerd::TIMER_REMOTEBOX) && timer.eventState == CTimerd::TIMERSTATE_ISRUNNING) {
|
if ((timer.eventType == CTimerd::TIMER_REMOTEBOX) && timer.eventState == CTimerd::TIMERSTATE_ISRUNNING)
|
||||||
|
{
|
||||||
int icol_w, icol_h;
|
int icol_w, icol_h;
|
||||||
frameBuffer->getIconSize(NEUTRINO_ICON_REC, &icol_w, &icol_h);
|
frameBuffer->getIconSize(NEUTRINO_ICON_REC, &icol_w, &icol_h);
|
||||||
if ((icol_w > 0) && (icol_h > 0)) {
|
if ((icol_w > 0) && (icol_h > 0))
|
||||||
|
{
|
||||||
frameBuffer->paintIcon(NEUTRINO_ICON_REC, (x + real_width) - (icol_w + 8), ypos, 2*fheight);
|
frameBuffer->paintIcon(NEUTRINO_ICON_REC, (x + real_width) - (icol_w + 8), ypos, 2*fheight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1213,7 +1268,7 @@ void CTimerList::paintItem(int pos)
|
|||||||
{
|
{
|
||||||
CHTTPTool httpTool;
|
CHTTPTool httpTool;
|
||||||
std::string r_url;
|
std::string r_url;
|
||||||
r_url = "http://";
|
r_url = "http://";
|
||||||
r_url += RemoteBoxConnectUrl(timer.remotebox_name);
|
r_url += RemoteBoxConnectUrl(timer.remotebox_name);
|
||||||
r_url += "/control/getchannel?format=json&id=";
|
r_url += "/control/getchannel?format=json&id=";
|
||||||
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timer.channel_id);
|
r_url += string_printf_helper(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timer.channel_id);
|
||||||
@@ -1222,7 +1277,8 @@ void CTimerList::paintItem(int pos)
|
|||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
Json::Reader reader;
|
||||||
bool parsedSuccess = reader.parse(r_url, root, false);
|
bool parsedSuccess = reader.parse(r_url, root, false);
|
||||||
if (!parsedSuccess) {
|
if (!parsedSuccess)
|
||||||
|
{
|
||||||
printf("Failed to parse JSON\n");
|
printf("Failed to parse JSON\n");
|
||||||
printf("%s\n", reader.getFormattedErrorMessages().c_str());
|
printf("%s\n", reader.getFormattedErrorMessages().c_str());
|
||||||
}
|
}
|
||||||
@@ -1364,10 +1420,10 @@ void CTimerList::paint()
|
|||||||
int ypos = y+ theight;
|
int ypos = y+ theight;
|
||||||
int sb = 2*fheight* listmaxshow;
|
int sb = 2*fheight* listmaxshow;
|
||||||
frameBuffer->paintBoxRel(x+ width- 15,ypos, 15, sb, COL_SCROLLBAR_PASSIVE_PLUS_0);
|
frameBuffer->paintBoxRel(x+ width- 15,ypos, 15, sb, COL_SCROLLBAR_PASSIVE_PLUS_0);
|
||||||
unsigned int tmp_max = listmaxshow;
|
unsigned int tmp_max = listmaxshow;
|
||||||
if(!tmp_max)
|
if (!tmp_max)
|
||||||
tmp_max = 1;
|
tmp_max = 1;
|
||||||
int sbc= ((timerlist.size()- 1)/ tmp_max)+ 1;
|
int sbc = ((timerlist.size()- 1)/ tmp_max)+ 1;
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(x+ width- 13, ypos+ 2+ page_nr * (sb-4)/sbc, 11, (sb-4)/sbc, COL_SCROLLBAR_ACTIVE_PLUS_0, RADIUS_SMALL);
|
frameBuffer->paintBoxRel(x+ width- 13, ypos+ 2+ page_nr * (sb-4)/sbc, 11, (sb-4)/sbc, COL_SCROLLBAR_ACTIVE_PLUS_0, RADIUS_SMALL);
|
||||||
}
|
}
|
||||||
@@ -1396,8 +1452,8 @@ const char * CTimerList::convertTimerType2String(const CTimerd::CTimerEventTypes
|
|||||||
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SLEEPTIMER );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_SLEEPTIMER );
|
||||||
case CTimerd::TIMER_EXEC_PLUGIN :
|
case CTimerd::TIMER_EXEC_PLUGIN :
|
||||||
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_EXECPLUGIN );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_EXECPLUGIN );
|
||||||
case CTimerd::TIMER_REMOTEBOX :
|
case CTimerd::TIMER_REMOTEBOX :
|
||||||
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_REMOTEBOX );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_REMOTEBOX );
|
||||||
default :
|
default :
|
||||||
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_UNKNOWN );
|
return g_Locale->getText(LOCALE_TIMERLIST_TYPE_UNKNOWN );
|
||||||
}
|
}
|
||||||
@@ -1520,13 +1576,13 @@ int CTimerList::modifyTimer()
|
|||||||
timerSettings.addItem( m0);
|
timerSettings.addItem( m0);
|
||||||
|
|
||||||
CDateInput timerSettings_alarmTime(LOCALE_TIMERLIST_ALARMTIME, &timer->alarmTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
CDateInput timerSettings_alarmTime(LOCALE_TIMERLIST_ALARMTIME, &timer->alarmTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
||||||
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_TIMERLIST_ALARMTIME, true, timerSettings_alarmTime.getValue (), &timerSettings_alarmTime );
|
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_TIMERLIST_ALARMTIME, true, timerSettings_alarmTime.getValue(), &timerSettings_alarmTime );
|
||||||
timerSettings.addItem( m1);
|
timerSettings.addItem( m1);
|
||||||
|
|
||||||
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &timer->stopTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &timer->stopTime , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
||||||
if (timer->stopTime != 0)
|
if (timer->stopTime != 0)
|
||||||
{
|
{
|
||||||
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue (), &timerSettings_stopTime );
|
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue(), &timerSettings_stopTime );
|
||||||
timerSettings.addItem( m2);
|
timerSettings.addItem( m2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1579,7 +1635,7 @@ int CTimerList::modifyTimer()
|
|||||||
CMenuOptionChooser* ma4 = new CMenuOptionChooser(LOCALE_RECORDINGMENU_APIDS_AC3, &timer_apids_ac3, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, !timer_apids_dflt, &apid_notifier);
|
CMenuOptionChooser* ma4 = new CMenuOptionChooser(LOCALE_RECORDINGMENU_APIDS_AC3, &timer_apids_ac3, MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, !timer_apids_dflt, &apid_notifier);
|
||||||
timerSettings_apids.addItem(ma4);
|
timerSettings_apids.addItem(ma4);
|
||||||
apid_notifier.setItems(ma1,ma2,ma3,ma4);
|
apid_notifier.setItems(ma1,ma2,ma3,ma4);
|
||||||
if (timer->eventType == CTimerd::TIMER_RECORD)
|
if (timer->eventType == CTimerd::TIMER_RECORD)
|
||||||
{
|
{
|
||||||
timerSettings.addItem( new CMenuForwarder(LOCALE_TIMERLIST_APIDS, true, NULL, &timerSettings_apids ));
|
timerSettings.addItem( new CMenuForwarder(LOCALE_TIMERLIST_APIDS, true, NULL, &timerSettings_apids ));
|
||||||
}
|
}
|
||||||
@@ -1630,20 +1686,19 @@ int CTimerList::newTimer()
|
|||||||
timerNew_standby_on =false;
|
timerNew_standby_on =false;
|
||||||
strncpy(timerNew.recordingDir,g_settings.network_nfs_recordingdir.c_str(),sizeof(timerNew.recordingDir)-1);
|
strncpy(timerNew.recordingDir,g_settings.network_nfs_recordingdir.c_str(),sizeof(timerNew.recordingDir)-1);
|
||||||
|
|
||||||
|
|
||||||
CMenuWidget timerSettings(LOCALE_TIMERLIST_MENUNEW, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget timerSettings(LOCALE_TIMERLIST_MENUNEW, NEUTRINO_ICON_SETTINGS);
|
||||||
timerSettings.addIntroItems();
|
timerSettings.addIntroItems();
|
||||||
timerSettings.addItem(new CMenuForwarder(LOCALE_TIMERLIST_SAVE, true, NULL, this, "newtimer", CRCInput::RC_red));
|
timerSettings.addItem(new CMenuForwarder(LOCALE_TIMERLIST_SAVE, true, NULL, this, "newtimer", CRCInput::RC_red));
|
||||||
timerSettings.addItem(GenericMenuSeparatorLine);
|
timerSettings.addItem(GenericMenuSeparatorLine);
|
||||||
|
|
||||||
CDateInput timerSettings_alarmTime(LOCALE_TIMERLIST_ALARMTIME, &(timerNew.alarmTime) , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
CDateInput timerSettings_alarmTime(LOCALE_TIMERLIST_ALARMTIME, &(timerNew.alarmTime) , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
||||||
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_TIMERLIST_ALARMTIME, true, timerSettings_alarmTime.getValue (), &timerSettings_alarmTime );
|
CMenuForwarder *m1 = new CMenuForwarder(LOCALE_TIMERLIST_ALARMTIME, true, timerSettings_alarmTime.getValue(), &timerSettings_alarmTime );
|
||||||
|
|
||||||
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &(timerNew.stopTime) , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
CDateInput timerSettings_stopTime(LOCALE_TIMERLIST_STOPTIME, &(timerNew.stopTime) , LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2);
|
||||||
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue (), &timerSettings_stopTime );
|
CMenuForwarder *m2 = new CMenuForwarder(LOCALE_TIMERLIST_STOPTIME, true, timerSettings_stopTime.getValue(), &timerSettings_stopTime );
|
||||||
|
|
||||||
CStringInput timerSettings_weekdays(LOCALE_TIMERLIST_WEEKDAYS, &m_weekdaysStr, 7, LOCALE_TIMERLIST_WEEKDAYS_HINT_1, LOCALE_TIMERLIST_WEEKDAYS_HINT_2, "-X");
|
CStringInput timerSettings_weekdays(LOCALE_TIMERLIST_WEEKDAYS, &m_weekdaysStr, 7, LOCALE_TIMERLIST_WEEKDAYS_HINT_1, LOCALE_TIMERLIST_WEEKDAYS_HINT_2, "-X");
|
||||||
CMenuForwarder *m4 = new CMenuForwarder(LOCALE_TIMERLIST_WEEKDAYS, false, m_weekdaysStr, &timerSettings_weekdays);
|
CMenuForwarder *m4 = new CMenuForwarder(LOCALE_TIMERLIST_WEEKDAYS, false, m_weekdaysStr, &timerSettings_weekdays);
|
||||||
|
|
||||||
CIntInput timerSettings_repeatCount(LOCALE_TIMERLIST_REPEATCOUNT, (int*)&timerNew.repeatCount,3, LOCALE_TIMERLIST_REPEATCOUNT_HELP1, LOCALE_TIMERLIST_REPEATCOUNT_HELP2);
|
CIntInput timerSettings_repeatCount(LOCALE_TIMERLIST_REPEATCOUNT, (int*)&timerNew.repeatCount,3, LOCALE_TIMERLIST_REPEATCOUNT_HELP1, LOCALE_TIMERLIST_REPEATCOUNT_HELP2);
|
||||||
CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, false,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);
|
CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, false,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);
|
||||||
@@ -1652,12 +1707,13 @@ int CTimerList::newTimer()
|
|||||||
m_weekdaysStr = "XXXXX--";
|
m_weekdaysStr = "XXXXX--";
|
||||||
CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, ¬ifier);
|
CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, ¬ifier);
|
||||||
|
|
||||||
|
|
||||||
CMenuWidget mctv(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget mctv(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
CMenuWidget mcradio(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget mcradio(LOCALE_TIMERLIST_BOUQUETSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
|
|
||||||
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++)
|
||||||
if (!g_bouquetManager->Bouquets[i]->bHidden) {
|
{
|
||||||
|
if (!g_bouquetManager->Bouquets[i]->bHidden)
|
||||||
|
{
|
||||||
CMenuWidget* mwtv = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget* mwtv = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
toDelete.push_back(mwtv);
|
toDelete.push_back(mwtv);
|
||||||
CMenuWidget* mwradio = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
CMenuWidget* mwradio = new CMenuWidget(LOCALE_TIMERLIST_CHANNELSELECT, NEUTRINO_ICON_SETTINGS);
|
||||||
@@ -1665,18 +1721,19 @@ int CTimerList::newTimer()
|
|||||||
|
|
||||||
ZapitChannelList channels;
|
ZapitChannelList channels;
|
||||||
g_bouquetManager->Bouquets[i]->getTvChannels(channels);
|
g_bouquetManager->Bouquets[i]->getTvChannels(channels);
|
||||||
for (int j = 0; j < (int) channels.size(); j++) {
|
for (int j = 0; j < (int) channels.size(); j++)
|
||||||
|
{
|
||||||
char cChannelId[3+16+1+1];
|
char cChannelId[3+16+1+1];
|
||||||
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", channels[j]->getChannelID());
|
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", channels[j]->getChannelID());
|
||||||
mwtv->addItem(new CMenuForwarder(channels[j]->getName(), true, NULL, this, (std::string(cChannelId) + channels[j]->getName()).c_str(), CRCInput::RC_nokey, NULL, channels[j]->scrambled ? NEUTRINO_ICON_SCRAMBLED : (channels[j]->getUrl().empty() ? NULL : NEUTRINO_ICON_STREAMING)));
|
mwtv->addItem(new CMenuForwarder(channels[j]->getName(), true, NULL, this, (std::string(cChannelId) + channels[j]->getName()).c_str(), CRCInput::RC_nokey, NULL, channels[j]->scrambled ? NEUTRINO_ICON_SCRAMBLED : (channels[j]->getUrl().empty() ? NULL : NEUTRINO_ICON_STREAMING)));
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!channels.empty())
|
if (!channels.empty())
|
||||||
mctv.addItem(new CMenuForwarder(g_bouquetManager->Bouquets[i]->bFav ? g_Locale->getText(LOCALE_FAVORITES_BOUQUETNAME) : g_bouquetManager->Bouquets[i]->Name.c_str() /*g_bouquetManager->Bouquets[i]->Name.c_str()*/, true, NULL, mwtv));
|
mctv.addItem(new CMenuForwarder(g_bouquetManager->Bouquets[i]->bFav ? g_Locale->getText(LOCALE_FAVORITES_BOUQUETNAME) : g_bouquetManager->Bouquets[i]->Name.c_str() /*g_bouquetManager->Bouquets[i]->Name.c_str()*/, true, NULL, mwtv));
|
||||||
|
|
||||||
|
|
||||||
g_bouquetManager->Bouquets[i]->getRadioChannels(channels);
|
g_bouquetManager->Bouquets[i]->getRadioChannels(channels);
|
||||||
for (int j = 0; j < (int) channels.size(); j++) {
|
for (int j = 0; j < (int) channels.size(); j++)
|
||||||
|
{
|
||||||
char cChannelId[3+16+1+1];
|
char cChannelId[3+16+1+1];
|
||||||
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", channels[j]->getChannelID());
|
sprintf(cChannelId, "SC:" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS ",", channels[j]->getChannelID());
|
||||||
mwradio->addItem(new CMenuForwarder(channels[j]->getName(), true, NULL, this, (std::string(cChannelId) + channels[j]->getName()).c_str(), CRCInput::RC_nokey, NULL, channels[j]->scrambled ? NEUTRINO_ICON_SCRAMBLED : (channels[j]->getUrl().empty() ? NULL : NEUTRINO_ICON_STREAMING)));
|
mwradio->addItem(new CMenuForwarder(channels[j]->getName(), true, NULL, this, (std::string(cChannelId) + channels[j]->getName()).c_str(), CRCInput::RC_nokey, NULL, channels[j]->scrambled ? NEUTRINO_ICON_SCRAMBLED : (channels[j]->getUrl().empty() ? NULL : NEUTRINO_ICON_STREAMING)));
|
||||||
@@ -1752,34 +1809,31 @@ bool CTimerList::askUserOnRemoteTimerConflict(time_t announceTime, time_t stopTi
|
|||||||
int pre,post;
|
int pre,post;
|
||||||
Timer->getRecordingSafety(pre,post);
|
Timer->getRecordingSafety(pre,post);
|
||||||
|
|
||||||
for (CTimerd::TimerList::iterator it = timerlist.begin();
|
for (CTimerd::TimerList::iterator it = timerlist.begin(); it != timerlist.end();++it)
|
||||||
it != timerlist.end();++it)
|
|
||||||
{
|
{
|
||||||
|
if (strcmp(it->remotebox_name,remotebox_name) == 0)
|
||||||
if (strcmp(it->remotebox_name,remotebox_name) == 0) {
|
|
||||||
|
|
||||||
if(it->stopTime != 0 && stopTime != 0)
|
|
||||||
{
|
{
|
||||||
// Check if both timers have start and end. In this case do not show conflict, if endtime is the same than the starttime of the following timer
|
if (it->stopTime != 0 && stopTime != 0)
|
||||||
if ((stopTime+post > it->alarmTime) && (announceTime-pre < it->stopTime))
|
|
||||||
{
|
{
|
||||||
overlappingTimers.push_back(*it);
|
// Check if both timers have start and end. In this case do not show conflict, if endtime is the same than the starttime of the following timer
|
||||||
|
if ((stopTime+post > it->alarmTime) && (announceTime-pre < it->stopTime))
|
||||||
|
{
|
||||||
|
overlappingTimers.push_back(*it);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!((stopTime < it->announceTime) || (announceTime > it->stopTime)))
|
|
||||||
{
|
{
|
||||||
overlappingTimers.push_back(*it);
|
if (!((stopTime < it->announceTime) || (announceTime > it->stopTime)))
|
||||||
|
{
|
||||||
|
overlappingTimers.push_back(*it);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
||||||
timerbuf += "\n";
|
timerbuf += "\n";
|
||||||
for (CTimerd::TimerList::iterator it = overlappingTimers.begin();
|
for (CTimerd::TimerList::iterator it = overlappingTimers.begin(); it != overlappingTimers.end(); ++it)
|
||||||
it != overlappingTimers.end(); ++it)
|
|
||||||
{
|
{
|
||||||
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
||||||
timerbuf += " (";
|
timerbuf += " (";
|
||||||
@@ -1831,8 +1885,7 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime, t_channel_id c
|
|||||||
|
|
||||||
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
std::string timerbuf = g_Locale->getText(LOCALE_TIMERLIST_OVERLAPPING_TIMER);
|
||||||
timerbuf += "\n";
|
timerbuf += "\n";
|
||||||
for (CTimerd::TimerList::iterator it = overlappingTimers.begin();
|
for (CTimerd::TimerList::iterator it = overlappingTimers.begin(); it != overlappingTimers.end(); ++it)
|
||||||
it != overlappingTimers.end(); ++it)
|
|
||||||
{
|
{
|
||||||
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
timerbuf += CTimerList::convertTimerType2String(it->eventType);
|
||||||
timerbuf += " (";
|
timerbuf += " (";
|
||||||
|
Reference in New Issue
Block a user