summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/playlistwidget.cpp
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/playlistwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index db2bf1b..c0a0029 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -1,230 +1,235 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20// code added by L. J. Potter Sat 03-02-2002 06:17:54 20// code added by L. J. Potter Sat 03-02-2002 06:17:54
21#define QTOPIA_INTERNAL_FSLP 21#define QTOPIA_INTERNAL_FSLP
22 22
23#include "playlistselection.h" 23#include "playlistselection.h"
24#include "playlistwidget.h" 24#include "playlistwidget.h"
25#include "mediaplayerstate.h" 25#include "mediaplayerstate.h"
26#include "inputDialog.h" 26#include "inputDialog.h"
27#include "audiowidget.h" 27#include "audiowidget.h"
28#include "videowidget.h" 28#include "videowidget.h"
29 29
30/* OPIE */ 30/* OPIE */
31#include <qpe/qpeapplication.h>
31#include <qpe/qpemenubar.h> 32#include <qpe/qpemenubar.h>
32#include <qpe/lnkproperties.h> 33#include <qpe/lnkproperties.h>
33#include <opie2/odebug.h> 34#include <opie2/odebug.h>
35#include <opie2/oresource.h>
34 36
35/* QT */ 37/* QT */
36#include <qtoolbar.h> 38#include <qtoolbar.h>
37#include <qaction.h> 39#include <qaction.h>
38#include <qlayout.h> 40#include <qlayout.h>
39#include <qmessagebox.h> 41#include <qmessagebox.h>
40//#include <qtimer.h> 42//#include <qtimer.h>
41 43
42/* STD */ 44/* STD */
43#include <stdlib.h> 45#include <stdlib.h>
44 46
45#include <unistd.h> 47#include <unistd.h>
46#include <sys/file.h> 48#include <sys/file.h>
47#include <sys/ioctl.h> 49#include <sys/ioctl.h>
48#include <sys/soundcard.h> 50#include <sys/soundcard.h>
49 51
50// for setBacklight() 52// for setBacklight()
51#include <linux/fb.h> 53#include <linux/fb.h>
52#include <sys/types.h> 54#include <sys/types.h>
53#include <sys/stat.h> 55#include <sys/stat.h>
54#include <stdlib.h> 56#include <stdlib.h>
55 57
56#define BUTTONS_ON_TOOLBAR 58#define BUTTONS_ON_TOOLBAR
57#define SIDE_BUTTONS 59#define SIDE_BUTTONS
58#define CAN_SAVE_LOAD_PLAYLISTS 60#define CAN_SAVE_LOAD_PLAYLISTS
59 61
60extern AudioWidget *audioUI; 62extern AudioWidget *audioUI;
61extern VideoWidget *videoUI; 63extern VideoWidget *videoUI;
62extern MediaPlayerState *mediaPlayerState; 64extern MediaPlayerState *mediaPlayerState;
63 65
64static inline QString fullBaseName ( const QFileInfo &fi ) 66static inline QString fullBaseName ( const QFileInfo &fi )
65{ 67{
66 QString str = fi. fileName ( ); 68 QString str = fi. fileName ( );
67 return str. left ( str. findRev ( '.' )); 69 return str. left ( str. findRev ( '.' ));
68} 70}
69 71
70 72
71QString audioMimes ="audio/mpeg;audio/x-wav;audio/x-ogg;audio/x-mod"; 73QString audioMimes ="audio/mpeg;audio/x-wav;audio/x-ogg;audio/x-mod";
72// class myFileSelector { 74// class myFileSelector {
73 75
74// }; 76// };
75class PlayListWidgetPrivate { 77class PlayListWidgetPrivate {
76public: 78public:
77 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; 79 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove;
78 QFrame *playListFrame; 80 QFrame *playListFrame;
79 FileSelector *files; 81 FileSelector *files;
80 PlayListSelection *selectedFiles; 82 PlayListSelection *selectedFiles;
81 bool setDocumentUsed; 83 bool setDocumentUsed;
82 DocLnk *current; 84 DocLnk *current;
83}; 85};
84 86
85 87
86class ToolButton : public QToolButton { 88class ToolButton : public QToolButton {
87public: 89public:
88 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 90 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
89 : QToolButton( parent, name ) { 91 : QToolButton( parent, name ) {
90 setTextLabel( name ); 92 setTextLabel( name );
91 setPixmap( Resource::loadPixmap( icon ) ); 93 setPixmap( Opie::Core::OResource::loadPixmap( icon, Opie::Core::OResource::SmallIcon ) );
92 setAutoRaise( TRUE ); 94 setAutoRaise( TRUE );
95 setUsesBigPixmap( qApp->desktop()->size().width() > 330 );
93 setFocusPolicy( QWidget::NoFocus ); 96 setFocusPolicy( QWidget::NoFocus );
94 setToggleButton( t ); 97 setToggleButton( t );
95 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 98 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
96 QPEMenuToolFocusManager::manager()->addWidget( this ); 99 QPEMenuToolFocusManager::manager()->addWidget( this );
97 } 100 }
98}; 101};
99 102
100 103
101class MenuItem : public QAction { 104class MenuItem : public QAction {
102public: 105public:
103 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) 106 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot )
104 : QAction( text, QString::null, 0, 0 ) { 107 : QAction( text, QString::null, 0, 0 ) {
105 connect( this, SIGNAL( activated() ), handler, slot ); 108 connect( this, SIGNAL( activated() ), handler, slot );
106 addTo( parent ); 109 addTo( parent );
107 } 110 }
108}; 111};
109 112
110 113
111PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 114PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
112 : QMainWindow( parent, name, fl ) { 115 : QMainWindow( parent, name, fl ) {
113 116
114 d = new PlayListWidgetPrivate; 117 d = new PlayListWidgetPrivate;
115 d->setDocumentUsed = FALSE; 118 d->setDocumentUsed = FALSE;
116 d->current = NULL; 119 d->current = NULL;
117 fromSetDocument = FALSE; 120 fromSetDocument = FALSE;
118 insanityBool=FALSE; 121 insanityBool=FALSE;
119 audioScan = FALSE; 122 audioScan = FALSE;
120 videoScan = FALSE; 123 videoScan = FALSE;
121// menuTimer = new QTimer( this ,"menu timer"), 124// menuTimer = new QTimer( this ,"menu timer"),
122// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); 125// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) );
123 channel = new QCopChannel( "QPE/Application/opieplayer", this ); 126 channel = new QCopChannel( "QPE/Application/opieplayer", this );
124 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), 127 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)),
125 this, SLOT( qcopReceive(const QCString&,const QByteArray&)) ); 128 this, SLOT( qcopReceive(const QCString&,const QByteArray&)) );
126 129
127 setBackgroundMode( PaletteButton ); 130 setBackgroundMode( PaletteButton );
128 131
129 setCaption( tr("OpiePlayer") ); 132 setCaption( tr("OpiePlayer") );
130 setIcon( Resource::loadPixmap( "opieplayer/MPEGPlayer" ) ); 133 setIcon( Opie::Core::OResource::loadPixmap( "opieplayer/MPEGPlayer", Opie::Core::OResource::SmallIcon ) );
131 134
132 setToolBarsMovable( FALSE ); 135 setToolBarsMovable( FALSE );
133 136
134 // Create Toolbar 137 // Create Toolbar
135 QToolBar *toolbar = new QToolBar( this ); 138 QToolBar *toolbar = new QToolBar( this );
136 toolbar->setHorizontalStretchable( TRUE ); 139 toolbar->setHorizontalStretchable( TRUE );
137 140
138 // Create Menubar 141 // Create Menubar
139 QMenuBar *menu = new QMenuBar( toolbar ); 142 QMenuBar *menu = new QMenuBar( toolbar );
140 menu->setMargin( 0 ); 143 menu->setMargin( 0 );
141 144
142 QToolBar *bar = new QToolBar( this ); 145 QToolBar *bar = new QToolBar( this );
143 bar->setLabel( tr( "Play Operations" ) ); 146 bar->setLabel( tr( "Play Operations" ) );
144// d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "opieplayer/play_current_list", 147// d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "opieplayer/play_current_list",
145// this , SLOT( addSelected()) ); 148// this , SLOT( addSelected()) );
146 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); 149 tbDeletePlaylist = new QPushButton( Opie::Core::OResource::loadPixmap("trash", Opie::Core::OResource::SmallIcon),"",bar,"close");
147 tbDeletePlaylist->setFlat(TRUE); 150 tbDeletePlaylist->setFlat(TRUE);
148 151
149 tbDeletePlaylist->setFixedSize(20,20); 152 tbDeletePlaylist->setFixedSize(20,20);
150 153
151 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist", 154 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist",
152 this , SLOT(addSelected()) ); 155 this , SLOT(addSelected()) );
153 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist", 156 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist",
154 this , SLOT(removeSelected()) ); 157 this , SLOT(removeSelected()) );
155// d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", /*this */mediaPlayerState , SLOT(setPlaying(bool)/*btnPlay()*/), TRUE ); 158// d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", /*this */mediaPlayerState , SLOT(setPlaying(bool)/*btnPlay()*/), TRUE );
156 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", 159 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play",
157 this , SLOT( btnPlay(bool) ), TRUE ); 160 this , SLOT( btnPlay(bool) ), TRUE );
158 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle", 161 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle",
159 mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 162 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
160 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop", 163 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop",
161 mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 164 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
162 tbDeletePlaylist->hide(); 165 tbDeletePlaylist->hide();
163 166
164 QPopupMenu *pmPlayList = new QPopupMenu( this ); 167 QPopupMenu *pmPlayList = new QPopupMenu( this );
165 menu->insertItem( tr( "File" ), pmPlayList ); 168 menu->insertItem( tr( "File" ), pmPlayList );
166 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 169 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
167 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); 170 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) );
168 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); 171 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) );
169 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); 172 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) );
170 pmPlayList->insertSeparator(-1); 173 pmPlayList->insertSeparator(-1);
171 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 174 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
172 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 175 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
173 pmPlayList->insertSeparator(-1); 176 pmPlayList->insertSeparator(-1);
174 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) ); 177 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) );
175 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) ); 178 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) );
176 179
177 QPopupMenu *pmView = new QPopupMenu( this ); 180 QPopupMenu *pmView = new QPopupMenu( this );
178 menu->insertItem( tr( "View" ), pmView ); 181 menu->insertItem( tr( "View" ), pmView );
179 182
180 fullScreenButton = new QAction(tr("Full Screen"), Resource::loadPixmap("fullscreen"), QString::null, 0, this, 0); 183 fullScreenButton = new QAction(tr("Full Screen"), Opie::Core::OResource::loadPixmap("fullscreen", Opie::Core::OResource::SmallIcon),
184 QString::null, 0, this, 0);
181 fullScreenButton->addTo(pmView); 185 fullScreenButton->addTo(pmView);
182 scaleButton = new QAction(tr("Scale"), Resource::loadPixmap("opieplayer/scale"), QString::null, 0, this, 0); 186 scaleButton = new QAction(tr("Scale"), Opie::Core::OResource::loadPixmap("opieplayer/scale", Opie::Core::OResource::SmallIcon),
187 QString::null, 0, this, 0);
183 scaleButton->addTo(pmView); 188 scaleButton->addTo(pmView);
184 189
185 190
186 skinsMenu = new QPopupMenu( this ); 191 skinsMenu = new QPopupMenu( this );
187 menu->insertItem( tr( "Skins" ), skinsMenu ); 192 menu->insertItem( tr( "Skins" ), skinsMenu );
188 skinsMenu->isCheckable(); 193 skinsMenu->isCheckable();
189 connect( skinsMenu, SIGNAL( activated(int) ) , 194 connect( skinsMenu, SIGNAL( activated(int) ) ,
190 this, SLOT( skinsMenuActivated(int) ) ); 195 this, SLOT( skinsMenuActivated(int) ) );
191 populateSkinsMenu(); 196 populateSkinsMenu();
192 197
193 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 198 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
194 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 199 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
195 200
196 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); 201 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton );
197 202
198 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 203 tabWidget = new QTabWidget( hbox6, "tabWidget" );
199// tabWidget->setTabShape(QTabWidget::Triangular); 204// tabWidget->setTabShape(QTabWidget::Triangular);
200 205
201 QWidget *pTab; 206 QWidget *pTab;
202 pTab = new QWidget( tabWidget, "pTab" ); 207 pTab = new QWidget( tabWidget, "pTab" );
203// playlistView = new QListView( pTab, "playlistview" ); 208// playlistView = new QListView( pTab, "playlistview" );
204// playlistView->setMinimumSize(236,260); 209// playlistView->setMinimumSize(236,260);
205 tabWidget->insertTab( pTab,"Playlist"); 210 tabWidget->insertTab( pTab,"Playlist");
206 211
207 212
208 // Add the playlist area 213 // Add the playlist area
209 214
210 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); 215 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton );
211 d->playListFrame = vbox3; 216 d->playListFrame = vbox3;
212 217
213 QGridLayout *layoutF = new QGridLayout( pTab ); 218 QGridLayout *layoutF = new QGridLayout( pTab );
214 layoutF->setSpacing( 2); 219 layoutF->setSpacing( 2);
215 layoutF->setMargin( 2); 220 layoutF->setMargin( 2);
216 layoutF->addMultiCellWidget( d->playListFrame , 0, 0, 0, 1 ); 221 layoutF->addMultiCellWidget( d->playListFrame , 0, 0, 0, 1 );
217 222
218 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); 223 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton );
219 224
220 d->selectedFiles = new PlayListSelection( hbox2); 225 d->selectedFiles = new PlayListSelection( hbox2);
221 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); 226 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton );
222 227
223 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); 228 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
224 229
225 230
226 231
227 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 232 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
228 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); 233 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) );
229 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) ); 234 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) );
230 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) ); 235 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) );
@@ -956,126 +961,126 @@ void PlayListWidget::scanForAudio() {
956 // odebug << "scan for audio" << oendl; 961 // odebug << "scan for audio" << oendl;
957 files.detachChildren(); 962 files.detachChildren();
958 QListIterator<DocLnk> sdit( files.children() ); 963 QListIterator<DocLnk> sdit( files.children() );
959 for ( ; sdit.current(); ++sdit ) { 964 for ( ; sdit.current(); ++sdit ) {
960 delete sdit.current(); 965 delete sdit.current();
961 } 966 }
962 Global::findDocuments( &files, audioMimes); 967 Global::findDocuments( &files, audioMimes);
963 audioScan = true; 968 audioScan = true;
964} 969}
965void PlayListWidget::scanForVideo() { 970void PlayListWidget::scanForVideo() {
966 // odebug << "scan for video" << oendl; 971 // odebug << "scan for video" << oendl;
967 vFiles.detachChildren(); 972 vFiles.detachChildren();
968 QListIterator<DocLnk> sdit( vFiles.children() ); 973 QListIterator<DocLnk> sdit( vFiles.children() );
969 for ( ; sdit.current(); ++sdit ) { 974 for ( ; sdit.current(); ++sdit ) {
970 delete sdit.current(); 975 delete sdit.current();
971 } 976 }
972 Global::findDocuments(&vFiles, "video/*"); 977 Global::findDocuments(&vFiles, "video/*");
973 videoScan = true; 978 videoScan = true;
974} 979}
975 980
976void PlayListWidget::populateAudioView() { 981void PlayListWidget::populateAudioView() {
977 982
978 audioView->clear(); 983 audioView->clear();
979 StorageInfo storageInfo; 984 StorageInfo storageInfo;
980 const QList<FileSystem> &fs = storageInfo.fileSystems(); 985 const QList<FileSystem> &fs = storageInfo.fileSystems();
981 if(!audioScan) scanForAudio(); 986 if(!audioScan) scanForAudio();
982 987
983 QListIterator<DocLnk> dit( files.children() ); 988 QListIterator<DocLnk> dit( files.children() );
984 QListIterator<FileSystem> it ( fs ); 989 QListIterator<FileSystem> it ( fs );
985 990
986 QString storage; 991 QString storage;
987 for ( ; dit.current(); ++dit ) { 992 for ( ; dit.current(); ++dit ) {
988 for( ; it.current(); ++it ){ 993 for( ; it.current(); ++it ){
989 const QString name = (*it)->name(); 994 const QString name = (*it)->name();
990 const QString path = (*it)->path(); 995 const QString path = (*it)->path();
991 if(dit.current()->file().find(path) != -1 ) storage=name; 996 if(dit.current()->file().find(path) != -1 ) storage=name;
992 } 997 }
993 998
994 QListViewItem * newItem; 999 QListViewItem * newItem;
995 if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) { 1000 if ( QFile( dit.current()->file()).exists() || dit.current()->file().left(4) == "http" ) {
996 long size; 1001 long size;
997 if( dit.current()->file().left(4) == "http" ) 1002 if( dit.current()->file().left(4) == "http" )
998 size=0; 1003 size=0;
999 else 1004 else
1000 size = QFile( dit.current()->file() ).size(); 1005 size = QFile( dit.current()->file() ).size();
1001 // odebug << dit.current()->name() << oendl; 1006 // odebug << dit.current()->name() << oendl;
1002 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), 1007 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(),
1003 QString::number(size ), storage, dit.current()->file()); 1008 QString::number(size ), storage, dit.current()->file());
1004 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); 1009 newItem->setPixmap(0, Opie::Core::OResource::loadPixmap( "opieplayer/musicfile", Opie::Core::OResource::SmallIcon ));
1005 } 1010 }
1006 } 1011 }
1007 1012
1008} 1013}
1009 1014
1010void PlayListWidget::populateVideoView() { 1015void PlayListWidget::populateVideoView() {
1011 videoView->clear(); 1016 videoView->clear();
1012 StorageInfo storageInfo; 1017 StorageInfo storageInfo;
1013 const QList<FileSystem> &fs = storageInfo.fileSystems(); 1018 const QList<FileSystem> &fs = storageInfo.fileSystems();
1014 1019
1015 if(!videoScan ) scanForVideo(); 1020 if(!videoScan ) scanForVideo();
1016 1021
1017 QListIterator<DocLnk> Vdit( vFiles.children() ); 1022 QListIterator<DocLnk> Vdit( vFiles.children() );
1018 QListIterator<FileSystem> it ( fs ); 1023 QListIterator<FileSystem> it ( fs );
1019 videoView->clear(); 1024 videoView->clear();
1020 QString storage; 1025 QString storage;
1021 for ( ; Vdit.current(); ++Vdit ) { 1026 for ( ; Vdit.current(); ++Vdit ) {
1022 for( ; it.current(); ++it ){ 1027 for( ; it.current(); ++it ){
1023 const QString name = (*it)->name(); 1028 const QString name = (*it)->name();
1024 const QString path = (*it)->path(); 1029 const QString path = (*it)->path();
1025 if( Vdit.current()->file().find(path) != -1 ) storage=name; 1030 if( Vdit.current()->file().find(path) != -1 ) storage=name;
1026 } 1031 }
1027 1032
1028 QListViewItem * newItem; 1033 QListViewItem * newItem;
1029 if ( QFile( Vdit.current()->file()).exists() ) { 1034 if ( QFile( Vdit.current()->file()).exists() ) {
1030 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), 1035 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(),
1031 QString::number( QFile( Vdit.current()->file() ).size() ), 1036 QString::number( QFile( Vdit.current()->file() ).size() ),
1032 storage, Vdit.current()->file()); 1037 storage, Vdit.current()->file());
1033 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); 1038 newItem->setPixmap(0, Opie::Core::OResource::loadPixmap( "opieplayer/videofile", Opie::Core::OResource::SmallIcon ));
1034 } 1039 }
1035 } 1040 }
1036} 1041}
1037 1042
1038void PlayListWidget::openFile() { 1043void PlayListWidget::openFile() {
1039 QString filename, name; 1044 QString filename, name;
1040 InputDialog *fileDlg; 1045 InputDialog *fileDlg;
1041 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0); 1046 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
1042 fileDlg->exec(); 1047 fileDlg->exec();
1043 if( fileDlg->result() == 1 ) { 1048 if( fileDlg->result() == 1 ) {
1044 filename = fileDlg->text(); 1049 filename = fileDlg->text();
1045 // odebug << "Selected filename is " + filename << oendl; 1050 // odebug << "Selected filename is " + filename << oendl;
1046 DocLnk lnk; 1051 DocLnk lnk;
1047 Config cfg( "OpiePlayer" ); 1052 Config cfg( "OpiePlayer" );
1048 cfg.setGroup("PlayList"); 1053 cfg.setGroup("PlayList");
1049 1054
1050 QString m3uFile; 1055 QString m3uFile;
1051 m3uFile = filename; 1056 m3uFile = filename;
1052 if(filename.left(4) == "http") { 1057 if(filename.left(4) == "http") {
1053 if(filename.find(":",8,TRUE) != -1) { //found a port 1058 if(filename.find(":",8,TRUE) != -1) { //found a port
1054 1059
1055 m3uFile = filename; 1060 m3uFile = filename;
1056 if( m3uFile.right( 1 ).find( '/' ) == -1) { 1061 if( m3uFile.right( 1 ).find( '/' ) == -1) {
1057 m3uFile += "/"; 1062 m3uFile += "/";
1058 } 1063 }
1059 filename = m3uFile; 1064 filename = m3uFile;
1060 } 1065 }
1061 lnk.setName( m3uFile ); //sets name 1066 lnk.setName( m3uFile ); //sets name
1062 lnk.setFile( filename ); //sets file name 1067 lnk.setFile( filename ); //sets file name
1063 lnk.setIcon("opieplayer2/musicfile"); 1068 lnk.setIcon("opieplayer2/musicfile");
1064 d->selectedFiles->addToSelection( lnk ); 1069 d->selectedFiles->addToSelection( lnk );
1065 writeCurrentM3u(); 1070 writeCurrentM3u();
1066 } 1071 }
1067 else if( filename.right( 3) == "m3u" ) { 1072 else if( filename.right( 3) == "m3u" ) {
1068 readm3u( filename ); 1073 readm3u( filename );
1069 1074
1070 } else if( filename.right(3) == "pls" ) { 1075 } else if( filename.right(3) == "pls" ) {
1071 readPls( filename ); 1076 readPls( filename );
1072 } else { 1077 } else {
1073 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name 1078 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name
1074 lnk.setFile( filename ); //sets file name 1079 lnk.setFile( filename ); //sets file name
1075 d->selectedFiles->addToSelection( lnk); 1080 d->selectedFiles->addToSelection( lnk);
1076 lnk.removeLinkFile(); 1081 lnk.removeLinkFile();
1077 writeCurrentM3u(); 1082 writeCurrentM3u();
1078 } 1083 }
1079 } 1084 }
1080 1085
1081 if( fileDlg ) { 1086 if( fileDlg ) {