Esempio n. 1
0
File: player.c Progetto: axmhari/vdr
eOSState cPictureControl::ProcessKey(eKeys Key)
{
  switch (Key) {
    case kUp:
    case kPlay:   slideShowDelay.Set();
                  slideShow = true;
                  break;
    case kDown:
    case kPause:  slideShow = false;
                  break;
    case kLeft|k_Repeat:
    case kLeft:   NextPicture(-1);
                  slideShow = false;
                  break;
    case kRight|k_Repeat:
    case kRight:  NextPicture(+1);
                  slideShow = false;
                  break;
    case kOk:     if (osd && !alwaysDisplayCaption)
                     DELETENULL(osd);
                  else {
                     alwaysDisplayCaption = !alwaysDisplayCaption;
                     DisplayCaption();
                     }
                  break;
    case kGreen:
    case kPrev:   NextDirectory(-1);
                  slideShow = false;
                  break;
    case kYellow:
    case kNext:   NextDirectory(+1);
                  slideShow = false;
                  break;
    case kBlue:
    case kStop:   return osEnd;
    case kBack:   slideShow = false;
                  cRemote::CallPlugin(PLUGIN_NAME_I18N);
                  break;
    default: break;
    }
  if (slideShow && slideShowDelay.TimedOut()) {
     NextPicture(+1);
     slideShowDelay.Set(SlideShowDelay * 1000);
     }
  return osContinue;
}
Esempio n. 2
0
File: player.c Progetto: axmhari/vdr
cPictureControl::cPictureControl(cPictureEntry *Pictures, const cPictureEntry *PictureEntry, bool SlideShow)
:cControl(player = new cPicturePlayer)
{
  pictures = Pictures;
  pictureEntry = PictureEntry;
  osd = NULL;
  lastPath = "/";
  slideShowDelay.Set(SlideShowDelay * 1000);
  slideShow = SlideShow;
  alwaysDisplayCaption = false;
  NextPicture(slideShow && pictureEntry->IsDirectory() ? 1 : 0);
  active++;
}
Esempio n. 3
0
const cPictureEntry *cPictureEntry::NextPicture(const cPictureEntry *This) const
{
  if (This) {
     cPictureEntry *pe = (cPictureEntry *)entries->Next(This);
     if (pe) {
        if (pe->IsDirectory()) {
           const cPictureEntry *p = pe->FirstPicture();
           if (p)
              return p;
           return NextPicture(pe);
           }
        return pe;
        }
     }
  else if (IsDirectory()) {
     const cPictureEntry *p = FirstPicture();
     if (p)
        return p;
     }
  if (parent)
     return parent->NextPicture(this);
  return NULL;
}