Diffstat (limited to 'core/multimedia/opieplayer/playlistwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 173 |
1 files changed, 124 insertions, 49 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 524747e..cf665c8 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp | |||
@@ -85,48 +85,49 @@ public: | |||
85 | setToggleButton( t ); | 85 | setToggleButton( t ); |
86 | connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); | 86 | connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); |
87 | QPEMenuToolFocusManager::manager()->addWidget( this ); | 87 | QPEMenuToolFocusManager::manager()->addWidget( this ); |
88 | } | 88 | } |
89 | }; | 89 | }; |
90 | 90 | ||
91 | 91 | ||
92 | class MenuItem : public QAction { | 92 | class MenuItem : public QAction { |
93 | public: | 93 | public: |
94 | MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) | 94 | MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) |
95 | : QAction( text, QString::null, 0, 0 ) { | 95 | : QAction( text, QString::null, 0, 0 ) { |
96 | connect( this, SIGNAL( activated() ), handler, slot ); | 96 | connect( this, SIGNAL( activated() ), handler, slot ); |
97 | addTo( parent ); | 97 | addTo( parent ); |
98 | } | 98 | } |
99 | }; | 99 | }; |
100 | 100 | ||
101 | 101 | ||
102 | PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | 102 | PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) |
103 | : QMainWindow( parent, name, fl ) { | 103 | : QMainWindow( parent, name, fl ) { |
104 | 104 | ||
105 | d = new PlayListWidgetPrivate; | 105 | d = new PlayListWidgetPrivate; |
106 | d->setDocumentUsed = FALSE; | 106 | d->setDocumentUsed = FALSE; |
107 | d->current = NULL; | 107 | d->current = NULL; |
108 | fromSetDocument = FALSE; | 108 | fromSetDocument = FALSE; |
109 | insanityBool=FALSE; | ||
109 | // menuTimer = new QTimer( this ,"menu timer"), | 110 | // menuTimer = new QTimer( this ,"menu timer"), |
110 | // connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); | 111 | // connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); |
111 | 112 | ||
112 | setBackgroundMode( PaletteButton ); | 113 | setBackgroundMode( PaletteButton ); |
113 | 114 | ||
114 | setCaption( tr("OpiePlayer") ); | 115 | setCaption( tr("OpiePlayer") ); |
115 | setIcon( Resource::loadPixmap( "MPEGPlayer" ) ); | 116 | setIcon( Resource::loadPixmap( "MPEGPlayer" ) ); |
116 | 117 | ||
117 | setToolBarsMovable( FALSE ); | 118 | setToolBarsMovable( FALSE ); |
118 | 119 | ||
119 | // Create Toolbar | 120 | // Create Toolbar |
120 | QPEToolBar *toolbar = new QPEToolBar( this ); | 121 | QPEToolBar *toolbar = new QPEToolBar( this ); |
121 | toolbar->setHorizontalStretchable( TRUE ); | 122 | toolbar->setHorizontalStretchable( TRUE ); |
122 | 123 | ||
123 | // Create Menubar | 124 | // Create Menubar |
124 | QPEMenuBar *menu = new QPEMenuBar( toolbar ); | 125 | QPEMenuBar *menu = new QPEMenuBar( toolbar ); |
125 | menu->setMargin( 0 ); | 126 | menu->setMargin( 0 ); |
126 | 127 | ||
127 | QPEToolBar *bar = new QPEToolBar( this ); | 128 | QPEToolBar *bar = new QPEToolBar( this ); |
128 | bar->setLabel( tr( "Play Operations" ) ); | 129 | bar->setLabel( tr( "Play Operations" ) ); |
129 | // d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "mpegplayer/play_current_list", | 130 | // d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "mpegplayer/play_current_list", |
130 | // this , SLOT( addSelected()) ); | 131 | // this , SLOT( addSelected()) ); |
131 | tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); | 132 | tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); |
132 | tbDeletePlaylist->setFlat(TRUE); | 133 | tbDeletePlaylist->setFlat(TRUE); |
@@ -185,86 +186,86 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
185 | QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); | 186 | QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); |
186 | d->playListFrame = vbox3; | 187 | d->playListFrame = vbox3; |
187 | d->playListFrame ->setMinimumSize(235,260); | 188 | d->playListFrame ->setMinimumSize(235,260); |
188 | 189 | ||
189 | QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); | 190 | QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); |
190 | 191 | ||
191 | d->selectedFiles = new PlayListSelection( hbox2); | 192 | d->selectedFiles = new PlayListSelection( hbox2); |
192 | QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); | 193 | QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); |
193 | 194 | ||
194 | QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); | 195 | QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); |
195 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 196 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
196 | this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); | 197 | this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); |
197 | 198 | ||
198 | 199 | ||
199 | QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch | 200 | QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch |
200 | new ToolButton( vbox1, tr( "Move Up" ), "mpegplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); | 201 | new ToolButton( vbox1, tr( "Move Up" ), "mpegplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); |
201 | new ToolButton( vbox1, tr( "Remove" ), "mpegplayer/cut", d->selectedFiles, SLOT(removeSelected()) ); | 202 | new ToolButton( vbox1, tr( "Remove" ), "mpegplayer/cut", d->selectedFiles, SLOT(removeSelected()) ); |
202 | new ToolButton( vbox1, tr( "Move Down" ), "mpegplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) ); | 203 | new ToolButton( vbox1, tr( "Move Down" ), "mpegplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) ); |
203 | QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch | 204 | QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch |
204 | 205 | ||
205 | QWidget *aTab; | 206 | QWidget *aTab; |
206 | aTab = new QWidget( tabWidget, "aTab" ); | 207 | aTab = new QWidget( tabWidget, "aTab" ); |
207 | audioView = new QListView( aTab, "Audioview" ); | 208 | audioView = new QListView( aTab, "Audioview" ); |
208 | audioView->setMinimumSize(233,260); | 209 | audioView->setMinimumSize(233,260); |
209 | audioView->addColumn( "Title",150); | 210 | audioView->addColumn( "Title",140); |
210 | audioView->addColumn("Size", 45); | 211 | audioView->addColumn("Size", -1); |
211 | audioView->addColumn("Media",35); | 212 | audioView->addColumn("Media",-1); |
212 | audioView->setColumnAlignment(1, Qt::AlignRight); | 213 | audioView->setColumnAlignment(1, Qt::AlignRight); |
213 | audioView->setColumnAlignment(2, Qt::AlignRight); | 214 | audioView->setColumnAlignment(2, Qt::AlignRight); |
214 | audioView->setAllColumnsShowFocus(TRUE); | 215 | audioView->setAllColumnsShowFocus(TRUE); |
215 | tabWidget->insertTab(aTab,"Audio"); | 216 | tabWidget->insertTab(aTab,"Audio"); |
216 | 217 | ||
217 | QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); | 218 | QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); |
218 | connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 219 | connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
219 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); | 220 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); |
220 | 221 | ||
221 | 222 | ||
222 | // audioView | 223 | // audioView |
223 | Global::findDocuments(&files, "audio/*"); | 224 | Global::findDocuments(&files, "audio/*"); |
224 | QListIterator<DocLnk> dit( files.children() ); | 225 | QListIterator<DocLnk> dit( files.children() ); |
225 | QString storage; | 226 | QString storage; |
226 | for ( ; dit.current(); ++dit ) { | 227 | for ( ; dit.current(); ++dit ) { |
227 | QListViewItem * newItem; | 228 | QListViewItem * newItem; |
228 | if(dit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; | 229 | if(dit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; |
229 | else if(dit.current()->file().find("/mnt/hda") != -1 ) storage="CF"; | 230 | else if(dit.current()->file().find("/mnt/hda") != -1 ) storage="CF"; |
230 | else if(dit.current()->file().find("/mnt/card") != -1 ) storage="SD"; | 231 | else if(dit.current()->file().find("/mnt/card") != -1 ) storage="SD"; |
231 | else storage="RAM"; | 232 | else storage="RAM"; |
232 | if ( QFile( dit.current()->file()).exists() ) { | 233 | if ( QFile( dit.current()->file()).exists() ) { |
233 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage); | 234 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage); |
234 | newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/musicfile" )); | 235 | newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/musicfile" )); |
235 | } | 236 | } |
236 | } | 237 | } |
237 | // videowidget | 238 | // videowidget |
238 | 239 | ||
239 | QWidget *vTab; | 240 | QWidget *vTab; |
240 | vTab = new QWidget( tabWidget, "vTab" ); | 241 | vTab = new QWidget( tabWidget, "vTab" ); |
241 | videoView = new QListView( vTab, "Videoview" ); | 242 | videoView = new QListView( vTab, "Videoview" ); |
242 | videoView->setMinimumSize(233,260); | 243 | videoView->setMinimumSize(233,260); |
243 | 244 | ||
244 | videoView->addColumn("Title",150); | 245 | videoView->addColumn("Title",140); |
245 | videoView->addColumn("Size",45); | 246 | videoView->addColumn("Size",-1); |
246 | videoView->addColumn("Media",35); | 247 | videoView->addColumn("Media",-1); |
247 | videoView->setColumnAlignment(1, Qt::AlignRight); | 248 | videoView->setColumnAlignment(1, Qt::AlignRight); |
248 | videoView->setColumnAlignment(2, Qt::AlignRight); | 249 | videoView->setColumnAlignment(2, Qt::AlignRight); |
249 | videoView->setAllColumnsShowFocus(TRUE); | 250 | videoView->setAllColumnsShowFocus(TRUE); |
250 | QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); | 251 | QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); |
251 | connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 252 | connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
252 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); | 253 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); |
253 | 254 | ||
254 | tabWidget->insertTab( vTab,"Video"); | 255 | tabWidget->insertTab( vTab,"Video"); |
255 | 256 | ||
256 | Global::findDocuments(&vFiles, "video/*"); | 257 | Global::findDocuments(&vFiles, "video/*"); |
257 | QListIterator<DocLnk> Vdit( vFiles.children() ); | 258 | QListIterator<DocLnk> Vdit( vFiles.children() ); |
258 | for ( ; Vdit.current(); ++Vdit ) { | 259 | for ( ; Vdit.current(); ++Vdit ) { |
259 | if( Vdit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; | 260 | if( Vdit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; |
260 | else if( Vdit.current()->file().find("/mnt/hda") != -1 ) storage="CF"; | 261 | else if( Vdit.current()->file().find("/mnt/hda") != -1 ) storage="CF"; |
261 | else if( Vdit.current()->file().find("/mnt/card") != -1 ) storage="SD"; | 262 | else if( Vdit.current()->file().find("/mnt/card") != -1 ) storage="SD"; |
262 | else storage="RAM"; | 263 | else storage="RAM"; |
263 | QListViewItem * newItem; | 264 | QListViewItem * newItem; |
264 | if ( QFile( Vdit.current()->file()).exists() ) { | 265 | if ( QFile( Vdit.current()->file()).exists() ) { |
265 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); | 266 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); |
266 | newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/videofile" )); | 267 | newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/videofile" )); |
267 | } | 268 | } |
268 | } | 269 | } |
269 | 270 | ||
270 | //playlists list | 271 | //playlists list |
@@ -465,80 +466,92 @@ void PlayListWidget::setActiveWindow() { | |||
465 | mediaPlayerState->setView( 'l' ); // invalidate | 466 | mediaPlayerState->setView( 'l' ); // invalidate |
466 | mediaPlayerState->setView( origView ); // now switch back | 467 | mediaPlayerState->setView( origView ); // now switch back |
467 | } | 468 | } |
468 | 469 | ||
469 | 470 | ||
470 | void PlayListWidget::useSelectedDocument() { | 471 | void PlayListWidget::useSelectedDocument() { |
471 | d->setDocumentUsed = FALSE; | 472 | d->setDocumentUsed = FALSE; |
472 | } | 473 | } |
473 | 474 | ||
474 | 475 | ||
475 | const DocLnk *PlayListWidget::current() { // this is fugly | 476 | const DocLnk *PlayListWidget::current() { // this is fugly |
476 | 477 | ||
477 | // if( fromSetDocument) { | 478 | // if( fromSetDocument) { |
478 | // qDebug("from setDoc"); | 479 | // qDebug("from setDoc"); |
479 | // DocLnkSet files; | 480 | // DocLnkSet files; |
480 | // Global::findDocuments(&files, "video/*;audio/*"); | 481 | // Global::findDocuments(&files, "video/*;audio/*"); |
481 | // QListIterator<DocLnk> dit( files.children() ); | 482 | // QListIterator<DocLnk> dit( files.children() ); |
482 | // for ( ; dit.current(); ++dit ) { | 483 | // for ( ; dit.current(); ++dit ) { |
483 | // if(dit.current()->linkFile() == setDocFileRef) { | 484 | // if(dit.current()->linkFile() == setDocFileRef) { |
484 | // qDebug(setDocFileRef); | 485 | // qDebug(setDocFileRef); |
485 | // return dit; | 486 | // return dit; |
486 | // } | 487 | // } |
487 | // } | 488 | // } |
488 | // } else | 489 | // } else |
489 | switch (tabWidget->currentPageIndex()) { | 490 | // qDebug("current"); |
490 | case 0: //playlist | 491 | // switch (tabWidget->currentPageIndex()) { |
491 | { | 492 | // case 0: //playlist |
492 | if ( mediaPlayerState->playlist() ) { | 493 | // { |
493 | return d->selectedFiles->current(); | 494 | qDebug("playlist"); |
494 | } | 495 | if ( mediaPlayerState->playlist() ) { |
495 | else if ( d->setDocumentUsed && d->current ) { | 496 | return d->selectedFiles->current(); |
496 | return d->current; | ||
497 | } else { | ||
498 | return d->files->selected(); | ||
499 | } | ||
500 | } | 497 | } |
501 | break; | 498 | else if ( d->setDocumentUsed && d->current ) { |
502 | case 1: { //audio | 499 | return d->current; |
503 | Global::findDocuments(&files, "audio/*"); | 500 | } else { |
504 | QListIterator<DocLnk> dit( files.children() ); | 501 | return d->files->selected(); |
505 | for ( ; dit.current(); ++dit ) { | ||
506 | if( dit.current()->name() == audioView->currentItem()->text(0)) | ||
507 | return dit; | ||
508 | } | ||
509 | } | ||
510 | break; | ||
511 | case 2: { // video | ||
512 | Global::findDocuments(&vFiles, "video/*"); | ||
513 | QListIterator<DocLnk> Vdit( vFiles.children() ); | ||
514 | for ( ; Vdit.current(); ++Vdit ) { | ||
515 | if( Vdit.current()->name() == videoView->currentItem()->text(0)) | ||
516 | return Vdit; | ||
517 | } | ||
518 | } | 502 | } |
519 | break; | 503 | // } |
520 | }; | 504 | // break; |
505 | // case 1://audio | ||
506 | // { | ||
507 | // qDebug("audioView"); | ||
508 | // Global::findDocuments(&files, "audio/*"); | ||
509 | // QListIterator<DocLnk> dit( files.children() ); | ||
510 | // for ( ; dit.current(); ++dit ) { | ||
511 | // if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) { | ||
512 | // qDebug("here"); | ||
513 | // insanityBool=TRUE; | ||
514 | // return dit; | ||
515 | // } | ||
516 | // } | ||
517 | // } | ||
518 | // break; | ||
519 | // case 2: // video | ||
520 | // { | ||
521 | // qDebug("videoView"); | ||
522 | // Global::findDocuments(&vFiles, "video/*"); | ||
523 | // QListIterator<DocLnk> Vdit( vFiles.children() ); | ||
524 | // for ( ; Vdit.current(); ++Vdit ) { | ||
525 | // if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) { | ||
526 | // insanityBool=TRUE; | ||
527 | // return Vdit; | ||
528 | // } | ||
529 | // } | ||
530 | // } | ||
531 | // break; | ||
532 | // }; | ||
533 | // return 0; | ||
521 | } | 534 | } |
522 | 535 | ||
523 | bool PlayListWidget::prev() { | 536 | bool PlayListWidget::prev() { |
524 | if ( mediaPlayerState->playlist() ) { | 537 | if ( mediaPlayerState->playlist() ) { |
525 | if ( mediaPlayerState->shuffled() ) { | 538 | if ( mediaPlayerState->shuffled() ) { |
526 | const DocLnk *cur = current(); | 539 | const DocLnk *cur = current(); |
527 | int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0)); | 540 | int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0)); |
528 | for ( int i = 0; i < j; i++ ) { | 541 | for ( int i = 0; i < j; i++ ) { |
529 | if ( !d->selectedFiles->next() ) | 542 | if ( !d->selectedFiles->next() ) |
530 | d->selectedFiles->first(); | 543 | d->selectedFiles->first(); |
531 | } | 544 | } |
532 | if ( cur == current() ) | 545 | if ( cur == current() ) |
533 | if ( !d->selectedFiles->next() ) | 546 | if ( !d->selectedFiles->next() ) |
534 | d->selectedFiles->first(); | 547 | d->selectedFiles->first(); |
535 | return TRUE; | 548 | return TRUE; |
536 | } else { | 549 | } else { |
537 | if ( !d->selectedFiles->prev() ) { | 550 | if ( !d->selectedFiles->prev() ) { |
538 | if ( mediaPlayerState->looping() ) { | 551 | if ( mediaPlayerState->looping() ) { |
539 | return d->selectedFiles->last(); | 552 | return d->selectedFiles->last(); |
540 | } else { | 553 | } else { |
541 | return FALSE; | 554 | return FALSE; |
542 | } | 555 | } |
543 | } | 556 | } |
544 | return TRUE; | 557 | return TRUE; |
@@ -633,60 +646,91 @@ void PlayListWidget::loadList( const DocLnk & lnk) { | |||
633 | readConfig(cfg); | 646 | readConfig(cfg); |
634 | tabWidget->setCurrentPage(0); | 647 | tabWidget->setCurrentPage(0); |
635 | Config config( "MediaPlayer" ); | 648 | Config config( "MediaPlayer" ); |
636 | config.writeEntry("CurrentPlaylist", name); | 649 | config.writeEntry("CurrentPlaylist", name); |
637 | d->selectedFiles->first(); | 650 | d->selectedFiles->first(); |
638 | } | 651 | } |
639 | } | 652 | } |
640 | 653 | ||
641 | void PlayListWidget::setPlaylist( bool shown ) { | 654 | void PlayListWidget::setPlaylist( bool shown ) { |
642 | if ( shown ) | 655 | if ( shown ) |
643 | d->playListFrame->show(); | 656 | d->playListFrame->show(); |
644 | else | 657 | else |
645 | d->playListFrame->hide(); | 658 | d->playListFrame->hide(); |
646 | } | 659 | } |
647 | 660 | ||
648 | void PlayListWidget::setView( char view ) { | 661 | void PlayListWidget::setView( char view ) { |
649 | if ( view == 'l' ) | 662 | if ( view == 'l' ) |
650 | showMaximized(); | 663 | showMaximized(); |
651 | else | 664 | else |
652 | hide(); | 665 | hide(); |
653 | } | 666 | } |
654 | 667 | ||
655 | void PlayListWidget::addSelected() { | 668 | void PlayListWidget::addSelected() { |
656 | 669 | ||
657 | switch (tabWidget->currentPageIndex()) { | 670 | Config cfg( "MediaPlayer" ); |
658 | case 0: //playlist | 671 | cfg.setGroup("PlayList"); |
659 | break; | 672 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); |
660 | case 1: { //audio | 673 | int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); |
661 | addToSelection( audioView->selectedItem() ); | 674 | |
662 | } | 675 | switch (tabWidget->currentPageIndex()) { |
663 | break; | 676 | case 0: //playlist |
664 | case 2: { // video | 677 | break; |
665 | addToSelection( videoView->selectedItem() ); | 678 | case 1: { //audio |
666 | } | 679 | for ( int i = 0; i < noOfFiles; i++ ) { |
667 | break; | 680 | QString entryName; |
668 | }; | 681 | entryName.sprintf( "File%i", i + 1 ); |
682 | QString linkFile = cfg.readEntry( entryName ); | ||
683 | if( DocLnk( linkFile).name() == audioView->selectedItem()->text(0) ) { | ||
684 | int result= QMessageBox::warning(this,"OpiePlayer", | ||
685 | tr("This is all ready in your playlist.\nContinue?"), | ||
686 | tr("Yes"),tr("No"),0,0,1); | ||
687 | if (result !=0) | ||
688 | return; | ||
689 | } | ||
690 | } | ||
691 | addToSelection( audioView->selectedItem() ); | ||
692 | tabWidget->setCurrentPage(1); | ||
693 | } | ||
694 | break; | ||
695 | case 2: { // video | ||
696 | for ( int i = 0; i < noOfFiles; i++ ) { | ||
697 | QString entryName; | ||
698 | entryName.sprintf( "File%i", i + 1 ); | ||
699 | QString linkFile = cfg.readEntry( entryName ); | ||
700 | if( DocLnk( linkFile).name() == videoView->selectedItem()->text(0) ) { | ||
701 | int result= QMessageBox::warning(this,"OpiePlayer", | ||
702 | tr("This is all ready in your playlist.\nContinue?"), | ||
703 | tr("Yes"),tr("No"),0,0,1); | ||
704 | if (result !=0) | ||
705 | return; | ||
706 | } | ||
707 | } | ||
708 | addToSelection( videoView->selectedItem() ); | ||
709 | tabWidget->setCurrentPage(2); | ||
710 | } | ||
711 | break; | ||
712 | }; | ||
669 | } | 713 | } |
670 | 714 | ||
671 | void PlayListWidget::removeSelected() { | 715 | void PlayListWidget::removeSelected() { |
672 | d->selectedFiles->removeSelected( ); | 716 | d->selectedFiles->removeSelected( ); |
673 | } | 717 | } |
674 | 718 | ||
675 | 719 | ||
676 | void PlayListWidget::playIt( QListViewItem *it) { | 720 | void PlayListWidget::playIt( QListViewItem *it) { |
677 | // d->setDocumentUsed = FALSE; | 721 | // d->setDocumentUsed = FALSE; |
678 | mediaPlayerState->setPlaying(TRUE); | 722 | mediaPlayerState->setPlaying(TRUE); |
679 | } | 723 | } |
680 | 724 | ||
681 | void PlayListWidget::addToSelection( QListViewItem *it) { | 725 | void PlayListWidget::addToSelection( QListViewItem *it) { |
682 | d->setDocumentUsed = FALSE; | 726 | d->setDocumentUsed = FALSE; |
683 | 727 | ||
684 | if(it) { | 728 | if(it) { |
685 | // qDebug("add to selection"); | 729 | // qDebug("add to selection"); |
686 | switch (tabWidget->currentPageIndex()) { | 730 | switch (tabWidget->currentPageIndex()) { |
687 | case 1: { | 731 | case 1: { |
688 | // qDebug("case 1"); | 732 | // qDebug("case 1"); |
689 | QListIterator<DocLnk> dit( files.children() ); | 733 | QListIterator<DocLnk> dit( files.children() ); |
690 | for ( ; dit.current(); ++dit ) { | 734 | for ( ; dit.current(); ++dit ) { |
691 | // qDebug(dit.current()->name()); | 735 | // qDebug(dit.current()->name()); |
692 | if( dit.current()->name() == it->text(0)) { | 736 | if( dit.current()->name() == it->text(0)) { |
@@ -734,49 +778,80 @@ void PlayListWidget::tabChanged(QWidget *widg) { | |||
734 | } | 778 | } |
735 | break; | 779 | break; |
736 | case 2: | 780 | case 2: |
737 | { | 781 | { |
738 | if( !tbDeletePlaylist->isHidden()) | 782 | if( !tbDeletePlaylist->isHidden()) |
739 | tbDeletePlaylist->hide(); | 783 | tbDeletePlaylist->hide(); |
740 | d->tbRemoveFromList->setEnabled(FALSE); | 784 | d->tbRemoveFromList->setEnabled(FALSE); |
741 | d->tbAddToList->setEnabled(TRUE); | 785 | d->tbAddToList->setEnabled(TRUE); |
742 | } | 786 | } |
743 | break; | 787 | break; |
744 | case 3: | 788 | case 3: |
745 | { | 789 | { |
746 | if( tbDeletePlaylist->isHidden()) | 790 | if( tbDeletePlaylist->isHidden()) |
747 | tbDeletePlaylist->show(); | 791 | tbDeletePlaylist->show(); |
748 | playLists->reread(); | 792 | playLists->reread(); |
749 | } | 793 | } |
750 | break; | 794 | break; |
751 | }; | 795 | }; |
752 | } | 796 | } |
753 | 797 | ||
754 | 798 | ||
755 | /* | 799 | /* |
756 | play button is pressed*/ | 800 | play button is pressed*/ |
757 | void PlayListWidget::btnPlay(bool b) { | 801 | void PlayListWidget::btnPlay(bool b) { |
758 | mediaPlayerState->setPlaying(b); | 802 | // mediaPlayerState->setPlaying(b); |
803 | switch ( tabWidget->currentPageIndex()) { | ||
804 | case 0: | ||
805 | { | ||
806 | mediaPlayerState->setPlaying(b); | ||
807 | } | ||
808 | break; | ||
809 | case 1: | ||
810 | { | ||
811 | addToSelection( audioView->selectedItem() ); | ||
812 | mediaPlayerState->setPlaying(b); | ||
813 | // qApp->processEvents(); | ||
814 | d->selectedFiles->removeSelected( ); | ||
815 | tabWidget->setCurrentPage(1); | ||
816 | // mediaPlayerState->setPlaying(FALSE); | ||
817 | } | ||
818 | break; | ||
819 | case 2: | ||
820 | { | ||
821 | addToSelection( videoView->selectedItem() ); | ||
822 | mediaPlayerState->setPlaying(b); | ||
823 | qApp->processEvents(); | ||
824 | d->selectedFiles->removeSelected( ); | ||
825 | tabWidget->setCurrentPage(2); | ||
826 | // mediaPlayerState->setPlaying(FALSE); | ||
827 | } | ||
828 | break; | ||
829 | }; | ||
830 | |||
831 | |||
832 | |||
833 | |||
759 | } | 834 | } |
760 | 835 | ||
761 | void PlayListWidget::deletePlaylist() { | 836 | void PlayListWidget::deletePlaylist() { |
762 | switch( QMessageBox::information( this, (tr("Remove Playlist?")), | 837 | switch( QMessageBox::information( this, (tr("Remove Playlist?")), |
763 | (tr("You really want to delete\nthis playlist?")), | 838 | (tr("You really want to delete\nthis playlist?")), |
764 | (tr("Yes")), (tr("No")), 0 )){ | 839 | (tr("Yes")), (tr("No")), 0 )){ |
765 | case 0: // Yes clicked, | 840 | case 0: // Yes clicked, |
766 | QFile().remove(playLists->selected()->file()); | 841 | QFile().remove(playLists->selected()->file()); |
767 | QFile().remove(playLists->selected()->linkFile()); | 842 | QFile().remove(playLists->selected()->linkFile()); |
768 | playLists->reread(); | 843 | playLists->reread(); |
769 | break; | 844 | break; |
770 | case 1: // Cancel | 845 | case 1: // Cancel |
771 | break; | 846 | break; |
772 | }; | 847 | }; |
773 | 848 | ||
774 | } | 849 | } |
775 | 850 | ||
776 | void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) | 851 | void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) |
777 | { | 852 | { |
778 | switch (mouse) { | 853 | switch (mouse) { |
779 | case 1: | 854 | case 1: |
780 | break; | 855 | break; |
781 | case 2:{ | 856 | case 2:{ |
782 | QPopupMenu m; | 857 | QPopupMenu m; |