4 files changed, 40 insertions, 74 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.cpp b/noncore/multimedia/opieplayer2/playlistfileview.cpp index 1e2ef89..0ed1061 100644 --- a/noncore/multimedia/opieplayer2/playlistfileview.cpp +++ b/noncore/multimedia/opieplayer2/playlistfileview.cpp @@ -1,36 +1,66 @@ #include "playlistfileview.h" +#include <qfile.h> #include <qpe/global.h> +#include <qpe/resource.h> -PlayListFileView::PlayListFileView( const QString &mimeTypePattern, QWidget *parent, const char *name ) - : PlayListView( parent, name ), m_mimeTypePattern( mimeTypePattern ), m_scannedFiles( false ) +PlayListFileView::PlayListFileView( const QString &mimeTypePattern, const QString &itemPixmapName, QWidget *parent, const char *name ) + : PlayListView( parent, name ), m_mimeTypePattern( mimeTypePattern ), m_itemPixmapName( itemPixmapName ), m_scannedFiles( false ) { addColumn( tr( "Title" ), 140); addColumn( tr( "Size" ), -1 ); addColumn(tr( "Media" ), 0 ); addColumn(tr( "Path" ), -1 ); setColumnAlignment( 1, Qt::AlignRight ); setColumnAlignment( 2, Qt::AlignRight ); setAllColumnsShowFocus( TRUE ); setSorting( 3, TRUE ); setMultiSelection( TRUE ); setSelectionMode( QListView::Extended ); } PlayListFileView::~PlayListFileView() { } void PlayListFileView::scanFiles() { m_files.detachChildren(); QListIterator<DocLnk> sdit( m_files.children() ); for ( ; sdit.current(); ++sdit ) delete sdit.current(); Global::findDocuments( &m_files, m_mimeTypePattern ); } +void PlayListFileView::populateView() +{ + clear(); + + if( !m_scannedFiles ) { + scanFiles(); + m_scannedFiles = true; + } + + QString storage; + QListIterator<DocLnk> dit( m_files.children() ); + for ( ; dit.current(); ++dit ) { + + QListViewItem *newItem; + + if ( QFile::exists( dit.current()->file() ) || + dit.current()->file().left( 4 ) == "http" ) { + + unsigned long size = QFile( dit.current()->file() ).size(); + + newItem = new QListViewItem( this, dit.current()->name(), + QString::number( size ), "" /*storage*/, + dit.current()->file() ); + newItem->setPixmap( 0, Resource::loadPixmap( m_itemPixmapName ) ); + } + } +} + /* vim: et sw=4 ts=4 */ diff --git a/noncore/multimedia/opieplayer2/playlistfileview.h b/noncore/multimedia/opieplayer2/playlistfileview.h index 4e17966..a00349e 100644 --- a/noncore/multimedia/opieplayer2/playlistfileview.h +++ b/noncore/multimedia/opieplayer2/playlistfileview.h @@ -1,31 +1,33 @@ #ifndef PLAYLISTFILEVIEW_H #define PLAYLISTFILEVIEW_H #include "playlistview.h" #include <qpe/applnk.h> class PlayListFileView : public PlayListView { Q_OBJECT public: - PlayListFileView( const QString &mimeTypePattern, QWidget *parent, const char *name = 0 ); + PlayListFileView( const QString &mimeTypePattern, const QString &itemPixmapName, QWidget *parent, const char *name = 0 ); virtual ~PlayListFileView(); // both temporarily accessible that way until the caller code has // been migrated into this class DocLnkSet &files() { return m_files; } bool &scannedFiles() { return m_scannedFiles; } public slots: void scanFiles(); + void populateView(); private: QString m_mimeTypePattern; + QString m_itemPixmapName; DocLnkSet m_files; bool m_scannedFiles; }; #endif // PLAYLISTFILEVIEW_H /* vim: et sw=4 ts=4 */ diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index 12b8a71..460a0bf 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp @@ -634,104 +634,38 @@ void PlayListWidget::playSelected() { } void PlayListWidget::scanForAudio() { audioView->scanFiles(); audioView->scannedFiles() = true; populateAudioView(); } void PlayListWidget::scanForVideo() { videoView->scanFiles(); videoView->scannedFiles() = true; populateVideoView(); } void PlayListWidget::populateAudioView() { - audioView->clear(); - StorageInfo storageInfo; - // const QList<FileSystem> &fs = storageInfo.fileSystems(); - if(!audioView->scannedFiles()) { - scanForAudio(); - } - - QListIterator<DocLnk> dit( audioView->files().children() ); - // QListIterator<FileSystem> it ( fs ); - audioView->clear(); - - QString storage; - for ( ; dit.current(); ++dit ) { -// // for( ; it.current(); ++it ){ -// const QString name = (*dit)->name(); -// const QString path = (*dit)->path(); -// if(dit.current()->file().find(path) != -1 ) { -// storage = name; -// // } -// } - - QListViewItem * newItem; - if ( QFile( dit.current()->file()).exists() || - dit.current()->file().left(4) == "http" ) { - long size; - if( dit.current()->file().left(4) == "http" ) - size=0; - else - size = QFile( dit.current()->file() ).size(); - - newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), - QString::number(size ), "" /*storage*/, - dit.current()->file() ); - newItem->setPixmap( 0, Resource::loadPixmap( "opieplayer2/musicfile" ) ); -// qDebug("<<<< "+dit.current()->file()); - } - } - audioPopulated=true; + audioView->populateView(); + audioPopulated = true; } - void PlayListWidget::populateVideoView() { - videoView->clear(); - StorageInfo storageInfo; - // const QList<FileSystem> &fs = storageInfo.fileSystems(); - - if(!videoView->scannedFiles()) { - scanForVideo(); - } - - QListIterator<DocLnk> Vdit( videoView->files().children() ); -// QListIterator<FileSystem> it ( fs ); - videoView->clear(); - QString storage, pathName; - for ( ; Vdit.current(); ++Vdit ) { -// // for( ; it.current(); ++it ) { -// const QString name = (*Vdit)->name(); -// const QString path = (*Vdit)->path(); -// if( Vdit.current()->file().find(path) != -1 ) { -// storage=name; -// pathName=path; -// // } -// } - - QListViewItem * newItem; - if ( QFile( Vdit.current()->file() ).exists() ) { - newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), - QString::number( QFile( Vdit.current()->file() ).size() ), - ""/*storage*/, Vdit.current()->file()); - newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" ) ); - } - } + videoView->populateView(); videoPopulated=true; } QListView *PlayListWidget::currentFileListView() const { switch ( currentTab() ) { case AudioFiles: return audioView; case VideoFiles: return videoView; default: assert( false ); } return 0; } bool PlayListWidget::inFileListMode() const { TabType tab = currentTab(); diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp index a219cfd..7f851bd 100644 --- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp @@ -138,45 +138,45 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg QHBox *hbox2 = new QHBox( vbox3 ); d->selectedFiles = new PlayListSelection( hbox2 ); vbox1 = new QVBox( hbox2 ); QPEApplication::setStylusOperation( d->selectedFiles->viewport(), QPEApplication::RightOnHold ); QVBox *stretch1 = new QVBox( vbox1 ); // add stretch Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 ); QWidget *aTab; aTab = new QWidget( tabWidget, "aTab" ); QGridLayout *Alayout = new QGridLayout( aTab ); Alayout->setSpacing( 2 ); Alayout->setMargin( 2 ); // no m3u's here please - audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;audio/x-ogg", aTab, "Audioview" ); + audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;audio/x-ogg", "opieplayer2/musicfile", aTab, "Audioview" ); Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 ); tabWidget->insertTab( aTab, tr( "Audio" ) ); QPEApplication::setStylusOperation( audioView->viewport(), QPEApplication::RightOnHold ); QWidget *vTab; vTab = new QWidget( tabWidget, "vTab" ); QGridLayout *Vlayout = new QGridLayout( vTab ); Vlayout->setSpacing( 2 ); Vlayout->setMargin( 2 ); - videoView = new PlayListFileView( "video/*", vTab, "Videoview" ); + videoView = new PlayListFileView( "video/*", "opieplayer2/videofile", vTab, "Videoview" ); Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 ); QPEApplication::setStylusOperation( videoView->viewport(), QPEApplication::RightOnHold ); tabWidget->insertTab( vTab, tr( "Video" ) ); //playlists list QWidget *LTab; LTab = new QWidget( tabWidget, "LTab" ); QGridLayout *Llayout = new QGridLayout( LTab ); Llayout->setSpacing( 2 ); Llayout->setMargin( 2 ); playLists = new FileSelector( "playlist/plain;audio/x-mpegurl", LTab, "fileselector" , FALSE, FALSE ); Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 ); |