update ca, sv language
[enigma2.git] / lib / service / listboxservice.h
index e65ffc8d9353023da8f56251a82e43f87f8af1fd..59d4d9200c2c360f3146a34f02258ce4f2c7fdfd 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <lib/gui/elistbox.h>
 #include <lib/service/iservice.h>
-
 #include <set>
 
 class eListboxServiceContent: public virtual iListboxContent
@@ -11,9 +10,19 @@ class eListboxServiceContent: public virtual iListboxContent
        DECLARE_REF(eListboxServiceContent);
 public:
        eListboxServiceContent();
-       void setRoot(const eServiceReference &ref);
-       void getCurrent(eServiceReference &ref);
 
+       void addService(const eServiceReference &ref, bool beforeCurrent=false);
+       void removeCurrent();
+       void FillFinished();
+
+       void setIgnoreService( const eServiceReference &service );
+       void setRoot(const eServiceReference &ref, bool justSet=false);
+       void getCurrent(eServiceReference &ref);
+       
+       int getNextBeginningWithChar(char c);
+       int getPrevMarkerPos();
+       int getNextMarkerPos();
+       
                /* support for marked services */
        void initMarked();
        void addMarked(const eServiceReference &ref);
@@ -25,7 +34,8 @@ public:
        int markedQueryNext(eServiceReference &ref);
 
        int lookupService(const eServiceReference &ref);
-       
+       void setCurrent(const eServiceReference &ref);
+
        enum {
                visModeSimple,
                visModeComplex
@@ -35,26 +45,40 @@ public:
        
                /* only in complex mode: */
        enum {
-               celServiceName,
                celServiceNumber,
-               celIcon,
+               celMarkerPixmap,
+               celFolderPixmap,
+               celServiceName,
+               celServiceTypePixmap,
                celServiceInfo, // "now" event
                celElements
        };
-       
+
+       enum {
+               picDVB_S,
+               picDVB_T,
+               picDVB_C,
+               picFolder,
+               picMarker,
+               picElements
+       };
+
        void setElementPosition(int element, eRect where);
        void setElementFont(int element, gFont *font);
+       void setPixmap(int type, ePtr<gPixmap> &pic);
        
        void sort();
 
        int setCurrentMarked(bool);
-       int cursorSet(int n);
-       int cursorGet();
+
+       void setNumberOffset(int offset) { m_numberoffset = offset; }
 protected:
        void cursorHome();
        void cursorEnd();
        int cursorMove(int count=1);
        int cursorValid();
+       int cursorSet(int n);
+       int cursorGet();
 
        void cursorSave();
        void cursorRestore();
@@ -70,6 +94,7 @@ protected:
                /* for complex mode */
        eRect m_element_position[celElements];
        ePtr<gFont> m_element_font[celElements];
+       ePtr<gPixmap> m_pixmaps[picElements];
 private:
        typedef std::list<eServiceReference> list;
        
@@ -90,7 +115,10 @@ private:
 
                /* support for movemode */
        bool m_current_marked;
-       list::iterator m_swap;
+
+       int m_numberoffset;
+
+       eServiceReference m_is_playable_ignore;
 };
 
 #endif