-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 39 |
1 files changed, 5 insertions, 34 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 8d66407..5be0d6d 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp | |||
@@ -260,45 +260,31 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
260 | videoView->addColumn(tr("Title"),140); | 260 | videoView->addColumn(tr("Title"),140); |
261 | videoView->addColumn(tr("Size"),-1); | 261 | videoView->addColumn(tr("Size"),-1); |
262 | videoView->addColumn(tr("Media"),-1); | 262 | videoView->addColumn(tr("Media"),-1); |
263 | videoView->setColumnAlignment(1, Qt::AlignRight); | 263 | videoView->setColumnAlignment(1, Qt::AlignRight); |
264 | videoView->setColumnAlignment(2, Qt::AlignRight); | 264 | videoView->setColumnAlignment(2, Qt::AlignRight); |
265 | videoView->setAllColumnsShowFocus(TRUE); | 265 | videoView->setAllColumnsShowFocus(TRUE); |
266 | videoView->setMultiSelection( TRUE ); | 266 | videoView->setMultiSelection( TRUE ); |
267 | videoView->setSelectionMode( QListView::Extended); | 267 | videoView->setSelectionMode( QListView::Extended); |
268 | 268 | ||
269 | QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); | 269 | QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); |
270 | 270 | ||
271 | tabWidget->insertTab( vTab,tr("Video")); | 271 | tabWidget->insertTab( vTab,tr("Video")); |
272 | // populateVideoView(); | ||
273 | 272 | ||
274 | //playlists list | ||
275 | QWidget *LTab; | 273 | QWidget *LTab; |
276 | LTab = new QWidget( tabWidget, "LTab" ); | 274 | LTab = new QWidget( tabWidget, "LTab" ); |
277 | playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy | 275 | playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy |
278 | playLists->setMinimumSize(233,260); | 276 | playLists->setMinimumSize(233,260); |
279 | tabWidget->insertTab(LTab,tr("Lists")); | 277 | tabWidget->insertTab(LTab,tr("Lists")); |
280 | 278 | ||
281 | // connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); | ||
282 | |||
283 | // add the library area | ||
284 | |||
285 | // connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), | ||
286 | // this, SLOT( fauxPlay( QListViewItem *) ) ); | ||
287 | // connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), | ||
288 | // this, SLOT( fauxPlay( QListViewItem *)) ); | ||
289 | |||
290 | // connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); | ||
291 | // connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); | ||
292 | |||
293 | connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); | 279 | connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); |
294 | connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) ); | 280 | connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) ); |
295 | connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) ); | 281 | connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) ); |
296 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 282 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
297 | this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); | 283 | this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); |
298 | 284 | ||
299 | connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 285 | connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
300 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); | 286 | this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); |
301 | 287 | ||
302 | connect( audioView, SIGNAL( returnPressed( QListViewItem *)), | 288 | connect( audioView, SIGNAL( returnPressed( QListViewItem *)), |
303 | this,SLOT( playIt( QListViewItem *)) ); | 289 | this,SLOT( playIt( QListViewItem *)) ); |
304 | connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); | 290 | connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); |
@@ -311,80 +297,71 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
311 | 297 | ||
312 | connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); | 298 | connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); |
313 | 299 | ||
314 | 300 | ||
315 | connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); | 301 | connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); |
316 | 302 | ||
317 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); | 303 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); |
318 | connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); | 304 | connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); |
319 | connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); | 305 | connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); |
320 | connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); | 306 | connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); |
321 | 307 | ||
322 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); | 308 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); |
323 | // connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); | ||
324 | 309 | ||
325 | setCentralWidget( vbox5 ); | 310 | setCentralWidget( vbox5 ); |
326 | 311 | ||
327 | Config cfg( "OpiePlayer" ); | 312 | Config cfg( "OpiePlayer" ); |
328 | readConfig( cfg ); | 313 | readConfig( cfg ); |
329 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); | 314 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); |
330 | // qDebug("currentList is "+currentPlaylist); | ||
331 | loadList(DocLnk( currentPlaylist)); | 315 | loadList(DocLnk( currentPlaylist)); |
332 | setCaption(tr("OpiePlayer: ")+ currentPlaylist ); | 316 | setCaption(tr("OpiePlayer: ")+ currentPlaylist ); |
333 | 317 | ||
334 | initializeStates(); | 318 | initializeStates(); |
335 | } | 319 | } |
336 | 320 | ||
337 | 321 | ||
338 | PlayListWidget::~PlayListWidget() { | 322 | PlayListWidget::~PlayListWidget() { |
339 | Config cfg( "OpiePlayer" ); | 323 | Config cfg( "OpiePlayer" ); |
340 | writeConfig( cfg ); | 324 | writeConfig( cfg ); |
341 | 325 | ||
342 | 326 | ||
343 | if ( d->current ) | 327 | if ( d->current ) |
344 | delete d->current; | 328 | delete d->current; |
345 | delete d; | 329 | delete d; |
346 | } | 330 | } |
347 | 331 | ||
348 | 332 | ||
349 | void PlayListWidget::initializeStates() { | 333 | void PlayListWidget::initializeStates() { |
350 | 334 | ||
351 | d->tbPlay->setOn( mediaPlayerState->playing() ); | 335 | d->tbPlay->setOn( mediaPlayerState->playing() ); |
352 | d->tbLoop->setOn( mediaPlayerState->looping() ); | 336 | d->tbLoop->setOn( mediaPlayerState->looping() ); |
353 | d->tbShuffle->setOn( mediaPlayerState->shuffled() ); | 337 | d->tbShuffle->setOn( mediaPlayerState->shuffled() ); |
354 | // d->tbFull->setOn( mediaPlayerState->fullscreen() ); | ||
355 | // d->tbScale->setOn( mediaPlayerState->scaled() ); | ||
356 | // d->tbScale->setEnabled( mediaPlayerState->fullscreen() ); | ||
357 | // setPlaylist( mediaPlayerState->playlist() ); | ||
358 | setPlaylist( true); | 338 | setPlaylist( true); |
359 | // d->selectedFiles->first(); | ||
360 | |||
361 | } | 339 | } |
362 | 340 | ||
363 | 341 | ||
364 | void PlayListWidget::readConfig( Config& cfg ) { | 342 | void PlayListWidget::readConfig( Config& cfg ) { |
365 | cfg.setGroup("PlayList"); | 343 | cfg.setGroup("PlayList"); |
366 | QString currentString = cfg.readEntry("current", "" ); | 344 | QString currentString = cfg.readEntry("current", "" ); |
367 | int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); | 345 | int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); |
368 | for ( int i = 0; i < noOfFiles; i++ ) { | 346 | for ( int i = 0; i < noOfFiles; i++ ) { |
369 | QString entryName; | 347 | QString entryName; |
370 | entryName.sprintf( "File%i", i + 1 ); | 348 | entryName.sprintf( "File%i", i + 1 ); |
371 | QString linkFile = cfg.readEntry( entryName ); | 349 | QString linkFile = cfg.readEntry( entryName ); |
372 | DocLnk lnk( linkFile ); | 350 | DocLnk lnk( linkFile ); |
373 | if ( lnk.isValid() ) { | 351 | if ( lnk.isValid() ) { |
374 | d->selectedFiles->addToSelection( lnk ); | 352 | d->selectedFiles->addToSelection( lnk ); |
375 | } | 353 | } |
376 | } | 354 | } |
377 | d->selectedFiles->setSelectedItem( currentString); | 355 | d->selectedFiles->setSelectedItem( currentString); |
378 | // d->selectedFiles->setSelectedItem( (const QString &)currentString); | ||
379 | } | 356 | } |
380 | 357 | ||
381 | 358 | ||
382 | void PlayListWidget::writeConfig( Config& cfg ) const { | 359 | void PlayListWidget::writeConfig( Config& cfg ) const { |
383 | 360 | ||
384 | d->selectedFiles->writeCurrent( cfg); | 361 | d->selectedFiles->writeCurrent( cfg); |
385 | cfg.setGroup("PlayList"); | 362 | cfg.setGroup("PlayList"); |
386 | int noOfFiles = 0; | 363 | int noOfFiles = 0; |
387 | d->selectedFiles->first(); | 364 | d->selectedFiles->first(); |
388 | do { | 365 | do { |
389 | const DocLnk *lnk = d->selectedFiles->current(); | 366 | const DocLnk *lnk = d->selectedFiles->current(); |
390 | if ( lnk ) { | 367 | if ( lnk ) { |
@@ -407,38 +384,31 @@ void PlayListWidget::writeConfig( Config& cfg ) const { | |||
407 | ); | 384 | ); |
408 | } | 385 | } |
409 | } | 386 | } |
410 | noOfFiles++; | 387 | noOfFiles++; |
411 | } | 388 | } |
412 | } | 389 | } |
413 | while ( d->selectedFiles->next() ); | 390 | while ( d->selectedFiles->next() ); |
414 | cfg.writeEntry("NumberOfFiles", noOfFiles ); | 391 | cfg.writeEntry("NumberOfFiles", noOfFiles ); |
415 | } | 392 | } |
416 | 393 | ||
417 | 394 | ||
418 | void PlayListWidget::addToSelection( const DocLnk& lnk ) { | 395 | void PlayListWidget::addToSelection( const DocLnk& lnk ) { |
419 | // qDebug("add"); | ||
420 | // if( lnk.file().find(" ",0,TRUE) != -1 || lnk.file().find("%20",0,TRUE) != -1) { | ||
421 | // QMessageBox::message("Note","You are trying to play\na malformed url."); | ||
422 | |||
423 | // } else { | ||
424 | |||
425 | d->setDocumentUsed = FALSE; | 396 | d->setDocumentUsed = FALSE; |
426 | if ( mediaPlayerState->playlist() ) { | 397 | if ( mediaPlayerState->playlist() ) { |
427 | if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) | 398 | if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) |
428 | d->selectedFiles->addToSelection( lnk ); | 399 | d->selectedFiles->addToSelection( lnk ); |
429 | } | 400 | } |
430 | else | 401 | else |
431 | mediaPlayerState->setPlaying( TRUE ); | 402 | mediaPlayerState->setPlaying( TRUE ); |
432 | // } | ||
433 | } | 403 | } |
434 | 404 | ||
435 | 405 | ||
436 | void PlayListWidget::clearList() { | 406 | void PlayListWidget::clearList() { |
437 | while ( first() ) | 407 | while ( first() ) |
438 | d->selectedFiles->removeSelected(); | 408 | d->selectedFiles->removeSelected(); |
439 | } | 409 | } |
440 | 410 | ||
441 | 411 | ||
442 | void PlayListWidget::addAllToList() { | 412 | void PlayListWidget::addAllToList() { |
443 | DocLnkSet filesAll; | 413 | DocLnkSet filesAll; |
444 | Global::findDocuments(&filesAll, "video/*;audio/*"); | 414 | Global::findDocuments(&filesAll, "video/*;audio/*"); |
@@ -528,25 +498,25 @@ const DocLnk *PlayListWidget::current() { // this is fugly | |||
528 | 498 | ||
529 | 499 | ||
530 | switch (tabWidget->currentPageIndex()) { | 500 | switch (tabWidget->currentPageIndex()) { |
531 | case 0: //playlist | 501 | case 0: //playlist |
532 | { | 502 | { |
533 | qDebug("playlist"); | 503 | qDebug("playlist"); |
534 | if ( mediaPlayerState->playlist() ) { | 504 | if ( mediaPlayerState->playlist() ) { |
535 | return d->selectedFiles->current(); | 505 | return d->selectedFiles->current(); |
536 | } | 506 | } |
537 | else if ( d->setDocumentUsed && d->current ) { | 507 | else if ( d->setDocumentUsed && d->current ) { |
538 | return d->current; | 508 | return d->current; |
539 | } else { | 509 | } else { |
540 | return d->files->selected(); | 510 | return &(d->files->selectedDocument()); |
541 | } | 511 | } |
542 | } | 512 | } |
543 | break; | 513 | break; |
544 | case 1://audio | 514 | case 1://audio |
545 | { | 515 | { |
546 | qDebug("audioView"); | 516 | qDebug("audioView"); |
547 | QListIterator<DocLnk> dit( files.children() ); | 517 | QListIterator<DocLnk> dit( files.children() ); |
548 | for ( ; dit.current(); ++dit ) { | 518 | for ( ; dit.current(); ++dit ) { |
549 | if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) { | 519 | if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) { |
550 | qDebug("here"); | 520 | qDebug("here"); |
551 | insanityBool=TRUE; | 521 | insanityBool=TRUE; |
552 | return dit; | 522 | return dit; |
@@ -884,27 +854,27 @@ void PlayListWidget::btnPlay(bool b) { | |||
884 | insanityBool=FALSE; | 854 | insanityBool=FALSE; |
885 | }// videoView->clearSelection(); | 855 | }// videoView->clearSelection(); |
886 | break; | 856 | break; |
887 | }; | 857 | }; |
888 | 858 | ||
889 | } | 859 | } |
890 | 860 | ||
891 | void PlayListWidget::deletePlaylist() { | 861 | void PlayListWidget::deletePlaylist() { |
892 | switch( QMessageBox::information( this, (tr("Remove Playlist?")), | 862 | switch( QMessageBox::information( this, (tr("Remove Playlist?")), |
893 | (tr("You really want to delete\nthis playlist?")), | 863 | (tr("You really want to delete\nthis playlist?")), |
894 | (tr("Yes")), (tr("No")), 0 )){ | 864 | (tr("Yes")), (tr("No")), 0 )){ |
895 | case 0: // Yes clicked, | 865 | case 0: // Yes clicked, |
896 | QFile().remove(playLists->selected()->file()); | 866 | // QFile().remove(playLists->selected()->file()); |
897 | QFile().remove(playLists->selected()->linkFile()); | 867 | // QFile().remove(playLists->selected()->linkFile()); |
898 | playLists->reread(); | 868 | // playLists->reread(); |
899 | break; | 869 | break; |
900 | case 1: // Cancel | 870 | case 1: // Cancel |
901 | break; | 871 | break; |
902 | }; | 872 | }; |
903 | } | 873 | } |
904 | 874 | ||
905 | void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) | 875 | void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) |
906 | { | 876 | { |
907 | switch (mouse) { | 877 | switch (mouse) { |
908 | case 1: | 878 | case 1: |
909 | break; | 879 | break; |
910 | case 2:{ | 880 | case 2:{ |
@@ -1027,24 +997,25 @@ void PlayListWidget::populateAudioView() { | |||
1027 | const QString name = (*it)->name(); | 997 | const QString name = (*it)->name(); |
1028 | const QString path = (*it)->path(); | 998 | const QString path = (*it)->path(); |
1029 | if(dit.current()->file().find(path) != -1 ) storage=name; | 999 | if(dit.current()->file().find(path) != -1 ) storage=name; |
1030 | } | 1000 | } |
1031 | 1001 | ||
1032 | QListViewItem * newItem; | 1002 | QListViewItem * newItem; |
1033 | if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) { | 1003 | if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) { |
1034 | long size; | 1004 | long size; |
1035 | if( dit.current()->file().left(4) == "http" ) | 1005 | if( dit.current()->file().left(4) == "http" ) |
1036 | size=0; | 1006 | size=0; |
1037 | else | 1007 | else |
1038 | size = QFile( dit.current()->file() ).size(); | 1008 | size = QFile( dit.current()->file() ).size(); |
1009 | qDebug(dit.current()->name()); | ||
1039 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), | 1010 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), |
1040 | QString::number(size ), storage); | 1011 | QString::number(size ), storage); |
1041 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); | 1012 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); |
1042 | } | 1013 | } |
1043 | } | 1014 | } |
1044 | 1015 | ||
1045 | } | 1016 | } |
1046 | 1017 | ||
1047 | void PlayListWidget::populateVideoView() { | 1018 | void PlayListWidget::populateVideoView() { |
1048 | videoView->clear(); | 1019 | videoView->clear(); |
1049 | StorageInfo storageInfo; | 1020 | StorageInfo storageInfo; |
1050 | const QList<FileSystem> &fs = storageInfo.fileSystems(); | 1021 | const QList<FileSystem> &fs = storageInfo.fileSystems(); |