summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-04-10 19:13:40 (UTC)
committer llornkcor <llornkcor>2002-04-10 19:13:40 (UTC)
commit9237a75548f9b932fbb1900d8ea28dbee9da81ac (patch) (side-by-side diff)
treea0249408df5ce581af8bcee5b6f58bcee1db461a
parent11d754ffa429875b526c49f125d8a844c5cda3d8 (diff)
downloadopie-9237a75548f9b932fbb1900d8ea28dbee9da81ac.zip
opie-9237a75548f9b932fbb1900d8ea28dbee9da81ac.tar.gz
opie-9237a75548f9b932fbb1900d8ea28dbee9da81ac.tar.bz2
bug fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libmad/libmadplugin.cpp13
-rw-r--r--core/multimedia/opieplayer/libmad/libmadplugin.h2
-rw-r--r--core/multimedia/opieplayer/libmpeg3/mpeg3io.c132
-rw-r--r--core/multimedia/opieplayer/playlistselection.cpp20
-rw-r--r--core/multimedia/opieplayer/playlistselection.h6
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp250
6 files changed, 236 insertions, 187 deletions
diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.cpp b/core/multimedia/opieplayer/libmad/libmadplugin.cpp
index 9f8ba65..8ede537 100644
--- a/core/multimedia/opieplayer/libmad/libmadplugin.cpp
+++ b/core/multimedia/opieplayer/libmad/libmadplugin.cpp
@@ -32,6 +32,7 @@
#include <math.h>
#include <assert.h>
#include <qapplication.h>
+#include <qpe/config.h>
//#define HAVE_MMAP
@@ -47,6 +48,7 @@ extern "C" {
#define MPEG_BUFFER_SIZE 65536
+//#define MPEG_BUFFER_SIZE 32768 //16384 // 8192
//#define debugMsg(a) qDebug(a)
#define debugMsg(a)
@@ -165,7 +167,10 @@ bool LibMadPlugin::isFileSupported( const QString& path ) {
bool LibMadPlugin::open( const QString& path ) {
debugMsg( "LibMadPlugin::open" );
-
+ Config cfg("MediaPlayer");
+ cfg.setGroup("Options");
+ bufferSize = cfg.readNumEntry("MPeg_BufferSize",MPEG_BUFFER_SIZE);
+ qDebug("buffer size is %d", bufferSize);
d->bad_last_frame = 0;
d->flush = TRUE;
info = QString( "" );
@@ -197,7 +202,7 @@ bool LibMadPlugin::open( const QString& path ) {
#endif
if (d->input.data == 0) {
- d->input.data = (unsigned char *)malloc(MPEG_BUFFER_SIZE);
+ d->input.data = (unsigned char *)malloc( bufferSize /*MPEG_BUFFER_SIZE*/);
if (d->input.data == 0) {
qDebug("error allocating input buffer");
return FALSE;
@@ -369,7 +374,7 @@ bool LibMadPlugin::read() {
}
do {
- len = ::read(d->input.fd, d->input.data + d->input.length, MPEG_BUFFER_SIZE - d->input.length);
+ len = ::read(d->input.fd, d->input.data + d->input.length, bufferSize /* MPEG_BUFFER_SIZE*/ - d->input.length);
}
while (len == -1 && errno == EINTR);
@@ -380,7 +385,7 @@ bool LibMadPlugin::read() {
else if (len == 0) {
d->input.eof = 1;
- assert(MPEG_BUFFER_SIZE - d->input.length >= MAD_BUFFER_GUARD);
+ assert(bufferSize /*MPEG_BUFFER_SIZE*/ - d->input.length >= MAD_BUFFER_GUARD);
while (len < MAD_BUFFER_GUARD)
d->input.data[d->input.length + len++] = 0;
diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.h b/core/multimedia/opieplayer/libmad/libmadplugin.h
index b240b77..46cd4a1 100644
--- a/core/multimedia/opieplayer/libmad/libmadplugin.h
+++ b/core/multimedia/opieplayer/libmad/libmadplugin.h
@@ -103,7 +103,7 @@ public:
private:
LibMadPluginData *d;
QString info;
-
+int bufferSize;
};
diff --git a/core/multimedia/opieplayer/libmpeg3/mpeg3io.c b/core/multimedia/opieplayer/libmpeg3/mpeg3io.c
index c5807a7..c5cae00 100644
--- a/core/multimedia/opieplayer/libmpeg3/mpeg3io.c
+++ b/core/multimedia/opieplayer/libmpeg3/mpeg3io.c
@@ -12,116 +12,116 @@
mpeg3_fs_t* mpeg3_new_fs(char *path)
{
- mpeg3_fs_t *fs = (mpeg3_fs_t*)calloc(1, sizeof(mpeg3_fs_t));
- fs->css = mpeg3_new_css();
- strcpy(fs->path, path);
- return fs;
+ mpeg3_fs_t *fs = (mpeg3_fs_t*)calloc(1, sizeof(mpeg3_fs_t));
+ fs->css = mpeg3_new_css();
+ strcpy(fs->path, path);
+ return fs;
}
int mpeg3_delete_fs(mpeg3_fs_t *fs)
{
- mpeg3_delete_css(fs->css);
- free(fs);
- return 0;
+ mpeg3_delete_css(fs->css);
+ free(fs);
+ return 0;
}
int mpeg3_copy_fs(mpeg3_fs_t *dst, mpeg3_fs_t *src)
{
- strcpy(dst->path, src->path);
- dst->current_byte = 0;
- return 0;
+ strcpy(dst->path, src->path);
+ dst->current_byte = 0;
+ return 0;
}
long mpeg3io_get_total_bytes(mpeg3_fs_t *fs)
{
-/*
- * struct stat st;
- * if(stat(fs->path, &st) < 0) return 0;
- * return (long)st.st_size;
- */
-
- fseek(fs->fd, 0, SEEK_END);
- fs->total_bytes = ftell(fs->fd);
- fseek(fs->fd, 0, SEEK_SET);
- return fs->total_bytes;
+
+ struct stat st;
+ if(stat(fs->path, &st) < 0) return 0;
+ return (long)st.st_size;
+
+
+/* fseek(fs->fd, 0, SEEK_END); */
+/* fs->total_bytes = ftell(fs->fd); */
+/* fseek(fs->fd, 0, SEEK_SET); */
+/* return fs->total_bytes; */
}
int mpeg3io_open_file(mpeg3_fs_t *fs)
{
/* Need to perform authentication before reading a single byte. */
- mpeg3_get_keys(fs->css, fs->path);
-
- if(!(fs->fd = fopen(fs->path, "rb")))
- {
- perror("mpeg3io_open_file");
- return 1;
- }
-
- fs->total_bytes = mpeg3io_get_total_bytes(fs);
-
- if(!fs->total_bytes)
- {
- fclose(fs->fd);
- return 1;
- }
- fs->current_byte = 0;
- return 0;
+ mpeg3_get_keys(fs->css, fs->path);
+
+ if(!(fs->fd = fopen(fs->path, "rb")))
+ {
+ perror("mpeg3io_open_file");
+ return 1;
+ }
+
+ fs->total_bytes = mpeg3io_get_total_bytes(fs);
+
+ if(!fs->total_bytes)
+ {
+ fclose(fs->fd);
+ return 1;
+ }
+ fs->current_byte = 0;
+ return 0;
}
int mpeg3io_close_file(mpeg3_fs_t *fs)
{
- if(fs->fd) fclose(fs->fd);
- fs->fd = 0;
- return 0;
+ if(fs->fd) fclose(fs->fd);
+ fs->fd = 0;
+ return 0;
}
int mpeg3io_read_data(unsigned char *buffer, long bytes, mpeg3_fs_t *fs)
{
- int result = 0;
+ int result = 0;
//printf("read %d bytes\n",bytes);
- result = !fread(buffer, 1, bytes, fs->fd);
- fs->current_byte += bytes;
- return (result && bytes);
+ result = !fread(buffer, 1, bytes, fs->fd);
+ fs->current_byte += bytes;
+ return (result && bytes);
}
int mpeg3io_device(char *path, char *device)
{
- struct stat file_st, device_st;
+ struct stat file_st, device_st;
struct mntent *mnt;
- FILE *fp;
+ FILE *fp;
- if(stat(path, &file_st) < 0)
- {
- perror("mpeg3io_device");
- return 1;
- }
+ if(stat(path, &file_st) < 0)
+ {
+ perror("mpeg3io_device");
+ return 1;
+ }
#ifndef _WIN32
- fp = setmntent(MOUNTED, "r");
+ fp = setmntent(MOUNTED, "r");
while(fp && (mnt = getmntent(fp)))
- {
- if(stat(mnt->mnt_fsname, &device_st) < 0) continue;
- if(device_st.st_rdev == file_st.st_dev)
- {
- strncpy(device, mnt->mnt_fsname, MPEG3_STRLEN);
- break;
- }
- }
- endmntent(fp);
+ {
+ if(stat(mnt->mnt_fsname, &device_st) < 0) continue;
+ if(device_st.st_rdev == file_st.st_dev)
+ {
+ strncpy(device, mnt->mnt_fsname, MPEG3_STRLEN);
+ break;
+ }
+ }
+ endmntent(fp);
#endif
- return 0;
+ return 0;
}
int mpeg3io_seek(mpeg3_fs_t *fs, long byte)
{
- fs->current_byte = byte;
- return fseek(fs->fd, byte, SEEK_SET);
+ fs->current_byte = byte;
+ return fseek(fs->fd, byte, SEEK_SET);
}
int mpeg3io_seek_relative(mpeg3_fs_t *fs, long bytes)
{
- fs->current_byte += bytes;
- return fseek(fs->fd, fs->current_byte, SEEK_SET);
+ fs->current_byte += bytes;
+ return fseek(fs->fd, fs->current_byte, SEEK_SET);
}
diff --git a/core/multimedia/opieplayer/playlistselection.cpp b/core/multimedia/opieplayer/playlistselection.cpp
index 6259b3f..8f3711a 100644
--- a/core/multimedia/opieplayer/playlistselection.cpp
+++ b/core/multimedia/opieplayer/playlistselection.cpp
@@ -19,6 +19,8 @@
**********************************************************************/
#include <qpe/applnk.h>
#include <qpe/resource.h>
+#include <qpe/config.h>
+
#include <qpainter.h>
#include <qimage.h>
#include <qheader.h>
@@ -50,7 +52,7 @@ private:
PlayListSelection::PlayListSelection( QWidget *parent, const char *name )
: QListView( parent, name )
{
- qDebug("starting playlistselector");
+// qDebug("starting playlistselector");
// #ifdef USE_PLAYLIST_BACKGROUND
// setStaticBackground( TRUE );
// setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/background" ) );
@@ -184,4 +186,18 @@ void PlayListSelection::unSelect()
{
QListViewItem *item = selectedItem();
setSelected( currentItem(), FALSE);
-} \ No newline at end of file
+}
+
+void PlayListSelection::writeCurrent( Config& cfg ) {
+ cfg.setGroup("PlayList");
+ QListViewItem *item = selectedItem();
+ if ( item )
+ cfg.writeEntry("current", item->text(0) );
+ qDebug(item->text(0));
+
+}
+
+void PlayListSelection::setSelectedItem(const QString &strk ) {
+// setSelected( item, TRUE );
+// ensureItemVisible( selectedItem() );
+}
diff --git a/core/multimedia/opieplayer/playlistselection.h b/core/multimedia/opieplayer/playlistselection.h
index ba37271..d10bc82 100644
--- a/core/multimedia/opieplayer/playlistselection.h
+++ b/core/multimedia/opieplayer/playlistselection.h
@@ -23,7 +23,7 @@
#include <qlist.h>
#include <qlistview.h>
#include <qpe/applnk.h>
-
+#include <qpe/config.h>
class PlayListSelection : public QListView {
Q_OBJECT
@@ -37,7 +37,9 @@ public slots:
void removeSelected(); // Remove a media file from the playlist
void moveSelectedUp(); // Move the media file up the playlist so it is played earlier
void moveSelectedDown(); // Move the media file down the playlist so it is played later
- void unSelect();
+ void unSelect();
+ void writeCurrent( Config &);
+ void setSelectedItem( const QString & );
bool prev();
bool next();
bool first();
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 3b8f6d7..63df715 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -25,6 +25,7 @@
#include <qpe/fileselector.h>
#include <qpe/qpeapplication.h>
#include <qpe/lnkproperties.h>
+#include <qpe/storage.h>
#include <qpe/applnk.h>
#include <qpe/config.h>
@@ -216,6 +217,9 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
audioView->setColumnAlignment(1, Qt::AlignRight);
audioView->setColumnAlignment(2, Qt::AlignRight);
audioView->setAllColumnsShowFocus(TRUE);
+// audioView->setMultiSelection( TRUE );
+// audioView->setSelectionMode( QListView::Extended);
+
tabWidget->insertTab(aTab,tr("Audio"));
QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
@@ -238,6 +242,9 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
videoView->setColumnAlignment(1, Qt::AlignRight);
videoView->setColumnAlignment(2, Qt::AlignRight);
videoView->setAllColumnsShowFocus(TRUE);
+// videoView->setMultiSelection( TRUE );
+// videoView->setSelectionMode( QListView::Extended);
+
QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
@@ -318,54 +325,54 @@ void PlayListWidget::initializeStates() {
void PlayListWidget::readConfig( Config& cfg ) {
cfg.setGroup("PlayList");
-
+ QString currentString = cfg.readEntry("current", "" );
int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
-
for ( int i = 0; i < noOfFiles; i++ ) {
QString entryName;
entryName.sprintf( "File%i", i + 1 );
QString linkFile = cfg.readEntry( entryName );
DocLnk lnk( linkFile );
- if ( lnk.isValid() )
+ if ( lnk.isValid() ) {
d->selectedFiles->addToSelection( lnk );
+ }
}
+// d->selectedFiles->setSelectedItem( (const QString &)currentString);
}
void PlayListWidget::writeConfig( Config& cfg ) const {
- cfg.setGroup("PlayList");
+ d->selectedFiles->writeCurrent( cfg);
+ cfg.setGroup("PlayList");
int noOfFiles = 0;
-
d->selectedFiles->first();
do {
- const DocLnk *lnk = d->selectedFiles->current();
- if ( lnk ) {
- QString entryName;
- entryName.sprintf( "File%i", noOfFiles + 1 );
- cfg.writeEntry( entryName, lnk->linkFile() );
- // if this link does exist, add it so we have the file
- // next time...
- if ( !QFile::exists( lnk->linkFile() ) ) {
- // the way writing lnks doesn't really check for out
- // of disk space, but check it anyway.
- if ( !lnk->writeLink() ) {
- QMessageBox::critical( 0, tr("Out of space"),
- tr( "There was a problem saving "
- "the playlist.\n"
- "Your playlist "
- "may be missing some entries\n"
- "the next time you start it." )
- );
+ const DocLnk *lnk = d->selectedFiles->current();
+ if ( lnk ) {
+ QString entryName;
+ entryName.sprintf( "File%i", noOfFiles + 1 );
+ qDebug(entryName);
+ cfg.writeEntry( entryName, lnk->linkFile() );
+ // if this link does exist, add it so we have the file
+ // next time...
+ if ( !QFile::exists( lnk->linkFile() ) ) {
+ // the way writing lnks doesn't really check for out
+ // of disk space, but check it anyway.
+ if ( !lnk->writeLink() ) {
+ QMessageBox::critical( 0, tr("Out of space"),
+ tr( "There was a problem saving "
+ "the playlist.\n"
+ "Your playlist "
+ "may be missing some entries\n"
+ "the next time you start it." )
+ );
+ }
+ }
+ noOfFiles++;
+ }
}
- }
- noOfFiles++;
- }
- } while ( d->selectedFiles->next() );
-
+ while ( d->selectedFiles->next() );
cfg.writeEntry("NumberOfFiles", noOfFiles );
-
-
}
@@ -386,17 +393,17 @@ void PlayListWidget::clearList() {
void PlayListWidget::addAllToList() {
- DocLnkSet files;
- Global::findDocuments(&files, "video/*;audio/*");
- QListIterator<DocLnk> dit( files.children() );
- for ( ; dit.current(); ++dit )
- d->selectedFiles->addToSelection( **dit );
+ DocLnkSet filesAll;
+ Global::findDocuments(&filesAll, "video/*;audio/*");
+ QListIterator<DocLnk> Adit( filesAll.children() );
+ for ( ; Adit.current(); ++Adit )
+ d->selectedFiles->addToSelection( **Adit );
}
void PlayListWidget::addAllMusicToList() {
- DocLnkSet files;
- Global::findDocuments(&files, "audio/*");
+// DocLnkSet files;
+// Global::findDocuments(&files, "audio/*");
QListIterator<DocLnk> dit( files.children() );
for ( ; dit.current(); ++dit )
d->selectedFiles->addToSelection( **dit );
@@ -404,9 +411,7 @@ void PlayListWidget::addAllMusicToList() {
void PlayListWidget::addAllVideoToList() {
- DocLnkSet files;
- Global::findDocuments(&files, "video/*");
- QListIterator<DocLnk> dit( files.children() );
+ QListIterator<DocLnk> dit( vFiles.children() );
for ( ; dit.current(); ++dit )
d->selectedFiles->addToSelection( **dit );
}
@@ -468,15 +473,15 @@ const DocLnk *PlayListWidget::current() { // this is fugly
// switch (tabWidget->currentPageIndex()) {
// case 0: //playlist
// {
- qDebug("playlist");
- if ( mediaPlayerState->playlist() ) {
- return d->selectedFiles->current();
- }
- else if ( d->setDocumentUsed && d->current ) {
- return d->current;
- } else {
- return d->files->selected();
- }
+ qDebug("playlist");
+ if ( mediaPlayerState->playlist() ) {
+ return d->selectedFiles->current();
+ }
+ else if ( d->setDocumentUsed && d->current ) {
+ return d->current;
+ } else {
+ return d->files->selected();
+ }
// }
// break;
// case 1://audio
@@ -512,66 +517,66 @@ const DocLnk *PlayListWidget::current() { // this is fugly
bool PlayListWidget::prev() {
if ( mediaPlayerState->playlist() ) {
- if ( mediaPlayerState->shuffled() ) {
- const DocLnk *cur = current();
- int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0));
- for ( int i = 0; i < j; i++ ) {
- if ( !d->selectedFiles->next() )
- d->selectedFiles->first();
- }
- if ( cur == current() )
- if ( !d->selectedFiles->next() )
- d->selectedFiles->first();
- return TRUE;
- } else {
- if ( !d->selectedFiles->prev() ) {
- if ( mediaPlayerState->looping() ) {
- return d->selectedFiles->last();
- } else {
- return FALSE;
- }
- }
- return TRUE;
- }
+ if ( mediaPlayerState->shuffled() ) {
+ const DocLnk *cur = current();
+ int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0));
+ for ( int i = 0; i < j; i++ ) {
+ if ( !d->selectedFiles->next() )
+ d->selectedFiles->first();
+ }
+ if ( cur == current() )
+ if ( !d->selectedFiles->next() )
+ d->selectedFiles->first();
+ return TRUE;
+ } else {
+ if ( !d->selectedFiles->prev() ) {
+ if ( mediaPlayerState->looping() ) {
+ return d->selectedFiles->last();
+ } else {
+ return FALSE;
+ }
+ }
+ return TRUE;
+ }
} else {
- return mediaPlayerState->looping();
+ return mediaPlayerState->looping();
}
}
bool PlayListWidget::next() {
if ( mediaPlayerState->playlist() ) {
- if ( mediaPlayerState->shuffled() ) {
- return prev();
- } else {
- if ( !d->selectedFiles->next() ) {
- if ( mediaPlayerState->looping() ) {
- return d->selectedFiles->first();
- } else {
- return FALSE;
- }
- }
- return TRUE;
- }
+ if ( mediaPlayerState->shuffled() ) {
+ return prev();
+ } else {
+ if ( !d->selectedFiles->next() ) {
+ if ( mediaPlayerState->looping() ) {
+ return d->selectedFiles->first();
+ } else {
+ return FALSE;
+ }
+ }
+ return TRUE;
+ }
} else {
- return mediaPlayerState->looping();
+ return mediaPlayerState->looping();
}
}
bool PlayListWidget::first() {
if ( mediaPlayerState->playlist() )
- return d->selectedFiles->first();
+ return d->selectedFiles->first();
else
- return mediaPlayerState->looping();
+ return mediaPlayerState->looping();
}
bool PlayListWidget::last() {
if ( mediaPlayerState->playlist() )
- return d->selectedFiles->last();
+ return d->selectedFiles->last();
else
- return mediaPlayerState->looping();
+ return mediaPlayerState->looping();
}
@@ -582,25 +587,29 @@ void PlayListWidget::saveList() {
fileDlg = new InputDialog(this,tr("Save Playlist"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
- if ( d->current )
- delete d->current;
+ if ( d->current )
+ delete d->current;
filename = fileDlg->LineEdit1->text();//+".playlist";
-// qDebug("saving playlist "+filename+".playlist");
+// qDebug("saving playlist "+filename+".playlist");
Config cfg( filename +".playlist");
writeConfig( cfg );
- if( playLists->selected()->name() == filename) {
-// qDebug("same name so delete lnk");
- QFile().remove(playLists->selected()->file());
- QFile().remove(playLists->selected()->linkFile());
- playLists->reread();
- }
-
+
+// qDebug("same name so delete lnk??");
+// if( playLists->selected()->name() == filename) {
+
+// qDebug("same name so delete lnk");
+// QFile().remove(playLists->selected()->file());
+// QFile().remove(playLists->selected()->linkFile());
+// playLists->reread();
+// }
+// qDebug("new doclnk");
DocLnk lnk;
// lnk.setComment( "");
lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property
lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D
lnk.setIcon("mpegplayer/playlist2");
lnk.setName( filename); //sets file name
+ qDebug(filename);
if(!lnk.writeLink())
qDebug("Writing doclink did not work");
}
@@ -608,8 +617,8 @@ void PlayListWidget::saveList() {
config.writeEntry("CurrentPlaylist",filename);
setCaption(tr("OpiePlayer: ")+filename);
d->selectedFiles->first();
- if(fileDlg)
- delete fileDlg;
+ if(fileDlg)
+ delete fileDlg;
}
void PlayListWidget::loadList( const DocLnk & lnk) {
@@ -621,11 +630,14 @@ void PlayListWidget::loadList( const DocLnk & lnk) {
clearList();
Config cfg( name+".playlist");
readConfig(cfg);
+
tabWidget->setCurrentPage(0);
+
Config config( "MediaPlayer" );
config.writeEntry("CurrentPlaylist", name);
- d->selectedFiles->first();
+// d->selectedFiles->first();
}
+
}
void PlayListWidget::setPlaylist( bool shown ) {
@@ -783,7 +795,8 @@ void PlayListWidget::btnPlay(bool b) {
// qApp->processEvents();
d->selectedFiles->removeSelected( );
tabWidget->setCurrentPage(1);
- d->selectedFiles->unSelect();
+ audioView->clearSelection();
+// d->selectedFiles->unSelect();
// mediaPlayerState->setPlaying(FALSE);
}
break;
@@ -794,7 +807,8 @@ void PlayListWidget::btnPlay(bool b) {
qApp->processEvents();
d->selectedFiles->removeSelected( );
tabWidget->setCurrentPage(2);
- d->selectedFiles->unSelect();
+ videoView->clearSelection();
+// d->selectedFiles->unSelect();
// mediaPlayerState->setPlaying(FALSE);
}
break;
@@ -905,16 +919,22 @@ void PlayListWidget::listDelete() {
void PlayListWidget::populateAudioView() {
// if(files)
// files.~DocLnkSet();
+ StorageInfo storageInfo;
+ const QList<FileSystem> &fs = storageInfo.fileSystems();
+
Global::findDocuments(&files, "audio/*");
QListIterator<DocLnk> dit( files.children() );
+ QListIterator<FileSystem> it ( fs );
audioView->clear();
QString storage;
for ( ; dit.current(); ++dit ) {
+ for( ; it.current(); ++it ){
+ const QString name = (*it)->name();
+ const QString path = (*it)->path();
+ if(dit.current()->file().find(path) != -1 ) storage=name;
+ }
+
QListViewItem * newItem;
- if(dit.current()->file().find("/mnt/cf") != -1 ) storage=tr("CF");
- else if(dit.current()->file().find("/mnt/hda") != -1 ) storage=tr("CF");
- else if(dit.current()->file().find("/mnt/card") != -1 ) storage=tr("SD");
- else storage=tr("RAM");
if ( QFile( dit.current()->file()).exists() ) {
newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage);
newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/musicfile" ));
@@ -923,15 +943,21 @@ void PlayListWidget::populateAudioView() {
}
void PlayListWidget::populateVideoView() {
+ StorageInfo storageInfo;
+ const QList<FileSystem> &fs = storageInfo.fileSystems();
+
Global::findDocuments(&vFiles, "video/*");
QListIterator<DocLnk> Vdit( vFiles.children() );
+ QListIterator<FileSystem> it ( fs );
videoView->clear();
- QString storage;
+ QString storage;
for ( ; Vdit.current(); ++Vdit ) {
- if( Vdit.current()->file().find("/mnt/cf") != -1 ) storage=tr("CF");
- else if( Vdit.current()->file().find("/mnt/hda") != -1 ) storage=tr("CF");
- else if( Vdit.current()->file().find("/mnt/card") != -1 ) storage=tr("SD");
- else storage=tr("RAM");
+ for( ; it.current(); ++it ){
+ const QString name = (*it)->name();
+ const QString path = (*it)->path();
+ if( Vdit.current()->file().find(path) != -1 ) storage=name;
+ }
+
QListViewItem * newItem;
if ( QFile( Vdit.current()->file()).exists() ) {
newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage);