Merge remote branch 'remotes/origin/bug_587_new_internally_connectable_and_unsupporte...
authorghost <andreas.monzner@multimedia-labs.de>
Thu, 14 Oct 2010 11:21:33 +0000 (13:21 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Thu, 14 Oct 2010 11:21:33 +0000 (13:21 +0200)
46 files changed:
RecordTimer.py
ServiceReference.py
data/defaults/Dream/hdbouquets/userbouquet.favourites.tv
data/defaults/Dream/sdbouquets/userbouquet.favourites.tv
data/skin_default.xml
data/skin_default/icons/Makefile.am
lib/driver/rcinput.cpp
lib/dvb/decoder.cpp
lib/dvb/dvbtime.cpp
lib/dvb/epgcache.cpp
lib/dvb/frontend.cpp
lib/gdi/accel.cpp
lib/gdi/bcm.cpp
lib/gdi/font.cpp
lib/gui/epixmap.cpp
lib/gui/epixmap.h
lib/python/Components/NimManager.py
lib/python/Plugins/Extensions/CutListEditor/meta/Makefile.am
lib/python/Plugins/Extensions/DVDBurn/meta/Makefile.am
lib/python/Plugins/Extensions/DVDPlayer/meta/Makefile.am
lib/python/Plugins/Extensions/GraphMultiEPG/meta/Makefile.am
lib/python/Plugins/Extensions/MediaPlayer/meta/Makefile.am
lib/python/Plugins/Extensions/MediaScanner/meta/Makefile.am
lib/python/Plugins/Extensions/PicturePlayer/meta/Makefile.am
lib/python/Plugins/Extensions/SocketMMI/meta/Makefile.am
lib/python/Plugins/Extensions/TuxboxPlugins/meta/Makefile.am
lib/python/Plugins/SystemPlugins/CleanupWizard/meta/Makefile.am
lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/meta/Makefile.am
lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/meta/Makefile.am
lib/python/Plugins/SystemPlugins/DefaultServicesScanner/meta/Makefile.am
lib/python/Plugins/SystemPlugins/DiseqcTester/meta/Makefile.am
lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/meta/Makefile.am
lib/python/Plugins/SystemPlugins/Hotplug/meta/Makefile.am
lib/python/Plugins/SystemPlugins/NFIFlash/meta/Makefile.am
lib/python/Plugins/SystemPlugins/NetworkWizard/meta/Makefile.am
lib/python/Plugins/SystemPlugins/PositionerSetup/meta/Makefile.am
lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/meta/Makefile.am
lib/python/Plugins/SystemPlugins/Satfinder/meta/Makefile.am
lib/python/Plugins/SystemPlugins/SkinSelector/meta/Makefile.am
lib/python/Plugins/SystemPlugins/SoftwareManager/meta/Makefile.am
lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py [changed mode: 0644->0755]
lib/python/Plugins/SystemPlugins/VideoEnhancement/meta/Makefile.am
lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am
lib/python/Plugins/SystemPlugins/Videomode/meta/Makefile.am
lib/python/Plugins/SystemPlugins/WirelessLan/meta/Makefile.am
lib/python/Screens/TimerEntry.py

index def7568..4ece9c5 100755 (executable)
@@ -102,7 +102,7 @@ class RecordTimerEntry(timer.TimerEntry, object):
                
                assert isinstance(serviceref, ServiceReference)
                
-               if serviceref.getType() == eServiceReference.idDVB and serviceref.getPath() == "":
+               if serviceref.isRecordable():
                        self.service_ref = serviceref
                else:
                        self.service_ref = ServiceReference(None)
index 5d11ae7..4907fa2 100644 (file)
@@ -10,7 +10,7 @@ class ServiceReference(eServiceReference):
 
        def __str__(self):
                return self.ref.toString()
-       
+
        def getServiceName(self):
                info = self.info()
                return info and info.getName(self.ref) or ""
@@ -20,9 +20,16 @@ class ServiceReference(eServiceReference):
 
        def list(self):
                return self.serviceHandler.list(self.ref)
-       
+
        def getType(self):
                return self.ref.type
-       
+
        def getPath(self):
                return self.ref.getPath()
+
+       def getFlags(self):
+               return self.ref.flags
+
+       def isRecordable(self):
+               ref = self.ref
+               return ref.flags & eServiceReference.isGroup or (ref.type == eServiceReference.idDVB and ref.getPath() == "")
\ No newline at end of file
index 91536b1..b6bc62f 100644 (file)
@@ -11,6 +11,7 @@
 #SERVICE 1:0:1:701:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:2F1C:441:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D6E:437:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:308:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:2FC:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:F98:454:1:C00000:0:0:0:\r
 #SERVICE 1:0:19:2B70:3F3:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6E42:431:1:C00000:0:0:0:\r
 #SERVICE 1:64:B:0:0:0:0:0:0:0::Doku/Wissen/Themen\r
 #DESCRIPTION Doku/Wissen/Themen\r
-#SERVICE 1:0:1:6DD0:44D:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:6F47:445:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D6B:437:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:2775:444:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:293:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D70:437:1:C00000:0:0:0:\r
-#SERVICE 1:0:1:277B:444:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:49:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:332D:45B:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:3139:459:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:2F5A:454:1:C00000:0:0:0:\r
index 5f89c48..1cea366 100644 (file)
@@ -11,6 +11,7 @@
 #SERVICE 1:0:1:701:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:2F1C:441:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D6E:437:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:308:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:2FC:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:F98:454:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:7034:41B:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6E42:431:1:C00000:0:0:0:\r
 #SERVICE 1:64:B:0:0:0:0:0:0:0::Doku/Wissen/Themen\r
 #DESCRIPTION Doku/Wissen/Themen\r
-#SERVICE 1:0:1:6DD0:44D:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:6F47:445:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D6B:437:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:2775:444:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:293:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:6D70:437:1:C00000:0:0:0:\r
-#SERVICE 1:0:1:277B:444:1:C00000:0:0:0:\r
+#SERVICE 1:0:1:49:5:85:C00000:0:0:0:\r
 #SERVICE 1:0:1:332D:45B:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:3139:459:1:C00000:0:0:0:\r
 #SERVICE 1:0:1:2F5A:454:1:C00000:0:0:0:\r
index f9fb09c..e5b3132 100755 (executable)
@@ -1304,7 +1304,7 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (standby) -->
        <screen name="StandbySummary" position="0,0" size="96,64" id="2">
-               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Regular;40" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Regular;38" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" position="0,0" zPosition="1" size="96,64" text=" ">
index 5a836bc..b453aa7 100755 (executable)
@@ -65,3 +65,4 @@ dist_install_DATA = \
        selectioncross.png \
        unlock.png \
        unlockBouquet.png
+
index 2bfeefa..f30ba8c 100644 (file)
@@ -73,16 +73,8 @@ void eRCDeviceInputDev::handleCode(long rccode)
 eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver)
        :eRCDevice(driver->getDeviceName(), driver), iskeyboard(false)
 {
-       int len=id.length();
-       int idx=0;
-       while(idx <= len-8)
-       {
-               if (!strncasecmp(&id[idx++], "KEYBOARD", 8))
-               {
-                       iskeyboard=true;
-                       break;
-               }
-       }
+       if (strcasestr(id.c_str(), "keyboard") != NULL)
+               iskeyboard = true;
        setExclusive(true);
        eDebug("Input device \"%s\" is %sa keyboard.", id.c_str(), iskeyboard ? "" : "not ");
 }
index ef8dadc..88cd3ee 100644 (file)
@@ -601,7 +601,7 @@ RESULT eDVBVideo::connectEvent(const Slot1<void, struct iTSMPEGDecoder::videoEve
        return 0;
 }
 
-static int readMpegProc(char *str, int decoder)
+static int readMpegProc(const char *str, int decoder)
 {
        int val = -1;
        char tmp[64];
index bb6b94b..26b6767 100644 (file)
@@ -111,7 +111,7 @@ void TDT::ready(int error)
 
 int TDT::createTable(unsigned int nr, const __u8 *data, unsigned int max)
 {
-       if ( data && data[0] == 0x70 || data[0] == 0x73 )
+       if ( data && (data[0] == 0x70 || data[0] == 0x73 ))
        {
                int length = ((data[1] & 0x0F) << 8) | data[2];
                if ( length >= 5 )
index 1e8414c..119223a 100644 (file)
@@ -2562,7 +2562,7 @@ void eEPGCache::PMTready(eDVBServicePMTHandler *pmthandler)
                                                                {
                                                                        __u8 buffer[10];
                                                                        (*desc)->writeToBuffer(buffer);
-                                                                       if (!strncmp((char*)buffer+2, "EPGDATA", 7))
+                                                                       if (!strncmp((const char *)buffer+2, "EPGDATA", 7))
                                                                        {
                                                                                eServiceReferenceDVB ref;
                                                                                if (!pmthandler->getServiceReference(ref))
@@ -2571,7 +2571,7 @@ void eEPGCache::PMTready(eDVBServicePMTHandler *pmthandler)
                                                                                        messages.send(Message(Message::got_mhw2_channel_pid, ref, pid));
                                                                                }
                                                                        }
-                                                                       else if(!strncmp((char*)buffer+2, "FICHAS", 6))
+                                                                       else if(!strncmp((const char *)buffer+2, "FICHAS", 6))
                                                                        {
                                                                                eServiceReferenceDVB ref;
                                                                                if (!pmthandler->getServiceReference(ref))
@@ -2580,7 +2580,7 @@ void eEPGCache::PMTready(eDVBServicePMTHandler *pmthandler)
                                                                                        messages.send(Message(Message::got_mhw2_summary_pid, ref, pid));
                                                                                }
                                                                        }
-                                                                       else if(!strncmp((char*)buffer+2, "GENEROS", 7))
+                                                                       else if(!strncmp((const char *)buffer+2, "GENEROS", 7))
                                                                        {
                                                                                eServiceReferenceDVB ref;
                                                                                if (!pmthandler->getServiceReference(ref))
index 6f78197..ebdad8a 100644 (file)
@@ -813,7 +813,7 @@ int eDVBFrontend::readFrontendData(int type)
                                        float fval1 = SDS_SNRE / 268435456.0,
                                                  fval2, fval3, fval4;
 
-                                       if (parm_u_qpsk_fec_inner <= FEC_S2_QPSK_9_10) // DVB-S2 QPSK
+                                       if (oparm.sat.modulation == eDVBFrontendParametersSatellite::Modulation_QPSK)
                                        {
                                                fval2 = 6.76;
                                                fval3 = 4.35;
index 5e489eb..9450ecc 100644 (file)
@@ -32,7 +32,7 @@ extern void bcm_accel_blit(
                int dst_addr, int dst_width, int dst_height, int dst_stride,
                int src_x, int src_y, int width, int height,
                int dst_x, int dst_y, int dwidth, int dheight,
-               int pal_addr);
+               int pal_addr, int flags);
 extern void bcm_accel_fill(
                int dst_addr, int dst_width, int dst_height, int dst_stride,
                int x, int y, int width, int height,
@@ -122,7 +122,7 @@ int gAccel::blit(gSurface *dst, const gSurface *src, const eRect &p, const eRect
                        dst->data_phys, dst->x, dst->y, dst->stride, 
                        area.left(), area.top(), area.width(), area.height(),
                        p.x(), p.y(), p.width(), p.height(),
-                       pal_addr);
+                       pal_addr, flags);
                return 0;
        }
 #endif
index 3beb677..12b5f22 100644 (file)
@@ -64,7 +64,7 @@ void bcm_accel_blit(
                int dst_addr, int dst_width, int dst_height, int dst_stride,
                int src_x, int src_y, int width, int height,
                int dst_x, int dst_y, int dwidth, int dheight,
-               int pal_addr)
+               int pal_addr, int flags)
 {
        C(0x43); // reset source
        C(0x53); // reset dest
index 74cda40..a5db43a 100644 (file)
@@ -370,7 +370,7 @@ int eTextPara::appendGlyph(Font *current_font, FT_Face current_face, FT_UInt gly
        }
 
        pGlyph ng;
-       ng.bbox.setLeft( (flags&GS_ISFIRST|cursor.x()-1)+glyph->left );
+       ng.bbox.setLeft( ((flags&GS_ISFIRST)|(cursor.x()-1))+glyph->left );
        ng.bbox.setTop( cursor.y() - glyph->top );
        ng.bbox.setWidth( glyph->width );
        ng.bbox.setHeight( glyph->height );
index f20c1a9..bc0d42d 100644 (file)
@@ -3,7 +3,7 @@
 #include <lib/gui/ewidgetdesktop.h>
 
 ePixmap::ePixmap(eWidget *parent)
-       :eWidget(parent), m_alphatest(false), m_scale(false)
+        :eWidget(parent), m_alphatest(false), m_scale(false), m_have_border_color(false), m_border_width(0)
 {
 }
 
@@ -49,9 +49,22 @@ void ePixmap::setPixmapFromFile(const char *filename)
        event(evtChangedPixmap);
 }
 
+void ePixmap::setBorderWidth(int pixel)
+{
+       m_border_width=pixel;
+       invalidate();
+}
+
+void ePixmap::setBorderColor(const gRGB &color)
+{
+       m_border_color=color;
+       m_have_border_color=true;
+       invalidate();
+}
+
 void ePixmap::checkSize()
 {
-                       /* when we have no pixmap, or a pixmap of different size, we need 
+       /* when we have no pixmap, or a pixmap of different size, we need
           to enable transparency in any case. */
        if (m_pixmap && m_pixmap->size() == size() && !m_alphatest)
                setTransparent(0);
@@ -67,13 +80,14 @@ int ePixmap::event(int event, void *data, void *data2)
        case evtPaint:
        {
                ePtr<eWindowStyle> style;
-               
+
+               eSize s(size());
                getStyle(style);
 
 //     we don't clear the background before because of performance reasons.
 //     when the pixmap is too small to fit the whole widget area, the widget is
 //     transparent anyway, so the background is already painted.
-//             eWidget::event(event, data, data2); 
+//             eWidget::event(event, data, data2);
 
                gPainter &painter = *(gPainter*)data2;
                if (m_pixmap)
@@ -91,6 +105,16 @@ int ePixmap::event(int event, void *data, void *data2)
                                painter.blit(m_pixmap, ePoint(0, 0), eRect(), flags);
                }
 
+               if (m_have_border_color)
+                       painter.setForegroundColor(m_border_color);
+
+               if (m_border_width) {
+                       painter.fill(eRect(0, 0, s.width(), m_border_width));
+                       painter.fill(eRect(0, m_border_width, m_border_width, s.height()-m_border_width));
+                       painter.fill(eRect(m_border_width, s.height()-m_border_width, s.width()-m_border_width, m_border_width));
+                       painter.fill(eRect(s.width()-m_border_width, m_border_width, m_border_width, s.height()-m_border_width));
+               }
+
                return 0;
        }
        case evtChangedPixmap:
index 6280fb3..2db26f2 100644 (file)
@@ -15,6 +15,8 @@ public:
        void setPixmapFromFile(const char *filename);
        void setAlphatest(int alphatest); /* 1 for alphatest, 2 for alphablend */
        void setScale(int scale);
+       void setBorderWidth(int pixel);
+       void setBorderColor(const gRGB &color);
 protected:
        ePtr<gPixmap> m_pixmap;
        int event(int event, void *data=0, void *data2=0);
@@ -24,6 +26,9 @@ private:
        {
                evtChangedPixmap = evtUserWidget,
        };
+       bool m_have_border_color;
+       int m_border_width;
+       gRGB m_border_color;
 };
 
 #endif
index 815cfe3..33f1c13 100644 (file)
@@ -1392,7 +1392,7 @@ def InitNimManager(nimmgr):
                nim = config.Nims[x]
 
                if slot.isCompatible("DVB-S"):
-                       nim.toneAmplitude = ConfigSelection([("9", "600mV"), ("8", "700mV"), ("7", "800mV"), ("6", "900mV"), ("5", "1100mV")], "7")
+                       nim.toneAmplitude = ConfigSelection([("11", "340mV"), ("10", "360mV"), ("9", "600mV"), ("8", "700mV"), ("7", "800mV"), ("6", "900mV"), ("5", "1100mV")], "7")
                        nim.toneAmplitude.fe_id = x - empty_slots
                        nim.toneAmplitude.slot_id = x
                        nim.toneAmplitude.addNotifier(toneAmplitudeChanged)
index ee18898..e926e3f 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_cutlisteditor.xml
 
index 0b3be7d..1a823b7 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_dvdburn.xml
 
index 12d1371..aa22b99 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_dvdplayer.xml
 
index 5766ff3..a11d35d 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_graphmultiepg.xml
 
index 84e0167..e17f0bf 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_mediaplayer.xml
 
index d80b8c2..c4ab27d 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_mediascanner.xml
 
index 87b59f4..e501fb6 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_pictureplayer.xml
 
index 34ccbeb..67388bc 100755 (executable)
@@ -1,3 +1,3 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_socketmmi.xml
index ecdcac8..1ab8aee 100755 (executable)
@@ -1,3 +1,3 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_tuxboxplugins.xml
index 9b0a2ed..92a5473 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_diseqctester.xml
 
index a757b53..cf5608b 100755 (executable)
@@ -1,3 +1,3 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_hotplug.xml
index 0633e7c..598c071 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_nfiflash.xml
 
index ba035e8..23499a4 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_satfinder.xml
 
index d29fb00..992f4b0 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_skinselector.xml
 
old mode 100644 (file)
new mode 100755 (executable)
index c8af9cd..42fe82d
@@ -131,6 +131,7 @@ class TempFanControl(Screen, ConfigListScreen):
                ConfigListScreen.__init__(self, self.list, session = self.session)
                #self["config"].list = self.list
                #self["config"].setList(self.list)
+               self["config"].l.setSeperation(300)
                
                self["actions"] = ActionMap(["OkCancelActions", "ColorActions"], 
                {
index d0368ed..a864905 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_videotune.xml
 
index ef47443..ddcc18c 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_videomode.xml
 
index 6bc4aab..692d91a 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(datadir)/meta/
+installdir = $(datadir)/meta
 
 dist_install_DATA = plugin_wirelesslan.xml
 
index 62faf9b..9885e70 100644 (file)
@@ -278,7 +278,7 @@ class TimerEntry(Screen, ConfigListScreen):
                        self.keyGo()
 
        def keyGo(self, result = None):
-               if self.timerentry_service_ref.getType() != eServiceReference.idDVB or self.timerentry_service_ref.getPath() != "":
+               if not self.timerentry_service_ref.isRecordable():
                        self.session.openWithCallback(self.selectChannelSelector, MessageBox, _("You didn't select a channel to record from."), MessageBox.TYPE_ERROR)
                        return
                self.timer.name = self.timerentry_name.value