summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/playlistwidget.cpp
Side-by-side diff
Diffstat (limited to 'core/multimedia/opieplayer/playlistwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp142
1 files changed, 57 insertions, 85 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 7ea95ab..1fc7dd8 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -306,15 +306,14 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
tabWidget->insertTab( vTab,tr("Video"));
QWidget *LTab;
LTab = new QWidget( tabWidget, "LTab" );
- playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
+ playLists = new FileSelector( "playlist/plain;audio/x-mpegurl", LTab, "fileselector" , FALSE, FALSE);
QGridLayout *layoutL = new QGridLayout( LTab );
layoutL->setSpacing( 2);
layoutL->setMargin( 2);
layoutL->addMultiCellWidget( playLists, 0, 0, 0, 1 );
-// playLists->setMinimumSize(233,260);
tabWidget->insertTab(LTab,tr("Lists"));
connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
@@ -357,14 +356,14 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
setCentralWidget( vbox5 );
Config cfg( "OpiePlayer" );
readConfig( cfg );
- QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default");
- loadList(DocLnk( currentPlaylist));
- setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(currentPlaylist)));
+
+ currentPlayList = cfg.readEntry("CurrentPlaylist","default");
+ loadList(DocLnk( currentPlayList));
+ setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(currentPlayList)));
initializeStates();
- // audioUI->setFocus();
}
PlayListWidget::~PlayListWidget() {
@@ -420,17 +419,18 @@ void PlayListWidget::writeConfig( Config& cfg ) const {
// next time...
if ( !QFile::exists( lnk->linkFile() ) ) {
// the way writing lnks doesn't really check for out
// of disk space, but check it anyway.
- if ( !lnk->writeLink() ) {
- QMessageBox::critical( 0, tr("Out of space"),
- tr( "There was a problem saving "
- "the playlist.\n"
- "Your playlist "
- "may be missing some entries\n"
- "the next time you start it." )
- );
- }
+// if ( !lnk->writeLink() ) {
+// QMessageBox::critical( 0, tr("Out of space"),
+// tr( "There was a problem saving "
+// "the playlist.\n"
+// "Your playlist "
+// "may be missing some entries\n"
+// "the next time you start it." )
+// );
+// }
+
}
noOfFiles++;
}
}
@@ -446,14 +446,20 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) {
d->selectedFiles->addToSelection( lnk );
}
else
mediaPlayerState->setPlaying( true);
+
}
void PlayListWidget::clearList() {
while ( first() )
d->selectedFiles->removeSelected();
+ Config cfg( "OpiePlayer" );
+ cfg.setGroup("PlayList");
+ cfg.writeEntry("CurrentPlaylist","");
+ currentPlayList="";
+
}
void PlayListWidget::addAllToList() {
@@ -496,23 +502,22 @@ void PlayListWidget::addAllVideoToList() {
void PlayListWidget::setDocument(const QString& fileref) {
fromSetDocument = true;
d->setDocumentUsed = TRUE;
- d->selectedFiles->setSelected(d->selectedFiles->firstChild(),true );
- mediaPlayerState->setPlaying( FALSE );
- qApp->processEvents();
- mediaPlayerState->setPlaying( TRUE );
+ setDocumentEx(fileref);
}
void PlayListWidget::setDocumentEx(const QString& fileref) {
-
+ qDebug("opieplayer receive "+fileref);
+ clearList();
+ DocLnk lnk;
QFileInfo fileInfo(fileref);
if ( !fileInfo.exists() ) {
QMessageBox::critical( 0, tr( "Invalid File" ),
tr( "There was a problem in getting the file." ) );
return;
}
- qDebug("setDocument "+fileref);
+ // qDebug("<<<<<<<<<<<<<<<<<<<<<<setDocument "+fileref);
QString extension = fileInfo.extension(false);
if( extension.find( "m3u", 0, false) != -1) { //is m3u
readm3u( fileref);
}
@@ -520,35 +525,41 @@ void PlayListWidget::setDocumentEx(const QString& fileref) {
readPls( fileref);
}
else if( fileref.find("playlist",0,TRUE) != -1) {//is playlist
clearList();
- DocLnk lnk;
lnk.setName( fileInfo.baseName() ); //sets name
lnk.setFile( fileref ); //sets file name
+ lnk.setIcon("Sound");
//addToSelection( lnk );
loadList( lnk);
d->selectedFiles->first();
} else {
- clearList();
- DocLnk lnk;
+ if( fileref.find(".desktop",0,TRUE) != -1) {
+ lnk = DocLnk(fileref);
+ } else {
lnk.setName( fileInfo.baseName() ); //sets name
lnk.setFile( fileref ); //sets file name
+ lnk.setIcon("Sound");
+ }
+
addToSelection( lnk );
// addToSelection( DocLnk( fileref ) );
+ lnk.removeLinkFile();
+ // qApp->processEvents();
+ }
+ setCaption(tr("OpiePlayer"));
d->setDocumentUsed = TRUE;
+ d->selectedFiles->setSelected(d->selectedFiles->firstChild(),true );
mediaPlayerState->setPlaying( FALSE );
qApp->processEvents();
mediaPlayerState->setPlaying( TRUE );
- // qApp->processEvents();
- setCaption(tr("OpiePlayer"));
- }
+
}
void PlayListWidget::setActiveWindow() {
- qDebug("SETTING active window");
-
+ // qDebug("SETTING active window");
// When we get raised we need to ensure that it switches views
char origView = mediaPlayerState->view();
mediaPlayerState->setView( 'l' ); // invalidate
mediaPlayerState->setView( origView ); // now switch back
@@ -560,28 +571,12 @@ void PlayListWidget::useSelectedDocument() {
}
const DocLnk *PlayListWidget::current() { // this is fugly
-
-// if( fromSetDocument) {
-// qDebug("from setDoc");
-// DocLnkSet files;
-// Global::findDocuments(&files, "video/*;audio/*");
-// QListIterator<DocLnk> dit( files.children() );
-// for ( ; dit.current(); ++dit ) {
-// if(dit.current()->linkFile() == setDocFileRef) {
-// qDebug(setDocFileRef);
-// return dit;
-// }
-// }
-// } else
-
- qDebug("current");
-
switch (tabWidget->currentPageIndex()) {
case 0: //playlist
{
- qDebug("playlist");
+ // qDebug("playlist");
if ( mediaPlayerState->playlist() ) {
return d->selectedFiles->current();
}
else if ( d->setDocumentUsed && d->current ) {
@@ -592,22 +587,20 @@ const DocLnk *PlayListWidget::current() { // this is fugly
}
break;
case 1://audio
{
- qDebug("audioView");
+ // qDebug("audioView");
QListIterator<DocLnk> dit( files.children() );
for ( ; dit.current(); ++dit ) {
if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) {
- qDebug("here");
insanityBool=TRUE;
return dit;
}
}
}
break;
case 2: // video
{
- qDebug("videoView");
QListIterator<DocLnk> Vdit( vFiles.children() );
for ( ; Vdit.current(); ++Vdit ) {
if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) {
insanityBool=TRUE;
@@ -716,9 +709,8 @@ void PlayListWidget::setView( char view ) {
hide();
}
void PlayListWidget::addSelected() {
- qDebug("addSelected");
DocLnk lnk;
QString filename;
switch (tabWidget->currentPageIndex()) {
@@ -766,9 +758,8 @@ void PlayListWidget::removeSelected() {
void PlayListWidget::playIt( QListViewItem *) {
// d->setDocumentUsed = FALSE;
// mediaPlayerState->curPosition =0;
- qDebug("playIt");
// mediaPlayerState->setPlaying(FALSE);
mediaPlayerState->setPlaying(TRUE);
d->selectedFiles->unSelect();
}
@@ -840,14 +831,12 @@ void PlayListWidget::tabChanged(QWidget *) {
};
}
void PlayListWidget::btnPlay(bool b) {
- qDebug("<<<<<<<<<<<<<<<BtnPlay %d", b);
// mediaPlayerState->setPlaying(b);
switch ( tabWidget->currentPageIndex()) {
case 0:
{
- qDebug("1");
// if( d->selectedFiles->current()->file().find(" ",0,TRUE) != -1
// if( d->selectedFiles->current()->file().find("%20",0,TRUE) != -1) {
// QMessageBox::message("Note","You are trying to play\na malformed url.");
// } else {
@@ -858,9 +847,8 @@ void PlayListWidget::btnPlay(bool b) {
}
break;
case 1:
{
- qDebug("2");
// d->selectedFiles->unSelect();
addToSelection( audioView->currentItem() );
mediaPlayerState->setPlaying( b);
d->selectedFiles->removeSelected( );
@@ -870,9 +858,8 @@ void PlayListWidget::btnPlay(bool b) {
}// audioView->clearSelection();
break;
case 2:
{
- qDebug("3");
addToSelection( videoView->currentItem() );
mediaPlayerState->setPlaying( b);
// qApp->processEvents();
@@ -921,9 +908,8 @@ void PlayListWidget::viewPressed( int mouse, QListViewItem *, const QPoint&, int
}
void PlayListWidget::playSelected()
{
- qDebug("playSelected");
btnPlay( true);
// d->selectedFiles->unSelect();
}
@@ -948,9 +934,9 @@ void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *, const QPoi
void PlayListWidget::listDelete() {
Config cfg( "OpiePlayer" );
cfg.setGroup("PlayList");
- QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
+ currentPlayList = cfg.readEntry("CurrentPlaylist","");
QString file;
// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
switch ( tabWidget->currentPageIndex()) {
case 0:
@@ -1072,17 +1058,15 @@ void PlayListWidget::populateVideoView() {
}
}
void PlayListWidget::openFile() {
- qDebug("<<<<<<<<<OPEN File");
QString filename, name;
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
filename = fileDlg->text();
- qDebug( "Selected filename is " + filename );
-// Om3u *m3uList;
+ // qDebug( "Selected filename is " + filename );
DocLnk lnk;
Config cfg( "OpiePlayer" );
cfg.setGroup("PlayList");
@@ -1090,23 +1074,14 @@ void PlayListWidget::openFile() {
m3uFile = filename;
if(filename.left(4) == "http") {
if(filename.find(":",8,TRUE) != -1) { //found a port
-// m3uFile = filename.left( filename.find( ":",8,TRUE));
m3uFile = filename;
if( m3uFile.right( 1 ).find( '/' ) == -1) {
m3uFile += "/";
}
filename = m3uFile;
-// qDebug("1 "+m3uFile);
-// } else if(filename.left(4) == "http"){
-// m3uFile=filename;
-// m3uFile = m3uFile.right( m3uFile.length() - 7);
-// qDebug("2 "+m3uFile);
-// } else{
-// m3uFile=filename;
-// qDebug("3 "+m3uFile);
- }
+ = }
lnk.setName( m3uFile ); //sets name
lnk.setFile( filename ); //sets file name
lnk.setIcon("opieplayer2/musicfile");
d->selectedFiles->addToSelection( lnk );
@@ -1120,8 +1095,9 @@ void PlayListWidget::openFile() {
} else {
lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name
lnk.setFile( filename ); //sets file name
d->selectedFiles->addToSelection( lnk);
+ lnk.removeLinkFile();
writeCurrentM3u();
}
}
@@ -1133,9 +1109,9 @@ void PlayListWidget::openFile() {
/*
reads m3u and shows files/urls to playlist widget */
void PlayListWidget::readm3u( const QString &filename ) {
- qDebug( "read m3u filename " + filename );
+ // qDebug( "read m3u filename " + filename );
Om3u *m3uList;
QString s, name;
m3uList = new Om3u( filename, IO_ReadOnly );
@@ -1190,9 +1166,9 @@ void PlayListWidget::readm3u( const QString &filename ) {
/*
reads pls and adds files/urls to playlist */
void PlayListWidget::readPls( const QString &filename ) {
- qDebug( "pls filename is " + filename );
+ // qDebug( "pls filename is " + filename );
Om3u *m3uList;
QString s, name;
m3uList = new Om3u( filename, IO_ReadOnly );
m3uList->readPls();
@@ -1233,22 +1209,22 @@ void PlayListWidget::readPls( const QString &filename ) {
/*
writes current playlist to current m3u file */
void PlayListWidget::writeCurrentM3u() {
- qDebug("writing to current m3u");
+ // qDebug("writing to current m3u");
Config cfg( "OpiePlayer" );
cfg.setGroup("PlayList");
- QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
+ currentPlayList = cfg.readEntry("CurrentPlaylist","");
Om3u *m3uList;
- m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate );
+ m3uList = new Om3u( currentPlayList, IO_ReadWrite | IO_Truncate );
if( d->selectedFiles->first()) {
do {
- qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file());
+ // qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file());
m3uList->add( d->selectedFiles->current()->file() );
}
while ( d->selectedFiles->next() );
- qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" );
+ // qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" );
m3uList->write();
m3uList->close();
if(m3uList) delete m3uList;
@@ -1303,9 +1279,9 @@ void PlayListWidget::writem3u() {
config.writeEntry("CurrentPlaylist",filename);
currentPlayList=filename;
if(!lnk.writeLink()) {
- qDebug("Writing doclink did not work");
+ // qDebug("Writing doclink did not work");
}
setCaption(tr("OpiePlayer: ") + name);
}
@@ -1333,9 +1309,8 @@ void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
case Key_F13: //mail
// doUnblank();
break;
case Key_Q: //add to playlist
- qDebug("Add");
addSelected();
break;
case Key_R: //remove from playlist
removeSelected();
@@ -1344,9 +1319,8 @@ void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
// qDebug("Play");
// playSelected();
// break;
case Key_Space:
- qDebug("Play");
// playSelected(); puh
break;
case Key_1:
tabWidget->setCurrentPage(0);
@@ -1397,9 +1371,9 @@ void PlayListWidget::keyPressEvent( QKeyEvent *)
// }
}
void PlayListWidget::doBlank() {
- qDebug("do blanking");
+ // qDebug("do blanking");
fd=open("/dev/fb0",O_RDWR);
if (fd != -1) {
ioctl(fd,FBIOBLANK,1);
// close(fd);
@@ -1409,9 +1383,9 @@ void PlayListWidget::doBlank() {
void PlayListWidget::doUnblank() {
// this crashes opieplayer with a segfault
// int fd;
// fd=open("/dev/fb0",O_RDWR);
- qDebug("do unblanking");
+ // qDebug("do unblanking");
if (fd != -1) {
ioctl(fd,FBIOBLANK,0);
close(fd);
}
@@ -1460,9 +1434,9 @@ void PlayListWidget::skinsMenuActivated( int item ) {
cfg.writeEntry("Skin", skinsMenu->text( item ) );
}
void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) {
- qDebug("qcop message "+msg );
+ // qDebug("qcop message "+msg );
QDataStream stream ( data, IO_ReadOnly );
if ( msg == "play()" ) { //plays current selection
btnPlay( true);
} else if ( msg == "stop()" ) {
@@ -1497,10 +1471,8 @@ void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) {
addToSelection( lnk );
} else if ( msg == "rem(QString)" ) { //remove from playlist
QString file;
stream >> file;
-
} else if ( msg == "setDocument(QString)" ) { //loop or not loop
QCopEnvelope h("QPE/Application/opieplayer", "raise()");
}
-
}