summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-02 17:42:44 (UTC)
committer simon <simon>2002-12-02 17:42:44 (UTC)
commitc31f9b59dba873739494fcd9916c7cb9120ce1d9 (patch) (side-by-side diff)
tree4b3371edaf5f0f6f6240a7bfe8f16be1dc111e8d
parent2f2f6cfbc31e0144060588b26814301ce99ebd39 (diff)
downloadopie-c31f9b59dba873739494fcd9916c7cb9120ce1d9.zip
opie-c31f9b59dba873739494fcd9916c7cb9120ce1d9.tar.gz
opie-c31f9b59dba873739494fcd9916c7cb9120ce1d9.tar.bz2
- don't enable the play button if switching to the playlist tab and the
playlist is empty - don't crash when starting to play and no item is selected in the playlist. instead select the first item then.
Diffstat (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
@@ -44,8 +44,10 @@ public slots:
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 );
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
@@ -417,9 +417,15 @@ 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() {
@@ -563,8 +569,10 @@ void PlayListWidget::tabChanged(QWidget *) {
tbDeletePlaylist->hide();
}
d->tbRemoveFromList->setEnabled(TRUE);
d->tbAddToList->setEnabled(FALSE);
+
+ d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() );
}
break;
case AudioFiles:
{