summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer3/playlist.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer3/playlist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer3/playlist.cpp40
1 files changed, 25 insertions, 15 deletions
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
@@ -106,2 +106,3 @@ void PlaylistView::checkLib()
m_Infolib = new XINE::Lib(XINE::Lib::InitializeImmediately);
+ connect(m_Infolib,SIGNAL(stopped()),this,SLOT(slotDummyStop()));
m_Infolib->ensureInitialized();
@@ -110,5 +111,15 @@ void PlaylistView::checkLib()
+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());
@@ -121,4 +132,2 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName)
checkLib();
- m_Infolib->stop();
-
QString name = aName;
@@ -128,2 +137,4 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName)
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 << " ("<<aFile.utf8().data()<<")"<<oendl;
@@ -182,11 +193,5 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName)
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);
}
@@ -218,3 +223,3 @@ void PlaylistView::slotOpenM3u()
mimeTypes.insert("Playlists",types);
- mimeTypes.insert("All",types);
+// mimeTypes.insert("All",types);
QString fileName= Opie::Ui::OFileDialog::getOpenFileName(Opie::Ui::OFileSelector::EXTENDED,
@@ -224,2 +229,8 @@ void PlaylistView::slotOpenM3u()
}
+ readPlayList(fileName);
+ emit contentChanged(childCount());
+}
+
+void PlaylistView::readPlayList(const QString&fileName)
+{
QFileInfo f(fileName);
@@ -235,3 +246,2 @@ void PlaylistView::slotOpenM3u()
}
- emit contentChanged(childCount());
}
@@ -244,5 +254,5 @@ void PlaylistView::slotSaveAsM3u()
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()) {