summaryrefslogtreecommitdiff
path: root/noncore
authorsimon <simon>2002-12-08 19:57:21 (UTC)
committer simon <simon>2002-12-08 19:57:21 (UTC)
commitce313e53a56591fd883348f5e265606865fdcb50 (patch) (side-by-side diff)
treef7227b5ed4270b35c92e81545f0e067cf6da90c1 /noncore
parent77ab301a0ab41befda91e6a210c64a72f0d7c264 (diff)
downloadopie-ce313e53a56591fd883348f5e265606865fdcb50.zip
opie-ce313e53a56591fd883348f5e265606865fdcb50.tar.gz
opie-ce313e53a56591fd883348f5e265606865fdcb50.tar.bz2
- when the file list view is visible only enable the play button if there
is something selected. one crash less ;)
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.cpp17
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.h8
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp15
3 files changed, 40 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.cpp b/noncore/multimedia/opieplayer2/playlistfileview.cpp
index cb16415..3ef4d03 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.cpp
+++ b/noncore/multimedia/opieplayer2/playlistfileview.cpp
@@ -21,2 +21,5 @@ PlayListFileView::PlayListFileView( const QString &mimeTypePattern, const QStrin
setSelectionMode( QListView::Extended );
+
+ connect( this, SIGNAL( selectionChanged() ),
+ this, SLOT( checkSelection() ) );
}
@@ -27,2 +30,11 @@ PlayListFileView::~PlayListFileView()
+bool PlayListFileView::hasSelection() const
+{
+ for ( QListViewItemIterator it( const_cast<PlayListFileView *>( this ) ); it.current(); ++it )
+ if ( it.current()->isSelected() )
+ return true;
+
+ return false;
+}
+
void PlayListFileView::scanFiles()
@@ -76,2 +88,7 @@ void PlayListFileView::populateView()
+void PlayListFileView::checkSelection()
+{
+ emit itemsSelected( hasSelection() );
+}
+
/* vim: et sw=4 ts=4
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.h b/noncore/multimedia/opieplayer2/playlistfileview.h
index 6eea2fc..5b15526 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.h
+++ b/noncore/multimedia/opieplayer2/playlistfileview.h
@@ -14,2 +14,4 @@ public:
+ bool hasSelection() const;
+
public slots:
@@ -18,2 +20,8 @@ public slots:
+signals:
+ void itemsSelected( bool selected );
+
+private slots:
+ void checkSelection();
+
private:
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 2df7f27..c05096a 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -546,2 +546,7 @@ void PlayListWidget::tabChanged(QWidget *) {
+ disconnect( audioView, SIGNAL( itemsSelected( bool ) ),
+ d->tbPlay, SLOT( setEnabled( bool ) ) );
+ disconnect( videoView, SIGNAL( itemsSelected( bool ) ),
+ d->tbPlay, SLOT( setEnabled( bool ) ) );
+
switch ( currentTab() ) {
@@ -567,2 +572,7 @@ void PlayListWidget::tabChanged(QWidget *) {
d->tbAddToList->setEnabled(TRUE);
+
+ connect( audioView, SIGNAL( itemsSelected( bool ) ),
+ d->tbPlay, SLOT( setEnabled( bool ) ) );
+
+ d->tbPlay->setEnabled( audioView->hasSelection() );
}
@@ -577,2 +587,7 @@ void PlayListWidget::tabChanged(QWidget *) {
d->tbAddToList->setEnabled(TRUE);
+
+ connect( videoView, SIGNAL( itemsSelected( bool ) ),
+ d->tbPlay, SLOT( setEnabled( bool ) ) );
+
+ d->tbPlay->setEnabled( videoView->hasSelection() );
}