From 4fd936e4096ba9c732bde17a48489bfbb94b19ba Mon Sep 17 00:00:00 2001 From: alwin Date: Tue, 12 Apr 2005 16:35:06 +0000 Subject: some gui stuff may switch if videos will scaled up even if display size is larger than video size --- (limited to 'noncore/multimedia/opieplayer3/playlist.cpp') diff --git a/noncore/multimedia/opieplayer3/playlist.cpp b/noncore/multimedia/opieplayer3/playlist.cpp index babe8ce..2eb40e3 100644 --- a/noncore/multimedia/opieplayer3/playlist.cpp +++ b/noncore/multimedia/opieplayer3/playlist.cpp @@ -104,13 +104,24 @@ void PlaylistView::checkLib() { if (!m_Infolib) { m_Infolib = new XINE::Lib(XINE::Lib::InitializeImmediately); + connect(m_Infolib,SIGNAL(stopped()),this,SLOT(slotDummyStop())); m_Infolib->ensureInitialized(); } } +void PlaylistView::slotDummyStop() +{ + odebug << "void PlaylistView::slotDummyStop()" << oendl; +} + void PlaylistView::slotAddFile(const DocLnk&aLink) { - addFile(aLink.file(),aLink.name()); + QFileInfo f(aLink.file()); + if (f.extension(FALSE).lower()=="m3u"||f.extension(FALSE).lower()=="pls") { + readPlayList(aLink.file()); + } else { + addFile(aLink.file(),aLink.name()); + } emit contentChanged(childCount()); } @@ -119,13 +130,13 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName) QFileInfo fileInfo(aFile); if (!fileInfo.exists()) return; checkLib(); - m_Infolib->stop(); - QString name = aName; if (name.isEmpty()) { name = fileInfo.fileName(); } int i = m_Infolib->setfile(aFile.utf8().data()); + /* realy! otherwise we get an "stopped" signal when playing! - I don't know why */ + m_Infolib->stop(); odebug << "File set: " << i << " ("<error(); @@ -180,15 +191,9 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName) l-=m*60; codec = ""; if (h>0) { - codec+=QString("%1 h").arg(h); - } - if (m>0) { - if (!codec.isEmpty()) codec+=" "; - codec+=QString("%1 m").arg(m); - } - if (l>0) { - if (!codec.isEmpty()) codec+=" "; - codec+=QString("%1 s").arg(l); + codec.sprintf("%2i:%2i:%2i h",h,m,l); + } else { + codec.sprintf("%02i:%02i m",m,l); } // time m_lastItem->setText(COL_TIME,codec); @@ -216,12 +221,18 @@ void PlaylistView::slotOpenM3u() QMap mimeTypes; types << "audio/x-mpegurl"; mimeTypes.insert("Playlists",types); - mimeTypes.insert("All",types); +// mimeTypes.insert("All",types); QString fileName= Opie::Ui::OFileDialog::getOpenFileName(Opie::Ui::OFileSelector::EXTENDED, m_lastDir,"playlist.m3u", mimeTypes); if (fileName.isEmpty()) { return; } + readPlayList(fileName); + emit contentChanged(childCount()); +} + +void PlaylistView::readPlayList(const QString&fileName) +{ QFileInfo f(fileName); Om3u _om3u(fileName, IO_ReadOnly); @@ -233,7 +244,6 @@ void PlaylistView::slotOpenM3u() for (unsigned int j=0; j<_om3u.count();++j) { addFile(_om3u[j]); } - emit contentChanged(childCount()); } void PlaylistView::slotSaveAsM3u() @@ -242,9 +252,9 @@ void PlaylistView::slotSaveAsM3u() QMap mimeTypes; types << "audio/x-mpegurl"; mimeTypes.insert("Playlists",types); - mimeTypes.insert("All",types); QString fileName= Opie::Ui::OFileDialog::getSaveFileName(Opie::Ui::OFileSelector::EXTENDED, m_lastDir,"playlist.m3u", mimeTypes); + odebug << "Save as " << fileName << oendl; if (fileName.isEmpty()) { return; } -- cgit v0.9.0.2