mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-30 00:41:17 +02:00
- move keyhelper class into new file user_menue.h This class is made to manage only colorkeys, but has the same name like CKeyHelper in file keyhelper.h. This class is managing the other keys and it could easily lead to confusion. - add modul subchannel/director menu, removed unused functions The subchannel_select.cpp/h modul contains the getNVODMenu() member, moved from neutrino_menue.cpp into its own class. Also removed member SelectAPID() and SelectNVOD()from neutrino.cpp this members were unused. git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1639 e54a6e83-5905-42d5-8d5c-058d10e6a962
124 lines
3.7 KiB
C++
124 lines
3.7 KiB
C++
/*
|
|
Neutrino-GUI - DBoxII-Project
|
|
Copyright (C) 2001 Steffen Hehn 'McClean'
|
|
Homepage: http://dbox.cyberphoria.org/
|
|
|
|
Rework:
|
|
Outsourced subchannel select modul for Neutrino-HD
|
|
Copyright (C) 2011 T.Graf 'dbt'
|
|
http://www.dbox2-tuning.net
|
|
|
|
License: GPL
|
|
|
|
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
|
|
General Public License as published by the Free Software Foundation; either version 2 of the License,
|
|
or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with this program;
|
|
if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
|
|
|
|
|
|
NOTE for ignorant distributors:
|
|
It's not allowed to distribute any compiled parts of this code, if you don't accept the terms of GPL.
|
|
Please read it and understand it right!
|
|
This means for you: Hold it, if not, leave it! You could face legal action!
|
|
Otherwise ask the copyright owners, anything else would be theft!
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include <config.h>
|
|
#endif
|
|
|
|
|
|
#include <global.h>
|
|
#include <neutrino.h>
|
|
#include <mymenu.h>
|
|
|
|
#include "gui/subchannel_select.h"
|
|
#include <driver/record.h>
|
|
|
|
extern CRemoteControl * g_RemoteControl;
|
|
|
|
CSubChannelSelectMenu::CSubChannelSelectMenu()
|
|
{
|
|
|
|
}
|
|
|
|
CSubChannelSelectMenu::~CSubChannelSelectMenu()
|
|
{
|
|
|
|
}
|
|
|
|
int CSubChannelSelectMenu::getNVODMenu(CMenuWidget* menu)
|
|
{
|
|
if (menu == NULL)
|
|
return false;
|
|
if (g_RemoteControl->subChannels.empty())
|
|
return false;
|
|
|
|
menu->addItem(GenericMenuSeparator);
|
|
|
|
int count = 0;
|
|
char nvod_id[5];
|
|
|
|
for ( CSubServiceListSorted::iterator e=g_RemoteControl->subChannels.begin(); e!=g_RemoteControl->subChannels.end(); ++e)
|
|
{
|
|
sprintf(nvod_id, "%d", count);
|
|
|
|
t_channel_id subid = e->getChannelID();
|
|
bool enabled = CRecordManager::getInstance()->SameTransponder(subid);
|
|
|
|
if ( !g_RemoteControl->are_subchannels )
|
|
{
|
|
char nvod_time_a[50], nvod_time_e[50], nvod_time_x[50];
|
|
char nvod_s[100];
|
|
struct tm *tmZeit;
|
|
|
|
tmZeit= localtime(&e->startzeit);
|
|
sprintf(nvod_time_a, "%02d:%02d", tmZeit->tm_hour, tmZeit->tm_min);
|
|
|
|
time_t endtime = e->startzeit+ e->dauer;
|
|
tmZeit= localtime(&endtime);
|
|
sprintf(nvod_time_e, "%02d:%02d", tmZeit->tm_hour, tmZeit->tm_min);
|
|
|
|
time_t jetzt=time(NULL);
|
|
if (e->startzeit > jetzt)
|
|
{
|
|
int mins=(e->startzeit- jetzt)/ 60;
|
|
sprintf(nvod_time_x, g_Locale->getText(LOCALE_NVOD_STARTING), mins);
|
|
}
|
|
else if ( (e->startzeit<= jetzt) && (jetzt < endtime) )
|
|
{
|
|
int proz=(jetzt- e->startzeit)*100/ e->dauer;
|
|
sprintf(nvod_time_x, g_Locale->getText(LOCALE_NVOD_PERCENTAGE), proz);
|
|
}
|
|
else
|
|
nvod_time_x[0]= 0;
|
|
|
|
sprintf(nvod_s, "%s - %s %s", nvod_time_a, nvod_time_e, nvod_time_x);
|
|
menu->addItem(new CMenuForwarderNonLocalized(nvod_s, enabled, NULL, &NVODChanger, nvod_id), (count == g_RemoteControl->selected_subchannel));
|
|
}
|
|
else
|
|
{
|
|
menu->addItem(new CMenuForwarderNonLocalized(e->subservice_name.c_str(), enabled, NULL, &NVODChanger, nvod_id, CRCInput::convertDigitToKey(count)), (count == g_RemoteControl->selected_subchannel));
|
|
}
|
|
|
|
count++;
|
|
}
|
|
|
|
if ( g_RemoteControl->are_subchannels ) {
|
|
menu->addItem(GenericMenuSeparatorLine);
|
|
CMenuOptionChooser* oj = new CMenuOptionChooser(LOCALE_NVODSELECTOR_DIRECTORMODE, &g_RemoteControl->director_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW);
|
|
menu->addItem(oj);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
|