X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/32e4324b9b5e615a84885b9132505e4706ededfe..2d01fd232419dbb9edaf7eb42f587dc635d21d42:/lib/service/listboxservice.h?ds=sidebyside diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index 4e5a8dd5..a742b061 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -3,7 +3,6 @@ #include #include - #include class eListboxServiceContent: public virtual iListboxContent @@ -11,21 +10,26 @@ class eListboxServiceContent: public virtual iListboxContent DECLARE_REF(eListboxServiceContent); public: eListboxServiceContent(); + + void setIgnoreService( const eServiceReference &service ); void setRoot(const eServiceReference &ref); void getCurrent(eServiceReference &ref); + int getNextBeginningWithChar(char c); + /* support for marked services */ void initMarked(); void addMarked(const eServiceReference &ref); void removeMarked(const eServiceReference &ref); int isMarked(const eServiceReference &ref); - + /* this is NOT thread safe! */ void markedQueryStart(); int markedQueryNext(eServiceReference &ref); int lookupService(const eServiceReference &ref); - + void setCurrent(const eServiceReference &ref); + enum { visModeSimple, visModeComplex @@ -35,9 +39,9 @@ public: /* only in complex mode: */ enum { - celServiceName, - celServiceNumber, celIcon, + celServiceNumber, + celServiceName, celServiceInfo, // "now" event celElements }; @@ -46,7 +50,10 @@ public: void setElementFont(int element, gFont *font); void sort(); - + + int setCurrentMarked(bool); + + void setNumberOffset(int offset) { m_numberoffset = offset; } protected: void cursorHome(); void cursorEnd(); @@ -54,7 +61,7 @@ protected: int cursorValid(); int cursorSet(int n); int cursorGet(); - + void cursorSave(); void cursorRestore(); int size(); @@ -82,11 +89,17 @@ private: ePtr m_service_center; eServiceReference m_root; - + /* support for marked services */ std::set m_marked; - std::set::const_iterator m_marked_iterator; + + /* support for movemode */ + bool m_current_marked; + + int m_numberoffset; + + eServiceReference m_is_playable_ignore; }; #endif