summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 77e2095..83161ec 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -1,430 +1,430 @@
1 1
2#define QTOPIA_INTERNAL_FSLP 2#define QTOPIA_INTERNAL_FSLP
3#include <qpe/qcopenvelope_qws.h> 3#include <qpe/qcopenvelope_qws.h>
4 4
5#include <qpe/qpemenubar.h> 5#include <qpe/qpemenubar.h>
6#include <qpe/qpetoolbar.h> 6#include <qpe/qpetoolbar.h>
7#include <qpe/fileselector.h> 7#include <qpe/fileselector.h>
8#include <qpe/qpeapplication.h> 8#include <qpe/qpeapplication.h>
9#include <qpe/lnkproperties.h> 9#include <qpe/lnkproperties.h>
10#include <qpe/storage.h> 10#include <qpe/storage.h>
11 11
12#include <qpe/applnk.h> 12#include <qpe/applnk.h>
13#include <qpopupmenu.h> 13#include <qpopupmenu.h>
14#include <qpe/config.h> 14#include <qpe/config.h>
15#include <qpe/global.h> 15#include <qpe/global.h>
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17#include <qaction.h> 17#include <qaction.h>
18#include <qcursor.h> 18#include <qcursor.h>
19#include <qimage.h> 19#include <qimage.h>
20#include <qfile.h> 20#include <qfile.h>
21#include <qdir.h> 21#include <qdir.h>
22#include <qlayout.h> 22#include <qlayout.h>
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qlist.h> 24#include <qlist.h>
25#include <qlistbox.h> 25#include <qlistbox.h>
26#include <qmainwindow.h> 26#include <qmainwindow.h>
27#include <qmessagebox.h> 27#include <qmessagebox.h>
28#include <qtoolbutton.h> 28#include <qtoolbutton.h>
29#include <qtabwidget.h> 29#include <qtabwidget.h>
30#include <qlistview.h> 30#include <qlistview.h>
31#include <qpoint.h> 31#include <qpoint.h>
32#include <qlineedit.h> 32#include <qlineedit.h>
33#include <qpushbutton.h> 33#include <qpushbutton.h>
34#include <qregexp.h> 34#include <qregexp.h>
35#include <qtextstream.h> 35#include <qtextstream.h>
36 36
37 37
38#include "playlistselection.h" 38#include "playlistselection.h"
39#include "playlistwidget.h" 39#include "playlistwidget.h"
40#include "mediaplayerstate.h" 40#include "mediaplayerstate.h"
41 41
42#include "inputDialog.h" 42#include "inputDialog.h"
43 43
44#include <stdlib.h> 44#include <stdlib.h>
45#include "audiowidget.h" 45#include "audiowidget.h"
46#include "videowidget.h" 46#include "videowidget.h"
47 47
48#include <unistd.h> 48#include <unistd.h>
49#include <sys/file.h> 49#include <sys/file.h>
50#include <sys/ioctl.h> 50#include <sys/ioctl.h>
51#include <sys/soundcard.h> 51#include <sys/soundcard.h>
52 52
53// for setBacklight() 53// for setBacklight()
54#include <linux/fb.h> 54#include <linux/fb.h>
55#include <sys/types.h> 55#include <sys/types.h>
56#include <sys/stat.h> 56#include <sys/stat.h>
57#include <stdlib.h> 57#include <stdlib.h>
58 58
59#define BUTTONS_ON_TOOLBAR 59#define BUTTONS_ON_TOOLBAR
60#define SIDE_BUTTONS 60#define SIDE_BUTTONS
61#define CAN_SAVE_LOAD_PLAYLISTS 61#define CAN_SAVE_LOAD_PLAYLISTS
62 62
63extern MediaPlayerState *mediaPlayerState; 63extern MediaPlayerState *mediaPlayerState;
64 64
65 65
66class PlayListWidgetPrivate { 66class PlayListWidgetPrivate {
67public: 67public:
68 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; 68 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove;
69 QFrame *playListFrame; 69 QFrame *playListFrame;
70 FileSelector *files; 70 FileSelector *files;
71 PlayListSelection *selectedFiles; 71 PlayListSelection *selectedFiles;
72 bool setDocumentUsed; 72 bool setDocumentUsed;
73 DocLnk *current; 73 DocLnk *current;
74}; 74};
75 75
76 76
77class ToolButton : public QToolButton { 77class ToolButton : public QToolButton {
78public: 78public:
79 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 79 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
80 : QToolButton( parent, name ) { 80 : QToolButton( parent, name ) {
81 setTextLabel( name ); 81 setTextLabel( name );
82 setPixmap( Resource::loadPixmap( icon ) ); 82 setPixmap( Resource::loadPixmap( icon ) );
83 setAutoRaise( TRUE ); 83 setAutoRaise( TRUE );
84 setFocusPolicy( QWidget::NoFocus ); 84 setFocusPolicy( QWidget::NoFocus );
85 setToggleButton( t ); 85 setToggleButton( t );
86 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 86 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
87 QPEMenuToolFocusManager::manager()->addWidget( this ); 87 QPEMenuToolFocusManager::manager()->addWidget( this );
88 } 88 }
89}; 89};
90 90
91 91
92class MenuItem : public QAction { 92class MenuItem : public QAction {
93public: 93public:
94 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) 94 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot )
95 : QAction( text, QString::null, 0, 0 ) { 95 : QAction( text, QString::null, 0, 0 ) {
96 connect( this, SIGNAL( activated() ), handler, slot ); 96 connect( this, SIGNAL( activated() ), handler, slot );
97 addTo( parent ); 97 addTo( parent );
98 } 98 }
99}; 99};
100 100
101 101
102PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 102PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
103 : QMainWindow( parent, name, fl ) { 103 : QMainWindow( parent, name, fl ) {
104 104
105 d = new PlayListWidgetPrivate; 105 d = new PlayListWidgetPrivate;
106 d->setDocumentUsed = FALSE; 106 d->setDocumentUsed = FALSE;
107 d->current = NULL; 107 d->current = NULL;
108 fromSetDocument = FALSE; 108 fromSetDocument = FALSE;
109 insanityBool=FALSE; 109 insanityBool=FALSE;
110 audioScan = FALSE; 110 audioScan = FALSE;
111 videoScan = FALSE; 111 videoScan = FALSE;
112 112
113 setBackgroundMode( PaletteButton ); 113 setBackgroundMode( PaletteButton );
114 114
115 setCaption( tr("OpiePlayer") ); 115 setCaption( tr("OpiePlayer") );
116 setIcon( Resource::loadPixmap( "opieplayer/MPEGPlayer" ) ); 116 setIcon( Resource::loadPixmap( "opieplayer/MPEGPlayer" ) );
117 117
118 setToolBarsMovable( FALSE ); 118 setToolBarsMovable( FALSE );
119 119
120 // Create Toolbar 120 // Create Toolbar
121 QPEToolBar *toolbar = new QPEToolBar( this ); 121 QPEToolBar *toolbar = new QPEToolBar( this );
122 toolbar->setHorizontalStretchable( TRUE ); 122 toolbar->setHorizontalStretchable( TRUE );
123 123
124 // Create Menubar 124 // Create Menubar
125 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 125 QPEMenuBar *menu = new QPEMenuBar( toolbar );
126 menu->setMargin( 0 ); 126 menu->setMargin( 0 );
127 127
128 QPEToolBar *bar = new QPEToolBar( this ); 128 QPEToolBar *bar = new QPEToolBar( this );
129 bar->setLabel( tr( "Play Operations" ) ); 129 bar->setLabel( tr( "Play Operations" ) );
130 130
131 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); 131 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close");
132 tbDeletePlaylist->setFlat(TRUE); 132 tbDeletePlaylist->setFlat(TRUE);
133 tbDeletePlaylist->setFixedSize(20,20); 133 tbDeletePlaylist->setFixedSize(20,20);
134 134
135 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist", 135 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist",
136 this , SLOT(addSelected()) ); 136 this , SLOT(addSelected()) );
137 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist", 137 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist",
138 this , SLOT(removeSelected()) ); 138 this , SLOT(removeSelected()) );
139 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", 139 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play",
140 this , SLOT( btnPlay(bool) ), TRUE ); 140 this , SLOT( btnPlay(bool) ), TRUE );
141 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle", 141 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle",
142 mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 142 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
143 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop", 143 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop",
144 mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 144 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
145 tbDeletePlaylist->hide(); 145 tbDeletePlaylist->hide();
146 146
147 QPopupMenu *pmPlayList = new QPopupMenu( this ); 147 QPopupMenu *pmPlayList = new QPopupMenu( this );
148 menu->insertItem( tr( "File" ), pmPlayList ); 148 menu->insertItem( tr( "File" ), pmPlayList );
149 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 149 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
150 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); 150 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) );
151 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); 151 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) );
152 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); 152 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) );
153 pmPlayList->insertSeparator(-1); 153 pmPlayList->insertSeparator(-1);
154 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 154 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
155 new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) ); 155 new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) );
156 pmPlayList->insertSeparator(-1); 156 pmPlayList->insertSeparator(-1);
157 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 157 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
158 pmPlayList->insertSeparator(-1); 158 pmPlayList->insertSeparator(-1);
159 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) ); 159 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) );
160 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) ); 160 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) );
161 161
162 162
163 pmView = new QPopupMenu( this ); 163 pmView = new QPopupMenu( this );
164 menu->insertItem( tr( "View" ), pmView ); 164 menu->insertItem( tr( "View" ), pmView );
165 pmView->isCheckable(); 165 pmView->isCheckable();
166 166
167 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) ); 167 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) );
168 168
169 Config cfg( "OpiePlayer" ); 169 Config cfg( "OpiePlayer" );
170 bool b= cfg.readBoolEntry("FullScreen", 0); 170 bool b= cfg.readBoolEntry("FullScreen", 0);
171 mediaPlayerState->setFullscreen( b ); 171 mediaPlayerState->setFullscreen( b );
172 pmView->setItemChecked( -16, b ); 172 pmView->setItemChecked( -16, b );
173 173
174 pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) ); 174 // pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) );
175 175
176 pmView->insertSeparator(-1); 176 pmView->insertSeparator(-1);
177 177
178 skinsMenu = new QPopupMenu( this ); 178 skinsMenu = new QPopupMenu( this );
179 pmView->insertItem( tr( "Skins" ), skinsMenu ); 179 pmView->insertItem( tr( "Skins" ), skinsMenu );
180 skinsMenu->isCheckable(); 180 skinsMenu->isCheckable();
181 populateSkinsMenu(); 181 populateSkinsMenu();
182 182
183 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 183 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
184 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 184 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
185 185
186 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); 186 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton );
187 187
188 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 188 tabWidget = new QTabWidget( hbox6, "tabWidget" );
189// tabWidget->setTabShape(QTabWidget::Triangular); 189// tabWidget->setTabShape(QTabWidget::Triangular);
190 190
191 QWidget *pTab; 191 QWidget *pTab;
192 pTab = new QWidget( tabWidget, "pTab" ); 192 pTab = new QWidget( tabWidget, "pTab" );
193 tabWidget->insertTab( pTab,"Playlist"); 193 tabWidget->insertTab( pTab,"Playlist");
194 194
195 195
196 // Add the playlist area 196 // Add the playlist area
197 197
198 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); 198 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton );
199 d->playListFrame = vbox3; 199 d->playListFrame = vbox3;
200 d->playListFrame ->setMinimumSize(235,260); 200 d->playListFrame ->setMinimumSize(235,260);
201 201
202 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); 202 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton );
203 203
204 d->selectedFiles = new PlayListSelection( hbox2); 204 d->selectedFiles = new PlayListSelection( hbox2);
205 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); 205 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton );
206 206
207 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); 207 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
208 208
209 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 209 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
210 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); 210 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) );
211 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) ); 211 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) );
212 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) ); 212 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) );
213 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch 213 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch
214 214
215 QWidget *aTab; 215 QWidget *aTab;
216 aTab = new QWidget( tabWidget, "aTab" ); 216 aTab = new QWidget( tabWidget, "aTab" );
217 audioView = new QListView( aTab, "Audioview" ); 217 audioView = new QListView( aTab, "Audioview" );
218 audioView->setMinimumSize(233,260); 218 audioView->setMinimumSize(233,260);
219 audioView->addColumn( tr("Title"),140); 219 audioView->addColumn( tr("Title"),140);
220 audioView->addColumn(tr("Size"), -1); 220 audioView->addColumn(tr("Size"), -1);
221 audioView->addColumn(tr("Media"),-1); 221 audioView->addColumn(tr("Media"),-1);
222 audioView->setColumnAlignment(1, Qt::AlignRight); 222 audioView->setColumnAlignment(1, Qt::AlignRight);
223 audioView->setColumnAlignment(2, Qt::AlignRight); 223 audioView->setColumnAlignment(2, Qt::AlignRight);
224 audioView->setAllColumnsShowFocus(TRUE); 224 audioView->setAllColumnsShowFocus(TRUE);
225 225
226 audioView->setMultiSelection( TRUE ); 226 audioView->setMultiSelection( TRUE );
227 audioView->setSelectionMode( QListView::Extended); 227 audioView->setSelectionMode( QListView::Extended);
228 228
229 tabWidget->insertTab(aTab,tr("Audio")); 229 tabWidget->insertTab(aTab,tr("Audio"));
230 230
231 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); 231 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
232 232
233 QWidget *vTab; 233 QWidget *vTab;
234 vTab = new QWidget( tabWidget, "vTab" ); 234 vTab = new QWidget( tabWidget, "vTab" );
235 videoView = new QListView( vTab, "Videoview" ); 235 videoView = new QListView( vTab, "Videoview" );
236 videoView->setMinimumSize(233,260); 236 videoView->setMinimumSize(233,260);
237 237
238 videoView->addColumn(tr("Title"),140); 238 videoView->addColumn(tr("Title"),140);
239 videoView->addColumn(tr("Size"),-1); 239 videoView->addColumn(tr("Size"),-1);
240 videoView->addColumn(tr("Media"),-1); 240 videoView->addColumn(tr("Media"),-1);
241 videoView->setColumnAlignment(1, Qt::AlignRight); 241 videoView->setColumnAlignment(1, Qt::AlignRight);
242 videoView->setColumnAlignment(2, Qt::AlignRight); 242 videoView->setColumnAlignment(2, Qt::AlignRight);
243 videoView->setAllColumnsShowFocus(TRUE); 243 videoView->setAllColumnsShowFocus(TRUE);
244 videoView->setMultiSelection( TRUE ); 244 videoView->setMultiSelection( TRUE );
245 videoView->setSelectionMode( QListView::Extended); 245 videoView->setSelectionMode( QListView::Extended);
246 246
247 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); 247 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
248 248
249 tabWidget->insertTab( vTab,tr("Video")); 249 tabWidget->insertTab( vTab,tr("Video"));
250 250
251 //playlists list 251 //playlists list
252 QWidget *LTab; 252 QWidget *LTab;
253 LTab = new QWidget( tabWidget, "LTab" ); 253 LTab = new QWidget( tabWidget, "LTab" );
254 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 254 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
255 playLists->setMinimumSize(233,260); 255 playLists->setMinimumSize(233,260);
256 tabWidget->insertTab(LTab,tr("Lists")); 256 tabWidget->insertTab(LTab,tr("Lists"));
257 257
258 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); 258 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
259 259
260 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) ); 260 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) );
261 261
262 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) ); 262 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) );
263 263
264// connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) ); 264// connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) );
265 265
266 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 266 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
267 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); 267 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
268 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 268 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
269 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 269 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
270 connect( audioView, SIGNAL( returnPressed( QListViewItem *)), 270 connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
271 this,SLOT( playIt( QListViewItem *)) ); 271 this,SLOT( playIt( QListViewItem *)) );
272 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 272 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
273 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 273 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
274 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 274 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
275 connect( videoView, SIGNAL( returnPressed( QListViewItem *)), 275 connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
276 this,SLOT( playIt( QListViewItem *)) ); 276 this,SLOT( playIt( QListViewItem *)) );
277 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 277 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
278 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 278 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
279 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 279 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
280 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 280 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
281 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 281 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
282 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 282 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
283 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 283 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
285 285
286 setCentralWidget( vbox5 ); 286 setCentralWidget( vbox5 );
287 287
288 readConfig( cfg ); 288 readConfig( cfg );
289 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 289 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
290 loadList(DocLnk( currentPlaylist)); 290 loadList(DocLnk( currentPlaylist));
291 setCaption(tr("OpiePlayer: ")+ currentPlaylist ); 291 setCaption(tr("OpiePlayer: ")+ currentPlaylist );
292 292
293 initializeStates(); 293 initializeStates();
294} 294}
295 295
296 296
297PlayListWidget::~PlayListWidget() { 297PlayListWidget::~PlayListWidget() {
298 Config cfg( "OpiePlayer" ); 298 Config cfg( "OpiePlayer" );
299 writeConfig( cfg ); 299 writeConfig( cfg );
300 300
301 if ( d->current ) { 301 if ( d->current ) {
302 delete d->current; 302 delete d->current;
303 } 303 }
304 delete d; 304 delete d;
305} 305}
306 306
307 307
308void PlayListWidget::initializeStates() { 308void PlayListWidget::initializeStates() {
309 309
310 d->tbPlay->setOn( mediaPlayerState->playing() ); 310 d->tbPlay->setOn( mediaPlayerState->playing() );
311 d->tbLoop->setOn( mediaPlayerState->looping() ); 311 d->tbLoop->setOn( mediaPlayerState->looping() );
312 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 312 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
313 setPlaylist( true); 313 setPlaylist( true);
314} 314}
315 315
316 316
317void PlayListWidget::readConfig( Config& cfg ) { 317void PlayListWidget::readConfig( Config& cfg ) {
318 cfg.setGroup("PlayList"); 318 cfg.setGroup("PlayList");
319 QString currentString = cfg.readEntry("current", "" ); 319 QString currentString = cfg.readEntry("current", "" );
320 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 320 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
321 for ( int i = 0; i < noOfFiles; i++ ) { 321 for ( int i = 0; i < noOfFiles; i++ ) {
322 QString entryName; 322 QString entryName;
323 entryName.sprintf( "File%i", i + 1 ); 323 entryName.sprintf( "File%i", i + 1 );
324 QString linkFile = cfg.readEntry( entryName ); 324 QString linkFile = cfg.readEntry( entryName );
325 DocLnk lnk( linkFile ); 325 DocLnk lnk( linkFile );
326 if ( lnk.isValid() ) { 326 if ( lnk.isValid() ) {
327 d->selectedFiles->addToSelection( lnk ); 327 d->selectedFiles->addToSelection( lnk );
328 } 328 }
329 } 329 }
330 d->selectedFiles->setSelectedItem( currentString); 330 d->selectedFiles->setSelectedItem( currentString);
331} 331}
332 332
333 333
334void PlayListWidget::writeConfig( Config& cfg ) const { 334void PlayListWidget::writeConfig( Config& cfg ) const {
335 335
336 d->selectedFiles->writeCurrent( cfg); 336 d->selectedFiles->writeCurrent( cfg);
337 cfg.setGroup("PlayList"); 337 cfg.setGroup("PlayList");
338 int noOfFiles = 0; 338 int noOfFiles = 0;
339 d->selectedFiles->first(); 339 d->selectedFiles->first();
340 do { 340 do {
341 const DocLnk *lnk = d->selectedFiles->current(); 341 const DocLnk *lnk = d->selectedFiles->current();
342 if ( lnk ) { 342 if ( lnk ) {
343 QString entryName; 343 QString entryName;
344 entryName.sprintf( "File%i", noOfFiles + 1 ); 344 entryName.sprintf( "File%i", noOfFiles + 1 );
345 cfg.writeEntry( entryName, lnk->linkFile() ); 345 cfg.writeEntry( entryName, lnk->linkFile() );
346 // if this link does exist, add it so we have the file 346 // if this link does exist, add it so we have the file
347 // next time... 347 // next time...
348 if ( !QFile::exists( lnk->linkFile() ) ) { 348 if ( !QFile::exists( lnk->linkFile() ) ) {
349 // the way writing lnks doesn't really check for out 349 // the way writing lnks doesn't really check for out
350 // of disk space, but check it anyway. 350 // of disk space, but check it anyway.
351 if ( !lnk->writeLink() ) { 351 if ( !lnk->writeLink() ) {
352 QMessageBox::critical( 0, tr("Out of space"), 352 QMessageBox::critical( 0, tr("Out of space"),
353 tr( "There was a problem saving " 353 tr( "There was a problem saving "
354 "the playlist.\n" 354 "the playlist.\n"
355 "Your playlist " 355 "Your playlist "
356 "may be missing some entries\n" 356 "may be missing some entries\n"
357 "the next time you start it." ) 357 "the next time you start it." )
358 ); 358 );
359 } 359 }
360 } 360 }
361 noOfFiles++; 361 noOfFiles++;
362 } 362 }
363 } 363 }
364 while ( d->selectedFiles->next() ); 364 while ( d->selectedFiles->next() );
365 cfg.writeEntry("NumberOfFiles", noOfFiles ); 365 cfg.writeEntry("NumberOfFiles", noOfFiles );
366} 366}
367 367
368 368
369void PlayListWidget::addToSelection( const DocLnk& lnk ) { 369void PlayListWidget::addToSelection( const DocLnk& lnk ) {
370 d->setDocumentUsed = FALSE; 370 d->setDocumentUsed = FALSE;
371 if ( mediaPlayerState->playlist() ) { 371 if ( mediaPlayerState->playlist() ) {
372 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) 372 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" )
373 d->selectedFiles->addToSelection( lnk ); 373 d->selectedFiles->addToSelection( lnk );
374 } 374 }
375 else 375 else
376 mediaPlayerState->setPlaying( TRUE ); 376 mediaPlayerState->setPlaying( TRUE );
377} 377}
378 378
379 379
380void PlayListWidget::clearList() { 380void PlayListWidget::clearList() {
381 while ( first() ) { 381 while ( first() ) {
382 d->selectedFiles->removeSelected(); 382 d->selectedFiles->removeSelected();
383 } 383 }
384} 384}
385 385
386 386
387void PlayListWidget::addAllToList() { 387void PlayListWidget::addAllToList() {
388 DocLnkSet filesAll; 388 DocLnkSet filesAll;
389 Global::findDocuments(&filesAll, "video/*;audio/*"); 389 Global::findDocuments(&filesAll, "video/*;audio/*");
390 QListIterator<DocLnk> Adit( filesAll.children() ); 390 QListIterator<DocLnk> Adit( filesAll.children() );
391 for ( ; Adit.current(); ++Adit ) { 391 for ( ; Adit.current(); ++Adit ) {
392 if(QFileInfo(Adit.current()->file()).exists()) { 392 if(QFileInfo(Adit.current()->file()).exists()) {
393 d->selectedFiles->addToSelection( **Adit ); 393 d->selectedFiles->addToSelection( **Adit );
394 } 394 }
395 } 395 }
396} 396}
397 397
398 398
399void PlayListWidget::addAllMusicToList() { 399void PlayListWidget::addAllMusicToList() {
400 QListIterator<DocLnk> dit( files.children() ); 400 QListIterator<DocLnk> dit( files.children() );
401 for ( ; dit.current(); ++dit ) { 401 for ( ; dit.current(); ++dit ) {
402 if(QFileInfo(dit.current()->file()).exists()) { 402 if(QFileInfo(dit.current()->file()).exists()) {
403 d->selectedFiles->addToSelection( **dit ); 403 d->selectedFiles->addToSelection( **dit );
404 } 404 }
405 } 405 }
406} 406}
407 407
408 408
409void PlayListWidget::addAllVideoToList() { 409void PlayListWidget::addAllVideoToList() {
410 QListIterator<DocLnk> dit( vFiles.children() ); 410 QListIterator<DocLnk> dit( vFiles.children() );
411 for ( ; dit.current(); ++dit ) 411 for ( ; dit.current(); ++dit )
412 if(QFileInfo( dit.current()->file()).exists()) 412 if(QFileInfo( dit.current()->file()).exists())
413 d->selectedFiles->addToSelection( **dit ); 413 d->selectedFiles->addToSelection( **dit );
414} 414}
415 415
416 416
417void PlayListWidget::setDocument(const QString& fileref) { 417void PlayListWidget::setDocument(const QString& fileref) {
418 qDebug(fileref); 418 qDebug(fileref);
419 fromSetDocument = TRUE; 419 fromSetDocument = TRUE;
420 if ( fileref.isNull() ) { 420 if ( fileref.isNull() ) {
421 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); 421 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) );
422 return; 422 return;
423 } 423 }
424 424
425 if(fileref.find("m3u",0,TRUE) != -1) { //is m3u 425 if(fileref.find("m3u",0,TRUE) != -1) { //is m3u
426 readm3u( fileref); 426 readm3u( fileref);
427 } else if(fileref.find("pls",0,TRUE) != -1) { //is pls 427 } else if(fileref.find("pls",0,TRUE) != -1) { //is pls
428 readPls( fileref); 428 readPls( fileref);
429 } else if(fileref.find("playlist",0,TRUE) != -1) {//is playlist 429 } else if(fileref.find("playlist",0,TRUE) != -1) {//is playlist
430 clearList(); 430 clearList();