summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-04-26 02:02:26 (UTC)
committer llornkcor <llornkcor>2003-04-26 02:02:26 (UTC)
commit908a099ba19192dcb341959125efce6cf0df20f1 (patch) (unidiff)
treead59a689d097b1a4ffccb3ca849e936c48a9cad0
parent4a5b422ef2410d89aa1c3624da2ead151d815ecd (diff)
downloadopie-908a099ba19192dcb341959125efce6cf0df20f1.zip
opie-908a099ba19192dcb341959125efce6cf0df20f1.tar.gz
opie-908a099ba19192dcb341959125efce6cf0df20f1.tar.bz2
change playlist file access mode when writing
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 795feaf..c6de5e6 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -1015,480 +1015,480 @@ void PlayListWidget::populateAudioView() {
1015 for( ; it.current(); ++it ){ 1015 for( ; it.current(); ++it ){
1016 const QString name = (*it)->name(); 1016 const QString name = (*it)->name();
1017 const QString path = (*it)->path(); 1017 const QString path = (*it)->path();
1018 if(dit.current()->file().find(path) != -1 ) storage=name; 1018 if(dit.current()->file().find(path) != -1 ) storage=name;
1019 } 1019 }
1020 1020
1021 QListViewItem * newItem; 1021 QListViewItem * newItem;
1022 if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) { 1022 if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) {
1023 long size; 1023 long size;
1024 if( dit.current()->file().left(4) == "http" ) 1024 if( dit.current()->file().left(4) == "http" )
1025 size=0; 1025 size=0;
1026 else 1026 else
1027 size = QFile( dit.current()->file() ).size(); 1027 size = QFile( dit.current()->file() ).size();
1028// qDebug(dit.current()->name()); 1028// qDebug(dit.current()->name());
1029 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), 1029 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(),
1030 QString::number(size ), storage, dit.current()->file()); 1030 QString::number(size ), storage, dit.current()->file());
1031 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); 1031 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" ));
1032 } 1032 }
1033 } 1033 }
1034 1034
1035} 1035}
1036 1036
1037void PlayListWidget::populateVideoView() { 1037void PlayListWidget::populateVideoView() {
1038 videoView->clear(); 1038 videoView->clear();
1039 StorageInfo storageInfo; 1039 StorageInfo storageInfo;
1040 const QList<FileSystem> &fs = storageInfo.fileSystems(); 1040 const QList<FileSystem> &fs = storageInfo.fileSystems();
1041 1041
1042 if(!videoScan ) scanForVideo(); 1042 if(!videoScan ) scanForVideo();
1043 1043
1044 QListIterator<DocLnk> Vdit( vFiles.children() ); 1044 QListIterator<DocLnk> Vdit( vFiles.children() );
1045 QListIterator<FileSystem> it ( fs ); 1045 QListIterator<FileSystem> it ( fs );
1046 videoView->clear(); 1046 videoView->clear();
1047 QString storage; 1047 QString storage;
1048 for ( ; Vdit.current(); ++Vdit ) { 1048 for ( ; Vdit.current(); ++Vdit ) {
1049 for( ; it.current(); ++it ){ 1049 for( ; it.current(); ++it ){
1050 const QString name = (*it)->name(); 1050 const QString name = (*it)->name();
1051 const QString path = (*it)->path(); 1051 const QString path = (*it)->path();
1052 if( Vdit.current()->file().find(path) != -1 ) storage=name; 1052 if( Vdit.current()->file().find(path) != -1 ) storage=name;
1053 } 1053 }
1054 1054
1055 QListViewItem * newItem; 1055 QListViewItem * newItem;
1056 if ( QFile( Vdit.current()->file()).exists() ) { 1056 if ( QFile( Vdit.current()->file()).exists() ) {
1057 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), 1057 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(),
1058 QString::number( QFile( Vdit.current()->file() ).size() ), 1058 QString::number( QFile( Vdit.current()->file() ).size() ),
1059 storage, Vdit.current()->file()); 1059 storage, Vdit.current()->file());
1060 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); 1060 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" ));
1061 } 1061 }
1062 } 1062 }
1063} 1063}
1064 1064
1065void PlayListWidget::openFile() { 1065void PlayListWidget::openFile() {
1066 qDebug("<<<<<<<<<OPEN File"); 1066 qDebug("<<<<<<<<<OPEN File");
1067 QString filename, name; 1067 QString filename, name;
1068 InputDialog *fileDlg; 1068 InputDialog *fileDlg;
1069 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0); 1069 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
1070 fileDlg->exec(); 1070 fileDlg->exec();
1071 if( fileDlg->result() == 1 ) { 1071 if( fileDlg->result() == 1 ) {
1072 filename = fileDlg->text(); 1072 filename = fileDlg->text();
1073 qDebug( "Selected filename is " + filename ); 1073 qDebug( "Selected filename is " + filename );
1074// Om3u *m3uList; 1074// Om3u *m3uList;
1075 DocLnk lnk; 1075 DocLnk lnk;
1076 Config cfg( "OpiePlayer" ); 1076 Config cfg( "OpiePlayer" );
1077 cfg.setGroup("PlayList"); 1077 cfg.setGroup("PlayList");
1078 1078
1079 QString m3uFile; 1079 QString m3uFile;
1080 m3uFile = filename; 1080 m3uFile = filename;
1081 if(filename.left(4) == "http") { 1081 if(filename.left(4) == "http") {
1082 if(filename.find(":",8,TRUE) != -1) { //found a port 1082 if(filename.find(":",8,TRUE) != -1) { //found a port
1083 1083
1084// m3uFile = filename.left( filename.find( ":",8,TRUE)); 1084// m3uFile = filename.left( filename.find( ":",8,TRUE));
1085 m3uFile = filename; 1085 m3uFile = filename;
1086 if( m3uFile.right( 1 ).find( '/' ) == -1) { 1086 if( m3uFile.right( 1 ).find( '/' ) == -1) {
1087 m3uFile += "/"; 1087 m3uFile += "/";
1088 } 1088 }
1089 filename = m3uFile; 1089 filename = m3uFile;
1090// qDebug("1 "+m3uFile); 1090// qDebug("1 "+m3uFile);
1091// } else if(filename.left(4) == "http"){ 1091// } else if(filename.left(4) == "http"){
1092// m3uFile=filename; 1092// m3uFile=filename;
1093// m3uFile = m3uFile.right( m3uFile.length() - 7); 1093// m3uFile = m3uFile.right( m3uFile.length() - 7);
1094// qDebug("2 "+m3uFile); 1094// qDebug("2 "+m3uFile);
1095// } else{ 1095// } else{
1096// m3uFile=filename; 1096// m3uFile=filename;
1097// qDebug("3 "+m3uFile); 1097// qDebug("3 "+m3uFile);
1098 } 1098 }
1099 lnk.setName( m3uFile ); //sets name 1099 lnk.setName( m3uFile ); //sets name
1100 lnk.setFile( filename ); //sets file name 1100 lnk.setFile( filename ); //sets file name
1101 lnk.setIcon("opieplayer2/musicfile"); 1101 lnk.setIcon("opieplayer2/musicfile");
1102 d->selectedFiles->addToSelection( lnk ); 1102 d->selectedFiles->addToSelection( lnk );
1103 writeCurrentM3u(); 1103 writeCurrentM3u();
1104 } 1104 }
1105 else if( filename.right( 3) == "m3u" ) { 1105 else if( filename.right( 3) == "m3u" ) {
1106 readm3u( filename ); 1106 readm3u( filename );
1107 1107
1108 } else if( filename.right(3) == "pls" ) { 1108 } else if( filename.right(3) == "pls" ) {
1109 readPls( filename ); 1109 readPls( filename );
1110 } else { 1110 } else {
1111 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name 1111 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name
1112 lnk.setFile( filename ); //sets file name 1112 lnk.setFile( filename ); //sets file name
1113 d->selectedFiles->addToSelection( lnk); 1113 d->selectedFiles->addToSelection( lnk);
1114 writeCurrentM3u(); 1114 writeCurrentM3u();
1115 } 1115 }
1116 } 1116 }
1117 1117
1118 if( fileDlg ) { 1118 if( fileDlg ) {
1119 delete fileDlg; 1119 delete fileDlg;
1120 } 1120 }
1121} 1121}
1122 1122
1123 1123
1124/* 1124/*
1125reads m3u and shows files/urls to playlist widget */ 1125reads m3u and shows files/urls to playlist widget */
1126void PlayListWidget::readm3u( const QString &filename ) { 1126void PlayListWidget::readm3u( const QString &filename ) {
1127 qDebug( "read m3u filename " + filename ); 1127 qDebug( "read m3u filename " + filename );
1128 1128
1129 Om3u *m3uList; 1129 Om3u *m3uList;
1130 QString s, name; 1130 QString s, name;
1131 m3uList = new Om3u( filename, IO_ReadOnly ); 1131 m3uList = new Om3u( filename, IO_ReadOnly );
1132 m3uList->readM3u(); 1132 m3uList->readM3u();
1133 DocLnk lnk; 1133 DocLnk lnk;
1134 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) { 1134 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) {
1135 s = *it; 1135 s = *it;
1136// qDebug("reading "+ s); 1136// qDebug("reading "+ s);
1137 if(s.left(4)=="http") { 1137 if(s.left(4)=="http") {
1138 lnk.setName( s ); //sets file name 1138 lnk.setName( s ); //sets file name
1139 lnk.setIcon("opieplayer2/musicfile"); 1139 lnk.setIcon("opieplayer2/musicfile");
1140 1140
1141// if(s.right(4) != '.' || s.right(5) != '.') 1141// if(s.right(4) != '.' || s.right(5) != '.')
1142 if(s.right(4) != '.' || s.right(5) != '.' ) 1142 if(s.right(4) != '.' || s.right(5) != '.' )
1143 if( s.right(1) != "/") 1143 if( s.right(1) != "/")
1144 lnk.setFile( s+"/"); //if url with no extension 1144 lnk.setFile( s+"/"); //if url with no extension
1145 else 1145 else
1146 lnk.setFile( s ); //sets file name 1146 lnk.setFile( s ); //sets file name
1147 1147
1148 } else { 1148 } else {
1149 // if( QFileInfo( s ).exists() ) { 1149 // if( QFileInfo( s ).exists() ) {
1150 lnk.setName( fullBaseName ( QFileInfo(s))); 1150 lnk.setName( fullBaseName ( QFileInfo(s)));
1151 // if(s.right(4) == '.') {//if regular file 1151 // if(s.right(4) == '.') {//if regular file
1152 if(s.left(1) != "/") { 1152 if(s.left(1) != "/") {
1153 // qDebug("set link "+QFileInfo(filename).dirPath()+"/"+s); 1153 // qDebug("set link "+QFileInfo(filename).dirPath()+"/"+s);
1154 lnk.setFile( QFileInfo(filename).dirPath()+"/"+s); 1154 lnk.setFile( QFileInfo(filename).dirPath()+"/"+s);
1155 lnk.setIcon("SoundPlayer"); 1155 lnk.setIcon("SoundPlayer");
1156 } else { 1156 } else {
1157 // qDebug("set link2 "+s); 1157 // qDebug("set link2 "+s);
1158 lnk.setFile( s); 1158 lnk.setFile( s);
1159 lnk.setIcon("SoundPlayer"); 1159 lnk.setIcon("SoundPlayer");
1160 } 1160 }
1161 } 1161 }
1162 d->selectedFiles->addToSelection( lnk ); 1162 d->selectedFiles->addToSelection( lnk );
1163 } 1163 }
1164 Config config( "OpiePlayer" ); 1164 Config config( "OpiePlayer" );
1165 config.setGroup( "PlayList" ); 1165 config.setGroup( "PlayList" );
1166 1166
1167 config.writeEntry("CurrentPlaylist",filename); 1167 config.writeEntry("CurrentPlaylist",filename);
1168 config.write(); 1168 config.write();
1169 currentPlayList=filename; 1169 currentPlayList=filename;
1170 1170
1171// m3uList->write(); 1171// m3uList->write();
1172 m3uList->close(); 1172 m3uList->close();
1173 if(m3uList) delete m3uList; 1173 if(m3uList) delete m3uList;
1174 1174
1175 d->selectedFiles->setSelectedItem( s); 1175 d->selectedFiles->setSelectedItem( s);
1176 setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(filename))); 1176 setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(filename)));
1177 1177
1178} 1178}
1179 1179
1180/* 1180/*
1181reads pls and adds files/urls to playlist */ 1181reads pls and adds files/urls to playlist */
1182void PlayListWidget::readPls( const QString &filename ) { 1182void PlayListWidget::readPls( const QString &filename ) {
1183 1183
1184 qDebug( "pls filename is " + filename ); 1184 qDebug( "pls filename is " + filename );
1185 Om3u *m3uList; 1185 Om3u *m3uList;
1186 QString s, name; 1186 QString s, name;
1187 m3uList = new Om3u( filename, IO_ReadOnly ); 1187 m3uList = new Om3u( filename, IO_ReadOnly );
1188 m3uList->readPls(); 1188 m3uList->readPls();
1189 1189
1190 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) { 1190 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) {
1191 s = *it; 1191 s = *it;
1192 // s.replace( QRegExp( "%20" )," " ); 1192 // s.replace( QRegExp( "%20" )," " );
1193 DocLnk lnk( s ); 1193 DocLnk lnk( s );
1194 QFileInfo f( s ); 1194 QFileInfo f( s );
1195 QString name = fullBaseName ( f); 1195 QString name = fullBaseName ( f);
1196 1196
1197 if( name.left( 4 ) == "http" ) { 1197 if( name.left( 4 ) == "http" ) {
1198 name = s.right( s.length() - 7); 1198 name = s.right( s.length() - 7);
1199 } else { 1199 } else {
1200 name = s; 1200 name = s;
1201 } 1201 }
1202 1202
1203 name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); 1203 name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 );
1204 1204
1205 lnk.setName( name ); 1205 lnk.setName( name );
1206 if( s.at( s.length() - 4) == '.') {// if this is probably a file 1206 if( s.at( s.length() - 4) == '.') {// if this is probably a file
1207 lnk.setFile( s ); 1207 lnk.setFile( s );
1208 } else { //if its a url 1208 } else { //if its a url
1209 if( name.right( 1 ).find( '/' ) == -1) { 1209 if( name.right( 1 ).find( '/' ) == -1) {
1210 s += "/"; 1210 s += "/";
1211 } 1211 }
1212 lnk.setFile( s ); 1212 lnk.setFile( s );
1213 } 1213 }
1214 lnk.setType( "audio/x-mpegurl" ); 1214 lnk.setType( "audio/x-mpegurl" );
1215 1215
1216 lnk.writeLink(); 1216 lnk.writeLink();
1217 d->selectedFiles->addToSelection( lnk ); 1217 d->selectedFiles->addToSelection( lnk );
1218 } 1218 }
1219 1219
1220 m3uList->close(); 1220 m3uList->close();
1221 if(m3uList) delete m3uList; 1221 if(m3uList) delete m3uList;
1222} 1222}
1223 1223
1224/* 1224/*
1225 writes current playlist to current m3u file */ 1225 writes current playlist to current m3u file */
1226void PlayListWidget::writeCurrentM3u() { 1226void PlayListWidget::writeCurrentM3u() {
1227 qDebug("writing to current m3u"); 1227 qDebug("writing to current m3u");
1228 Config cfg( "OpiePlayer" ); 1228 Config cfg( "OpiePlayer" );
1229 cfg.setGroup("PlayList"); 1229 cfg.setGroup("PlayList");
1230 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 1230 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
1231 Om3u *m3uList; 1231 Om3u *m3uList;
1232 m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate ); 1232 m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate );
1233 1233
1234 if( d->selectedFiles->first()) { 1234 if( d->selectedFiles->first()) {
1235 do { 1235 do {
1236 qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file()); 1236 qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file());
1237 m3uList->add( d->selectedFiles->current()->file() ); 1237 m3uList->add( d->selectedFiles->current()->file() );
1238 } 1238 }
1239 while ( d->selectedFiles->next() ); 1239 while ( d->selectedFiles->next() );
1240 qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" ); 1240 qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" );
1241 m3uList->write(); 1241 m3uList->write();
1242 m3uList->close(); 1242 m3uList->close();
1243 1243
1244 if(m3uList) delete m3uList; 1244 if(m3uList) delete m3uList;
1245 } 1245 }
1246} 1246}
1247 1247
1248 /* 1248 /*
1249 writes current playlist to m3u file */ 1249 writes current playlist to m3u file */
1250void PlayListWidget::writem3u() { 1250void PlayListWidget::writem3u() {
1251 InputDialog *fileDlg; 1251 InputDialog *fileDlg;
1252 fileDlg = new InputDialog( this, tr( "Save m3u Playlist " ), TRUE, 0); 1252 fileDlg = new InputDialog( this, tr( "Save m3u Playlist " ), TRUE, 0);
1253 fileDlg->exec(); 1253 fileDlg->exec();
1254 QString name, filename, list; 1254 QString name, filename, list;
1255 Om3u *m3uList; 1255 Om3u *m3uList;
1256 1256
1257 if( fileDlg->result() == 1 ) { 1257 if( fileDlg->result() == 1 ) {
1258 name = fileDlg->text(); 1258 name = fileDlg->text();
1259// qDebug( filename ); 1259// qDebug( filename );
1260 if( name.find("/",0,true) != -1) {// assume they specify a file path 1260 if( name.find("/",0,true) != -1) {// assume they specify a file path
1261 filename = name; 1261 filename = name;
1262 name = name.right(name.length()- name.findRev("/",-1,true) - 1 ); 1262 name = name.right(name.length()- name.findRev("/",-1,true) - 1 );
1263 } 1263 }
1264 else //otherwise dump it somewhere noticable 1264 else //otherwise dump it somewhere noticable
1265 filename = QPEApplication::documentDir() + "/" + name; 1265 filename = QPEApplication::documentDir() + "/" + name;
1266 1266
1267 if( filename.right( 3 ) != "m3u" ) //needs filename extension 1267 if( filename.right( 3 ) != "m3u" ) //needs filename extension
1268 filename += ".m3u"; 1268 filename += ".m3u";
1269 1269
1270 if( d->selectedFiles->first()) { 1270 if( d->selectedFiles->first()) {
1271 m3uList = new Om3u(filename, IO_ReadWrite); 1271 m3uList = new Om3u(filename, IO_ReadWrite | IO_Truncate);
1272 1272
1273 do { 1273 do {
1274 m3uList->add( d->selectedFiles->current()->file()); 1274 m3uList->add( d->selectedFiles->current()->file());
1275 } 1275 }
1276 while ( d->selectedFiles->next() ); 1276 while ( d->selectedFiles->next() );
1277 // qDebug( list ); 1277 // qDebug( list );
1278 m3uList->write(); 1278 m3uList->write();
1279 m3uList->close(); 1279 m3uList->close();
1280 if(m3uList) delete m3uList; 1280 if(m3uList) delete m3uList;
1281 1281
1282 if(fileDlg) delete fileDlg; 1282 if(fileDlg) delete fileDlg;
1283 1283
1284 DocLnk lnk; 1284 DocLnk lnk;
1285 lnk.setFile( filename); 1285 lnk.setFile( filename);
1286 lnk.setIcon("opieplayer2/playlist2"); 1286 lnk.setIcon("opieplayer2/playlist2");
1287 lnk.setName( name); //sets file name 1287 lnk.setName( name); //sets file name
1288 1288
1289 // qDebug(filename); 1289 // qDebug(filename);
1290 Config config( "OpiePlayer" ); 1290 Config config( "OpiePlayer" );
1291 config.setGroup( "PlayList" ); 1291 config.setGroup( "PlayList" );
1292 1292
1293 config.writeEntry("CurrentPlaylist",filename); 1293 config.writeEntry("CurrentPlaylist",filename);
1294 currentPlayList=filename; 1294 currentPlayList=filename;
1295 1295
1296 if(!lnk.writeLink()) { 1296 if(!lnk.writeLink()) {
1297 qDebug("Writing doclink did not work"); 1297 qDebug("Writing doclink did not work");
1298 } 1298 }
1299 1299
1300 setCaption(tr("OpiePlayer: ") + name); 1300 setCaption(tr("OpiePlayer: ") + name);
1301 } 1301 }
1302 } 1302 }
1303} 1303}
1304 1304
1305 1305
1306void PlayListWidget::keyReleaseEvent( QKeyEvent *e) 1306void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
1307{ 1307{
1308 switch ( e->key() ) { 1308 switch ( e->key() ) {
1309////////////////////////////// Zaurus keys 1309////////////////////////////// Zaurus keys
1310 case Key_F9: //activity 1310 case Key_F9: //activity
1311// if(audioUI->isHidden()) 1311// if(audioUI->isHidden())
1312// audioUI->showMaximized(); 1312// audioUI->showMaximized();
1313 break; 1313 break;
1314 case Key_F10: //contacts 1314 case Key_F10: //contacts
1315// if( videoUI->isHidden()) 1315// if( videoUI->isHidden())
1316// videoUI->showMaximized(); 1316// videoUI->showMaximized();
1317 break; 1317 break;
1318 case Key_F11: //menu 1318 case Key_F11: //menu
1319 break; 1319 break;
1320 case Key_F12: //home 1320 case Key_F12: //home
1321// doBlank(); 1321// doBlank();
1322 break; 1322 break;
1323 case Key_F13: //mail 1323 case Key_F13: //mail
1324// doUnblank(); 1324// doUnblank();
1325 break; 1325 break;
1326 case Key_Q: //add to playlist 1326 case Key_Q: //add to playlist
1327 qDebug("Add"); 1327 qDebug("Add");
1328 addSelected(); 1328 addSelected();
1329 break; 1329 break;
1330 case Key_R: //remove from playlist 1330 case Key_R: //remove from playlist
1331 removeSelected(); 1331 removeSelected();
1332 break; 1332 break;
1333// case Key_P: //play 1333// case Key_P: //play
1334// qDebug("Play"); 1334// qDebug("Play");
1335// playSelected(); 1335// playSelected();
1336// break; 1336// break;
1337 case Key_Space: 1337 case Key_Space:
1338 qDebug("Play"); 1338 qDebug("Play");
1339// playSelected(); puh 1339// playSelected(); puh
1340 break; 1340 break;
1341 case Key_1: 1341 case Key_1:
1342 tabWidget->setCurrentPage(0); 1342 tabWidget->setCurrentPage(0);
1343 break; 1343 break;
1344 case Key_2: 1344 case Key_2:
1345 tabWidget->setCurrentPage(1); 1345 tabWidget->setCurrentPage(1);
1346 break; 1346 break;
1347 case Key_3: 1347 case Key_3:
1348 tabWidget->setCurrentPage(2); 1348 tabWidget->setCurrentPage(2);
1349 break; 1349 break;
1350 case Key_4: 1350 case Key_4:
1351 tabWidget->setCurrentPage(3); 1351 tabWidget->setCurrentPage(3);
1352 break; 1352 break;
1353 case Key_Down: 1353 case Key_Down:
1354 if ( !d->selectedFiles->next() ) 1354 if ( !d->selectedFiles->next() )
1355 d->selectedFiles->first(); 1355 d->selectedFiles->first();
1356 1356
1357 break; 1357 break;
1358 case Key_Up: 1358 case Key_Up:
1359 if ( !d->selectedFiles->prev() ) 1359 if ( !d->selectedFiles->prev() )
1360 // d->selectedFiles->last(); 1360 // d->selectedFiles->last();
1361 1361
1362 break; 1362 break;
1363 1363
1364 } 1364 }
1365} 1365}
1366 1366
1367void PlayListWidget::keyPressEvent( QKeyEvent *) 1367void PlayListWidget::keyPressEvent( QKeyEvent *)
1368{ 1368{
1369// qDebug("Key press"); 1369// qDebug("Key press");
1370// switch ( e->key() ) { 1370// switch ( e->key() ) {
1371// ////////////////////////////// Zaurus keys 1371// ////////////////////////////// Zaurus keys
1372// case Key_A: //add to playlist 1372// case Key_A: //add to playlist
1373// qDebug("Add"); 1373// qDebug("Add");
1374// addSelected(); 1374// addSelected();
1375// break; 1375// break;
1376// case Key_R: //remove from playlist 1376// case Key_R: //remove from playlist
1377// removeSelected(); 1377// removeSelected();
1378// break; 1378// break;
1379// case Key_P: //play 1379// case Key_P: //play
1380// qDebug("Play"); 1380// qDebug("Play");
1381// playSelected(); 1381// playSelected();
1382// break; 1382// break;
1383// case Key_Space: 1383// case Key_Space:
1384// qDebug("Play"); 1384// qDebug("Play");
1385// playSelected(); 1385// playSelected();
1386// break; 1386// break;
1387// } 1387// }
1388} 1388}
1389 1389
1390void PlayListWidget::doBlank() { 1390void PlayListWidget::doBlank() {
1391 qDebug("do blanking"); 1391 qDebug("do blanking");
1392 fd=open("/dev/fb0",O_RDWR); 1392 fd=open("/dev/fb0",O_RDWR);
1393 if (fd != -1) { 1393 if (fd != -1) {
1394 ioctl(fd,FBIOBLANK,1); 1394 ioctl(fd,FBIOBLANK,1);
1395// close(fd); 1395// close(fd);
1396 } 1396 }
1397} 1397}
1398 1398
1399void PlayListWidget::doUnblank() { 1399void PlayListWidget::doUnblank() {
1400 // this crashes opieplayer with a segfault 1400 // this crashes opieplayer with a segfault
1401// int fd; 1401// int fd;
1402// fd=open("/dev/fb0",O_RDWR); 1402// fd=open("/dev/fb0",O_RDWR);
1403 qDebug("do unblanking"); 1403 qDebug("do unblanking");
1404 if (fd != -1) { 1404 if (fd != -1) {
1405 ioctl(fd,FBIOBLANK,0); 1405 ioctl(fd,FBIOBLANK,0);
1406 close(fd); 1406 close(fd);
1407 } 1407 }
1408 QCopEnvelope h("QPE/System", "setBacklight(int)"); 1408 QCopEnvelope h("QPE/System", "setBacklight(int)");
1409 h <<-3;// v[1]; // -3 Force on 1409 h <<-3;// v[1]; // -3 Force on
1410} 1410}
1411 1411
1412void PlayListWidget::populateSkinsMenu() { 1412void PlayListWidget::populateSkinsMenu() {
1413 int item = 0; 1413 int item = 0;
1414 defaultSkinIndex = 0; 1414 defaultSkinIndex = 0;
1415 QString skinName; 1415 QString skinName;
1416 Config cfg( "OpiePlayer" ); 1416 Config cfg( "OpiePlayer" );
1417 cfg.setGroup("Options" ); 1417 cfg.setGroup("Options" );
1418 QString skin = cfg.readEntry( "Skin", "default" ); 1418 QString skin = cfg.readEntry( "Skin", "default" );
1419 1419
1420 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" ); 1420 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" );
1421 skinsDir.setFilter( QDir::Dirs ); 1421 skinsDir.setFilter( QDir::Dirs );
1422 skinsDir.setSorting(QDir::Name ); 1422 skinsDir.setSorting(QDir::Name );
1423 const QFileInfoList *skinslist = skinsDir.entryInfoList(); 1423 const QFileInfoList *skinslist = skinsDir.entryInfoList();
1424 QFileInfoListIterator it( *skinslist ); 1424 QFileInfoListIterator it( *skinslist );
1425 QFileInfo *fi; 1425 QFileInfo *fi;
1426 while ( ( fi = it.current() ) ) { 1426 while ( ( fi = it.current() ) ) {
1427 skinName = fi->fileName(); 1427 skinName = fi->fileName();
1428// qDebug( fi->fileName() ); 1428// qDebug( fi->fileName() );
1429 if( skinName != "." && skinName != ".." && skinName !="CVS" ) { 1429 if( skinName != "." && skinName != ".." && skinName !="CVS" ) {
1430 item = skinsMenu->insertItem( fi->fileName() ) ; 1430 item = skinsMenu->insertItem( fi->fileName() ) ;
1431 } 1431 }
1432 if( skinName == "default" ) { 1432 if( skinName == "default" ) {
1433 defaultSkinIndex = item; 1433 defaultSkinIndex = item;
1434 } 1434 }
1435 if( skinName == skin ) { 1435 if( skinName == skin ) {
1436 skinsMenu->setItemChecked( item, TRUE ); 1436 skinsMenu->setItemChecked( item, TRUE );
1437 } 1437 }
1438 ++it; 1438 ++it;
1439 } 1439 }
1440} 1440}
1441 1441
1442void PlayListWidget::skinsMenuActivated( int item ) { 1442void PlayListWidget::skinsMenuActivated( int item ) {
1443 for( int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) { 1443 for( int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) {
1444 skinsMenu->setItemChecked( i, FALSE ); 1444 skinsMenu->setItemChecked( i, FALSE );
1445 } 1445 }
1446 skinsMenu->setItemChecked( item, TRUE ); 1446 skinsMenu->setItemChecked( item, TRUE );
1447 1447
1448 Config cfg( "OpiePlayer" ); 1448 Config cfg( "OpiePlayer" );
1449 cfg.setGroup("Options"); 1449 cfg.setGroup("Options");
1450 cfg.writeEntry("Skin", skinsMenu->text( item ) ); 1450 cfg.writeEntry("Skin", skinsMenu->text( item ) );
1451} 1451}
1452 1452
1453void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) { 1453void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) {
1454 qDebug("qcop message "+msg ); 1454 qDebug("qcop message "+msg );
1455 QDataStream stream ( data, IO_ReadOnly ); 1455 QDataStream stream ( data, IO_ReadOnly );
1456 if ( msg == "play()" ) { //plays current selection 1456 if ( msg == "play()" ) { //plays current selection
1457 btnPlay( true); 1457 btnPlay( true);
1458 } else if ( msg == "stop()" ) { 1458 } else if ( msg == "stop()" ) {
1459 mediaPlayerState->setPlaying( false); 1459 mediaPlayerState->setPlaying( false);
1460 } else if ( msg == "togglePause()" ) { 1460 } else if ( msg == "togglePause()" ) {
1461 mediaPlayerState->togglePaused(); 1461 mediaPlayerState->togglePaused();
1462 } else if ( msg == "next()" ) { //select next in list 1462 } else if ( msg == "next()" ) { //select next in list
1463 mediaPlayerState->setNext(); 1463 mediaPlayerState->setNext();
1464 } else if ( msg == "prev()" ) { //select previous in list 1464 } else if ( msg == "prev()" ) { //select previous in list
1465 mediaPlayerState->setPrev(); 1465 mediaPlayerState->setPrev();
1466 } else if ( msg == "toggleLooping()" ) { //loop or not loop 1466 } else if ( msg == "toggleLooping()" ) { //loop or not loop
1467 mediaPlayerState->toggleLooping(); 1467 mediaPlayerState->toggleLooping();
1468 } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled 1468 } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled
1469 mediaPlayerState->toggleShuffled(); 1469 mediaPlayerState->toggleShuffled();
1470 } else if ( msg == "volUp()" ) { //volume more 1470 } else if ( msg == "volUp()" ) { //volume more
1471// emit moreClicked(); 1471// emit moreClicked();
1472// emit moreReleased(); 1472// emit moreReleased();
1473 } else if ( msg == "volDown()" ) { //volume less 1473 } else if ( msg == "volDown()" ) { //volume less
1474// emit lessClicked(); 1474// emit lessClicked();
1475// emit lessReleased(); 1475// emit lessReleased();
1476 } else if ( msg == "play(QString)" ) { //play this now 1476 } else if ( msg == "play(QString)" ) { //play this now
1477 QString file; 1477 QString file;
1478 stream >> file; 1478 stream >> file;
1479 setDocument( (const QString &) file); 1479 setDocument( (const QString &) file);
1480 } else if ( msg == "add(QString)" ) { //add to playlist 1480 } else if ( msg == "add(QString)" ) { //add to playlist
1481 QString file; 1481 QString file;
1482 stream >> file; 1482 stream >> file;
1483 QFileInfo fileInfo(file); 1483 QFileInfo fileInfo(file);
1484 DocLnk lnk; 1484 DocLnk lnk;
1485 lnk.setName( fileInfo.baseName() ); //sets name 1485 lnk.setName( fileInfo.baseName() ); //sets name
1486 lnk.setFile( file ); //sets file name 1486 lnk.setFile( file ); //sets file name
1487 addToSelection( lnk ); 1487 addToSelection( lnk );
1488 } else if ( msg == "rem(QString)" ) { //remove from playlist 1488 } else if ( msg == "rem(QString)" ) { //remove from playlist
1489 QString file; 1489 QString file;
1490 stream >> file; 1490 stream >> file;
1491 1491
1492 } 1492 }
1493 1493
1494} 1494}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index e9615f1..580460e 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -488,429 +488,429 @@ void PlayListWidget::addToSelection( QListViewItem *it) {
488 488
489 writeCurrentM3u(); 489 writeCurrentM3u();
490// tabWidget->setCurrentPage(0); 490// tabWidget->setCurrentPage(0);
491 491
492 } 492 }
493} 493}
494 494
495 495
496void PlayListWidget::tabChanged(QWidget *) { 496void PlayListWidget::tabChanged(QWidget *) {
497 497
498 d->tbPlay->setEnabled( true ); 498 d->tbPlay->setEnabled( true );
499 499
500 disconnect( audioView, SIGNAL( itemsSelected( bool ) ), 500 disconnect( audioView, SIGNAL( itemsSelected( bool ) ),
501 d->tbPlay, SLOT( setEnabled( bool ) ) ); 501 d->tbPlay, SLOT( setEnabled( bool ) ) );
502 disconnect( videoView, SIGNAL( itemsSelected( bool ) ), 502 disconnect( videoView, SIGNAL( itemsSelected( bool ) ),
503 d->tbPlay, SLOT( setEnabled( bool ) ) ); 503 d->tbPlay, SLOT( setEnabled( bool ) ) );
504 504
505 currentFileListView = 0; 505 currentFileListView = 0;
506 506
507 switch ( currentTab() ) { 507 switch ( currentTab() ) {
508 case CurrentPlayList: 508 case CurrentPlayList:
509 { 509 {
510 if( !tbDeletePlaylist->isHidden() ) { 510 if( !tbDeletePlaylist->isHidden() ) {
511 tbDeletePlaylist->hide(); 511 tbDeletePlaylist->hide();
512 } 512 }
513 d->tbRemoveFromList->setEnabled(TRUE); 513 d->tbRemoveFromList->setEnabled(TRUE);
514 d->tbAddToList->setEnabled(FALSE); 514 d->tbAddToList->setEnabled(FALSE);
515 515
516 d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() ); 516 d->tbPlay->setEnabled( !d->selectedFiles->isEmpty() );
517 } 517 }
518 break; 518 break;
519 case AudioFiles: 519 case AudioFiles:
520 { 520 {
521 audioView->populateView(); 521 audioView->populateView();
522 522
523 if( !tbDeletePlaylist->isHidden() ) { 523 if( !tbDeletePlaylist->isHidden() ) {
524 tbDeletePlaylist->hide(); 524 tbDeletePlaylist->hide();
525 } 525 }
526 d->tbRemoveFromList->setEnabled(FALSE); 526 d->tbRemoveFromList->setEnabled(FALSE);
527 d->tbAddToList->setEnabled(TRUE); 527 d->tbAddToList->setEnabled(TRUE);
528 528
529 connect( audioView, SIGNAL( itemsSelected( bool ) ), 529 connect( audioView, SIGNAL( itemsSelected( bool ) ),
530 d->tbPlay, SLOT( setEnabled( bool ) ) ); 530 d->tbPlay, SLOT( setEnabled( bool ) ) );
531 531
532 d->tbPlay->setEnabled( audioView->hasSelection() ); 532 d->tbPlay->setEnabled( audioView->hasSelection() );
533 533
534 currentFileListView = audioView; 534 currentFileListView = audioView;
535 } 535 }
536 break; 536 break;
537 case VideoFiles: 537 case VideoFiles:
538 { 538 {
539 videoView->populateView(); 539 videoView->populateView();
540 if( !tbDeletePlaylist->isHidden() ) { 540 if( !tbDeletePlaylist->isHidden() ) {
541 tbDeletePlaylist->hide(); 541 tbDeletePlaylist->hide();
542 } 542 }
543 d->tbRemoveFromList->setEnabled(FALSE); 543 d->tbRemoveFromList->setEnabled(FALSE);
544 d->tbAddToList->setEnabled(TRUE); 544 d->tbAddToList->setEnabled(TRUE);
545 545
546 connect( videoView, SIGNAL( itemsSelected( bool ) ), 546 connect( videoView, SIGNAL( itemsSelected( bool ) ),
547 d->tbPlay, SLOT( setEnabled( bool ) ) ); 547 d->tbPlay, SLOT( setEnabled( bool ) ) );
548 548
549 d->tbPlay->setEnabled( videoView->hasSelection() ); 549 d->tbPlay->setEnabled( videoView->hasSelection() );
550 550
551 currentFileListView = videoView; 551 currentFileListView = videoView;
552 } 552 }
553 break; 553 break;
554 case PlayLists: 554 case PlayLists:
555 { 555 {
556 if( tbDeletePlaylist->isHidden() ) { 556 if( tbDeletePlaylist->isHidden() ) {
557 tbDeletePlaylist->show(); 557 tbDeletePlaylist->show();
558 } 558 }
559 playLists->reread(); 559 playLists->reread();
560 d->tbAddToList->setEnabled(FALSE); 560 d->tbAddToList->setEnabled(FALSE);
561 561
562 d->tbPlay->setEnabled( false ); 562 d->tbPlay->setEnabled( false );
563 } 563 }
564 break; 564 break;
565 }; 565 };
566} 566}
567 567
568 568
569void PlayListWidget::btnPlay(bool b) { 569void PlayListWidget::btnPlay(bool b) {
570// mediaPlayerState->setPlaying(false); 570// mediaPlayerState->setPlaying(false);
571 mediaPlayerState.setPlaying(b); 571 mediaPlayerState.setPlaying(b);
572 insanityBool=FALSE; 572 insanityBool=FALSE;
573} 573}
574 574
575void PlayListWidget::deletePlaylist() { 575void PlayListWidget::deletePlaylist() {
576 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 576 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
577 (tr("You really want to delete\nthis playlist?")), 577 (tr("You really want to delete\nthis playlist?")),
578 (tr("Yes")), (tr("No")), 0 )){ 578 (tr("Yes")), (tr("No")), 0 )){
579 case 0: // Yes clicked, 579 case 0: // Yes clicked,
580 QFile().remove(playLists->selectedDocument().file()); 580 QFile().remove(playLists->selectedDocument().file());
581 QFile().remove(playLists->selectedDocument().linkFile()); 581 QFile().remove(playLists->selectedDocument().linkFile());
582 playLists->reread(); 582 playLists->reread();
583 break; 583 break;
584 case 1: // Cancel 584 case 1: // Cancel
585 break; 585 break;
586 }; 586 };
587} 587}
588 588
589 589
590void PlayListWidget::playSelected() { 590void PlayListWidget::playSelected() {
591 btnPlay( TRUE); 591 btnPlay( TRUE);
592} 592}
593 593
594bool PlayListWidget::inFileListMode() const 594bool PlayListWidget::inFileListMode() const
595{ 595{
596 TabType tab = currentTab(); 596 TabType tab = currentTab();
597 return tab == AudioFiles || tab == VideoFiles; 597 return tab == AudioFiles || tab == VideoFiles;
598} 598}
599 599
600void PlayListWidget::openFile() { 600void PlayListWidget::openFile() {
601 // http://66.28.164.33:2080 601 // http://66.28.164.33:2080
602 // http://somafm.com/star0242.m3u 602 // http://somafm.com/star0242.m3u
603 QString filename, name; 603 QString filename, name;
604 InputDialog *fileDlg; 604 InputDialog *fileDlg;
605 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0); 605 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
606 fileDlg->exec(); 606 fileDlg->exec();
607 if( fileDlg->result() == 1 ) { 607 if( fileDlg->result() == 1 ) {
608 filename = fileDlg->text(); 608 filename = fileDlg->text();
609 qDebug( "Selected filename is " + filename ); 609 qDebug( "Selected filename is " + filename );
610 // Om3u *m3uList; 610 // Om3u *m3uList;
611 DocLnk lnk; 611 DocLnk lnk;
612 Config cfg( "OpiePlayer" ); 612 Config cfg( "OpiePlayer" );
613 cfg.setGroup("PlayList"); 613 cfg.setGroup("PlayList");
614 614
615 if(filename.left(4) == "http") { 615 if(filename.left(4) == "http") {
616 QString m3uFile, m3uFilePath; 616 QString m3uFile, m3uFilePath;
617 if(filename.find(":",8,TRUE) != -1) { //found a port 617 if(filename.find(":",8,TRUE) != -1) { //found a port
618 m3uFile = filename.left( filename.find( ":",8,TRUE)); 618 m3uFile = filename.left( filename.find( ":",8,TRUE));
619 m3uFile = m3uFile.right( 7); 619 m3uFile = m3uFile.right( 7);
620 } else if(filename.left(4) == "http"){ 620 } else if(filename.left(4) == "http"){
621 m3uFile=filename; 621 m3uFile=filename;
622 m3uFile = m3uFile.right( m3uFile.length() - 7); 622 m3uFile = m3uFile.right( m3uFile.length() - 7);
623 } else{ 623 } else{
624 m3uFile=filename; 624 m3uFile=filename;
625 } 625 }
626 626
627 lnk.setName( filename ); //sets name 627 lnk.setName( filename ); //sets name
628 lnk.setFile( filename ); //sets file name 628 lnk.setFile( filename ); //sets file name
629 629
630// lnk.setIcon("opieplayer2/musicfile"); 630// lnk.setIcon("opieplayer2/musicfile");
631 631
632 d->selectedFiles->addToSelection( lnk ); 632 d->selectedFiles->addToSelection( lnk );
633 writeCurrentM3u(); 633 writeCurrentM3u();
634 d->selectedFiles->setSelectedItem( lnk.name()); 634 d->selectedFiles->setSelectedItem( lnk.name());
635 } 635 }
636 else if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) { 636 else if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) {
637 readListFromFile( filename ); 637 readListFromFile( filename );
638 } else { 638 } else {
639 lnk.setName( QFileInfo(filename).baseName() ); //sets name 639 lnk.setName( QFileInfo(filename).baseName() ); //sets name
640 lnk.setFile( filename ); //sets file name 640 lnk.setFile( filename ); //sets file name
641 d->selectedFiles->addToSelection( lnk); 641 d->selectedFiles->addToSelection( lnk);
642 writeCurrentM3u(); 642 writeCurrentM3u();
643 d->selectedFiles->setSelectedItem( lnk.name()); 643 d->selectedFiles->setSelectedItem( lnk.name());
644 } 644 }
645 } 645 }
646 646
647 647
648 delete fileDlg; 648 delete fileDlg;
649} 649}
650 650
651void PlayListWidget::readListFromFile( const QString &filename ) { 651void PlayListWidget::readListFromFile( const QString &filename ) {
652 qDebug( "read list filename " + filename ); 652 qDebug( "read list filename " + filename );
653 QFileInfo fi(filename); 653 QFileInfo fi(filename);
654 Om3u *m3uList; 654 Om3u *m3uList;
655 QString s, name; 655 QString s, name;
656 m3uList = new Om3u( filename, IO_ReadOnly ); 656 m3uList = new Om3u( filename, IO_ReadOnly );
657 if(fi.extension(false).find("m3u",0,false) != -1 ) 657 if(fi.extension(false).find("m3u",0,false) != -1 )
658 m3uList->readM3u(); 658 m3uList->readM3u();
659 else if(fi.extension(false).find("pls",0,false) != -1 ) 659 else if(fi.extension(false).find("pls",0,false) != -1 )
660 m3uList->readPls(); 660 m3uList->readPls();
661 661
662 DocLnk lnk; 662 DocLnk lnk;
663 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) { 663 for ( QStringList::ConstIterator it = m3uList->begin(); it != m3uList->end(); ++it ) {
664 s = *it; 664 s = *it;
665 // qDebug(s); 665 // qDebug(s);
666 if(s.left(4)=="http") { 666 if(s.left(4)=="http") {
667 lnk.setName( s ); //sets file name 667 lnk.setName( s ); //sets file name
668 lnk.setIcon("opieplayer2/musicfile"); 668 lnk.setIcon("opieplayer2/musicfile");
669 lnk.setFile( s ); //sets file name 669 lnk.setFile( s ); //sets file name
670 670
671 } else { //is file 671 } else { //is file
672 lnk.setName( QFileInfo(s).baseName()); 672 lnk.setName( QFileInfo(s).baseName());
673 if(s.left(1) != "/") { 673 if(s.left(1) != "/") {
674 674
675 lnk.setFile( QFileInfo(filename).dirPath()+"/"+s); 675 lnk.setFile( QFileInfo(filename).dirPath()+"/"+s);
676 } else { 676 } else {
677 lnk.setFile( s); 677 lnk.setFile( s);
678 } 678 }
679 } 679 }
680 d->selectedFiles->addToSelection( lnk ); 680 d->selectedFiles->addToSelection( lnk );
681 } 681 }
682 Config config( "OpiePlayer" ); 682 Config config( "OpiePlayer" );
683 config.setGroup( "PlayList" ); 683 config.setGroup( "PlayList" );
684 684
685 config.writeEntry("CurrentPlaylist",filename); 685 config.writeEntry("CurrentPlaylist",filename);
686 config.write(); 686 config.write();
687 currentPlayList=filename; 687 currentPlayList=filename;
688 688
689 m3uList->close(); 689 m3uList->close();
690 delete m3uList; 690 delete m3uList;
691 691
692 d->selectedFiles->setSelectedItem( s); 692 d->selectedFiles->setSelectedItem( s);
693 setCaption(tr("OpiePlayer: ")+ QFileInfo(filename).baseName()); 693 setCaption(tr("OpiePlayer: ")+ QFileInfo(filename).baseName());
694 694
695} 695}
696 696
697// writes current playlist to current m3u file */ 697// writes current playlist to current m3u file */
698 void PlayListWidget::writeCurrentM3u() { 698 void PlayListWidget::writeCurrentM3u() {
699 qDebug("writing to current m3u"); 699 qDebug("writing to current m3u");
700 Config cfg( "OpiePlayer" ); 700 Config cfg( "OpiePlayer" );
701 cfg.setGroup("PlayList"); 701 cfg.setGroup("PlayList");
702 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default"); 702 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default");
703 703
704 Om3u *m3uList; 704 Om3u *m3uList;
705 m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate ); 705 m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate );
706 if( d->selectedFiles->first()) { 706 if( d->selectedFiles->first()) {
707 707
708 do { 708 do {
709 // qDebug( "add writeCurrentM3u " +d->selectedFiles->current()->file()); 709 // qDebug( "add writeCurrentM3u " +d->selectedFiles->current()->file());
710 m3uList->add( d->selectedFiles->current()->file() ); 710 m3uList->add( d->selectedFiles->current()->file() );
711 } 711 }
712 while ( d->selectedFiles->next() ); 712 while ( d->selectedFiles->next() );
713 // qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" ); 713 // qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" );
714 m3uList->write(); 714 m3uList->write();
715 m3uList->close(); 715 m3uList->close();
716 } 716 }
717 delete m3uList; 717 delete m3uList;
718 718
719 } 719 }
720 720
721 /* 721 /*
722 writes current playlist to m3u file */ 722 writes current playlist to m3u file */
723void PlayListWidget::writem3u() { 723void PlayListWidget::writem3u() {
724 InputDialog *fileDlg; 724 InputDialog *fileDlg;
725 fileDlg = new InputDialog( this, tr( "Save m3u Playlist " ), TRUE, 0); 725 fileDlg = new InputDialog( this, tr( "Save m3u Playlist " ), TRUE, 0);
726 fileDlg->exec(); 726 fileDlg->exec();
727 QString name, filename, list; 727 QString name, filename, list;
728 Om3u *m3uList; 728 Om3u *m3uList;
729 729
730 if( fileDlg->result() == 1 ) { 730 if( fileDlg->result() == 1 ) {
731 name = fileDlg->text(); 731 name = fileDlg->text();
732// qDebug( filename ); 732// qDebug( filename );
733 if( name.find("/",0,true) != -1) {// assume they specify a file path 733 if( name.find("/",0,true) != -1) {// assume they specify a file path
734 filename = name; 734 filename = name;
735 name = name.right(name.length()- name.findRev("/",-1,true) - 1 ); 735 name = name.right(name.length()- name.findRev("/",-1,true) - 1 );
736 } 736 }
737 else //otherwise dump it somewhere noticable 737 else //otherwise dump it somewhere noticable
738 filename = QPEApplication::documentDir() + "/" + name; 738 filename = QPEApplication::documentDir() + "/" + name;
739 739
740 if( filename.right( 3 ) != "m3u" ) //needs filename extension 740 if( filename.right( 3 ) != "m3u" ) //needs filename extension
741 filename += ".m3u"; 741 filename += ".m3u";
742 742
743 if( d->selectedFiles->first()) { //ramble through playlist view 743 if( d->selectedFiles->first()) { //ramble through playlist view
744 m3uList = new Om3u( filename, IO_ReadWrite); 744 m3uList = new Om3u( filename, IO_ReadWrite | IO_Truncate);
745 745
746 do { 746 do {
747 m3uList->add( d->selectedFiles->current()->file()); 747 m3uList->add( d->selectedFiles->current()->file());
748 } 748 }
749 while ( d->selectedFiles->next() ); 749 while ( d->selectedFiles->next() );
750 // qDebug( list ); 750 // qDebug( list );
751 m3uList->write(); 751 m3uList->write();
752 m3uList->close(); 752 m3uList->close();
753 delete m3uList; 753 delete m3uList;
754 754
755 delete fileDlg; 755 delete fileDlg;
756 756
757 DocLnk lnk; 757 DocLnk lnk;
758 lnk.setFile( filename); 758 lnk.setFile( filename);
759 lnk.setIcon("opieplayer2/playlist2"); 759 lnk.setIcon("opieplayer2/playlist2");
760 lnk.setName( name); //sets file name 760 lnk.setName( name); //sets file name
761 761
762 // qDebug(filename); 762 // qDebug(filename);
763 Config config( "OpiePlayer" ); 763 Config config( "OpiePlayer" );
764 config.setGroup( "PlayList" ); 764 config.setGroup( "PlayList" );
765 765
766 config.writeEntry("CurrentPlaylist",filename); 766 config.writeEntry("CurrentPlaylist",filename);
767 currentPlayList=filename; 767 currentPlayList=filename;
768 768
769 if(!lnk.writeLink()) { 769 if(!lnk.writeLink()) {
770 qDebug("Writing doclink did not work"); 770 qDebug("Writing doclink did not work");
771 } 771 }
772 772
773 setCaption(tr("OpiePlayer: ") + name); 773 setCaption(tr("OpiePlayer: ") + name);
774 } 774 }
775 } 775 }
776} 776}
777 777
778void PlayListWidget::keyReleaseEvent( QKeyEvent *e ) { 778void PlayListWidget::keyReleaseEvent( QKeyEvent *e ) {
779 switch ( e->key() ) { 779 switch ( e->key() ) {
780 ////////////////////////////// Zaurus keys 780 ////////////////////////////// Zaurus keys
781 case Key_F9: //activity 781 case Key_F9: //activity
782 // if(audioUI->isHidden()) 782 // if(audioUI->isHidden())
783 // audioUI->showMaximized(); 783 // audioUI->showMaximized();
784 break; 784 break;
785 case Key_F10: //contacts 785 case Key_F10: //contacts
786 // if( videoUI->isHidden()) 786 // if( videoUI->isHidden())
787 // videoUI->showMaximized(); 787 // videoUI->showMaximized();
788 break; 788 break;
789 case Key_F11: //menu 789 case Key_F11: //menu
790 break; 790 break;
791 case Key_F12: //home 791 case Key_F12: //home
792 // doBlank(); 792 // doBlank();
793 break; 793 break;
794 case Key_F13: //mail 794 case Key_F13: //mail
795 // doUnblank(); 795 // doUnblank();
796 break; 796 break;
797 case Key_Q: //add to playlist 797 case Key_Q: //add to playlist
798 addSelected(); 798 addSelected();
799 break; 799 break;
800 case Key_R: //remove from playlist 800 case Key_R: //remove from playlist
801 removeSelected(); 801 removeSelected();
802 break; 802 break;
803 // case Key_P: //play 803 // case Key_P: //play
804 // qDebug("Play"); 804 // qDebug("Play");
805 // playSelected(); 805 // playSelected();
806 // break; 806 // break;
807 case Key_Space: 807 case Key_Space:
808 // playSelected(); puh 808 // playSelected(); puh
809 break; 809 break;
810 case Key_1: 810 case Key_1:
811 tabWidget->setCurrentPage( 0 ); 811 tabWidget->setCurrentPage( 0 );
812 break; 812 break;
813 case Key_2: 813 case Key_2:
814 tabWidget->setCurrentPage( 1 ); 814 tabWidget->setCurrentPage( 1 );
815 break; 815 break;
816 case Key_3: 816 case Key_3:
817 tabWidget->setCurrentPage( 2 ); 817 tabWidget->setCurrentPage( 2 );
818 break; 818 break;
819 case Key_4: 819 case Key_4:
820 tabWidget->setCurrentPage( 3 ); 820 tabWidget->setCurrentPage( 3 );
821 break; 821 break;
822 case Key_Down: 822 case Key_Down:
823 if ( !d->selectedFiles->next() ) 823 if ( !d->selectedFiles->next() )
824 d->selectedFiles->first(); 824 d->selectedFiles->first();
825 break; 825 break;
826 case Key_Up: 826 case Key_Up:
827 if ( !d->selectedFiles->prev() ) 827 if ( !d->selectedFiles->prev() )
828 // d->selectedFiles->last(); 828 // d->selectedFiles->last();
829 break; 829 break;
830 } 830 }
831} 831}
832 832
833void PlayListWidget::pmViewActivated(int index) { 833void PlayListWidget::pmViewActivated(int index) {
834// qDebug("%d", index); 834// qDebug("%d", index);
835 switch(index) { 835 switch(index) {
836 case -16: 836 case -16:
837 { 837 {
838 mediaPlayerState.toggleFullscreen(); 838 mediaPlayerState.toggleFullscreen();
839 bool b=mediaPlayerState.isFullscreen(); 839 bool b=mediaPlayerState.isFullscreen();
840 pmView->setItemChecked( index, b); 840 pmView->setItemChecked( index, b);
841 Config cfg( "OpiePlayer" ); 841 Config cfg( "OpiePlayer" );
842 cfg.writeEntry( "FullScreen", b ); 842 cfg.writeEntry( "FullScreen", b );
843 } 843 }
844 break; 844 break;
845 }; 845 };
846} 846}
847 847
848void PlayListWidget::populateSkinsMenu() { 848void PlayListWidget::populateSkinsMenu() {
849 int item = 0; 849 int item = 0;
850 defaultSkinIndex = 0; 850 defaultSkinIndex = 0;
851 QString skinName; 851 QString skinName;
852 Config cfg( "OpiePlayer" ); 852 Config cfg( "OpiePlayer" );
853 cfg.setGroup("Options" ); 853 cfg.setGroup("Options" );
854 QString skin = cfg.readEntry( "Skin", "default" ); 854 QString skin = cfg.readEntry( "Skin", "default" );
855 855
856 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" ); 856 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" );
857 skinsDir.setFilter( QDir::Dirs ); 857 skinsDir.setFilter( QDir::Dirs );
858 skinsDir.setSorting(QDir::Name ); 858 skinsDir.setSorting(QDir::Name );
859 const QFileInfoList *skinslist = skinsDir.entryInfoList(); 859 const QFileInfoList *skinslist = skinsDir.entryInfoList();
860 QFileInfoListIterator it( *skinslist ); 860 QFileInfoListIterator it( *skinslist );
861 QFileInfo *fi; 861 QFileInfo *fi;
862 while ( ( fi = it.current() ) ) { 862 while ( ( fi = it.current() ) ) {
863 skinName = fi->fileName(); 863 skinName = fi->fileName();
864// qDebug( fi->fileName() ); 864// qDebug( fi->fileName() );
865 if( skinName != "." && skinName != ".." && skinName !="CVS" ) { 865 if( skinName != "." && skinName != ".." && skinName !="CVS" ) {
866 item = skinsMenu->insertItem( fi->fileName() ) ; 866 item = skinsMenu->insertItem( fi->fileName() ) ;
867 } 867 }
868 if( skinName == "default" ) { 868 if( skinName == "default" ) {
869 defaultSkinIndex = item; 869 defaultSkinIndex = item;
870 } 870 }
871 if( skinName == skin ) { 871 if( skinName == skin ) {
872 skinsMenu->setItemChecked( item, TRUE ); 872 skinsMenu->setItemChecked( item, TRUE );
873 } 873 }
874 ++it; 874 ++it;
875 } 875 }
876} 876}
877 877
878void PlayListWidget::skinsMenuActivated( int item ) { 878void PlayListWidget::skinsMenuActivated( int item ) {
879 for(unsigned int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) { 879 for(unsigned int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) {
880 skinsMenu->setItemChecked( i, FALSE ); 880 skinsMenu->setItemChecked( i, FALSE );
881 } 881 }
882 skinsMenu->setItemChecked( item, TRUE ); 882 skinsMenu->setItemChecked( item, TRUE );
883 883
884 { 884 {
885 Config cfg( "OpiePlayer" ); 885 Config cfg( "OpiePlayer" );
886 cfg.setGroup("Options"); 886 cfg.setGroup("Options");
887 cfg.writeEntry("Skin", skinsMenu->text( item ) ); 887 cfg.writeEntry("Skin", skinsMenu->text( item ) );
888 } 888 }
889 889
890 emit skinSelected(); 890 emit skinSelected();
891} 891}
892 892
893PlayListWidget::TabType PlayListWidget::currentTab() const 893PlayListWidget::TabType PlayListWidget::currentTab() const
894{ 894{
895 static const TabType indexToTabType[ TabTypeCount ] = 895 static const TabType indexToTabType[ TabTypeCount ] =
896 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 896 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
897 897
898 int index = tabWidget->currentPageIndex(); 898 int index = tabWidget->currentPageIndex();
899 assert( index < TabTypeCount && index >= 0 ); 899 assert( index < TabTypeCount && index >= 0 );
900 900
901 return indexToTabType[ index ]; 901 return indexToTabType[ index ];
902} 902}
903 903
904PlayListWidget::Entry PlayListWidget::currentEntry() const 904PlayListWidget::Entry PlayListWidget::currentEntry() const
905{ 905{
906 if ( currentTab() == CurrentPlayList ) { 906 if ( currentTab() == CurrentPlayList ) {
907 const DocLnk *lnk = current(); 907 const DocLnk *lnk = current();
908 return Entry( lnk->name(), lnk->file() ); 908 return Entry( lnk->name(), lnk->file() );
909 } 909 }
910 910
911 return Entry( currentFileListPathName() ); 911 return Entry( currentFileListPathName() );
912} 912}
913 913
914QString PlayListWidget::currentFileListPathName() const { 914QString PlayListWidget::currentFileListPathName() const {
915 return currentFileListView->currentItem()->text( 3 ); 915 return currentFileListView->currentItem()->text( 3 );
916} 916}