author | llornkcor <llornkcor> | 2004-02-09 18:44:58 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-02-09 18:44:58 (UTC) |
commit | da2559d959567db6a1501e62aa9b2c7c693cc074 (patch) (unidiff) | |
tree | ccbacc2fbed3dab16b0da4c8d1524368d11e40f3 | |
parent | 31fb2e7e1ea652abefc82febbc5739198fa6aaa7 (diff) | |
download | opie-da2559d959567db6a1501e62aa9b2c7c693cc074.zip opie-da2559d959567db6a1501e62aa9b2c7c693cc074.tar.gz opie-da2559d959567db6a1501e62aa9b2c7c693cc074.tar.bz2 |
utf8 patch from Nikita V. Youshchenko <yoush@cs.msu.su>
-rw-r--r-- | core/multimedia/opieplayer/om3u.cpp | 7 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 2 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/om3u.cpp | 13 |
3 files changed, 14 insertions, 8 deletions
diff --git a/core/multimedia/opieplayer/om3u.cpp b/core/multimedia/opieplayer/om3u.cpp index 8b92a8c..778eb22 100644 --- a/core/multimedia/opieplayer/om3u.cpp +++ b/core/multimedia/opieplayer/om3u.cpp | |||
@@ -54,62 +54,64 @@ static inline QString fullBaseName ( const QFileInfo &fi ) | |||
54 | 54 | ||
55 | 55 | ||
56 | //extern PlayListWidget *playList; | 56 | //extern PlayListWidget *playList; |
57 | 57 | ||
58 | Om3u::Om3u( const QString &filePath, int mode) | 58 | Om3u::Om3u( const QString &filePath, int mode) |
59 | : QStringList (){ | 59 | : QStringList (){ |
60 | //qDebug("<<<<<<<new m3u "+filePath); | 60 | //qDebug("<<<<<<<new m3u "+filePath); |
61 | f.setName(filePath); | 61 | f.setName(filePath); |
62 | f.open(mode); | 62 | f.open(mode); |
63 | } | 63 | } |
64 | 64 | ||
65 | Om3u::~Om3u(){} | 65 | Om3u::~Om3u(){} |
66 | 66 | ||
67 | void Om3u::readM3u() { | 67 | void Om3u::readM3u() { |
68 | // qDebug("<<<<<<reading m3u "+f.name()); | 68 | // qDebug("<<<<<<reading m3u "+f.name()); |
69 | QTextStream t(&f); | 69 | QTextStream t(&f); |
70 | t.setEncoding(QTextStream::UnicodeUTF8); | ||
70 | QString s; | 71 | QString s; |
71 | while ( !t.atEnd() ) { | 72 | while ( !t.atEnd() ) { |
72 | s=t.readLine(); | 73 | s=t.readLine(); |
73 | // qDebug(s); | 74 | // qDebug(s); |
74 | if( s.find( "#", 0, TRUE) == -1 ) { | 75 | if( s.find( "#", 0, TRUE) == -1 ) { |
75 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { | 76 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { |
76 | s = s.right( s.length() -2 ); | 77 | s = s.right( s.length() -2 ); |
77 | QFileInfo f( s ); | 78 | QFileInfo f( s ); |
78 | QString name = fullBaseName ( f ); | 79 | QString name = fullBaseName ( f ); |
79 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); | 80 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); |
80 | s=s.replace( QRegExp( "\\" ), "/" ); | 81 | s=s.replace( QRegExp( "\\" ), "/" ); |
81 | append(s); | 82 | append(s); |
82 | // qDebug(s); | 83 | // qDebug(s); |
83 | } else { // is url | 84 | } else { // is url |
84 | s.replace( QRegExp( "%20" )," " ); | 85 | s.replace( QRegExp( "%20" )," " ); |
85 | QString name; | 86 | QString name; |
86 | // if( name.left( 4 ) == "http" ) { | 87 | // if( name.left( 4 ) == "http" ) { |
87 | // name = s.right( s.length() - 7 ); | 88 | // name = s.right( s.length() - 7 ); |
88 | // } else { | 89 | // } else { |
89 | name = s; | 90 | name = s; |
90 | // } | 91 | // } |
91 | append(name); | 92 | append(name); |
92 | // qDebug(name); | 93 | // qDebug(name); |
93 | } | 94 | } |
94 | } | 95 | } |
95 | } | 96 | } |
96 | } | 97 | } |
97 | 98 | ||
98 | void Om3u::readPls() { //it's a pls file | 99 | void Om3u::readPls() { //it's a pls file |
99 | QTextStream t( &f ); | 100 | QTextStream t( &f ); |
101 | t.setEncoding(QTextStream::UnicodeUTF8); | ||
100 | QString s; | 102 | QString s; |
101 | while ( !t.atEnd() ) { | 103 | while ( !t.atEnd() ) { |
102 | s = t.readLine(); | 104 | s = t.readLine(); |
103 | if( s.left(4) == "File" ) { | 105 | if( s.left(4) == "File" ) { |
104 | s = s.right( s.length() - 6 ); | 106 | s = s.right( s.length() - 6 ); |
105 | s.replace( QRegExp( "%20" )," "); | 107 | s.replace( QRegExp( "%20" )," "); |
106 | // qDebug( "adding " + s + " to playlist" ); | 108 | // qDebug( "adding " + s + " to playlist" ); |
107 | // numberofentries=2 | 109 | // numberofentries=2 |
108 | // File1=http | 110 | // File1=http |
109 | // Title | 111 | // Title |
110 | // Length | 112 | // Length |
111 | // Version | 113 | // Version |
112 | // File2=http | 114 | // File2=http |
113 | s = s.replace( QRegExp( "\\" ), "/" ); | 115 | s = s.replace( QRegExp( "\\" ), "/" ); |
114 | QFileInfo f( s ); | 116 | QFileInfo f( s ); |
115 | QString name = fullBaseName ( f ); | 117 | QString name = fullBaseName ( f ); |
@@ -120,38 +122,39 @@ void Om3u::readPls() { //it's a pls file | |||
120 | } | 122 | } |
121 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); | 123 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); |
122 | if( s.at( s.length() - 4) == '.') // if this is probably a file | 124 | if( s.at( s.length() - 4) == '.') // if this is probably a file |
123 | append(s); | 125 | append(s); |
124 | else { //if its a url | 126 | else { //if its a url |
125 | if( name.right( 1 ).find( '/' ) == -1) { | 127 | if( name.right( 1 ).find( '/' ) == -1) { |
126 | s += "/"; | 128 | s += "/"; |
127 | } | 129 | } |
128 | append(s); | 130 | append(s); |
129 | } | 131 | } |
130 | } | 132 | } |
131 | } | 133 | } |
132 | } | 134 | } |
133 | 135 | ||
134 | void Om3u::write() { //writes list to m3u file | 136 | void Om3u::write() { //writes list to m3u file |
135 | QString list; | 137 | QString list; |
138 | QTextStream t(&f); | ||
139 | t.setEncoding(QTextStream::UnicodeUTF8); | ||
136 | if(count()>0) { | 140 | if(count()>0) { |
137 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 141 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
138 | // qDebug(*it); | 142 | // qDebug(*it); |
139 | list += *it+"\n"; | 143 | t << *it << "\n"; |
140 | } | 144 | } |
141 | f.writeBlock( list, list.length() ); | ||
142 | } | 145 | } |
143 | // f.close(); | 146 | // f.close(); |
144 | } | 147 | } |
145 | 148 | ||
146 | void Om3u::add(const QString &filePath) { //adds to m3u file | 149 | void Om3u::add(const QString &filePath) { //adds to m3u file |
147 | append(filePath); | 150 | append(filePath); |
148 | } | 151 | } |
149 | 152 | ||
150 | void Om3u::remove(const QString &filePath) { //removes from m3u list | 153 | void Om3u::remove(const QString &filePath) { //removes from m3u list |
151 | QString list, currentFile; | 154 | QString list, currentFile; |
152 | if(count()>0) { | 155 | if(count()>0) { |
153 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 156 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
154 | currentFile=*it; | 157 | currentFile=*it; |
155 | // qDebug(*it); | 158 | // qDebug(*it); |
156 | 159 | ||
157 | if( filePath != currentFile) | 160 | if( filePath != currentFile) |
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 00cfa33..664ec65 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp | |||
@@ -194,33 +194,33 @@ int Lib::subVersion() { | |||
194 | xine_get_version ( &major, &minor, &sub ); | 194 | xine_get_version ( &major, &minor, &sub ); |
195 | return sub; | 195 | return sub; |
196 | } | 196 | } |
197 | 197 | ||
198 | int Lib::play( const QString& fileName, int startPos, int start_time ) { | 198 | int Lib::play( const QString& fileName, int startPos, int start_time ) { |
199 | assert( m_initialized ); | 199 | assert( m_initialized ); |
200 | // FIXME actually a hack imho. Should not be needed to dispose the whole stream | 200 | // FIXME actually a hack imho. Should not be needed to dispose the whole stream |
201 | // but without we get wrong media length reads from libxine for the second media | 201 | // but without we get wrong media length reads from libxine for the second media |
202 | //xine_dispose ( m_stream ); | 202 | //xine_dispose ( m_stream ); |
203 | 203 | ||
204 | QString str = fileName.stripWhiteSpace(); | 204 | QString str = fileName.stripWhiteSpace(); |
205 | 205 | ||
206 | //m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput ); | 206 | //m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput ); |
207 | //m_queue = xine_event_new_queue (m_stream); | 207 | //m_queue = xine_event_new_queue (m_stream); |
208 | //xine_event_create_listener_thread (m_queue, xine_event_handler, this); | 208 | //xine_event_create_listener_thread (m_queue, xine_event_handler, this); |
209 | 209 | ||
210 | if ( !xine_open( m_stream, QFile::encodeName(str.utf8() ).data() ) ) { | 210 | if ( !xine_open( m_stream, str.utf8().data() ) ) { |
211 | return 0; | 211 | return 0; |
212 | } | 212 | } |
213 | return xine_play( m_stream, startPos, start_time); | 213 | return xine_play( m_stream, startPos, start_time); |
214 | } | 214 | } |
215 | 215 | ||
216 | void Lib::stop() { | 216 | void Lib::stop() { |
217 | assert( m_initialized ); | 217 | assert( m_initialized ); |
218 | 218 | ||
219 | qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); | 219 | qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); |
220 | xine_stop( m_stream ); | 220 | xine_stop( m_stream ); |
221 | } | 221 | } |
222 | 222 | ||
223 | void Lib::pause( bool toggle ) { | 223 | void Lib::pause( bool toggle ) { |
224 | assert( m_initialized ); | 224 | assert( m_initialized ); |
225 | 225 | ||
226 | xine_set_param( m_stream, XINE_PARAM_SPEED, toggle ? XINE_SPEED_PAUSE : XINE_SPEED_NORMAL ); | 226 | xine_set_param( m_stream, XINE_PARAM_SPEED, toggle ? XINE_SPEED_PAUSE : XINE_SPEED_NORMAL ); |
diff --git a/noncore/multimedia/opieplayer2/om3u.cpp b/noncore/multimedia/opieplayer2/om3u.cpp index 7183fb4..69e87e7 100644 --- a/noncore/multimedia/opieplayer2/om3u.cpp +++ b/noncore/multimedia/opieplayer2/om3u.cpp | |||
@@ -47,57 +47,59 @@ | |||
47 | #include <qcstring.h> | 47 | #include <qcstring.h> |
48 | 48 | ||
49 | //extern PlayListWidget *playList; | 49 | //extern PlayListWidget *playList; |
50 | 50 | ||
51 | Om3u::Om3u( const QString &filePath, int mode) | 51 | Om3u::Om3u( const QString &filePath, int mode) |
52 | : QStringList (){ | 52 | : QStringList (){ |
53 | qDebug("<<<<<<<new m3u "+filePath); | 53 | qDebug("<<<<<<<new m3u "+filePath); |
54 | f.setName(filePath); | 54 | f.setName(filePath); |
55 | f.open(mode); | 55 | f.open(mode); |
56 | } | 56 | } |
57 | 57 | ||
58 | Om3u::~Om3u(){} | 58 | Om3u::~Om3u(){} |
59 | 59 | ||
60 | void Om3u::readM3u() { | 60 | void Om3u::readM3u() { |
61 | // qDebug("<<<<<<reading m3u "+f.name()); | 61 | // qDebug("<<<<<<reading m3u "+f.name()); |
62 | QTextStream t(&f); | 62 | QTextStream t(&f); |
63 | QString s; | 63 | t.setEncoding(QTextStream::UnicodeUTF8); |
64 | QString s; | ||
64 | while ( !t.atEnd() ) { | 65 | while ( !t.atEnd() ) { |
65 | s=t.readLine(); | 66 | s=t.readLine(); |
66 | // qDebug(s); | 67 | // qDebug(s); |
67 | if( s.find( "#", 0, TRUE) == -1 ) { | 68 | if( s.find( "#", 0, TRUE) == -1 ) { |
68 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { | 69 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { |
69 | s = s.right( s.length() -2 ); | 70 | s = s.right( s.length() -2 ); |
70 | QFileInfo f( s ); | 71 | QFileInfo f( s ); |
71 | QString name = f.baseName(); | 72 | QString name = f.baseName(); |
72 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); | 73 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); |
73 | s=s.replace( QRegExp( "\\" ), "/" ); | 74 | s=s.replace( QRegExp( "\\" ), "/" ); |
74 | append(s); | 75 | append(s); |
75 | // qDebug(s); | 76 | // qDebug(s); |
76 | } else { // is url | 77 | } else { // is url |
77 | QString name; | 78 | QString name; |
78 | name = s; | 79 | name = s; |
79 | append(name); | 80 | append(name); |
80 | } | 81 | } |
81 | } | 82 | } |
82 | } | 83 | } |
83 | } | 84 | } |
84 | 85 | ||
85 | void Om3u::readPls() { //it's a pls file | 86 | void Om3u::readPls() { //it's a pls file |
86 | QTextStream t( &f ); | 87 | QTextStream t( &f ); |
87 | QString s; | 88 | t.setEncoding(QTextStream::UnicodeUTF8); |
89 | QString s; | ||
88 | while ( !t.atEnd() ) { | 90 | while ( !t.atEnd() ) { |
89 | s = t.readLine(); | 91 | s = t.readLine(); |
90 | if( s.left(4) == "File" ) { | 92 | if( s.left(4) == "File" ) { |
91 | s = s.right( s.length() - s.find("=",0,true)-1 ); | 93 | s = s.right( s.length() - s.find("=",0,true)-1 ); |
92 | s = s.stripWhiteSpace(); | 94 | s = s.stripWhiteSpace(); |
93 | s.replace( QRegExp( "%20" )," "); | 95 | s.replace( QRegExp( "%20" )," "); |
94 | // qDebug( "adding " + s + " to playlist" ); | 96 | // qDebug( "adding " + s + " to playlist" ); |
95 | // numberofentries=2 | 97 | // numberofentries=2 |
96 | // File1=http | 98 | // File1=http |
97 | // Title | 99 | // Title |
98 | // Length | 100 | // Length |
99 | // Version | 101 | // Version |
100 | // File2=http | 102 | // File2=http |
101 | s = s.replace( QRegExp( "\\" ), "/" ); | 103 | s = s.replace( QRegExp( "\\" ), "/" ); |
102 | QFileInfo f( s ); | 104 | QFileInfo f( s ); |
103 | QString name = f.baseName(); | 105 | QString name = f.baseName(); |
@@ -108,38 +110,39 @@ void Om3u::readPls() { //it's a pls file | |||
108 | } | 110 | } |
109 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); | 111 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); |
110 | if( s.at( s.length() - 4) == '.') // if this is probably a file | 112 | if( s.at( s.length() - 4) == '.') // if this is probably a file |
111 | append(s); | 113 | append(s); |
112 | else { //if its a url | 114 | else { //if its a url |
113 | // if( name.right( 1 ).find( '/' ) == -1) { | 115 | // if( name.right( 1 ).find( '/' ) == -1) { |
114 | // s += "/"; | 116 | // s += "/"; |
115 | // } | 117 | // } |
116 | append(s); | 118 | append(s); |
117 | } | 119 | } |
118 | } | 120 | } |
119 | } | 121 | } |
120 | } | 122 | } |
121 | 123 | ||
122 | void Om3u::write() { //writes list to m3u file | 124 | void Om3u::write() { //writes list to m3u file |
123 | QString list; | 125 | QString list; |
124 | if(count()>0) { | 126 | QTextStream t(&f); |
127 | t.setEncoding(QTextStream::UnicodeUTF8); | ||
128 | if(count()>0) { | ||
125 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 129 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
126 | // qDebug(*it); | 130 | // qDebug(*it); |
127 | list += *it+"\n"; | 131 | t << *it << "\n"; |
128 | } | 132 | } |
129 | f.writeBlock( list, list.length() ); | ||
130 | } | 133 | } |
131 | // f.close(); | 134 | // f.close(); |
132 | } | 135 | } |
133 | 136 | ||
134 | void Om3u::add(const QString &filePath) { //adds to m3u file | 137 | void Om3u::add(const QString &filePath) { //adds to m3u file |
135 | append(filePath); | 138 | append(filePath); |
136 | } | 139 | } |
137 | 140 | ||
138 | void Om3u::remove(const QString &filePath) { //removes from m3u list | 141 | void Om3u::remove(const QString &filePath) { //removes from m3u list |
139 | QString list, currentFile; | 142 | QString list, currentFile; |
140 | if(count()>0) { | 143 | if(count()>0) { |
141 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 144 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
142 | currentFile=*it; | 145 | currentFile=*it; |
143 | // qDebug(*it); | 146 | // qDebug(*it); |
144 | 147 | ||
145 | if( filePath != currentFile) | 148 | if( filePath != currentFile) |