int PlaylistModel::nextTrack() const { if (m_tracks.isEmpty() || m_playbackMode == CurrentTrackOnceMode) { return -1; } switch (m_playbackMode) { case RandomMode: return randomTrack(); case LoopTrackMode: return m_currentTrack; case LoopPlaylistMode: default: if ((m_currentTrack + 1) >= m_tracks.count()) { return ((m_playbackMode == LoopPlaylistMode)?0:-1); } return (m_currentTrack + 1); } return -1; }
void PlaylistModel::next(PlayerReaction reaction) { if (m_tracks.count() < 2) { setCurrentTrack(0, reaction); } else if (m_playbackMode == RandomMode) { setCurrentTrack(randomTrack(), reaction); } else { setCurrentTrack(((m_currentTrack >= (m_tracks.count() - 1))?0:(m_currentTrack + 1)), reaction); } }
void PlaylistModel::previous(PlayerReaction reaction) { if (m_tracks.count() < 2) { setCurrentTrack(0, reaction); } else if (m_playbackMode == RandomMode) { setCurrentTrack(randomTrack(), reaction); } else { setCurrentTrack(((m_currentTrack == 0)?(m_tracks.count() - 1):(m_currentTrack - 1)), reaction); } }
Options::Options(QGraphicsWidget *parent) : QGraphicsWidget(parent), // m_volume(new Plasma::IconWidget(this)), //m_meter(new KcdMeter(this)), //m_tracklist(new Plasma::IconWidget(this)), m_albumText(new Plasma::Label(this)), m_random(new Plasma::IconWidget(this)), m_loop(new Plasma::IconWidget(this)) { //m_volume->setIcon("audio-volume-high"); //connect (m_volume, SIGNAL(clicked()), this, SLOT(handleVolume())); //m_volume->setMinimumSize(m_random->sizeFromIconSize(10)); //m_meter->setMinimum(0); //m_meter->setMaximum(10); //m_meter->setMeterType(Plasma::Meter::BarMeterHorizontal); //connect (m_meter, SIGNAL(valueChanged(int)), this, SIGNAL(volumeChanged(int))); //m_tracklist->setIcon("format-list-unordered"); //m_tracklist->setMinimumSize(m_random->sizeFromIconSize(10)); //connect(m_tracklist, SIGNAL(clicked()), this, SIGNAL(showTrackList())); Plasma::ToolTipContent data; //data.setMainText(i18n("Tracklist")); //data.setSubText(i18n("View the tracklist")); //data.setImage(KIcon("format-list-unordered").pixmap(IconSize(KIconLoader::Desktop))); //Plasma::ToolTipManager::self()->setContent(m_tracklist, data); m_random->setIcon("roll"); connect(m_random, SIGNAL(clicked()), this, SLOT(randomTrack())); data.setMainText(i18n("Random - off")); data.setSubText(i18n("Play random track")); data.setImage(KIcon("roll").pixmap(IconSize(KIconLoader::Desktop))); Plasma::ToolTipManager::self()->setContent(m_random, data); m_loop->setIcon("object-rotate-right"); connect(m_loop, SIGNAL(clicked()), this, SLOT(loopList())); data.setMainText(i18n("Repeat - off")); data.setSubText(i18n("Play again the tracklist")); data.setImage(KIcon("object-rotate-right").pixmap(IconSize(KIconLoader::Desktop))); Plasma::ToolTipManager::self()->setContent(m_loop, data); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout; layout->setOrientation(Qt::Horizontal); //layout->addItem(m_volume); //layout->addItem(m_meter); layout->addItem(m_albumText); layout->addItem(m_random); layout->addItem(m_loop); layout->setAlignment(m_albumText, Qt::AlignLeft); layout->setAlignment(m_random, Qt::AlignRight); layout->setAlignment(m_loop, Qt::AlignRight); layout->setStretchFactor(m_random, 0); layout->setStretchFactor(m_loop, 0); setPreferredHeight(35); //layout->setItemSpacing(0, 50); //layout->addItem(m_tracklist); //layout->setStretchFactor(m_meter, 20); //layout->setSpacing(0); //layout->setAlignment(m_random, Qt::AlignRight); //layout->setAlignment(m_loop, Qt::AlignRight); //layout->setAlignment(m_tracklist, Qt::AlignRight); //layout->setItemSpacing(1, 10); setLayout(layout); randomFlag = false; loopFlag = false; //volumeFlag = true; }