author | sandman <sandman> | 2002-12-11 00:17:09 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-11 00:17:09 (UTC) |
commit | 6c71f5ccd9506234a317d9ff3d119613c457e769 (patch) (side-by-side diff) | |
tree | f78a9d2a0981dbb446096bf072ca5decaa5e1d59 /core/multimedia/opieplayer/om3u.cpp | |
parent | e9d1213578b83f8380c4681186246a2b32ae6375 (diff) | |
download | opie-6c71f5ccd9506234a317d9ff3d119613c457e769.zip opie-6c71f5ccd9506234a317d9ff3d119613c457e769.tar.gz opie-6c71f5ccd9506234a317d9ff3d119613c457e769.tar.bz2 |
fix for a stupid bug .. op1 wants to strip the extension, but instead
stripps everything after the first '.'. So filenames like
"02. foobar.mp3" become "02"
Diffstat (limited to 'core/multimedia/opieplayer/om3u.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/om3u.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/core/multimedia/opieplayer/om3u.cpp b/core/multimedia/opieplayer/om3u.cpp index 039f3b1..3541e5f 100644 --- a/core/multimedia/opieplayer/om3u.cpp +++ b/core/multimedia/opieplayer/om3u.cpp @@ -37,47 +37,54 @@ #include <qpe/storage.h> #include <qpe/mimetype.h> #include <qpe/global.h> #include <qpe/resource.h> #include <qdir.h> #include <qregexp.h> #include <qstring.h> #include <qtextstream.h> #include <qstringlist.h> #include <qcstring.h> +static inline QString fullBaseName ( const QFileInfo &fi ) +{ + QString str = fi. fileName ( ); + return str. left ( str. findRev ( '.' )); +} + + //extern PlayListWidget *playList; Om3u::Om3u( const QString &filePath, int mode) : QStringList (){ //qDebug("<<<<<<<new m3u "+filePath); f.setName(filePath); f.open(mode); } Om3u::~Om3u(){} void Om3u::readM3u() { // qDebug("<<<<<<reading m3u "+f.name()); QTextStream t(&f); QString s; while ( !t.atEnd() ) { s=t.readLine(); qDebug(s); if( s.find( "#", 0, TRUE) == -1 ) { if( s.left(2) == "E:" || s.left(2) == "P:" ) { s = s.right( s.length() -2 ); QFileInfo f( s ); - QString name = f.baseName(); + QString name = fullBaseName ( f ); name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); s=s.replace( QRegExp( "\\" ), "/" ); append(s); // qDebug(s); } else { // is url s.replace( QRegExp( "%20" )," " ); QString name; // if( name.left( 4 ) == "http" ) { // name = s.right( s.length() - 7 ); // } else { name = s; // } @@ -96,25 +103,25 @@ void Om3u::readPls() { //it's a pls file if( s.left(4) == "File" ) { s = s.right( s.length() - 6 ); s.replace( QRegExp( "%20" )," "); // qDebug( "adding " + s + " to playlist" ); // numberofentries=2 // File1=http // Title // Length // Version // File2=http s = s.replace( QRegExp( "\\" ), "/" ); QFileInfo f( s ); - QString name = f.baseName(); + QString name = fullBaseName ( f ); if( name.left( 4 ) == "http" ) { name = s.right( s.length() - 7); } else { name = s; } name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); if( s.at( s.length() - 4) == '.') // if this is probably a file append(s); else { //if its a url if( name.right( 1 ).find( '/' ) == -1) { s += "/"; } |