summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/om3u.cpp25
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp175
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h3
4 files changed, 74 insertions, 131 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 8da7f73..5069a49 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -340,5 +340,5 @@ void MediaPlayer::cleanUp() {// this happens on closing
340 Config cfg( "OpiePlayer" ); 340 Config cfg( "OpiePlayer" );
341 mediaPlayerState->writeConfig( cfg ); 341 mediaPlayerState->writeConfig( cfg );
342 playList->writeConfig( cfg ); 342 playList->writeDefaultPlaylist( );
343 343
344// QPEApplication::grabKeyboard(); 344// QPEApplication::grabKeyboard();
diff --git a/noncore/multimedia/opieplayer2/om3u.cpp b/noncore/multimedia/opieplayer2/om3u.cpp
index c947033..0be727b 100644
--- a/noncore/multimedia/opieplayer2/om3u.cpp
+++ b/noncore/multimedia/opieplayer2/om3u.cpp
@@ -64,5 +64,5 @@ Om3u::Om3u( const QString &filePath, int mode)
64Om3u::~Om3u(){} 64Om3u::~Om3u(){}
65 65
66void Om3u::readM3u() { //it's m3u 66void Om3u::readM3u() {
67// qDebug("<<<<<<reading m3u "+f.name()); 67// qDebug("<<<<<<reading m3u "+f.name());
68 QTextStream t(&f); 68 QTextStream t(&f);
@@ -70,5 +70,5 @@ void Om3u::readM3u() { //it's m3u
70 while ( !t.atEnd() ) { 70 while ( !t.atEnd() ) {
71 s=t.readLine(); 71 s=t.readLine();
72 // qDebug(s); 72 qDebug(s);
73 if( s.find( "#", 0, TRUE) == -1 ) { 73 if( s.find( "#", 0, TRUE) == -1 ) {
74 if( s.left(2) == "E:" || s.left(2) == "P:" ) { 74 if( s.left(2) == "E:" || s.left(2) == "P:" ) {
@@ -83,9 +83,9 @@ void Om3u::readM3u() { //it's m3u
83 s.replace( QRegExp( "%20" )," " ); 83 s.replace( QRegExp( "%20" )," " );
84 QString name; 84 QString name;
85 if( name.left( 4 ) == "http" ) { 85// if( name.left( 4 ) == "http" ) {
86 name = s.right( s.length() - 7 ); 86// name = s.right( s.length() - 7 );
87 } else { 87// } else {
88 name = s; 88 name = s;
89 } 89// }
90 append(name); 90 append(name);
91// qDebug(name); 91// qDebug(name);
@@ -138,5 +138,5 @@ void Om3u::write() { //writes list to m3u file
138 } 138 }
139 f.writeBlock( list, list.length() ); 139 f.writeBlock( list, list.length() );
140 f.close(); 140// f.close();
141} 141}
142 142
@@ -146,8 +146,19 @@ void Om3u::add(const QString &filePath) { //adds to m3u file
146 146
147void Om3u::remove(const QString &filePath) { //removes from m3u list 147void Om3u::remove(const QString &filePath) { //removes from m3u list
148 QString list, currentFile;
149 for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) {
150 currentFile=*it;
151// qDebug(*it);
152
153 if( filePath != currentFile)
154 list += currentFile+"\n";
155 }
156 f.writeBlock( list, list.length() );
148 157
149} 158}
150 159
151void Om3u::deleteFile(const QString &filePath) {//deletes m3u file 160void Om3u::deleteFile(const QString &filePath) {//deletes m3u file
161 f.close();
162 f.remove();
152 163
153} 164}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 897c458..cc4be23 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -177,99 +177,25 @@ void PlayListWidget::initializeStates() {
177} 177}
178 178
179 179void PlayListWidget::writeDefaultPlaylist() {
180void PlayListWidget::readConfig( Config& cfg ) {
181
182 cfg.setGroup( "PlayList" );
183 QString currentString = cfg.readEntry( "current", "" );
184 int noOfFiles = cfg.readNumEntry( "NumberOfFiles", 0 );
185
186 for ( int i = 0; i < noOfFiles; i++ ) {
187 QString entryName;
188 entryName.sprintf( "File%i", i + 1 );
189
190 QString linkFile = cfg.readEntry( entryName );
191
192 qDebug("reading "+linkFile);
193
194 if( QFileInfo( linkFile ).exists() ) {
195
196 DocLnk lnk( linkFile );
197
198 if ( QFileInfo( lnk.file() ).exists() ||
199
200 linkFile.find( "http" , 0, TRUE) != -1) {
201
202 d->selectedFiles->addToSelection( lnk );
203 }
204 }
205 }
206 d->selectedFiles->setSelectedItem( currentString );
207}
208
209
210void PlayListWidget::writeConfig( Config& cfg ) const {
211 180
212 Config config( "OpiePlayer" ); 181 Config config( "OpiePlayer" );
213 config.setGroup( "PlayList" ); 182 config.setGroup( "PlayList" );
214 183 QString filename=QPEApplication::documentDir() + "/default.m3u";
215// if(config.readBoolEntry("newPlaylist")) { 184 QString currentString = config.readEntry( "CurrentPlaylist", filename);
216// new for testing 185 if( currentString == filename) {
217 QString name, filename, list;
218 Om3u *m3uList; 186 Om3u *m3uList;
219 name = "default"; 187// qDebug("<<<<<<<<<<<<<default>>>>>>>>>>>>>>>>>>>");
220 188 m3uList = new Om3u(filename, IO_ReadWrite | IO_Truncate);
221 filename=QPEApplication::documentDir() + "/" + name+".m3u";
222 m3uList = new Om3u(filename, IO_ReadWrite);
223 d->selectedFiles->first(); 189 d->selectedFiles->first();
224 do { 190 do {
225 qDebug(d->selectedFiles->current()->file()); 191// qDebug(d->selectedFiles->current()->file());
226 m3uList->add( d->selectedFiles->current()->file() ); 192 m3uList->add( d->selectedFiles->current()->file() );
227 } 193 }
228 while ( d->selectedFiles->next() ); 194 while ( d->selectedFiles->next() );
229 // qDebug( list );
230 195
231 // m3uList->write(); 196 m3uList->write();
232 m3uList->close(); 197 m3uList->close();
233 if(m3uList) delete m3uList; 198 if(m3uList) delete m3uList;
234
235 DocLnk lnk;
236 lnk.setFile( filename);
237 lnk.setIcon("opieplayer2/playlist2");
238 lnk.setName( name); //sets file name
239
240 qDebug("writing default playlist "+filename);
241
242 config.writeEntry("CurrentPlaylist", filename);
243// currentPlayList=filename;
244 if(!lnk.writeLink()) {
245 qDebug("Writing doclink did not work");
246 } 199 }
247// } else {
248
249// d->selectedFiles->writeCurrent( cfg );
250// int noOfFiles = 0;
251// d->selectedFiles->first();
252
253// do {
254// const DocLnk *lnk = d->selectedFiles->current();
255
256// if ( lnk ) {
257
258// QString entryName;
259// entryName.sprintf( "File%i", noOfFiles + 1 );
260
261// cfg.writeEntry( entryName, lnk->linkFile() );
262// // if this link does exist, add it so we have the file
263// // next time...
264
265// if ( !QFile::exists( lnk->linkFile() ) ) {
266// lnk->writeLink();
267// }
268// }
269// noOfFiles++;
270// }
271// while ( d->selectedFiles->next() );
272// cfg.writeEntry("NumberOfFiles", noOfFiles );
273// }
274} 200}
275 201
@@ -361,5 +287,5 @@ void PlayListWidget::addAllVideoToList() {
361 287
362void PlayListWidget::setDocument( const QString& fileref ) { 288void PlayListWidget::setDocument( const QString& fileref ) {
363 //qDebug( fileref ); 289 qDebug( "<<<<<<<<set document>>>>>>>>>> "+fileref );
364 fromSetDocument = TRUE; 290 fromSetDocument = TRUE;
365 if ( fileref.isNull() ) { 291 if ( fileref.isNull() ) {
@@ -369,14 +295,14 @@ void PlayListWidget::setDocument( const QString& fileref ) {
369 } 295 }
370 296
297 clearList();
371 if( fileref.find( "m3u", 0, TRUE) != -1 ) { //is m3u 298 if( fileref.find( "m3u", 0, TRUE) != -1 ) { //is m3u
372 readm3u( fileref ); 299 readm3u( fileref );
300 } else if( DocLnk( fileref).file().find( "m3u", 0, TRUE) != -1 ) {
301 readm3u( DocLnk( fileref).file() );
373 } else if( fileref.find( "pls", 0, TRUE) != -1 ) { //is pls 302 } else if( fileref.find( "pls", 0, TRUE) != -1 ) { //is pls
374 readPls( fileref ); 303 readPls( fileref );
375 }// else if( fileref.find( "playlist", 0, TRUE) != -1 ) {//is playlist 304 } else if( DocLnk( fileref).file().find( "pls", 0, TRUE) != -1 ) {
376// clearList(); 305 readPls( DocLnk( fileref).file() );
377// loadList( DocLnk( fileref ) ); 306 } else {
378// d->selectedFiles->first();
379// }
380 else {
381 clearList(); 307 clearList();
382 addToSelection( DocLnk( fileref ) ); 308 addToSelection( DocLnk( fileref ) );
@@ -508,5 +434,5 @@ void PlayListWidget::setPlaylist( bool shown ) {
508 434
509void PlayListWidget::addSelected() { 435void PlayListWidget::addSelected() {
510 436 qDebug("addSelected");
511 switch (whichList()) { 437 switch (whichList()) {
512 case 0: //playlist 438 case 0: //playlist
@@ -558,4 +484,5 @@ void PlayListWidget::addSelected() {
558void PlayListWidget::removeSelected() { 484void PlayListWidget::removeSelected() {
559 d->selectedFiles->removeSelected( ); 485 d->selectedFiles->removeSelected( );
486 writeCurrentM3u();
560} 487}
561 488
@@ -571,5 +498,5 @@ void PlayListWidget::playIt( QListViewItem *it) {
571void PlayListWidget::addToSelection( QListViewItem *it) { 498void PlayListWidget::addToSelection( QListViewItem *it) {
572 d->setDocumentUsed = FALSE; 499 d->setDocumentUsed = FALSE;
573 500 qDebug("addToSelection2");
574 if(it) { 501 if(it) {
575 switch ( whichList()) { 502 switch ( whichList()) {
@@ -583,7 +510,5 @@ void PlayListWidget::addToSelection( QListViewItem *it) {
583 } 510 }
584 writeCurrentM3u(); 511 writeCurrentM3u();
585
586 } 512 }
587
588 break; 513 break;
589 case 2: { 514 case 2: {
@@ -781,12 +706,12 @@ void PlayListWidget::openFile() {
781 if( fileDlg->result() == 1 ) { 706 if( fileDlg->result() == 1 ) {
782 filename = fileDlg->text(); 707 filename = fileDlg->text();
783
784 qDebug( "Selected filename is " + filename ); 708 qDebug( "Selected filename is " + filename );
785
786 if(filename.left(4) == "http") { //if http, lets write a new m3u
787 Om3u *m3uList; 709 Om3u *m3uList;
788 DocLnk lnk; 710 DocLnk lnk;
789 QString m3uFile, m3uFilePath; 711 Config cfg( "OpiePlayer" );
712 cfg.setGroup("PlayList");
790 713
714 if(filename.left(4) == "http") {
715 QString m3uFile, m3uFilePath;
791 if(filename.find(":",8,TRUE) != -1) { //found a port 716 if(filename.find(":",8,TRUE) != -1) { //found a port
792 m3uFile = filename.left( filename.find( ":",8,TRUE)); 717 m3uFile = filename.left( filename.find( ":",8,TRUE));
@@ -798,26 +723,15 @@ void PlayListWidget::openFile() {
798 m3uFile=filename; 723 m3uFile=filename;
799 } 724 }
800// qDebug( m3uFile);
801 725
802//this is where this new m3u is going to live at 726 qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"+ m3uFile);
803 m3uFilePath = QDir::homeDirPath() + "/" + m3uFile + ".m3u"; 727 m3uList = new Om3u( cfg.readEntry("CurrentPlaylist",""), IO_Append | IO_ReadWrite );
804// m3uFile += ".m3u";
805 m3uList = new Om3u( m3uFile+".m3u", IO_ReadWrite );
806 m3uList->add( filename); 728 m3uList->add( filename);
807 m3uList->write(); 729 m3uList->write();
730 m3uList->close();
808 if(m3uList) delete m3uList; 731 if(m3uList) delete m3uList;
809// qDebug( m3uFile); 732 lnk.setName( filename ); //sets name
810 lnk.setName( filename ); //sets file name 733 lnk.setFile( filename ); //sets file name
811 lnk.setFile( m3uFilePath ); //sets File property 734 lnk.setIcon("opieplayer2/musicfile");
812 lnk.setType( MimeType( QFile::encodeName(m3uFilePath) ).id() );
813
814 lnk.setExec( "opieplayer2" );
815 lnk.setIcon("opieplayer2/playlist2");
816
817 if( !lnk.writeLink() ) {
818 qDebug( "Writing doclink did not work" );
819 }
820 d->selectedFiles->addToSelection( lnk ); 735 d->selectedFiles->addToSelection( lnk );
821
822 } 736 }
823 else if( filename.right( 3 ) == "m3u" ) { 737 else if( filename.right( 3 ) == "m3u" ) {
@@ -827,5 +741,14 @@ void PlayListWidget::openFile() {
827 readPls( filename ); 741 readPls( filename );
828 } 742 }
743 else {
744 m3uList = new Om3u( cfg.readEntry("CurrentPlaylist",""), IO_Append | IO_ReadWrite );
745 m3uList->add( filename);
746 m3uList->write();
747 m3uList->close();
748 if(m3uList) delete m3uList;
749 d->selectedFiles->addToSelection( DocLnk(filename) );
829 } 750 }
751 }
752
830 if( fileDlg ) { 753 if( fileDlg ) {
831 delete fileDlg; 754 delete fileDlg;
@@ -834,5 +757,5 @@ void PlayListWidget::openFile() {
834 757
835/* 758/*
836reads m3u and adds files/urls to playlist */ 759reads m3u and shows files/urls to playlist widget */
837void PlayListWidget::readm3u( const QString &filename ) { 760void PlayListWidget::readm3u( const QString &filename ) {
838 qDebug( "read m3u filename " + filename ); 761 qDebug( "read m3u filename " + filename );
@@ -845,7 +768,12 @@ void PlayListWidget::readm3u( const QString &filename ) {
845 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) { 768 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) {
846 s = *it; 769 s = *it;
847 s.replace( QRegExp( "%20" )," " ); 770// s.replace( QRegExp( "%20" )," " );
848// qDebug("reading "+ s); 771// qDebug("reading "+ s);
849 772 if(s.left(4)=="http") {
773 lnk.setName( s ); //sets file name
774 lnk.setFile( s ); //sets file name
775 lnk.setIcon("opieplayer2/musicfile");
776 }
777 else {
850 if( QFileInfo( s ).exists() ) { 778 if( QFileInfo( s ).exists() ) {
851 lnk.setName( QFileInfo(s).baseName()); 779 lnk.setName( QFileInfo(s).baseName());
@@ -855,8 +783,8 @@ void PlayListWidget::readm3u( const QString &filename ) {
855 else 783 else
856 lnk.setFile( s+"/"); //if url with no extension 784 lnk.setFile( s+"/"); //if url with no extension
857
858 d->selectedFiles->addToSelection( lnk );
859 } 785 }
860 } 786 }
787 d->selectedFiles->addToSelection( lnk );
788 }
861 Config config( "OpiePlayer" ); 789 Config config( "OpiePlayer" );
862 config.setGroup( "PlayList" ); 790 config.setGroup( "PlayList" );
@@ -866,9 +794,10 @@ void PlayListWidget::readm3u( const QString &filename ) {
866 currentPlayList=filename; 794 currentPlayList=filename;
867 795
796// m3uList->write();
868 m3uList->close(); 797 m3uList->close();
869 if(m3uList) delete m3uList; 798 if(m3uList) delete m3uList;
870 799
871 d->selectedFiles->setSelectedItem( s); 800 d->selectedFiles->setSelectedItem( s);
872 setCaption(tr("OpiePlayer: ")+ filename); 801 setCaption(tr("OpiePlayer: ")+ QFileInfo(filename).baseName());
873 802
874} 803}
@@ -927,5 +856,5 @@ void PlayListWidget::writeCurrentM3u() {
927 // int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 856 // int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
928 Om3u *m3uList; 857 Om3u *m3uList;
929 m3uList = new Om3u( currentPlaylist, IO_ReadWrite ); 858 m3uList = new Om3u( currentPlaylist, IO_ReadWrite |IO_Truncate );
930 d->selectedFiles->first(); 859 d->selectedFiles->first();
931 860
@@ -936,4 +865,6 @@ void PlayListWidget::writeCurrentM3u() {
936 // qDebug( list ); 865 // qDebug( list );
937 m3uList->write(); 866 m3uList->write();
867 m3uList->close();
868
938 if(m3uList) delete m3uList; 869 if(m3uList) delete m3uList;
939} 870}
@@ -970,4 +901,6 @@ void PlayListWidget::writem3u() {
970// qDebug( list ); 901// qDebug( list );
971 m3uList->write(); 902 m3uList->write();
903 m3uList->close();
904
972 } 905 }
973 if(m3uList) delete m3uList; 906 if(m3uList) delete m3uList;
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 8a77619..53be7a7 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -74,5 +74,5 @@ public slots:
74 bool next(); 74 bool next();
75 bool prev(); 75 bool prev();
76 void writeConfig( Config& cfg ) const; 76 void writeDefaultPlaylist( );
77 QString currentFileListPathName(); 77 QString currentFileListPathName();
78protected: 78protected:
@@ -85,5 +85,4 @@ private:
85 void readPls(const QString &); 85 void readPls(const QString &);
86 void initializeStates(); 86 void initializeStates();
87 void readConfig( Config& cfg );
88 void populateAudioView(); 87 void populateAudioView();
89 void populateVideoView(); 88 void populateVideoView();