diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2007-04-24 20:04:53 +0000 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2007-04-24 20:04:53 +0000 |
commit | d4dcdd1b39d3bc749de5df6a3160e2997bef982d (patch) | |
tree | fd8979bd85ea6949ef5bc72dc7370ff72977d41d /epgsearch.cpp | |
parent | 478fff53434734e68f125a66f443644d740e6610 (diff) | |
download | vdr-plugin-live-d4dcdd1b39d3bc749de5df6a3160e2997bef982d.tar.gz vdr-plugin-live-d4dcdd1b39d3bc749de5df6a3160e2997bef982d.tar.bz2 |
- added deletion of search timers
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r-- | epgsearch.cpp | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/epgsearch.cpp b/epgsearch.cpp index 8e12e13..9ff5760 100644 --- a/epgsearch.cpp +++ b/epgsearch.cpp @@ -284,6 +284,11 @@ string SearchTimer::StopTimeFormatted() SearchTimers::SearchTimers() { + Reload(); +} + +bool SearchTimers::Reload() +{ Epgsearch_services_v1_0 service; if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 ) throw HtmlError( tr("No searchtimers available") ); @@ -291,7 +296,8 @@ SearchTimers::SearchTimers() ReadLock channelsLock( Channels, 0 ); list< string > timers = service.handler->SearchTimerList(); m_timers.assign( timers.begin(), timers.end() ); - m_timers.sort(); + m_timers.sort(); + return true; } bool SearchTimers::Save(SearchTimer* searchtimer) @@ -300,18 +306,18 @@ bool SearchTimers::Save(SearchTimer* searchtimer) if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 ) throw HtmlError( tr("No searchtimers available") ); - if (!searchtimer) return false; + if (!searchtimer) return false; ReadLock channelsLock( Channels, 0 ); - if (searchtimer->Id() >= 0) - return service.handler->ModSearchTimer(searchtimer->ToText()); - else - { - searchtimer->SetId(0); - int id = service.handler->AddSearchTimer(searchtimer->ToText()); - if (id >= 0) - searchtimer->SetId(id); - return (id >= 0); - } + if (searchtimer->Id() >= 0) + return service.handler->ModSearchTimer(searchtimer->ToText()); + else + { + searchtimer->SetId(0); + int id = service.handler->AddSearchTimer(searchtimer->ToText()); + if (id >= 0) + searchtimer->SetId(id); + return (id >= 0); + } } SearchTimer* SearchTimers::GetByTimerId( std::string const& id ) @@ -331,6 +337,20 @@ bool SearchTimers::ToggleActive(std::string const& id) return Save(search); } +bool SearchTimers::Delete(std::string const& id) +{ + SearchTimer* search = GetByTimerId( id ); + if (!search) return false; + + Epgsearch_services_v1_0 service; + if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 ) + throw HtmlError( tr("No searchtimers available") ); + + if (service.handler->DelSearchTimer(lexical_cast< int >( id ))) + return Reload(); + return false; +} + bool SearchTimer::BlacklistSelected(int id) const { for(unsigned int i=0; i<m_blacklistIDs.size(); i++) |