qtmobility/src/multimedia/qmediaplaylistnavigator.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    65 public:
    65 public:
    66     QMediaPlaylistNavigatorPrivate()
    66     QMediaPlaylistNavigatorPrivate()
    67         :playlist(0),
    67         :playlist(0),
    68         currentPos(-1),
    68         currentPos(-1),
    69         lastValidPos(-1),
    69         lastValidPos(-1),
    70         playbackMode(QMediaPlaylist::Linear),
    70         playbackMode(QMediaPlaylist::Sequential),
    71         randomPositionsOffset(-1)
    71         randomPositionsOffset(-1)
    72     {
    72     {
    73     }
    73     }
    74 
    74 
    75     QMediaPlaylistProvider *playlist;
    75     QMediaPlaylistProvider *playlist;
   103     switch (playbackMode) {
   103     switch (playbackMode) {
   104         case QMediaPlaylist::CurrentItemOnce:
   104         case QMediaPlaylist::CurrentItemOnce:
   105             return /*currentPos == -1 ? lastValidPos :*/ -1;
   105             return /*currentPos == -1 ? lastValidPos :*/ -1;
   106         case QMediaPlaylist::CurrentItemInLoop:
   106         case QMediaPlaylist::CurrentItemInLoop:
   107             return currentPos;
   107             return currentPos;
   108         case QMediaPlaylist::Linear:
   108         case QMediaPlaylist::Sequential:
   109             {
   109             {
   110                 int nextPos = currentPos+steps;
   110                 int nextPos = currentPos+steps;
   111                 return nextPos < playlist->mediaCount() ? nextPos : -1;
   111                 return nextPos < playlist->mediaCount() ? nextPos : -1;
   112             }
   112             }
   113         case QMediaPlaylist::Loop:
   113         case QMediaPlaylist::Loop:
   148     switch (playbackMode) {
   148     switch (playbackMode) {
   149         case QMediaPlaylist::CurrentItemOnce:
   149         case QMediaPlaylist::CurrentItemOnce:
   150             return /*currentPos == -1 ? lastValidPos :*/ -1;
   150             return /*currentPos == -1 ? lastValidPos :*/ -1;
   151         case QMediaPlaylist::CurrentItemInLoop:
   151         case QMediaPlaylist::CurrentItemInLoop:
   152             return currentPos;
   152             return currentPos;
   153         case QMediaPlaylist::Linear:
   153         case QMediaPlaylist::Sequential:
   154             {
   154             {
   155                 int prevPos = currentPos == -1 ? playlist->mediaCount() - steps : currentPos - steps;
   155                 int prevPos = currentPos == -1 ? playlist->mediaCount() - steps : currentPos - steps;
   156                 return prevPos>=0 ? prevPos : -1;
   156                 return prevPos>=0 ? prevPos : -1;
   157             }
   157             }
   158         case QMediaPlaylist::Loop:
   158         case QMediaPlaylist::Loop: