summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-08-16 02:46:12 (UTC)
committer llornkcor <llornkcor>2002-08-16 02:46:12 (UTC)
commit40527ffb82b83ad521ed766f11b47636db055ffe (patch) (unidiff)
treed94fb1f21fa57b9dfbe2aa45beab05de024c97a3
parentf25db7780ff234b2770ac13d8c02887b79a57a26 (diff)
downloadopie-40527ffb82b83ad521ed766f11b47636db055ffe.zip
opie-40527ffb82b83ad521ed766f11b47636db055ffe.tar.gz
opie-40527ffb82b83ad521ed766f11b47636db055ffe.tar.bz2
check for local file existing before adding to playlist
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp44
1 files changed, 26 insertions, 18 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index e33998f..612fd45 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -277,102 +277,104 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
277 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 277 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
278 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 278 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
279 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 279 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
280 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 280 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
281 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 281 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
282 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 282 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
283 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 283 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
285 285
286 setCentralWidget( vbox5 ); 286 setCentralWidget( vbox5 );
287 287
288 readConfig( cfg ); 288 readConfig( cfg );
289 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 289 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
290 loadList(DocLnk( currentPlaylist)); 290 loadList(DocLnk( currentPlaylist));
291 setCaption(tr("OpiePlayer: ")+ currentPlaylist ); 291 setCaption(tr("OpiePlayer: ")+ currentPlaylist );
292 292
293 initializeStates(); 293 initializeStates();
294} 294}
295 295
296 296
297PlayListWidget::~PlayListWidget() { 297PlayListWidget::~PlayListWidget() {
298 Config cfg( "OpiePlayer" ); 298 Config cfg( "OpiePlayer" );
299 writeConfig( cfg ); 299 writeConfig( cfg );
300 300
301 if ( d->current ) { 301 if ( d->current ) {
302 delete d->current; 302 delete d->current;
303 } 303 }
304 delete d; 304 delete d;
305} 305}
306 306
307 307
308void PlayListWidget::initializeStates() { 308void PlayListWidget::initializeStates() {
309 309
310 d->tbPlay->setOn( mediaPlayerState->playing() ); 310 d->tbPlay->setOn( mediaPlayerState->playing() );
311 d->tbLoop->setOn( mediaPlayerState->looping() ); 311 d->tbLoop->setOn( mediaPlayerState->looping() );
312 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 312 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
313 setPlaylist( true); 313 setPlaylist( true);
314} 314}
315 315
316 316
317void PlayListWidget::readConfig( Config& cfg ) { 317void PlayListWidget::readConfig( Config& cfg ) {
318 cfg.setGroup("PlayList"); 318 cfg.setGroup("PlayList");
319 QString currentString = cfg.readEntry("current", "" ); 319 QString currentString = cfg.readEntry("current", "" );
320 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 320 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
321 for ( int i = 0; i < noOfFiles; i++ ) { 321 for ( int i = 0; i < noOfFiles; i++ ) {
322 QString entryName; 322 QString entryName;
323 entryName.sprintf( "File%i", i + 1 ); 323 entryName.sprintf( "File%i", i + 1 );
324 QString linkFile = cfg.readEntry( entryName ); 324 QString linkFile = cfg.readEntry( entryName );
325 DocLnk lnk( linkFile ); 325 if(QFileInfo( linkFile).exists() ) {
326 if ( lnk.isValid() ) { 326 DocLnk lnk( linkFile );
327 d->selectedFiles->addToSelection( lnk ); 327 if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) {
328 d->selectedFiles->addToSelection( lnk );
329 }
328 } 330 }
329 } 331 }
330 d->selectedFiles->setSelectedItem( currentString); 332d->selectedFiles->setSelectedItem( currentString);
331} 333}
332 334
333 335
334void PlayListWidget::writeConfig( Config& cfg ) const { 336void PlayListWidget::writeConfig( Config& cfg ) const {
335 337
336 d->selectedFiles->writeCurrent( cfg); 338 d->selectedFiles->writeCurrent( cfg);
337 cfg.setGroup("PlayList"); 339 cfg.setGroup("PlayList");
338 int noOfFiles = 0; 340 int noOfFiles = 0;
339 d->selectedFiles->first(); 341 d->selectedFiles->first();
340 do { 342 do {
341 const DocLnk *lnk = d->selectedFiles->current(); 343 const DocLnk *lnk = d->selectedFiles->current();
342 if ( lnk ) { 344 if ( lnk ) {
343 QString entryName; 345 QString entryName;
344 entryName.sprintf( "File%i", noOfFiles + 1 ); 346 entryName.sprintf( "File%i", noOfFiles + 1 );
345 cfg.writeEntry( entryName, lnk->linkFile() ); 347 cfg.writeEntry( entryName, lnk->linkFile() );
346 // if this link does exist, add it so we have the file 348 // if this link does exist, add it so we have the file
347 // next time... 349 // next time...
348 if ( !QFile::exists( lnk->linkFile() ) ) { 350 if ( !QFile::exists( lnk->linkFile() ) ) {
349 // the way writing lnks doesn't really check for out 351 // the way writing lnks doesn't really check for out
350 // of disk space, but check it anyway. 352 // of disk space, but check it anyway.
351 if ( !lnk->writeLink() ) { 353 if ( !lnk->writeLink() ) {
352 QMessageBox::critical( 0, tr("Out of space"), 354 QMessageBox::critical( 0, tr("Out of space"),
353 tr( "There was a problem saving " 355 tr( "There was a problem saving "
354 "the playlist.\n" 356 "the playlist.\n"
355 "Your playlist " 357 "Your playlist "
356 "may be missing some entries\n" 358 "may be missing some entries\n"
357 "the next time you start it." ) 359 "the next time you start it." )
358 ); 360 );
359 } 361 }
360 } 362 }
361 noOfFiles++; 363 noOfFiles++;
362 } 364 }
363 } 365 }
364 while ( d->selectedFiles->next() ); 366 while ( d->selectedFiles->next() );
365 cfg.writeEntry("NumberOfFiles", noOfFiles ); 367 cfg.writeEntry("NumberOfFiles", noOfFiles );
366} 368}
367 369
368 370
369void PlayListWidget::addToSelection( const DocLnk& lnk ) { 371void PlayListWidget::addToSelection( const DocLnk& lnk ) {
370 d->setDocumentUsed = FALSE; 372 d->setDocumentUsed = FALSE;
371 if ( mediaPlayerState->playlist() ) { 373 if ( mediaPlayerState->playlist() ) {
372 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) 374 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" )
373 d->selectedFiles->addToSelection( lnk ); 375 d->selectedFiles->addToSelection( lnk );
374 } 376 }
375 else 377 else
376 mediaPlayerState->setPlaying( TRUE ); 378 mediaPlayerState->setPlaying( TRUE );
377} 379}
378 380
@@ -606,156 +608,160 @@ void PlayListWidget::loadList( const DocLnk & lnk) {
606 setCaption("OpiePlayer: "+name); 608 setCaption("OpiePlayer: "+name);
607 // qDebug("load list "+ name+".playlist"); 609 // qDebug("load list "+ name+".playlist");
608 clearList(); 610 clearList();
609 Config cfg( name+".playlist"); 611 Config cfg( name+".playlist");
610 readConfig(cfg); 612 readConfig(cfg);
611 613
612 tabWidget->setCurrentPage(0); 614 tabWidget->setCurrentPage(0);
613 615
614 Config config( "OpiePlayer" ); 616 Config config( "OpiePlayer" );
615 config.writeEntry("CurrentPlaylist", name); 617 config.writeEntry("CurrentPlaylist", name);
616 // d->selectedFiles->first(); 618 // d->selectedFiles->first();
617 } 619 }
618 620
619} 621}
620 622
621void PlayListWidget::setPlaylist( bool shown ) { 623void PlayListWidget::setPlaylist( bool shown ) {
622 if ( shown ) { 624 if ( shown ) {
623 d->playListFrame->show(); 625 d->playListFrame->show();
624 } else { 626 } else {
625 d->playListFrame->hide(); 627 d->playListFrame->hide();
626 } 628 }
627} 629}
628 630
629void PlayListWidget::setView( char view ) { 631void PlayListWidget::setView( char view ) {
630 if ( view == 'l' ) 632 if ( view == 'l' )
631 showMaximized(); 633 showMaximized();
632 else 634 else
633 hide(); 635 hide();
634} 636}
635 637
636void PlayListWidget::addSelected() { 638void PlayListWidget::addSelected() {
637 639
638 Config cfg( "OpiePlayer" ); 640 Config cfg( "OpiePlayer" );
639 cfg.setGroup("PlayList"); 641 cfg.setGroup("PlayList");
640 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 642 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
641// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 643// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
642 644
643 switch (tabWidget->currentPageIndex()) { 645 switch (tabWidget->currentPageIndex()) {
644 case 0: //playlist 646 case 0: //playlist
645 break; 647 break;
646 case 1: { //audio 648 case 1: { //audio
647 QListViewItemIterator it( audioView ); 649 QListViewItemIterator it( audioView );
648 // iterate through all items of the listview 650 // iterate through all items of the listview
649 for ( ; it.current(); ++it ) { 651 for ( ; it.current(); ++it ) {
650 if ( it.current()->isSelected() ) { 652 if ( it.current()->isSelected() ) {
651 QListIterator<DocLnk> dit( files.children() ); 653 QListIterator<DocLnk> dit( files.children() );
652 for ( ; dit.current(); ++dit ) { 654 for ( ; dit.current(); ++dit ) {
653 if( dit.current()->name() == it.current()->text(0) ) { 655 if( dit.current()->name() == it.current()->text(0) ) {
654 d->selectedFiles->addToSelection( **dit ); 656 if(QFileInfo( dit.current()->file()).exists())
657 d->selectedFiles->addToSelection( **dit );
655 } 658 }
656 } 659 }
657 audioView->setSelected( it.current(),FALSE); 660 audioView->setSelected( it.current(),FALSE);
658 } 661 }
659 } 662 }
660 tabWidget->setCurrentPage(0); 663 tabWidget->setCurrentPage(0);
661 } 664 }
662 break; 665 break;
663 case 2: { // video 666 case 2: { // video
664 QListViewItemIterator it( videoView ); 667 QListViewItemIterator it( videoView );
665 // iterate through all items of the listview 668 // iterate through all items of the listview
666 for ( ; it.current(); ++it ) { 669 for ( ; it.current(); ++it ) {
667 if ( it.current()->isSelected() ) { 670 if ( it.current()->isSelected() ) {
668 QListIterator<DocLnk> dit( vFiles.children() ); 671 QListIterator<DocLnk> dit( vFiles.children() );
669 for ( ; dit.current(); ++dit ) { 672 for ( ; dit.current(); ++dit ) {
670 if( dit.current()->name() == it.current()->text(0) ) { 673 if( dit.current()->name() == it.current()->text(0) ) {
671 d->selectedFiles->addToSelection( **dit ); 674 if(QFileInfo( dit.current()->file()).exists())
675 d->selectedFiles->addToSelection( **dit );
672 } 676 }
673 } 677 }
674 videoView->setSelected( it.current(),FALSE); 678 videoView->setSelected( it.current(),FALSE);
675 } 679 }
676 } 680 }
677 tabWidget->setCurrentPage(0); 681 tabWidget->setCurrentPage(0);
678 } 682 }
679 break; 683 break;
680 }; 684 };
681} 685}
682 686
683void PlayListWidget::removeSelected() { 687void PlayListWidget::removeSelected() {
684 d->selectedFiles->removeSelected( ); 688 d->selectedFiles->removeSelected( );
685} 689}
686 690
687void PlayListWidget::playIt( QListViewItem *it) { 691void PlayListWidget::playIt( QListViewItem *it) {
688 // if(it==NULL) return; 692 // if(it==NULL) return;
689 qDebug("playIt"); 693 qDebug("playIt");
690 mediaPlayerState->setPlaying(FALSE); 694 mediaPlayerState->setPlaying(FALSE);
691 mediaPlayerState->setPlaying(TRUE); 695 mediaPlayerState->setPlaying(TRUE);
692 d->selectedFiles->unSelect(); 696 d->selectedFiles->unSelect();
693} 697}
694 698
695void PlayListWidget::addToSelection( QListViewItem *it) { 699void PlayListWidget::addToSelection( QListViewItem *it) {
696 d->setDocumentUsed = FALSE; 700 d->setDocumentUsed = FALSE;
697 701
698 if(it) { 702 if(it) {
699 switch (tabWidget->currentPageIndex()) { 703 switch (tabWidget->currentPageIndex()) {
700 case 1: { 704 case 1: {
701 QListIterator<DocLnk> dit( files.children() ); 705 QListIterator<DocLnk> dit( files.children() );
702 for ( ; dit.current(); ++dit ) { 706 for ( ; dit.current(); ++dit ) {
703 if( dit.current()->name() == it->text(0)) { 707 if( dit.current()->name() == it->text(0)) {
704 d->selectedFiles->addToSelection( **dit ); 708 if(QFileInfo( dit.current()->file()).exists())
709 d->selectedFiles->addToSelection( **dit );
705 } 710 }
706 } 711 }
707 } 712 }
708 break; 713 break;
709 case 2: { 714 case 2: {
710 QListIterator<DocLnk> dit( vFiles.children() ); 715 QListIterator<DocLnk> dit( vFiles.children() );
711 for ( ; dit.current(); ++dit ) { 716 for ( ; dit.current(); ++dit ) {
712 if( dit.current()->name() == it->text(0)) { 717 if( dit.current()->name() == it->text(0)) {
713 d->selectedFiles->addToSelection( **dit ); 718 if(QFileInfo( dit.current()->file()).exists())
719 d->selectedFiles->addToSelection( **dit );
714 } 720 }
715 } 721 }
716 } 722 }
717 break; 723 break;
718 case 0: 724 case 0:
719 break; 725 break;
720 }; 726 };
721 tabWidget->setCurrentPage(0); 727 tabWidget->setCurrentPage(0);
722 } 728 }
723} 729}
724 730
725void PlayListWidget::tabChanged(QWidget *) { 731void PlayListWidget::tabChanged(QWidget *) {
726 732
727 switch ( tabWidget->currentPageIndex()) { 733 switch ( tabWidget->currentPageIndex()) {
728 case 0: 734 case 0:
729 { 735 {
730 if( !tbDeletePlaylist->isHidden()) 736 if( !tbDeletePlaylist->isHidden())
731 tbDeletePlaylist->hide(); 737 tbDeletePlaylist->hide();
732 d->tbRemoveFromList->setEnabled(TRUE); 738 d->tbRemoveFromList->setEnabled(TRUE);
733 d->tbAddToList->setEnabled(FALSE); 739 d->tbAddToList->setEnabled(FALSE);
734 } 740 }
735 break; 741 break;
736 case 1: 742 case 1:
737 { 743 {
738 audioView->clear(); 744 audioView->clear();
739 populateAudioView(); 745 populateAudioView();
740 746
741 if( !tbDeletePlaylist->isHidden()) 747 if( !tbDeletePlaylist->isHidden())
742 tbDeletePlaylist->hide(); 748 tbDeletePlaylist->hide();
743 d->tbRemoveFromList->setEnabled(FALSE); 749 d->tbRemoveFromList->setEnabled(FALSE);
744 d->tbAddToList->setEnabled(TRUE); 750 d->tbAddToList->setEnabled(TRUE);
745 } 751 }
746 break; 752 break;
747 case 2: 753 case 2:
748 { 754 {
749 videoView->clear(); 755 videoView->clear();
750 populateVideoView(); 756 populateVideoView();
751 if( !tbDeletePlaylist->isHidden()) 757 if( !tbDeletePlaylist->isHidden())
752 tbDeletePlaylist->hide(); 758 tbDeletePlaylist->hide();
753 d->tbRemoveFromList->setEnabled(FALSE); 759 d->tbRemoveFromList->setEnabled(FALSE);
754 d->tbAddToList->setEnabled(TRUE); 760 d->tbAddToList->setEnabled(TRUE);
755 } 761 }
756 break; 762 break;
757 case 3: 763 case 3:
758 { 764 {
759 if( tbDeletePlaylist->isHidden()) 765 if( tbDeletePlaylist->isHidden())
760 tbDeletePlaylist->show(); 766 tbDeletePlaylist->show();
761 playLists->reread(); 767 playLists->reread();
@@ -1066,106 +1072,108 @@ void PlayListWidget::keyPressEvent( QKeyEvent *)
1066// qDebug("Play"); 1072// qDebug("Play");
1067// playSelected(); 1073// playSelected();
1068// break; 1074// break;
1069// case Key_Space: 1075// case Key_Space:
1070// qDebug("Play"); 1076// qDebug("Play");
1071// playSelected(); 1077// playSelected();
1072// break; 1078// break;
1073// } 1079// }
1074} 1080}
1075 1081
1076void PlayListWidget::doBlank() { 1082void PlayListWidget::doBlank() {
1077 qDebug("do blanking"); 1083 qDebug("do blanking");
1078 fd=open("/dev/fb0",O_RDWR); 1084 fd=open("/dev/fb0",O_RDWR);
1079 if (fd != -1) { 1085 if (fd != -1) {
1080 ioctl(fd,FBIOBLANK,1); 1086 ioctl(fd,FBIOBLANK,1);
1081// close(fd); 1087// close(fd);
1082 } 1088 }
1083} 1089}
1084 1090
1085void PlayListWidget::doUnblank() { 1091void PlayListWidget::doUnblank() {
1086 // this crashes opieplayer with a segfault 1092 // this crashes opieplayer with a segfault
1087 // int fd; 1093 // int fd;
1088 // fd=open("/dev/fb0",O_RDWR); 1094 // fd=open("/dev/fb0",O_RDWR);
1089 qDebug("do unblanking"); 1095 qDebug("do unblanking");
1090 if (fd != -1) { 1096 if (fd != -1) {
1091 ioctl(fd,FBIOBLANK,0); 1097 ioctl(fd,FBIOBLANK,0);
1092 close(fd); 1098 close(fd);
1093 } 1099 }
1094 QCopEnvelope h("QPE/System", "setBacklight(int)"); 1100 QCopEnvelope h("QPE/System", "setBacklight(int)");
1095 h <<-3;// v[1]; // -3 Force on 1101 h <<-3;// v[1]; // -3 Force on
1096} 1102}
1097 1103
1098void PlayListWidget::readm3u(const QString &filename) { 1104void PlayListWidget::readm3u(const QString &filename) {
1099 1105
1100 qDebug("m3u filename is "+filename); 1106 qDebug("m3u filename is "+filename);
1101 QFile f(filename); 1107 QFile f(filename);
1102 1108
1103 if(f.open(IO_ReadOnly)) { 1109 if(f.open(IO_ReadOnly)) {
1104 QTextStream t(&f); 1110 QTextStream t(&f);
1105 QString s;//, first, second; 1111 QString s;//, first, second;
1106 int i=0; 1112 int i=0;
1107 while ( !t.atEnd()) { 1113 while ( !t.atEnd()) {
1108 s=t.readLine(); 1114 s=t.readLine();
1109 1115
1110 if(s.find("#",0,TRUE) == -1) { 1116 if(s.find("#",0,TRUE) == -1) {
1111 if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat 1117 if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat
1112 if(s.left(2) == "E:" || s.left(2) == "P:") { 1118 if(s.left(2) == "E:" || s.left(2) == "P:") {
1113 s=s.right(s.length()-2); 1119 s=s.right(s.length()-2);
1114 DocLnk lnk( s ); 1120 if(QFile(s).exists()) {
1115 QFileInfo f(s); 1121 DocLnk lnk( s );
1116 QString name = f.baseName(); 1122 QFileInfo f(s);
1117 name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 ); 1123 QString name = f.baseName();
1118 lnk.setName( name ); 1124 name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 );
1119 s=s.replace( QRegExp("\\"),"/"); 1125 lnk.setName( name );
1120 lnk.setFile( s ); 1126 s=s.replace( QRegExp("\\"),"/");
1121 lnk.writeLink(); 1127 lnk.setFile( s );
1122 qDebug("add "+name); 1128 lnk.writeLink();
1123 d->selectedFiles->addToSelection( lnk); 1129 qDebug("add "+name);
1130 d->selectedFiles->addToSelection( lnk);
1131 }
1124 } else { // is url 1132 } else { // is url
1125 s.replace(QRegExp("%20")," "); 1133 s.replace(QRegExp("%20")," ");
1126 DocLnk lnk( s ); 1134 DocLnk lnk( s );
1127 QString name; 1135 QString name;
1128 if(name.left(4)=="http") { 1136 if(name.left(4)=="http") {
1129 name = s.right( s.length() - 7); 1137 name = s.right( s.length() - 7);
1130 } else { 1138 } else {
1131 name = s; 1139 name = s;
1132 } 1140 }
1133 lnk.setName(name); 1141 lnk.setName(name);
1134 if(s.at(s.length()-4) == '.') { 1142 if(s.at(s.length()-4) == '.') {
1135 lnk.setFile( s); 1143 lnk.setFile( s);
1136 } else { 1144 } else {
1137 lnk.setFile( s+"/"); 1145 lnk.setFile( s+"/");
1138 } 1146 }
1139 lnk.setType("audio/x-mpegurl"); 1147 lnk.setType("audio/x-mpegurl");
1140 lnk.writeLink(); 1148 lnk.writeLink();
1141 d->selectedFiles->addToSelection( lnk); 1149 d->selectedFiles->addToSelection( lnk);
1142 } 1150 }
1143 i++; 1151 i++;
1144 } 1152 }
1145 } 1153 }
1146 } 1154 }
1147 } 1155 }
1148 f.close(); 1156 f.close();
1149} 1157}
1150 1158
1151void PlayListWidget::writem3u() { 1159void PlayListWidget::writem3u() {
1152 1160
1153 InputDialog *fileDlg; 1161 InputDialog *fileDlg;
1154 fileDlg = new InputDialog(this,tr("Save m3u Playlist "),TRUE, 0); 1162 fileDlg = new InputDialog(this,tr("Save m3u Playlist "),TRUE, 0);
1155 fileDlg->exec(); 1163 fileDlg->exec();
1156 QString filename,list; 1164 QString filename,list;
1157 if( fileDlg->result() == 1 ) { 1165 if( fileDlg->result() == 1 ) {
1158 filename = fileDlg->LineEdit1->text(); 1166 filename = fileDlg->LineEdit1->text();
1159 qDebug(filename); 1167 qDebug(filename);
1160 int noOfFiles = 0; 1168 int noOfFiles = 0;
1161 d->selectedFiles->first(); 1169 d->selectedFiles->first();
1162 do { 1170 do {
1163 // we dont check for existance because of url's 1171 // we dont check for existance because of url's
1164 // qDebug(d->selectedFiles->current()->file()); 1172 // qDebug(d->selectedFiles->current()->file());
1165 list += d->selectedFiles->current()->file()+"\n"; 1173 list += d->selectedFiles->current()->file()+"\n";
1166 noOfFiles++; 1174 noOfFiles++;
1167 } 1175 }
1168 while ( d->selectedFiles->next() ); 1176 while ( d->selectedFiles->next() );
1169 qDebug(list); 1177 qDebug(list);
1170 if(filename.left(1) != "/") 1178 if(filename.left(1) != "/")
1171 filename=QPEApplication::documentDir()+"/"+filename; 1179 filename=QPEApplication::documentDir()+"/"+filename;