summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
authorsimon <simon>2002-12-04 11:40:01 (UTC)
committer simon <simon>2002-12-04 11:40:01 (UTC)
commit6a11cf48019e28006172cfb9a61e865816c3657e (patch) (unidiff)
tree45634eded135f17fcdba8e4cb706e87f47f6d5f0 /noncore/multimedia/opieplayer2
parent84d5ca934e9cb8950d1efdb90ac3b00ce6d44e95 (diff)
downloadopie-6a11cf48019e28006172cfb9a61e865816c3657e.zip
opie-6a11cf48019e28006172cfb9a61e865816c3657e.tar.gz
opie-6a11cf48019e28006172cfb9a61e865816c3657e.tar.bz2
- move more view population logic into PlayListFileView
Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.h1
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp30
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h3
4 files changed, 20 insertions, 28 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.cpp b/noncore/multimedia/opieplayer2/playlistfileview.cpp
index 0ed1061..cb16415 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.cpp
+++ b/noncore/multimedia/opieplayer2/playlistfileview.cpp
@@ -3,13 +3,14 @@
3 3
4#include <qfile.h> 4#include <qfile.h>
5#include <qpe/global.h> 5#include <qpe/global.h>
6#include <qpe/resource.h> 6#include <qpe/resource.h>
7 7
8PlayListFileView::PlayListFileView( const QString &mimeTypePattern, const QString &itemPixmapName, QWidget *parent, const char *name ) 8PlayListFileView::PlayListFileView( const QString &mimeTypePattern, const QString &itemPixmapName, QWidget *parent, const char *name )
9 : PlayListView( parent, name ), m_mimeTypePattern( mimeTypePattern ), m_itemPixmapName( itemPixmapName ), m_scannedFiles( false ) 9 : PlayListView( parent, name ), m_mimeTypePattern( mimeTypePattern ), m_itemPixmapName( itemPixmapName ), m_scannedFiles( false ),
10 m_viewPopulated( false )
10{ 11{
11 addColumn( tr( "Title" ), 140); 12 addColumn( tr( "Title" ), 140);
12 addColumn( tr( "Size" ), -1 ); 13 addColumn( tr( "Size" ), -1 );
13 addColumn(tr( "Media" ), 0 ); 14 addColumn(tr( "Media" ), 0 );
14 addColumn(tr( "Path" ), -1 ); 15 addColumn(tr( "Path" ), -1 );
15 setColumnAlignment( 1, Qt::AlignRight ); 16 setColumnAlignment( 1, Qt::AlignRight );
@@ -29,23 +30,34 @@ void PlayListFileView::scanFiles()
29 m_files.detachChildren(); 30 m_files.detachChildren();
30 QListIterator<DocLnk> sdit( m_files.children() ); 31 QListIterator<DocLnk> sdit( m_files.children() );
31 for ( ; sdit.current(); ++sdit ) 32 for ( ; sdit.current(); ++sdit )
32 delete sdit.current(); 33 delete sdit.current();
33 34
34 Global::findDocuments( &m_files, m_mimeTypePattern ); 35 Global::findDocuments( &m_files, m_mimeTypePattern );
36
37 if ( m_viewPopulated ) {
38 m_viewPopulated = false;
39 populateView();
40 }
35} 41}
36 42
37void PlayListFileView::populateView() 43void PlayListFileView::populateView()
38{ 44{
45 if ( m_viewPopulated )
46 return;
47
39 clear(); 48 clear();
40 49
41 if( !m_scannedFiles ) { 50 if( !m_scannedFiles ) {
51 m_viewPopulated = false; // avoid a recursion :)
42 scanFiles(); 52 scanFiles();
43 m_scannedFiles = true; 53 m_scannedFiles = true;
44 } 54 }
45 55
56 m_viewPopulated = true;
57
46 QString storage; 58 QString storage;
47 QListIterator<DocLnk> dit( m_files.children() ); 59 QListIterator<DocLnk> dit( m_files.children() );
48 for ( ; dit.current(); ++dit ) { 60 for ( ; dit.current(); ++dit ) {
49 61
50 QListViewItem *newItem; 62 QListViewItem *newItem;
51 63
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.h b/noncore/multimedia/opieplayer2/playlistfileview.h
index a00349e..448473e 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.h
+++ b/noncore/multimedia/opieplayer2/playlistfileview.h
@@ -23,11 +23,12 @@ public slots:
23 23
24private: 24private:
25 QString m_mimeTypePattern; 25 QString m_mimeTypePattern;
26 QString m_itemPixmapName; 26 QString m_itemPixmapName;
27 DocLnkSet m_files; 27 DocLnkSet m_files;
28 bool m_scannedFiles; 28 bool m_scannedFiles;
29 bool m_viewPopulated;
29}; 30};
30 31
31#endif // PLAYLISTFILEVIEW_H 32#endif // PLAYLISTFILEVIEW_H
32/* vim: et sw=4 ts=4 33/* vim: et sw=4 ts=4
33 */ 34 */
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 460a0bf..eb0606d 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -148,14 +148,12 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par
148 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), 148 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ),
149 this, SLOT( playIt( QListViewItem *) ) ); 149 this, SLOT( playIt( QListViewItem *) ) );
150 connect ( gammaSlider, SIGNAL( valueChanged( int ) ), 150 connect ( gammaSlider, SIGNAL( valueChanged( int ) ),
151 &mediaPlayerState, SLOT( setVideoGamma( int ) ) ); 151 &mediaPlayerState, SLOT( setVideoGamma( int ) ) );
152 152
153 // see which skins are installed 153 // see which skins are installed
154 audioPopulated=false;
155 videoPopulated=false;
156 populateSkinsMenu(); 154 populateSkinsMenu();
157 initializeStates(); 155 initializeStates();
158 156
159 cfg.setGroup("PlayList"); 157 cfg.setGroup("PlayList");
160 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 158 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
161 loadList(DocLnk( currentPlaylist ) ); 159 loadList(DocLnk( currentPlaylist ) );
@@ -251,13 +249,13 @@ void PlayListWidget::addAllToList() {
251 249
252// QTime t; 250// QTime t;
253// t.start(); 251// t.start();
254 252
255 if(!audioView->scannedFiles()) { 253 if(!audioView->scannedFiles()) {
256 if(audioView->childCount() < 1) 254 if(audioView->childCount() < 1)
257 populateAudioView(); 255 audioView->populateView();
258 } 256 }
259 257
260 QListViewItemIterator audioIt( audioView ); 258 QListViewItemIterator audioIt( audioView );
261 DocLnk lnk; 259 DocLnk lnk;
262 QString filename; 260 QString filename;
263 // iterate through all items of the listview 261 // iterate through all items of the listview
@@ -267,13 +265,13 @@ void PlayListWidget::addAllToList() {
267 lnk.setFile( filename ); //sets file name 265 lnk.setFile( filename ); //sets file name
268 d->selectedFiles->addToSelection( lnk); 266 d->selectedFiles->addToSelection( lnk);
269 } 267 }
270 268
271 if(!videoView->scannedFiles()) { 269 if(!videoView->scannedFiles()) {
272 if(videoView->childCount() < 1) 270 if(videoView->childCount() < 1)
273 populateVideoView(); 271 videoView->populateView();
274 } 272 }
275 273
276 QListViewItemIterator videoIt( videoView ); 274 QListViewItemIterator videoIt( videoView );
277 for ( ; videoIt.current(); ++videoIt ) { 275 for ( ; videoIt.current(); ++videoIt ) {
278 filename = videoIt.current()->text(3); 276 filename = videoIt.current()->text(3);
279 lnk.setName( QFileInfo(filename).baseName() ); //sets name 277 lnk.setName( QFileInfo(filename).baseName() ); //sets name
@@ -311,13 +309,13 @@ void PlayListWidget::addAllToList() {
311 309
312 310
313void PlayListWidget::addAllMusicToList() { 311void PlayListWidget::addAllMusicToList() {
314 312
315 if(!audioView->scannedFiles()) { 313 if(!audioView->scannedFiles()) {
316 if(audioView->childCount() < 1) 314 if(audioView->childCount() < 1)
317 populateAudioView(); 315 audioView->populateView();
318 } 316 }
319 317
320 QListViewItemIterator audioIt( audioView ); 318 QListViewItemIterator audioIt( audioView );
321 DocLnk lnk; 319 DocLnk lnk;
322 QString filename; 320 QString filename;
323 // iterate through all items of the listview 321 // iterate through all items of the listview
@@ -344,13 +342,13 @@ void PlayListWidget::addAllMusicToList() {
344 342
345 343
346void PlayListWidget::addAllVideoToList() { 344void PlayListWidget::addAllVideoToList() {
347 345
348 if(!videoView->scannedFiles()) { 346 if(!videoView->scannedFiles()) {
349 if(videoView->childCount() < 1) 347 if(videoView->childCount() < 1)
350 populateVideoView(); 348 videoView->populateView();
351 } 349 }
352 350
353 QListViewItemIterator videoIt( videoView ); 351 QListViewItemIterator videoIt( videoView );
354 DocLnk lnk; 352 DocLnk lnk;
355 QString filename; 353 QString filename;
356 for ( ; videoIt.current(); ++videoIt ) { 354 for ( ; videoIt.current(); ++videoIt ) {
@@ -569,26 +567,24 @@ void PlayListWidget::tabChanged(QWidget *) {
569 567
570 d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() ); 568 d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() );
571 } 569 }
572 break; 570 break;
573 case AudioFiles: 571 case AudioFiles:
574 { 572 {
575 // audioView->clear(); 573 audioView->populateView();
576 if(!audioPopulated) populateAudioView();
577 574
578 if( !tbDeletePlaylist->isHidden() ) { 575 if( !tbDeletePlaylist->isHidden() ) {
579 tbDeletePlaylist->hide(); 576 tbDeletePlaylist->hide();
580 } 577 }
581 d->tbRemoveFromList->setEnabled(FALSE); 578 d->tbRemoveFromList->setEnabled(FALSE);
582 d->tbAddToList->setEnabled(TRUE); 579 d->tbAddToList->setEnabled(TRUE);
583 } 580 }
584 break; 581 break;
585 case VideoFiles: 582 case VideoFiles:
586 { 583 {
587 // videoView->clear(); 584 videoView->populateView();
588 if(!videoPopulated) populateVideoView();
589 if( !tbDeletePlaylist->isHidden() ) { 585 if( !tbDeletePlaylist->isHidden() ) {
590 tbDeletePlaylist->hide(); 586 tbDeletePlaylist->hide();
591 } 587 }
592 d->tbRemoveFromList->setEnabled(FALSE); 588 d->tbRemoveFromList->setEnabled(FALSE);
593 d->tbAddToList->setEnabled(TRUE); 589 d->tbAddToList->setEnabled(TRUE);
594 } 590 }
@@ -633,30 +629,16 @@ void PlayListWidget::playSelected() {
633 btnPlay( TRUE); 629 btnPlay( TRUE);
634} 630}
635 631
636 632
637void PlayListWidget::scanForAudio() { 633void PlayListWidget::scanForAudio() {
638 audioView->scanFiles(); 634 audioView->scanFiles();
639 audioView->scannedFiles() = true;
640 populateAudioView();
641} 635}
642 636
643void PlayListWidget::scanForVideo() { 637void PlayListWidget::scanForVideo() {
644 videoView->scanFiles(); 638 videoView->scanFiles();
645 videoView->scannedFiles() = true;
646 populateVideoView();
647}
648
649void PlayListWidget::populateAudioView() {
650 audioView->populateView();
651 audioPopulated = true;
652}
653
654void PlayListWidget::populateVideoView() {
655 videoView->populateView();
656 videoPopulated=true;
657} 639}
658 640
659QListView *PlayListWidget::currentFileListView() const 641QListView *PlayListWidget::currentFileListView() const
660{ 642{
661 switch ( currentTab() ) { 643 switch ( currentTab() ) {
662 case AudioFiles: return audioView; 644 case AudioFiles: return audioView;
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 58efd47..8c22f17 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -91,18 +91,15 @@ protected:
91 91
92signals: 92signals:
93 void skinSelected(); 93 void skinSelected();
94 94
95private: 95private:
96 int defaultSkinIndex; 96 int defaultSkinIndex;
97 bool audioPopulated, videoPopulated;
98 void readm3u(const QString &); 97 void readm3u(const QString &);
99 void readPls(const QString &); 98 void readPls(const QString &);
100 void initializeStates(); 99 void initializeStates();
101 void populateAudioView();
102 void populateVideoView();
103 100
104 QListView *currentFileListView() const; 101 QListView *currentFileListView() const;
105 102
106 bool inFileListMode() const; 103 bool inFileListMode() const;
107 104
108private slots: 105private slots: