summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/playlistwidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/playlistwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp62
1 files changed, 58 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index c91a565..4e31670 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -1,7 +1,7 @@
/*
                This file is part of the Opie Project
-              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
+              Copyright (c) 2002,2003 Max Reiss <harlekin@handhelds.org>
Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
=.
@@ -37,6 +37,9 @@
#include <qpe/mimetype.h>
#include <qpe/global.h>
#include <qpe/resource.h>
+#include <qpe/config.h>
+
+#include <opie/ofiledialog.h>
#include <qdatetime.h>
#include <qdir.h>
@@ -85,8 +88,10 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par
(void)new MenuItem( pmPlayList, tr( "Save Playlist" ),
this, SLOT(writem3u() ) );
pmPlayList->insertSeparator(-1);
- (void)new MenuItem( pmPlayList, tr( "Open File or URL" ),
+ (void)new MenuItem( pmPlayList, tr( "Add File" ),
this,SLOT( openFile() ) );
+ (void)new MenuItem( pmPlayList, tr("Add URL"),
+ this,SLOT( openURL() ) );
pmPlayList->insertSeparator(-1);
(void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ),
audioView, SLOT( scanFiles() ) );
@@ -602,12 +607,12 @@ bool PlayListWidget::inFileListMode() const
return tab == AudioFiles || tab == VideoFiles;
}
-void PlayListWidget::openFile() {
+void PlayListWidget::openURL() {
// http://66.28.164.33:2080
// http://somafm.com/star0242.m3u
QString filename, name;
InputDialog *fileDlg;
- fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
+ fileDlg = new InputDialog(this,tr("Add URL"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
filename = fileDlg->text();
@@ -653,6 +658,55 @@ void PlayListWidget::openFile() {
delete fileDlg;
}
+
+void PlayListWidget::openFile() {
+
+ QString filename, name;
+
+ Config cfg( "OpiePlayer" );
+ cfg.setGroup("Dialog");
+ MimeTypes types;
+ QStringList audio, video, all;
+ audio << "audio/*";
+ audio << "playlist/plain";
+ audio << "audio/x-mpegurl";
+
+ video << "video/*";
+ video << "playlist/plain";
+
+ all += audio;
+ all += video;
+ types.insert("All Media Files", all );
+ types.insert("Audio", audio );
+ types.insert("Video", video );
+
+ QString str = OFileDialog::getOpenFileName( 1,
+ cfg.readEntry("LastDirectory",QPEApplication::documentDir()),"",
+ types, 0 );
+ if(str.left(2) == "//") str=str.right(str.length()-1);
+ cfg.writeEntry("LastDirectory" ,QFileInfo(str).dirPath());
+
+
+ if( !str.isEmpty() ) {
+ qDebug( "Selected filename is " + str );
+ filename = str;
+ DocLnk lnk;
+ Config cfg( "OpiePlayer" );
+ cfg.setGroup("PlayList");
+
+ if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) {
+ readListFromFile( filename );
+ } else {
+ lnk.setName( QFileInfo(filename).baseName() ); //sets name
+ lnk.setFile( filename ); //sets file name
+ d->selectedFiles->addToSelection( lnk);
+ writeCurrentM3u();
+ d->selectedFiles->setSelectedItem( lnk.name());
+ }
+ }
+}
+
+
void PlayListWidget::readListFromFile( const QString &filename ) {
qDebug( "read list filename " + filename );
QFileInfo fi(filename);