summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-05-31 00:24:18 (UTC)
committer llornkcor <llornkcor>2002-05-31 00:24:18 (UTC)
commit294fecd1c15c4940bdab8566e5afaee9f305abb6 (patch) (unidiff)
tree47860d13c0aeffb0b9afad96d669d8935769fe7a
parent706841997a5d466f3b873ed79102e4abe0d745ae (diff)
downloadopie-294fecd1c15c4940bdab8566e5afaee9f305abb6.zip
opie-294fecd1c15c4940bdab8566e5afaee9f305abb6.tar.gz
opie-294fecd1c15c4940bdab8566e5afaee9f305abb6.tar.bz2
sped up startup time, and fixed segfault on exit
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/mediaplayer.h2
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp70
-rw-r--r--core/multimedia/opieplayer/playlistwidget.h3
3 files changed, 53 insertions, 22 deletions
diff --git a/core/multimedia/opieplayer/mediaplayer.h b/core/multimedia/opieplayer/mediaplayer.h
index cf9daea..8f9a0ee 100644
--- a/core/multimedia/opieplayer/mediaplayer.h
+++ b/core/multimedia/opieplayer/mediaplayer.h
@@ -44,13 +44,13 @@ private slots:
44 void startIncreasingVolume(); 44 void startIncreasingVolume();
45 void startDecreasingVolume(); 45 void startDecreasingVolume();
46 void stopChangingVolume(); 46 void stopChangingVolume();
47 void cleanUp();
47 48
48protected: 49protected:
49 void timerEvent( QTimerEvent *e ); 50 void timerEvent( QTimerEvent *e );
50 void keyReleaseEvent( QKeyEvent *e); 51 void keyReleaseEvent( QKeyEvent *e);
51 void doBlank(); 52 void doBlank();
52 void doUnblank(); 53 void doUnblank();
53 void cleanUp();
54private: 54private:
55 int volumeDirection; 55 int volumeDirection;
56 const DocLnk *currentFile; 56 const DocLnk *currentFile;
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 7a79be1..78c2822 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -32,7 +32,6 @@
32#include <qpe/config.h> 32#include <qpe/config.h>
33#include <qpe/global.h> 33#include <qpe/global.h>
34#include <qpe/resource.h> 34#include <qpe/resource.h>
35
36#include <qaction.h> 35#include <qaction.h>
37#include <qcursor.h> 36#include <qcursor.h>
38#include <qimage.h> 37#include <qimage.h>
@@ -131,6 +130,8 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
131 d->current = NULL; 130 d->current = NULL;
132 fromSetDocument = FALSE; 131 fromSetDocument = FALSE;
133 insanityBool=FALSE; 132 insanityBool=FALSE;
133 audioScan = FALSE;
134 videoScan = FALSE;
134// menuTimer = new QTimer( this ,"menu timer"), 135// menuTimer = new QTimer( this ,"menu timer"),
135// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); 136// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) );
136 137
@@ -181,6 +182,9 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
181 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 182 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
182 pmPlayList->insertSeparator(-1); 183 pmPlayList->insertSeparator(-1);
183 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 184 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
185 pmPlayList->insertSeparator(-1);
186 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) );
187 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) );
184 188
185 QPopupMenu *pmView = new QPopupMenu( this ); 189 QPopupMenu *pmView = new QPopupMenu( this );
186 menu->insertItem( tr( "View" ), pmView ); 190 menu->insertItem( tr( "View" ), pmView );
@@ -254,7 +258,7 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
254 this,SLOT( playIt( QListViewItem *)) ); 258 this,SLOT( playIt( QListViewItem *)) );
255 259
256// audioView 260// audioView
257 populateAudioView(); 261// populateAudioView();
258// videowidget 262// videowidget
259 263
260 QWidget *vTab; 264 QWidget *vTab;
@@ -279,19 +283,18 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
279 this,SLOT( playIt( QListViewItem *)) ); 283 this,SLOT( playIt( QListViewItem *)) );
280 284
281 tabWidget->insertTab( vTab,tr("Video")); 285 tabWidget->insertTab( vTab,tr("Video"));
282populateVideoView(); 286// populateVideoView();
283 287
284//playlists list 288//playlists list
285 QWidget *LTab; 289 QWidget *LTab;
286 LTab = new QWidget( tabWidget, "LTab" ); 290 LTab = new QWidget( tabWidget, "LTab" );
287 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 291 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
288 playLists->setMinimumSize(233,260);; 292 playLists->setMinimumSize(233,260);
289 tabWidget->insertTab(LTab,tr("Lists")); 293 tabWidget->insertTab(LTab,tr("Lists"));
290 294
291 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 295 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
292// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 296// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
293 297
294
295// add the library area 298// add the library area
296 299
297// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), 300// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
@@ -433,8 +436,6 @@ void PlayListWidget::addAllToList() {
433 436
434 437
435void PlayListWidget::addAllMusicToList() { 438void PlayListWidget::addAllMusicToList() {
436// DocLnkSet files;
437// Global::findDocuments(&files, "audio/*");
438 QListIterator<DocLnk> dit( files.children() ); 439 QListIterator<DocLnk> dit( files.children() );
439 for ( ; dit.current(); ++dit ) 440 for ( ; dit.current(); ++dit )
440 d->selectedFiles->addToSelection( **dit ); 441 d->selectedFiles->addToSelection( **dit );
@@ -527,7 +528,6 @@ const DocLnk *PlayListWidget::current() { // this is fugly
527 case 1://audio 528 case 1://audio
528 { 529 {
529 qDebug("audioView"); 530 qDebug("audioView");
530// Global::findDocuments(&files, "audio/*");
531 QListIterator<DocLnk> dit( files.children() ); 531 QListIterator<DocLnk> dit( files.children() );
532 for ( ; dit.current(); ++dit ) { 532 for ( ; dit.current(); ++dit ) {
533 if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) { 533 if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) {
@@ -541,7 +541,6 @@ const DocLnk *PlayListWidget::current() { // this is fugly
541 case 2: // video 541 case 2: // video
542 { 542 {
543 qDebug("videoView"); 543 qDebug("videoView");
544// Global::findDocuments(&vFiles, "video/*");
545 QListIterator<DocLnk> Vdit( vFiles.children() ); 544 QListIterator<DocLnk> Vdit( vFiles.children() );
546 for ( ; Vdit.current(); ++Vdit ) { 545 for ( ; Vdit.current(); ++Vdit ) {
547 if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) { 546 if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) {
@@ -803,6 +802,9 @@ void PlayListWidget::tabChanged(QWidget *widg) {
803 break; 802 break;
804 case 1: 803 case 1:
805 { 804 {
805 audioView->clear();
806 populateAudioView();
807
806 if( !tbDeletePlaylist->isHidden()) 808 if( !tbDeletePlaylist->isHidden())
807 tbDeletePlaylist->hide(); 809 tbDeletePlaylist->hide();
808 d->tbRemoveFromList->setEnabled(FALSE); 810 d->tbRemoveFromList->setEnabled(FALSE);
@@ -811,6 +813,8 @@ void PlayListWidget::tabChanged(QWidget *widg) {
811 break; 813 break;
812 case 2: 814 case 2:
813 { 815 {
816 videoView->clear();
817 populateVideoView();
814 if( !tbDeletePlaylist->isHidden()) 818 if( !tbDeletePlaylist->isHidden())
815 tbDeletePlaylist->hide(); 819 tbDeletePlaylist->hide();
816 d->tbRemoveFromList->setEnabled(FALSE); 820 d->tbRemoveFromList->setEnabled(FALSE);
@@ -827,8 +831,6 @@ void PlayListWidget::tabChanged(QWidget *widg) {
827 }; 831 };
828} 832}
829 833
830
831
832void PlayListWidget::btnPlay(bool b) { 834void PlayListWidget::btnPlay(bool b) {
833 835
834// mediaPlayerState->setPlaying(b); 836// mediaPlayerState->setPlaying(b);
@@ -880,7 +882,6 @@ void PlayListWidget::deletePlaylist() {
880 case 1: // Cancel 882 case 1: // Cancel
881 break; 883 break;
882 }; 884 };
883
884} 885}
885 886
886void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) 887void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i)
@@ -974,16 +975,37 @@ void PlayListWidget::listDelete() {
974 }; 975 };
975} 976}
976 977
978void PlayListWidget::scanForAudio() {
979 qDebug("scan for audio");
980 files.detachChildren();
981 QListIterator<DocLnk> sdit( files.children() );
982 for ( ; sdit.current(); ++sdit ) {
983 delete sdit.current();
984 }
985 Global::findDocuments(&files, "audio/*");
986 audioScan = TRUE;
987}
988void PlayListWidget::scanForVideo() {
989 qDebug("scan for video");
990 vFiles.detachChildren();
991 QListIterator<DocLnk> sdit( vFiles.children() );
992 for ( ; sdit.current(); ++sdit ) {
993 delete sdit.current();
994 }
995 Global::findDocuments(&vFiles, "video/*");
996 videoScan = TRUE;
997}
998
977void PlayListWidget::populateAudioView() { 999void PlayListWidget::populateAudioView() {
978// if(files) 1000
979// files.~DocLnkSet(); 1001 audioView->clear();
980 StorageInfo storageInfo; 1002 StorageInfo storageInfo;
981 const QList<FileSystem> &fs = storageInfo.fileSystems(); 1003 const QList<FileSystem> &fs = storageInfo.fileSystems();
1004 if(!audioScan) scanForAudio();
982 1005
983 Global::findDocuments(&files, "audio/*");
984 QListIterator<DocLnk> dit( files.children() ); 1006 QListIterator<DocLnk> dit( files.children() );
985 QListIterator<FileSystem> it ( fs ); 1007 QListIterator<FileSystem> it ( fs );
986 audioView->clear(); 1008
987 QString storage; 1009 QString storage;
988 for ( ; dit.current(); ++dit ) { 1010 for ( ; dit.current(); ++dit ) {
989 for( ; it.current(); ++it ){ 1011 for( ; it.current(); ++it ){
@@ -993,8 +1015,10 @@ void PlayListWidget::populateAudioView() {
993 } 1015 }
994 1016
995 QListViewItem * newItem; 1017 QListViewItem * newItem;
996 if ( QFile( dit.current()->file()).exists() ) { 1018 if ( QFile( dit.current()->file()).exists() ) {
997 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage); 1019// qDebug(dit.current()->name());
1020 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(),
1021 QString::number( QFile( dit.current()->file()).size() ), storage);
998 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); 1022 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" ));
999 } 1023 }
1000 } 1024 }
@@ -1002,10 +1026,12 @@ void PlayListWidget::populateAudioView() {
1002} 1026}
1003 1027
1004void PlayListWidget::populateVideoView() { 1028void PlayListWidget::populateVideoView() {
1029 videoView->clear();
1005 StorageInfo storageInfo; 1030 StorageInfo storageInfo;
1006 const QList<FileSystem> &fs = storageInfo.fileSystems(); 1031 const QList<FileSystem> &fs = storageInfo.fileSystems();
1007 1032
1008 Global::findDocuments(&vFiles, "video/*"); 1033 if(!videoScan ) scanForVideo();
1034
1009 QListIterator<DocLnk> Vdit( vFiles.children() ); 1035 QListIterator<DocLnk> Vdit( vFiles.children() );
1010 QListIterator<FileSystem> it ( fs ); 1036 QListIterator<FileSystem> it ( fs );
1011 videoView->clear(); 1037 videoView->clear();
@@ -1019,7 +1045,8 @@ void PlayListWidget::populateVideoView() {
1019 1045
1020 QListViewItem * newItem; 1046 QListViewItem * newItem;
1021 if ( QFile( Vdit.current()->file()).exists() ) { 1047 if ( QFile( Vdit.current()->file()).exists() ) {
1022 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); 1048 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(),
1049 QString::number( QFile( Vdit.current()->file()).size() ), storage);
1023 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); 1050 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" ));
1024 } 1051 }
1025 } 1052 }
@@ -1095,7 +1122,7 @@ void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
1095// break; 1122// break;
1096 case Key_Space: 1123 case Key_Space:
1097 qDebug("Play"); 1124 qDebug("Play");
1098 playSelected(); 1125// playSelected(); puh
1099 break; 1126 break;
1100 case Key_1: 1127 case Key_1:
1101 tabWidget->setCurrentPage(0); 1128 tabWidget->setCurrentPage(0);
@@ -1233,3 +1260,4 @@ void PlayListWidget::readPls(const QString &filename) {
1233 i++; 1260 i++;
1234 } 1261 }
1235} 1262}
1263
diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h
index 778e3ee..6569f35 100644
--- a/core/multimedia/opieplayer/playlistwidget.h
+++ b/core/multimedia/opieplayer/playlistwidget.h
@@ -71,6 +71,7 @@ protected:
71void keyReleaseEvent( QKeyEvent *e); 71void keyReleaseEvent( QKeyEvent *e);
72void keyPressEvent( QKeyEvent *e); 72void keyPressEvent( QKeyEvent *e);
73private: 73private:
74 bool audioScan, videoScan;
74 void doBlank(); 75 void doBlank();
75 void doUnblank(); 76 void doUnblank();
76 void readm3u(const QString &); 77 void readm3u(const QString &);
@@ -85,6 +86,8 @@ private:
85 void populateAudioView(); 86 void populateAudioView();
86 void populateVideoView(); 87 void populateVideoView();
87private slots: 88private slots:
89 void scanForAudio();
90 void scanForVideo();
88 void openFile(); 91 void openFile();
89 void setDocument( const QString& fileref ); 92 void setDocument( const QString& fileref );
90 void addToSelection( const DocLnk& ); // Add a media file to the playlist 93 void addToSelection( const DocLnk& ); // Add a media file to the playlist