summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistselection.h2
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp10
2 files changed, 11 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistselection.h b/noncore/multimedia/opieplayer2/playlistselection.h
index d10bc82..9cc4e30 100644
--- a/noncore/multimedia/opieplayer2/playlistselection.h
+++ b/noncore/multimedia/opieplayer2/playlistselection.h
@@ -42,12 +42,14 @@ public slots:
void setSelectedItem( const QString & );
bool prev();
bool next();
bool first();
bool last();
+ bool isEmpty() const { return childCount() == 0; }
+
protected:
virtual void contentsMouseMoveEvent(QMouseEvent *);
/* #ifdef USE_PLAYLIST_BACKGROUND */
virtual void drawBackground( QPainter *p, const QRect &r );
virtual void paintEmptyArea( QPainter *p, const QRect &r ) { drawBackground( p, r ); };
/* #endif */
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index f53def6..b08204e 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -415,13 +415,19 @@ void PlayListWidget::useSelectedDocument() {
}
const DocLnk *PlayListWidget::current() const { // this is fugly
assert( currentTab() == CurrentPlayList );
- return d->selectedFiles->current();
+ const DocLnk *lnk = d->selectedFiles->current();
+ if ( !lnk ) {
+ d->selectedFiles->first();
+ lnk = d->selectedFiles->current();
+ }
+ assert( lnk );
+ return lnk;
}
bool PlayListWidget::prev() {
if ( mediaPlayerState->isShuffled() ) {
const DocLnk *cur = current();
@@ -561,12 +567,14 @@ void PlayListWidget::tabChanged(QWidget *) {
{
if( !tbDeletePlaylist->isHidden() ) {
tbDeletePlaylist->hide();
}
d->tbRemoveFromList->setEnabled(TRUE);
d->tbAddToList->setEnabled(FALSE);
+
+ d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() );
}
break;
case AudioFiles:
{
// audioView->clear();
if(!audioPopulated) populateAudioView();