Diffstat (limited to 'noncore/multimedia/opieplayer2/playlistwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 168 |
1 files changed, 124 insertions, 44 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index 19724cb..6acdd1d 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp | |||
@@ -62,5 +62,7 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
62 | 62 | ||
63 | d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist", | 63 | d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), |
64 | "opieplayer2/add_to_playlist", | ||
64 | this , SLOT(addSelected() ) ); | 65 | this , SLOT(addSelected() ) ); |
65 | d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist", | 66 | d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), |
67 | "opieplayer2/remove_from_playlist", | ||
66 | this , SLOT(removeSelected() ) ); | 68 | this , SLOT(removeSelected() ) ); |
@@ -74,15 +76,24 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
74 | (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); | 76 | (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); |
75 | (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); | 77 | (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), |
76 | (void)new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); | 78 | this, SLOT( addAllMusicToList() ) ); |
77 | (void)new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); | 79 | (void)new MenuItem( pmPlayList, tr( "Add all video files" ), |
80 | this, SLOT( addAllVideoToList() ) ); | ||
81 | (void)new MenuItem( pmPlayList, tr( "Add all files" ), | ||
82 | this, SLOT( addAllToList() ) ); | ||
78 | pmPlayList->insertSeparator(-1); | 83 | pmPlayList->insertSeparator(-1); |
79 | (void)new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); | 84 | (void)new MenuItem( pmPlayList, tr( "Save PlayList" ), |
80 | (void)new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) ); | 85 | this, SLOT( saveList() ) ); |
86 | (void)new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), | ||
87 | this, SLOT(writem3u() ) ); | ||
81 | pmPlayList->insertSeparator(-1); | 88 | pmPlayList->insertSeparator(-1); |
82 | (void)new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); | 89 | (void)new MenuItem( pmPlayList, tr( "Open File or URL" ), |
90 | this,SLOT( openFile() ) ); | ||
83 | pmPlayList->insertSeparator(-1); | 91 | pmPlayList->insertSeparator(-1); |
84 | (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) ); | 92 | (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), |
85 | (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) ); | 93 | this,SLOT( scanForAudio() ) ); |
94 | (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), | ||
95 | this,SLOT( scanForVideo() ) ); | ||
86 | 96 | ||
87 | pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) ); | 97 | pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), |
98 | mediaPlayerState, SLOT( toggleFullscreen() ) ); | ||
88 | 99 | ||
@@ -93,10 +104,16 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
93 | 104 | ||
94 | (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp() ) ); | 105 | (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", |
95 | (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", d->selectedFiles, SLOT(removeSelected() ) ); | 106 | d->selectedFiles, SLOT(moveSelectedUp() ) ); |
96 | (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", d->selectedFiles, SLOT(moveSelectedDown() ) ); | 107 | (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", |
108 | d->selectedFiles, SLOT(removeSelected() ) ); | ||
109 | (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", | ||
110 | d->selectedFiles, SLOT(moveSelectedDown() ) ); | ||
97 | QVBox *stretch2 = new QVBox( vbox1 ); | 111 | QVBox *stretch2 = new QVBox( vbox1 ); |
98 | 112 | ||
99 | connect( tbDeletePlaylist, ( SIGNAL( released() ) ), SLOT( deletePlaylist() ) ); | 113 | connect( tbDeletePlaylist, ( SIGNAL( released() ) ), |
100 | connect( pmView, SIGNAL( activated( int ) ), this, SLOT( pmViewActivated( int ) ) ); | 114 | SLOT( deletePlaylist() ) ); |
101 | connect( skinsMenu, SIGNAL( activated( int ) ) , this, SLOT( skinsMenuActivated( int ) ) ); | 115 | connect( pmView, SIGNAL( activated( int ) ), |
116 | this, SLOT( pmViewActivated( int ) ) ); | ||
117 | connect( skinsMenu, SIGNAL( activated( int ) ) , | ||
118 | this, SLOT( skinsMenuActivated( int ) ) ); | ||
102 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ), | 119 | connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ), |
@@ -107,3 +124,4 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
107 | this,SLOT( playIt( QListViewItem *) ) ); | 124 | this,SLOT( playIt( QListViewItem *) ) ); |
108 | connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); | 125 | connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), |
126 | this, SLOT( addToSelection( QListViewItem *) ) ); | ||
109 | connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ), | 127 | connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ), |
@@ -112,11 +130,20 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
112 | this,SLOT( playIt( QListViewItem *) ) ); | 130 | this,SLOT( playIt( QListViewItem *) ) ); |
113 | connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); | 131 | connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), |
114 | connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); | 132 | this, SLOT( addToSelection( QListViewItem *) ) ); |
115 | connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), this, SLOT( tabChanged( QWidget* ) ) ); | 133 | connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), |
116 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); | 134 | this, SLOT( loadList( const DocLnk & ) ) ); |
117 | connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); | 135 | connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), |
118 | connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); | 136 | this, SLOT( tabChanged( QWidget* ) ) ); |
119 | connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); | 137 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), |
120 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); | 138 | d->tbPlay, SLOT( setOn( bool ) ) ); |
121 | connect ( gammaSlider, SIGNAL( valueChanged( int ) ), mediaPlayerState, SLOT( setVideoGamma( int ) ) ); | 139 | connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), |
140 | d->tbLoop, SLOT( setOn( bool ) ) ); | ||
141 | connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), | ||
142 | d->tbShuffle, SLOT( setOn( bool ) ) ); | ||
143 | connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), | ||
144 | this, SLOT( setPlaylist( bool ) ) ); | ||
145 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), | ||
146 | this, SLOT( playIt( QListViewItem *) ) ); | ||
147 | connect ( gammaSlider, SIGNAL( valueChanged( int ) ), | ||
148 | mediaPlayerState, SLOT( setVideoGamma( int ) ) ); | ||
122 | 149 | ||
@@ -163,3 +190,4 @@ void PlayListWidget::readConfig( Config& cfg ) { | |||
163 | DocLnk lnk( linkFile ); | 190 | DocLnk lnk( linkFile ); |
164 | if ( QFileInfo( lnk.file() ).exists() || linkFile.find( "http" , 0, TRUE) != -1) { | 191 | if ( QFileInfo( lnk.file() ).exists() || |
192 | linkFile.find( "http" , 0, TRUE) != -1) { | ||
165 | d->selectedFiles->addToSelection( lnk ); | 193 | d->selectedFiles->addToSelection( lnk ); |
@@ -209,3 +237,4 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) { | |||
209 | if ( mediaPlayerState->playlist() ) { | 237 | if ( mediaPlayerState->playlist() ) { |
210 | if( QFileInfo( lnk.file() ).exists() || lnk.file().left(4) == "http" ) | 238 | if( QFileInfo( lnk.file() ).exists() || |
239 | lnk.file().left(4) == "http" ) | ||
211 | d->selectedFiles->addToSelection( lnk ); | 240 | d->selectedFiles->addToSelection( lnk ); |
@@ -292,3 +321,4 @@ void PlayListWidget::setDocument( const QString& fileref ) { | |||
292 | if ( fileref.isNull() ) { | 321 | if ( fileref.isNull() ) { |
293 | QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); | 322 | QMessageBox::critical( 0, tr( "Invalid File" ), |
323 | tr( "There was a problem in getting the file." ) ); | ||
294 | return; | 324 | return; |
@@ -423,3 +453,4 @@ void PlayListWidget::saveList() { | |||
423 | DocLnk lnk; | 453 | DocLnk lnk; |
424 | lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property | 454 | lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); |
455 | //sets File property | ||
425 | lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D | 456 | lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D |
@@ -709,3 +740,4 @@ void PlayListWidget::populateAudioView() { | |||
709 | QListViewItem * newItem; | 740 | QListViewItem * newItem; |
710 | if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) { | 741 | if ( QFile( dit.current()->file()).exists() || |
742 | dit.current()->file().left(4) == "http" ) { | ||
711 | long size; | 743 | long size; |
@@ -749,3 +781,4 @@ void PlayListWidget::populateVideoView() { | |||
749 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), | 781 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), |
750 | QString::number( QFile( Vdit.current()->file() ).size() ), storage, Vdit.current()->file()); | 782 | QString::number( QFile( Vdit.current()->file() ).size() ), |
783 | storage, Vdit.current()->file()); | ||
751 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" ) ); | 784 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" ) ); |
@@ -765,13 +798,53 @@ void PlayListWidget::openFile() { | |||
765 | qDebug( "Selected filename is " + filename ); | 798 | qDebug( "Selected filename is " + filename ); |
766 | if( filename.right( 3 ) == "m3u" ) { | 799 | |
767 | readm3u( filename ); | 800 | if(filename.left(4) == "http") { |
768 | } else if( filename.right(3) == "pls" ) { | ||
769 | readPls( filename ); | ||
770 | } else { | ||
771 | // this doesnt need fixing | ||
772 | DocLnk lnk; | 801 | DocLnk lnk; |
773 | lnk.setName( filename ); //sets file name | 802 | QString m3uFile, m3uFilePath; |
774 | lnk.setFile( filename ); //sets File property | 803 | if(filename.find(":",8,TRUE) != -1) { |
775 | //qWarning( "Mimetype: " + MimeType( QFile::encodeName(filename) ).id() ); | 804 | //found a port |
776 | lnk.setType( MimeType( QFile::encodeName(filename) ).id() ); | 805 | m3uFile=filename.left(filename.find(":",8,TRUE)); |
806 | |||
807 | m3uFile=m3uFile.right(m3uFile.length()-7); | ||
808 | qDebug(m3uFile); | ||
809 | m3uFilePath= QDir::homeDirPath()+"/"+m3uFile+".m3u"; | ||
810 | |||
811 | QFile f(m3uFilePath ); | ||
812 | f.open( IO_WriteOnly ); | ||
813 | f.writeBlock( filename, filename.length() ); | ||
814 | f.close(); | ||
815 | |||
816 | lnk.setName( m3uFile ); //sets file name | ||
817 | lnk.setFile( m3uFilePath ); //sets File property | ||
818 | //qWarning( "Mimetype: " + MimeType( QFile::encodeName(filename) ).id() ); | ||
819 | lnk.setType( MimeType( QFile::encodeName(m3uFilePath) ).id() ); | ||
820 | |||
821 | } else if(filename.left(4) == "http"){ | ||
822 | |||
823 | m3uFile=m3uFile.right(m3uFile.length()-7); | ||
824 | qDebug(m3uFile); | ||
825 | |||
826 | m3uFilePath= QDir::homeDirPath()+"/"+m3uFile+".m3u"; | ||
827 | |||
828 | QFile f(m3uFilePath ); | ||
829 | f.open( IO_WriteOnly ); | ||
830 | f.writeBlock( filename, filename.length() ); | ||
831 | f.close(); | ||
832 | |||
833 | lnk.setName( m3uFile ); //sets file name | ||
834 | lnk.setFile( m3uFilePath ); //sets File property | ||
835 | //qWarning( "Mimetype: " + MimeType( QFile::encodeName(filename) ).id() ); | ||
836 | lnk.setType( MimeType( QFile::encodeName(m3uFilePath) ).id() ); | ||
837 | |||
838 | } else{ | ||
839 | |||
840 | QFile f( filename ); | ||
841 | f.open( IO_WriteOnly ); | ||
842 | f.writeBlock( filename, filename.length() ); | ||
843 | f.close(); | ||
844 | |||
845 | lnk.setName( filename ); //sets file name | ||
846 | lnk.setFile( filename ); //sets File property | ||
847 | //qWarning( "Mimetype: " + MimeType( QFile::encodeName(filename) ).id() ); | ||
848 | lnk.setType( MimeType( QFile::encodeName(filename) ).id() ); | ||
849 | } | ||
777 | lnk.setExec( "opieplayer" ); | 850 | lnk.setExec( "opieplayer" ); |
@@ -783,2 +856,8 @@ void PlayListWidget::openFile() { | |||
783 | d->selectedFiles->addToSelection( lnk ); | 856 | d->selectedFiles->addToSelection( lnk ); |
857 | |||
858 | } | ||
859 | else if( filename.right( 3 ) == "m3u" ) { | ||
860 | readm3u( filename ); | ||
861 | } else if( filename.right(3) == "pls" ) { | ||
862 | readPls( filename ); | ||
784 | } | 863 | } |
@@ -860,3 +939,4 @@ void PlayListWidget::readm3u( const QString &filename ) { | |||
860 | if( s.find( "#", 0, TRUE) == -1 ) { | 939 | if( s.find( "#", 0, TRUE) == -1 ) { |
861 | if( s.find( " ", 0, TRUE) == -1 ) { // not sure if this is neede since cf uses vfat | 940 | if( s.find( " ", 0, TRUE) == -1 ) { |
941 | // not sure if this is neede since cf uses vfat | ||
862 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { | 942 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { |