summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/om3u.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/om3u.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/om3u.cpp141
1 files changed, 67 insertions, 74 deletions
diff --git a/noncore/multimedia/opieplayer2/om3u.cpp b/noncore/multimedia/opieplayer2/om3u.cpp
index 790fa09..f2a01d3 100644
--- a/noncore/multimedia/opieplayer2/om3u.cpp
+++ b/noncore/multimedia/opieplayer2/om3u.cpp
@@ -38,89 +38,82 @@ using namespace Opie::Core;
38//extern PlayListWidget *playList; 38//extern PlayListWidget *playList;
39 39
40Om3u::Om3u( const QString &filePath, int mode) 40Om3u::Om3u( const QString &filePath, int mode)
41 : QStringList (){ 41 : QStringList ()
42odebug << "<<<<<<<new m3u "+filePath << oendl; 42{
43 f.setName(filePath); 43 odebug << "<<<<<<<new m3u "+filePath << oendl;
44 f.open(mode); 44 f.setName(filePath);
45 if (!f.open(mode)) {
46 owarn << "Unable to open file " << f.name() << oendl;
47 }
45} 48}
46 49
47Om3u::~Om3u(){} 50Om3u::~Om3u(){}
48 51
49void Om3u::readM3u() { 52void Om3u::readM3u() {
50// odebug << "<<<<<<reading m3u "+f.name() << oendl; 53// odebug << "<<<<<<reading m3u "+f.name() << oendl;
51 QTextStream t(&f); 54 QTextStream t(&f);
52 t.setEncoding(QTextStream::UnicodeUTF8); 55 t.setEncoding(QTextStream::UnicodeUTF8);
53 QString s; 56 QString s;
54 while ( !t.atEnd() ) { 57 while ( !t.atEnd() ) {
55 s=t.readLine(); 58 s=t.readLine();
56// odebug << s << oendl; 59 // odebug << s << oendl;
57 if( s.find( "#", 0, TRUE) == -1 ) { 60 if( s.find( "#", 0, TRUE) == -1 ) {
58 if( s.left(2) == "E:" || s.left(2) == "P:" ) { 61 if( s.left(2) == "E:" || s.left(2) == "P:" ) {
59 s = s.right( s.length() -2 ); 62 s = s.right( s.length() -2 );
60 QFileInfo f( s ); 63 QFileInfo f( s );
61 QString name = f.baseName(); 64 QString name = f.baseName();
62 name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); 65 name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 );
63 s=s.replace( QRegExp( "\\" ), "/" ); 66 s=s.replace( QRegExp( "\\" ), "/" );
64 append(s); 67 append(s);
65// odebug << s << oendl; 68// odebug << s << oendl;
66 } else { // is url 69 } else { // is url
67 QString name; 70 QString name;
68 name = s; 71 name = s;
69 append(name); 72 append(name);
70 } 73 }
71 } 74 }
72 } 75 }
73} 76}
74 77
75void Om3u::readPls() { //it's a pls file 78void Om3u::readPls() { //it's a pls file
76 QTextStream t( &f ); 79 QTextStream t( &f );
77 t.setEncoding(QTextStream::UnicodeUTF8); 80 t.setEncoding(QTextStream::UnicodeUTF8);
78 QString s; 81 QString s;
79 while ( !t.atEnd() ) { 82 while ( !t.atEnd() ) {
80 s = t.readLine(); 83 s = t.readLine();
81 if( s.left(4) == "File" ) { 84 if( s.left(4) == "File" ) {
82 s = s.right( s.length() - s.find("=",0,true)-1 ); 85 s = s.right( s.length() - s.find("=",0,true)-1 );
83 s = s.stripWhiteSpace(); 86 s = s.stripWhiteSpace();
84 s.replace( QRegExp( "%20" )," "); 87 s.replace( QRegExp( "%20" )," ");
85// odebug << "adding " + s + " to playlist" << oendl; 88 // odebug << "adding " + s + " to playlist" << oendl;
86 // numberofentries=2 89 s = s.replace( QRegExp( "\\" ), "/" );
87 // File1=http 90 QFileInfo f( s );
88 // Title 91 QString name = f.baseName();
89 // Length 92 if( name.left( 4 ) == "http" ) {
90 // Version 93 name = s.right( s.length() - 7);
91 // File2=http 94 } else {
92 s = s.replace( QRegExp( "\\" ), "/" ); 95 name = s;
93 QFileInfo f( s ); 96 }
94 QString name = f.baseName(); 97 name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 );
95 if( name.left( 4 ) == "http" ) { 98 if( s.at( s.length() - 4) == '.') // if this is probably a file
96 name = s.right( s.length() - 7); 99 append(s);
97 } else { 100 else { //if its a url
98 name = s;
99 }
100 name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 );
101 if( s.at( s.length() - 4) == '.') // if this is probably a file
102 append(s); 101 append(s);
103 else { //if its a url
104// if( name.right( 1 ).find( '/' ) == -1) {
105// s += "/";
106// }
107 append(s);
108 }
109 } 102 }
110 } 103 }
104 }
111} 105}
112 106
113void Om3u::write() { //writes list to m3u file 107void Om3u::write() { //writes list to m3u file
114 QString list; 108 QString list;
115 QTextStream t(&f); 109 QTextStream t(&f);
116 t.setEncoding(QTextStream::UnicodeUTF8); 110 t.setEncoding(QTextStream::UnicodeUTF8);
117 if(count()>0) { 111 if(count()>0) {
118 for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { 112 for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) {
119// odebug << *it << oendl; 113 // odebug << *it << oendl;
120 t << *it << "\n"; 114 t << *it << "\n";
115 }
121 } 116 }
122 }
123// f.close();
124} 117}
125 118
126void Om3u::add(const QString &filePath) { //adds to m3u file 119void Om3u::add(const QString &filePath) { //adds to m3u file
@@ -128,22 +121,22 @@ void Om3u::add(const QString &filePath) { //adds to m3u file
128} 121}
129 122
130void Om3u::remove(const QString &filePath) { //removes from m3u list 123void Om3u::remove(const QString &filePath) { //removes from m3u list
131 QString list, currentFile; 124 QString list, currentFile;
132 if(count()>0) { 125 if(count()>0) {
133 for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { 126 for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) {
134 currentFile=*it; 127 currentFile=*it;
135 // odebug << *it << oendl; 128 // odebug << *it << oendl;
136 129
137 if( filePath != currentFile) 130 if( filePath != currentFile)
138 list += currentFile+"\n"; 131 list += currentFile+"\n";
132 }
133 f.writeBlock( list, list.length() );
139 } 134 }
140 f.writeBlock( list, list.length() );
141 }
142} 135}
143 136
144void Om3u::deleteFile(const QString &/*filePath*/) {//deletes m3u file 137void Om3u::deleteFile(const QString &/*filePath*/) {//deletes m3u file
145 f.close(); 138 f.close();
146 f.remove(); 139 f.remove();
147 140
148} 141}
149 142