<widget name="ButtonGreenText" position="350,130" size="85,22" font="Regular;14" backgroundColor="blue" transparent="1" />
<widget name="ButtonYellow" pixmap="/usr/share/enigma2/button_yellow.png" position="430,132" size="27,12" />
<widget name="ButtonBlue" pixmap="/usr/share/enigma2/button_blue.png" position="540,132" size="27,12" />
-
</screen>
<screen name="MoviePlayer" flags="wfNoBorder" position="0,370" size="720,148" title="InfoBar">
<widget name="list" position="0,0" size="560,375" zPosition="1" scrollbarMode="showOnDemand" />
<widget name="freeDiskSpace" position="10,380" size="540,30" font="Regular;25" />
</screen>
- <screen name="ServiceScan" position="200,100" size="300,200" title="Service Scan">
+ <screen name="ServiceScan" position="200,100" size="300,300" title="Service Scan">
<widget name="scan_progress" position="10,10" size="300,20" />
<widget name="scan_state" position="10,40" size="280,60" font="Regular;20" />
+ <widget name="servicelist" position="10,110" size="280,175" selectionDisabled="1" />
</screen>
<screen name="TimerEdit" position="70,100" size="590,335" title="Timer Edit">
<widget name="description" position="10,10" size="580,40" font="Regular;25" />
}
}
+ if (evt == eDVBScan::evtNewService)
+ {
+ newService();
+ return;
+ }
+
if (evt == eDVBScan::evtFail)
{
eDebug("scan failed.");
{
return m_failed;
}
+
+void eComponentScan::getLastServiceName(std::string &string)
+{
+ if (!m_scan)
+ return;
+ m_scan->getLastServiceName(string);
+}
~eComponentScan();
PSignal0<void> statusChanged;
+ PSignal0<void> newService;
/* progress between 0 and 100 */
int getProgress();
/* true when done or error */
int isDone();
+ /* get last added service */
+ void getLastServiceName(std::string &SWIG_OUTPUT);
+
int getError();
void clear();
m_ch_unavailable.clear();
m_new_channels.clear();
m_new_services.clear();
+ m_last_service = m_new_services.end();
for (eSmartPtrList<iDVBFrontendParameters>::const_iterator i(known_transponders.begin()); i != known_transponders.end(); ++i)
{
}
}
- m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
+ std::pair<std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator, bool> i = m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
+
+ if (i.second)
+ {
+ m_last_service = i.first;
+ m_event(evtNewService);
+ }
}
return 0;
}
transponders_total = m_ch_toScan.size() + transponders_done;
services = m_new_services.size();
}
+
+void eDVBScan::getLastServiceName(std::string &last_service_name)
+{
+ if (m_last_service == m_new_services.end())
+ last_service_name = "";
+ else
+ last_service_name = m_last_service->second->m_service_name;
+}
std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> > m_new_channels;
std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_new_services;
+ std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_last_service;
std::list<ePtr<iDVBFrontendParameters> > m_ch_toScan, m_ch_scanned, m_ch_unavailable;
ePtr<iDVBFrontendParameters> m_ch_current;
enum { scanNetworkSearch = 1, scanSearchBAT = 2 };
void start(const eSmartPtrList<iDVBFrontendParameters> &known_transponders, int flags);
- enum { evtUpdate, evtFinish, evtFail };
+ enum { evtUpdate, evtNewService, evtFinish, evtFail };
RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
void insertInto(iDVBChannelList *db);
void getStats(int &transponders_done, int &transponders_total, int &services);
+ void getLastServiceName(std::string &name);
};
#endif
--- /dev/null
+from Components.MenuList import MenuList
+
+class FIFOList(MenuList):
+ def __init__(self, list = [ ], len = 10):
+ self.len = len
+ self.list = list
+ MenuList.__init__(self, self.list)
+
+ def addItem(self, item):
+ self.list.append(item)
+ self.list = self.list[-self.len:]
+ self.l.setList(self.list)
AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py \
EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \
BlinkingPixmap.py Pixmap.py ConditionalWidget.py Slider.py LanguageList.py \
- PluginList.py PluginComponent.py RecordingConfig.py About.py UsageConfig.py
+ PluginList.py PluginComponent.py RecordingConfig.py About.py UsageConfig.py \
+ FIFOList.py