summaryrefslogtreecommitdiff
path: root/noncore/multimedia
authorsimon <simon>2002-12-04 10:52:00 (UTC)
committer simon <simon>2002-12-04 10:52:00 (UTC)
commit63541c46776721ef5ae63903e5b40838c1c49a43 (patch) (unidiff)
treee9beaf0d1340b32a7fffdce8e6dad7b0cbc54866 /noncore/multimedia
parentd000538b68b3411a409e829c4e68f42f9646b940 (diff)
downloadopie-63541c46776721ef5ae63903e5b40838c1c49a43.zip
opie-63541c46776721ef5ae63903e5b40838c1c49a43.tar.gz
opie-63541c46776721ef5ae63903e5b40838c1c49a43.tar.bz2
- merged scanForVideo and scanForAudio into a common scanFiles method in
the PlayListFileView. less duplicated code :)
Diffstat (limited to 'noncore/multimedia') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.cpp16
-rw-r--r--noncore/multimedia/opieplayer2/playlistfileview.h13
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp25
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h2
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.cpp5
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.h4
6 files changed, 37 insertions, 28 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.cpp b/noncore/multimedia/opieplayer2/playlistfileview.cpp
index c4f93e7..2726296 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.cpp
+++ b/noncore/multimedia/opieplayer2/playlistfileview.cpp
@@ -1,24 +1,36 @@
1 1
2#include "playlistfileview.h" 2#include "playlistfileview.h"
3 3
4PlayListFileView::PlayListFileView( QWidget *parent, const char *name ) 4#include <qpe/global.h>
5 : PlayListView( parent, name ) 5
6PlayListFileView::PlayListFileView( const QString &mimeTypePattern, QWidget *parent, const char *name )
7 : PlayListView( parent, name ), m_mimeTypePattern( mimeTypePattern )
6{ 8{
7 addColumn( tr( "Title" ), 140); 9 addColumn( tr( "Title" ), 140);
8 addColumn( tr( "Size" ), -1 ); 10 addColumn( tr( "Size" ), -1 );
9 addColumn(tr( "Media" ), 0 ); 11 addColumn(tr( "Media" ), 0 );
10 addColumn(tr( "Path" ), -1 ); 12 addColumn(tr( "Path" ), -1 );
11 setColumnAlignment( 1, Qt::AlignRight ); 13 setColumnAlignment( 1, Qt::AlignRight );
12 setColumnAlignment( 2, Qt::AlignRight ); 14 setColumnAlignment( 2, Qt::AlignRight );
13 setAllColumnsShowFocus( TRUE ); 15 setAllColumnsShowFocus( TRUE );
14 setSorting( 3, TRUE ); 16 setSorting( 3, TRUE );
15 setMultiSelection( TRUE ); 17 setMultiSelection( TRUE );
16 setSelectionMode( QListView::Extended ); 18 setSelectionMode( QListView::Extended );
17} 19}
18 20
19PlayListFileView::~PlayListFileView() 21PlayListFileView::~PlayListFileView()
20{ 22{
21} 23}
22 24
25void PlayListFileView::scanFiles()
26{
27 m_files.detachChildren();
28 QListIterator<DocLnk> sdit( m_files.children() );
29 for ( ; sdit.current(); ++sdit )
30 delete sdit.current();
31
32 Global::findDocuments( &m_files, m_mimeTypePattern );
33}
34
23/* vim: et sw=4 ts=4 35/* vim: et sw=4 ts=4
24 */ 36 */
diff --git a/noncore/multimedia/opieplayer2/playlistfileview.h b/noncore/multimedia/opieplayer2/playlistfileview.h
index eef4bd1..08db929 100644
--- a/noncore/multimedia/opieplayer2/playlistfileview.h
+++ b/noncore/multimedia/opieplayer2/playlistfileview.h
@@ -1,16 +1,27 @@
1#ifndef PLAYLISTFILEVIEW_H 1#ifndef PLAYLISTFILEVIEW_H
2#define PLAYLISTFILEVIEW_H 2#define PLAYLISTFILEVIEW_H
3 3
4#include "playlistview.h" 4#include "playlistview.h"
5 5
6#include <qpe/applnk.h>
7
6class PlayListFileView : public PlayListView 8class PlayListFileView : public PlayListView
7{ 9{
8 Q_OBJECT 10 Q_OBJECT
9public: 11public:
10 PlayListFileView( QWidget *parent, const char *name = 0 ); 12 PlayListFileView( const QString &mimeTypePattern, QWidget *parent, const char *name = 0 );
11 virtual ~PlayListFileView(); 13 virtual ~PlayListFileView();
14
15 DocLnkSet &files() { return m_files; }
16
17public slots:
18 void scanFiles();
19
20private:
21 QString m_mimeTypePattern;
22 DocLnkSet m_files;
12}; 23};
13 24
14#endif // PLAYLISTFILEVIEW_H 25#endif // PLAYLISTFILEVIEW_H
15/* vim: et sw=4 ts=4 26/* vim: et sw=4 ts=4
16 */ 27 */
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 6bda71e..93e7919 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -40,39 +40,37 @@
40 40
41#include <qdatetime.h> 41#include <qdatetime.h>
42#include <qdir.h> 42#include <qdir.h>
43#include <qmessagebox.h> 43#include <qmessagebox.h>
44#include <qregexp.h> 44#include <qregexp.h>
45#include <qtextstream.h> 45#include <qtextstream.h>
46 46
47#include "playlistselection.h" 47#include "playlistselection.h"
48#include "playlistwidget.h" 48#include "playlistwidget.h"
49#include "mediaplayerstate.h" 49#include "mediaplayerstate.h"
50#include "inputDialog.h" 50#include "inputDialog.h"
51#include "om3u.h" 51#include "om3u.h"
52#include "playlistfileview.h"
52 53
53//only needed for the random play 54//only needed for the random play
54#include <stdlib.h> 55#include <stdlib.h>
55#include <assert.h> 56#include <assert.h>
56 57
57#include "audiowidget.h" 58#include "audiowidget.h"
58#include "videowidget.h" 59#include "videowidget.h"
59 60
60extern MediaPlayerState *mediaPlayerState; 61extern MediaPlayerState *mediaPlayerState;
61// extern AudioWidget *audioUI; 62// extern AudioWidget *audioUI;
62// extern VideoWidget *videoUI; 63// extern VideoWidget *videoUI;
63 64
64QString audioMimes ="audio/mpeg;audio/x-wav;audio/x-ogg";
65// no m3u's here please
66
67PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name ) 65PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
68 : PlayListWidgetGui( mediaPlayerState, parent, name ) { 66 : PlayListWidgetGui( mediaPlayerState, parent, name ) {
69 67
70 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), 68 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ),
71 "opieplayer2/add_to_playlist", 69 "opieplayer2/add_to_playlist",
72 this , SLOT(addSelected() ) ); 70 this , SLOT(addSelected() ) );
73 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), 71 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ),
74 "opieplayer2/remove_from_playlist", 72 "opieplayer2/remove_from_playlist",
75 this , SLOT(removeSelected() ) ); 73 this , SLOT(removeSelected() ) );
76 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", 74 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play",
77 this , SLOT( btnPlay( bool) ), TRUE ); 75 this , SLOT( btnPlay( bool) ), TRUE );
78 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", 76 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle",
@@ -630,57 +628,44 @@ void PlayListWidget::deletePlaylist() {
630 case 1: // Cancel 628 case 1: // Cancel
631 break; 629 break;
632 }; 630 };
633} 631}
634 632
635 633
636void PlayListWidget::playSelected() { 634void PlayListWidget::playSelected() {
637 btnPlay( TRUE); 635 btnPlay( TRUE);
638} 636}
639 637
640 638
641void PlayListWidget::scanForAudio() { 639void PlayListWidget::scanForAudio() {
642// qDebug("scan for audio"); 640 audioView->scanFiles();
643 files.detachChildren();
644 QListIterator<DocLnk> sdit( files.children() );
645 for ( ; sdit.current(); ++sdit ) {
646 delete sdit.current();
647 }
648// Global::findDocuments( &files, "audio/*");
649 Global::findDocuments( &files, audioMimes);
650 audioScan = true; 641 audioScan = true;
651 populateAudioView(); 642 populateAudioView();
652} 643}
653 644
654void PlayListWidget::scanForVideo() { 645void PlayListWidget::scanForVideo() {
655// qDebug("scan for video"); 646 videoView->scanFiles();
656 vFiles.detachChildren();
657 QListIterator<DocLnk> sdit( vFiles.children() );
658 for ( ; sdit.current(); ++sdit ) {
659 delete sdit.current();
660 }
661 Global::findDocuments(&vFiles, "video/*");
662 videoScan = true; 647 videoScan = true;
663 populateVideoView(); 648 populateVideoView();
664} 649}
665 650
666void PlayListWidget::populateAudioView() { 651void PlayListWidget::populateAudioView() {
667 audioView->clear(); 652 audioView->clear();
668 StorageInfo storageInfo; 653 StorageInfo storageInfo;
669 // const QList<FileSystem> &fs = storageInfo.fileSystems(); 654 // const QList<FileSystem> &fs = storageInfo.fileSystems();
670 if(!audioScan) { 655 if(!audioScan) {
671 scanForAudio(); 656 scanForAudio();
672 } 657 }
673 658
674 QListIterator<DocLnk> dit( files.children() ); 659 QListIterator<DocLnk> dit( audioView->files().children() );
675 // QListIterator<FileSystem> it ( fs ); 660 // QListIterator<FileSystem> it ( fs );
676 audioView->clear(); 661 audioView->clear();
677 662
678 QString storage; 663 QString storage;
679 for ( ; dit.current(); ++dit ) { 664 for ( ; dit.current(); ++dit ) {
680// // for( ; it.current(); ++it ){ 665// // for( ; it.current(); ++it ){
681// const QString name = (*dit)->name(); 666// const QString name = (*dit)->name();
682// const QString path = (*dit)->path(); 667// const QString path = (*dit)->path();
683// if(dit.current()->file().find(path) != -1 ) { 668// if(dit.current()->file().find(path) != -1 ) {
684// storage = name; 669// storage = name;
685// // } 670// // }
686// } 671// }
@@ -705,25 +690,25 @@ void PlayListWidget::populateAudioView() {
705} 690}
706 691
707 692
708void PlayListWidget::populateVideoView() { 693void PlayListWidget::populateVideoView() {
709 videoView->clear(); 694 videoView->clear();
710 StorageInfo storageInfo; 695 StorageInfo storageInfo;
711 // const QList<FileSystem> &fs = storageInfo.fileSystems(); 696 // const QList<FileSystem> &fs = storageInfo.fileSystems();
712 697
713 if(!videoScan ) { 698 if(!videoScan ) {
714 scanForVideo(); 699 scanForVideo();
715 } 700 }
716 701
717 QListIterator<DocLnk> Vdit( vFiles.children() ); 702 QListIterator<DocLnk> Vdit( videoView->files().children() );
718// QListIterator<FileSystem> it ( fs ); 703// QListIterator<FileSystem> it ( fs );
719 videoView->clear(); 704 videoView->clear();
720 QString storage, pathName; 705 QString storage, pathName;
721 for ( ; Vdit.current(); ++Vdit ) { 706 for ( ; Vdit.current(); ++Vdit ) {
722// // for( ; it.current(); ++it ) { 707// // for( ; it.current(); ++it ) {
723// const QString name = (*Vdit)->name(); 708// const QString name = (*Vdit)->name();
724// const QString path = (*Vdit)->path(); 709// const QString path = (*Vdit)->path();
725// if( Vdit.current()->file().find(path) != -1 ) { 710// if( Vdit.current()->file().find(path) != -1 ) {
726// storage=name; 711// storage=name;
727// pathName=path; 712// pathName=path;
728// // } 713// // }
729// } 714// }
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 62d78a2..e81ef3c 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -125,22 +125,20 @@ private slots:
125 void loadList( const DocLnk &); // Load a playlist 125 void loadList( const DocLnk &); // Load a playlist
126 void playIt( QListViewItem *); 126 void playIt( QListViewItem *);
127 void btnPlay(bool); 127 void btnPlay(bool);
128 void deletePlaylist(); 128 void deletePlaylist();
129 void addSelected(); 129 void addSelected();
130 void removeSelected(); 130 void removeSelected();
131 void tabChanged(QWidget*); 131 void tabChanged(QWidget*);
132 void viewPressed( int, QListViewItem *, const QPoint&, int); 132 void viewPressed( int, QListViewItem *, const QPoint&, int);
133 void playlistViewPressed( int, QListViewItem *, const QPoint&, int); 133 void playlistViewPressed( int, QListViewItem *, const QPoint&, int);
134 void playSelected(); 134 void playSelected();
135 135
136private: 136private:
137 DocLnkSet files;
138 DocLnkSet vFiles;
139 bool fromSetDocument; 137 bool fromSetDocument;
140 bool insanityBool; 138 bool insanityBool;
141 QString setDocFileRef, currentPlayList; 139 QString setDocFileRef, currentPlayList;
142 int selected; 140 int selected;
143}; 141};
144 142
145#endif // PLAY_LIST_WIDGET_H 143#endif // PLAY_LIST_WIDGET_H
146 144
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
index cfca5e3..a219cfd 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
@@ -141,37 +141,38 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
141 vbox1 = new QVBox( hbox2 ); 141 vbox1 = new QVBox( hbox2 );
142 QPEApplication::setStylusOperation( d->selectedFiles->viewport(), QPEApplication::RightOnHold ); 142 QPEApplication::setStylusOperation( d->selectedFiles->viewport(), QPEApplication::RightOnHold );
143 QVBox *stretch1 = new QVBox( vbox1 ); // add stretch 143 QVBox *stretch1 = new QVBox( vbox1 ); // add stretch
144 144
145 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 ); 145 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 );
146 146
147 QWidget *aTab; 147 QWidget *aTab;
148 aTab = new QWidget( tabWidget, "aTab" ); 148 aTab = new QWidget( tabWidget, "aTab" );
149 149
150 QGridLayout *Alayout = new QGridLayout( aTab ); 150 QGridLayout *Alayout = new QGridLayout( aTab );
151 Alayout->setSpacing( 2 ); 151 Alayout->setSpacing( 2 );
152 Alayout->setMargin( 2 ); 152 Alayout->setMargin( 2 );
153 audioView = new PlayListFileView( aTab, "Audioview" ); 153 // no m3u's here please
154 audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;audio/x-ogg", aTab, "Audioview" );
154 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 ); 155 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
155 tabWidget->insertTab( aTab, tr( "Audio" ) ); 156 tabWidget->insertTab( aTab, tr( "Audio" ) );
156 157
157 QPEApplication::setStylusOperation( audioView->viewport(), QPEApplication::RightOnHold ); 158 QPEApplication::setStylusOperation( audioView->viewport(), QPEApplication::RightOnHold );
158 159
159 QWidget *vTab; 160 QWidget *vTab;
160 vTab = new QWidget( tabWidget, "vTab" ); 161 vTab = new QWidget( tabWidget, "vTab" );
161 162
162 QGridLayout *Vlayout = new QGridLayout( vTab ); 163 QGridLayout *Vlayout = new QGridLayout( vTab );
163 Vlayout->setSpacing( 2 ); 164 Vlayout->setSpacing( 2 );
164 Vlayout->setMargin( 2 ); 165 Vlayout->setMargin( 2 );
165 videoView = new PlayListFileView( vTab, "Videoview" ); 166 videoView = new PlayListFileView( "video/*", vTab, "Videoview" );
166 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 ); 167 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 );
167 168
168 QPEApplication::setStylusOperation( videoView->viewport(), QPEApplication::RightOnHold ); 169 QPEApplication::setStylusOperation( videoView->viewport(), QPEApplication::RightOnHold );
169 170
170 tabWidget->insertTab( vTab, tr( "Video" ) ); 171 tabWidget->insertTab( vTab, tr( "Video" ) );
171 172
172 //playlists list 173 //playlists list
173 QWidget *LTab; 174 QWidget *LTab;
174 LTab = new QWidget( tabWidget, "LTab" ); 175 LTab = new QWidget( tabWidget, "LTab" );
175 QGridLayout *Llayout = new QGridLayout( LTab ); 176 QGridLayout *Llayout = new QGridLayout( LTab );
176 Llayout->setSpacing( 2 ); 177 Llayout->setSpacing( 2 );
177 Llayout->setMargin( 2 ); 178 Llayout->setMargin( 2 );
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.h b/noncore/multimedia/opieplayer2/playlistwidgetgui.h
index 9b5252a..0d8af43 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.h
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.h
@@ -41,24 +41,25 @@
41 41
42#include <qtabwidget.h> 42#include <qtabwidget.h>
43#include <qpe/fileselector.h> 43#include <qpe/fileselector.h>
44#include <qpushbutton.h> 44#include <qpushbutton.h>
45#include <qpopupmenu.h> 45#include <qpopupmenu.h>
46#include <qaction.h> 46#include <qaction.h>
47#include <qslider.h> 47#include <qslider.h>
48#include <qlcdnumber.h> 48#include <qlcdnumber.h>
49 49
50class PlayListWidgetPrivate; 50class PlayListWidgetPrivate;
51class PlayListSelection; 51class PlayListSelection;
52class MediaPlayerState; 52class MediaPlayerState;
53class PlayListFileView;
53 54
54class Config; 55class Config;
55class QPEToolBar; 56class QPEToolBar;
56class QListViewItem; 57class QListViewItem;
57class QListView; 58class QListView;
58class QPoint; 59class QPoint;
59class QAction; 60class QAction;
60class QLabel; 61class QLabel;
61 62
62class PlayListWidgetPrivate { 63class PlayListWidgetPrivate {
63public: 64public:
64 QToolButton *tbPlay, *tbFull, *tbLoop, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; 65 QToolButton *tbPlay, *tbFull, *tbLoop, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove;
@@ -92,25 +93,26 @@ public:
92 addTo( parent ); 93 addTo( parent );
93 } 94 }
94}; 95};
95 96
96class PlayListWidgetGui : public QMainWindow { 97class PlayListWidgetGui : public QMainWindow {
97 Q_OBJECT 98 Q_OBJECT
98public: 99public:
99 PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidget* parent=0, const char* name=0 ); 100 PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidget* parent=0, const char* name=0 );
100 ~PlayListWidgetGui(); 101 ~PlayListWidgetGui();
101 102
102protected: 103protected:
103 QTabWidget * tabWidget; 104 QTabWidget * tabWidget;
104 QListView *audioView, *videoView, *playlistView; 105 PlayListFileView *audioView, *videoView;
106 QListView *playlistView;
105 QLabel *libString; 107 QLabel *libString;
106 QPopupMenu *pmView ; 108 QPopupMenu *pmView ;
107 QPopupMenu *gammaMenu; 109 QPopupMenu *gammaMenu;
108 QSlider *gammaSlider; 110 QSlider *gammaSlider;
109 QLCDNumber *gammaLCD; 111 QLCDNumber *gammaLCD;
110 bool fromSetDocument; 112 bool fromSetDocument;
111 bool insanityBool; 113 bool insanityBool;
112 QString setDocFileRef; 114 QString setDocFileRef;
113 // retrieve the current playlist entry (media file link) 115 // retrieve the current playlist entry (media file link)
114 QPushButton *tbDeletePlaylist; 116 QPushButton *tbDeletePlaylist;
115 int selected; 117 int selected;
116 QPopupMenu *pmPlayList; 118 QPopupMenu *pmPlayList;