summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp39
1 files changed, 33 insertions, 6 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 0cfd720..0c3ea74 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -87,252 +87,280 @@ public:
87 87
88 88
89PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 89PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
90 : QMainWindow( parent, name, fl ) { 90 : QMainWindow( parent, name, fl ) {
91 91
92 d = new PlayListWidgetPrivate; 92 d = new PlayListWidgetPrivate;
93 d->setDocumentUsed = FALSE; 93 d->setDocumentUsed = FALSE;
94 d->current = NULL; 94 d->current = NULL;
95 fromSetDocument = FALSE; 95 fromSetDocument = FALSE;
96 insanityBool=FALSE; 96 insanityBool=FALSE;
97 audioScan = FALSE; 97 audioScan = FALSE;
98 videoScan = FALSE; 98 videoScan = FALSE;
99 99
100 setBackgroundMode( PaletteButton ); 100 setBackgroundMode( PaletteButton );
101 101
102 setCaption( tr("OpiePlayer") ); 102 setCaption( tr("OpiePlayer") );
103 setIcon( Resource::loadPixmap( "opieplayer2/MPEGPlayer" ) ); 103 setIcon( Resource::loadPixmap( "opieplayer2/MPEGPlayer" ) );
104 104
105 setToolBarsMovable( FALSE ); 105 setToolBarsMovable( FALSE );
106 106
107 // Create Toolbar 107 // Create Toolbar
108 QPEToolBar *toolbar = new QPEToolBar( this ); 108 QPEToolBar *toolbar = new QPEToolBar( this );
109 toolbar->setHorizontalStretchable( TRUE ); 109 toolbar->setHorizontalStretchable( TRUE );
110 110
111 // Create Menubar 111 // Create Menubar
112 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 112 QPEMenuBar *menu = new QPEMenuBar( toolbar );
113 menu->setMargin( 0 ); 113 menu->setMargin( 0 );
114 114
115 QPEToolBar *bar = new QPEToolBar( this ); 115 QPEToolBar *bar = new QPEToolBar( this );
116 bar->setLabel( tr( "Play Operations" ) ); 116 bar->setLabel( tr( "Play Operations" ) );
117 117
118 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); 118 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close");
119 tbDeletePlaylist->setFlat(TRUE); 119 tbDeletePlaylist->setFlat(TRUE);
120 tbDeletePlaylist->setFixedSize(20,20); 120 tbDeletePlaylist->setFixedSize(20,20);
121 121
122 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist", 122 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist",
123 this , SLOT(addSelected()) ); 123 this , SLOT(addSelected()) );
124 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist", 124 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist",
125 this , SLOT(removeSelected()) ); 125 this , SLOT(removeSelected()) );
126 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", 126 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play",
127 this , SLOT( btnPlay(bool) ), TRUE ); 127 this , SLOT( btnPlay(bool) ), TRUE );
128 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", 128 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle",
129 mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 129 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
130 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer2/loop", 130 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer2/loop",
131 mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 131 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
132 tbDeletePlaylist->hide(); 132 tbDeletePlaylist->hide();
133 133
134 QPopupMenu *pmPlayList = new QPopupMenu( this ); 134 QPopupMenu *pmPlayList = new QPopupMenu( this );
135 menu->insertItem( tr( "File" ), pmPlayList ); 135 menu->insertItem( tr( "File" ), pmPlayList );
136 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 136 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
137 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); 137 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) );
138 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); 138 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) );
139 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); 139 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) );
140 pmPlayList->insertSeparator(-1); 140 pmPlayList->insertSeparator(-1);
141 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 141 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
142 new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) ); 142 new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) );
143 pmPlayList->insertSeparator(-1); 143 pmPlayList->insertSeparator(-1);
144 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 144 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
145 pmPlayList->insertSeparator(-1); 145 pmPlayList->insertSeparator(-1);
146 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) ); 146 new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) );
147 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) ); 147 new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) );
148 148
149 149
150 pmView = new QPopupMenu( this ); 150 pmView = new QPopupMenu( this );
151 menu->insertItem( tr( "View" ), pmView ); 151 menu->insertItem( tr( "View" ), pmView );
152 pmView->isCheckable(); 152 pmView->isCheckable();
153 153
154 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) ); 154 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) );
155 155
156 Config cfg( "OpiePlayer" ); 156 Config cfg( "OpiePlayer" );
157 bool b= cfg.readBoolEntry("FullScreen", 0); 157 bool b= cfg.readBoolEntry("FullScreen", 0);
158 mediaPlayerState->setFullscreen( b ); 158 mediaPlayerState->setFullscreen( b );
159 pmView->setItemChecked( -16, b ); 159 pmView->setItemChecked( -16, b );
160 160
161 // pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) ); 161 // pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) );
162 162
163 pmView->insertSeparator(-1); 163 pmView->insertSeparator(-1);
164 164
165 skinsMenu = new QPopupMenu( this ); 165 skinsMenu = new QPopupMenu( this );
166 pmView->insertItem( tr( "Skins" ), skinsMenu ); 166 pmView->insertItem( tr( "Skins" ), skinsMenu );
167 skinsMenu->isCheckable(); 167 skinsMenu->isCheckable();
168 populateSkinsMenu(); 168 populateSkinsMenu();
169 169
170 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 170 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
171 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 171 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
172 172
173 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); 173 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton );
174 174
175 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 175 tabWidget = new QTabWidget( hbox6, "tabWidget" );
176// tabWidget->setTabShape(QTabWidget::Triangular); 176// tabWidget->setTabShape(QTabWidget::Triangular);
177 177
178 QWidget *pTab; 178 QWidget *pTab;
179 pTab = new QWidget( tabWidget, "pTab" ); 179 pTab = new QWidget( tabWidget, "pTab" );
180 tabWidget->insertTab( pTab,"Playlist"); 180 tabWidget->insertTab( pTab,"Playlist");
181 181
182 182
183 QGridLayout *Playout = new QGridLayout( pTab );
184 Playout->setSpacing( 2);
185 Playout->setMargin( 2);
186
183 // Add the playlist area 187 // Add the playlist area
184 188
185 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); 189 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton );
186 d->playListFrame = vbox3; 190 d->playListFrame = vbox3;
187 d->playListFrame ->setMinimumSize(235,250);
188 191
189 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); 192 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton );
190 193
191 d->selectedFiles = new PlayListSelection( hbox2); 194 d->selectedFiles = new PlayListSelection( hbox2);
192 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); 195 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton );
193 196
194 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); 197 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
195 198
196 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 199 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
197 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp()) ); 200 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp()) );
198 new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", d->selectedFiles, SLOT(removeSelected()) ); 201 new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", d->selectedFiles, SLOT(removeSelected()) );
199 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", d->selectedFiles, SLOT(moveSelectedDown()) ); 202 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", d->selectedFiles, SLOT(moveSelectedDown()) );
200 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch 203 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch
201 204
205
206 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 );
207
202 QWidget *aTab; 208 QWidget *aTab;
203 aTab = new QWidget( tabWidget, "aTab" ); 209 aTab = new QWidget( tabWidget, "aTab" );
210
211 QGridLayout *Alayout = new QGridLayout( aTab );
212 Alayout->setSpacing( 2);
213 Alayout->setMargin( 2);
214
204 audioView = new QListView( aTab, "Audioview" ); 215 audioView = new QListView( aTab, "Audioview" );
205 audioView->setMinimumSize(233,250);
206 audioView->addColumn( tr("Title"),140); 216 audioView->addColumn( tr("Title"),140);
207 audioView->addColumn(tr("Size"), -1); 217 audioView->addColumn(tr("Size"), -1);
208 audioView->addColumn(tr("Media"),-1); 218 audioView->addColumn(tr("Media"),-1);
209 audioView->setColumnAlignment(1, Qt::AlignRight); 219 audioView->setColumnAlignment(1, Qt::AlignRight);
210 audioView->setColumnAlignment(2, Qt::AlignRight); 220 audioView->setColumnAlignment(2, Qt::AlignRight);
211 audioView->setAllColumnsShowFocus(TRUE); 221 audioView->setAllColumnsShowFocus(TRUE);
212 222
213 audioView->setMultiSelection( TRUE ); 223 audioView->setMultiSelection( TRUE );
214 audioView->setSelectionMode( QListView::Extended); 224 audioView->setSelectionMode( QListView::Extended);
215 225
226 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
227
216 tabWidget->insertTab(aTab,tr("Audio")); 228 tabWidget->insertTab(aTab,tr("Audio"));
217 229
218 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); 230 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
219 231
220 QWidget *vTab; 232 QWidget *vTab;
221 vTab = new QWidget( tabWidget, "vTab" ); 233 vTab = new QWidget( tabWidget, "vTab" );
234
235 QGridLayout *Vlayout = new QGridLayout( vTab );
236 Vlayout->setSpacing( 2);
237 Vlayout->setMargin( 2);
238
222 videoView = new QListView( vTab, "Videoview" ); 239 videoView = new QListView( vTab, "Videoview" );
223 videoView->setMinimumSize(233,250);
224 240
225 videoView->addColumn(tr("Title"),140); 241 videoView->addColumn(tr("Title"),140);
226 videoView->addColumn(tr("Size"),-1); 242 videoView->addColumn(tr("Size"),-1);
227 videoView->addColumn(tr("Media"),-1); 243 videoView->addColumn(tr("Media"),-1);
228 videoView->setColumnAlignment(1, Qt::AlignRight); 244 videoView->setColumnAlignment(1, Qt::AlignRight);
229 videoView->setColumnAlignment(2, Qt::AlignRight); 245 videoView->setColumnAlignment(2, Qt::AlignRight);
230 videoView->setAllColumnsShowFocus(TRUE); 246 videoView->setAllColumnsShowFocus(TRUE);
231 videoView->setMultiSelection( TRUE ); 247 videoView->setMultiSelection( TRUE );
232 videoView->setSelectionMode( QListView::Extended); 248 videoView->setSelectionMode( QListView::Extended);
233 249
250// d->playListFrame->setMaximumSize(235,240);
251// audioView->setMaximumSize(233,240);
252// videoView->setMaximumSize(233,240);
253
254 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 );
255
234 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); 256 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
235 257
236 tabWidget->insertTab( vTab,tr("Video")); 258 tabWidget->insertTab( vTab,tr("Video"));
237 259
238 //playlists list 260 //playlists list
239 QWidget *LTab; 261 QWidget *LTab;
240 LTab = new QWidget( tabWidget, "LTab" ); 262 LTab = new QWidget( tabWidget, "LTab" );
263 QGridLayout *Llayout = new QGridLayout( LTab );
264 Llayout->setSpacing( 2);
265 Llayout->setMargin( 2);
266
241 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 267 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
242 playLists->setMinimumSize(233,260); 268 // playLists->setMinimumSize(233,260);
269 Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 );
270
243 tabWidget->insertTab(LTab,tr("Lists")); 271 tabWidget->insertTab(LTab,tr("Lists"));
244 272
245 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); 273 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
246 274
247 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) ); 275 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) );
248 276
249 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) ); 277 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) );
250 278
251// connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) ); 279// connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) );
252 280
253 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 281 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
254 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); 282 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
255 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 283 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
256 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 284 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
257 connect( audioView, SIGNAL( returnPressed( QListViewItem *)), 285 connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
258 this,SLOT( playIt( QListViewItem *)) ); 286 this,SLOT( playIt( QListViewItem *)) );
259 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 287 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
260 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 288 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
261 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 289 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
262 connect( videoView, SIGNAL( returnPressed( QListViewItem *)), 290 connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
263 this,SLOT( playIt( QListViewItem *)) ); 291 this,SLOT( playIt( QListViewItem *)) );
264 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 292 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
265 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 293 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
266 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 294 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
267 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 295 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
268 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 296 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
269 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 297 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
270 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 298 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
271 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 299 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
272 300
273 setCentralWidget( vbox5 ); 301 setCentralWidget( vbox5 );
274 302
275 readConfig( cfg ); 303 readConfig( cfg );
276 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 304 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
277 loadList(DocLnk( currentPlaylist)); 305 loadList(DocLnk( currentPlaylist));
278 setCaption(tr("OpiePlayer: ")+ currentPlaylist ); 306 setCaption(tr("OpiePlayer: ")+ currentPlaylist );
279 307
280 initializeStates(); 308 initializeStates();
281} 309}
282 310
283 311
284PlayListWidget::~PlayListWidget() { 312PlayListWidget::~PlayListWidget() {
285 Config cfg( "OpiePlayer" ); 313 Config cfg( "OpiePlayer" );
286 writeConfig( cfg ); 314 writeConfig( cfg );
287 315
288 if ( d->current ) { 316 if ( d->current ) {
289 delete d->current; 317 delete d->current;
290 } 318 }
291 delete d; 319 delete d;
292} 320}
293 321
294 322
295void PlayListWidget::initializeStates() { 323void PlayListWidget::initializeStates() {
296 324
297 d->tbPlay->setOn( mediaPlayerState->playing() ); 325 d->tbPlay->setOn( mediaPlayerState->playing() );
298 d->tbLoop->setOn( mediaPlayerState->looping() ); 326 d->tbLoop->setOn( mediaPlayerState->looping() );
299 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 327 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
300 setPlaylist( true); 328 setPlaylist( true);
301} 329}
302 330
303 331
304void PlayListWidget::readConfig( Config& cfg ) { 332void PlayListWidget::readConfig( Config& cfg ) {
305 cfg.setGroup("PlayList"); 333 cfg.setGroup("PlayList");
306 QString currentString = cfg.readEntry("current", "" ); 334 QString currentString = cfg.readEntry("current", "" );
307 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 335 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
308 for ( int i = 0; i < noOfFiles; i++ ) { 336 for ( int i = 0; i < noOfFiles; i++ ) {
309 QString entryName; 337 QString entryName;
310 entryName.sprintf( "File%i", i + 1 ); 338 entryName.sprintf( "File%i", i + 1 );
311 QString linkFile = cfg.readEntry( entryName ); 339 QString linkFile = cfg.readEntry( entryName );
312 if(QFileInfo( linkFile).exists() ) { 340 if(QFileInfo( linkFile).exists() ) {
313 DocLnk lnk( linkFile ); 341 DocLnk lnk( linkFile );
314 if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) { 342 if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) {
315 d->selectedFiles->addToSelection( lnk ); 343 d->selectedFiles->addToSelection( lnk );
316 } 344 }
317 } 345 }
318 } 346 }
319d->selectedFiles->setSelectedItem( currentString); 347d->selectedFiles->setSelectedItem( currentString);
320} 348}
321 349
322 350
323void PlayListWidget::writeConfig( Config& cfg ) const { 351void PlayListWidget::writeConfig( Config& cfg ) const {
324 352
325 d->selectedFiles->writeCurrent( cfg); 353 d->selectedFiles->writeCurrent( cfg);
326 cfg.setGroup("PlayList"); 354 cfg.setGroup("PlayList");
327 int noOfFiles = 0; 355 int noOfFiles = 0;
328 d->selectedFiles->first(); 356 d->selectedFiles->first();
329 do { 357 do {
330 const DocLnk *lnk = d->selectedFiles->current(); 358 const DocLnk *lnk = d->selectedFiles->current();
331 if ( lnk ) { 359 if ( lnk ) {
332 QString entryName; 360 QString entryName;
333 entryName.sprintf( "File%i", noOfFiles + 1 ); 361 entryName.sprintf( "File%i", noOfFiles + 1 );
334 cfg.writeEntry( entryName, lnk->linkFile() ); 362 cfg.writeEntry( entryName, lnk->linkFile() );
335 // if this link does exist, add it so we have the file 363 // if this link does exist, add it so we have the file
336 // next time... 364 // next time...
337 if ( !QFile::exists( lnk->linkFile() ) ) { 365 if ( !QFile::exists( lnk->linkFile() ) ) {
338 // the way writing lnks doesn't really check for out 366 // the way writing lnks doesn't really check for out
@@ -583,194 +611,193 @@ void PlayListWidget::saveList() {
583 config.writeEntry("CurrentPlaylist",filename); 611 config.writeEntry("CurrentPlaylist",filename);
584 setCaption(tr("OpiePlayer: ")+filename); 612 setCaption(tr("OpiePlayer: ")+filename);
585 d->selectedFiles->first(); 613 d->selectedFiles->first();
586 if(fileDlg) { 614 if(fileDlg) {
587 delete fileDlg; 615 delete fileDlg;
588 } 616 }
589} 617}
590 618
591void PlayListWidget::loadList( const DocLnk & lnk) { 619void PlayListWidget::loadList( const DocLnk & lnk) {
592 QString name= lnk.name(); 620 QString name= lnk.name();
593 // qDebug("currentList is "+name); 621 // qDebug("currentList is "+name);
594 if( name.length()>1) { 622 if( name.length()>1) {
595 setCaption("OpiePlayer: "+name); 623 setCaption("OpiePlayer: "+name);
596 // qDebug("load list "+ name+".playlist"); 624 // qDebug("load list "+ name+".playlist");
597 clearList(); 625 clearList();
598 Config cfg( name+".playlist"); 626 Config cfg( name+".playlist");
599 readConfig(cfg); 627 readConfig(cfg);
600 628
601 tabWidget->setCurrentPage(0); 629 tabWidget->setCurrentPage(0);
602 630
603 Config config( "OpiePlayer" ); 631 Config config( "OpiePlayer" );
604 config.writeEntry("CurrentPlaylist", name); 632 config.writeEntry("CurrentPlaylist", name);
605 // d->selectedFiles->first(); 633 // d->selectedFiles->first();
606 } 634 }
607 635
608} 636}
609 637
610void PlayListWidget::setPlaylist( bool shown ) { 638void PlayListWidget::setPlaylist( bool shown ) {
611 if ( shown ) { 639 if ( shown ) {
612 d->playListFrame->show(); 640 d->playListFrame->show();
613 } else { 641 } else {
614 d->playListFrame->hide(); 642 d->playListFrame->hide();
615 } 643 }
616} 644}
617 645
618void PlayListWidget::setView( char view ) { 646void PlayListWidget::setView( char view ) {
619 if ( view == 'l' ) 647 if ( view == 'l' )
620 showMaximized(); 648 showMaximized();
621 else 649 else
622 hide(); 650 hide();
623} 651}
624 652
625void PlayListWidget::addSelected() { 653void PlayListWidget::addSelected() {
626 654
627 Config cfg( "OpiePlayer" ); 655 Config cfg( "OpiePlayer" );
628 cfg.setGroup("PlayList"); 656 cfg.setGroup("PlayList");
629 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 657 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
630// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 658// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
631 659
632 switch (tabWidget->currentPageIndex()) { 660 switch (tabWidget->currentPageIndex()) {
633 case 0: //playlist 661 case 0: //playlist
634 break; 662 break;
635 case 1: { //audio 663 case 1: { //audio
636 QListViewItemIterator it( audioView ); 664 QListViewItemIterator it( audioView );
637 // iterate through all items of the listview 665 // iterate through all items of the listview
638 for ( ; it.current(); ++it ) { 666 for ( ; it.current(); ++it ) {
639 if ( it.current()->isSelected() ) { 667 if ( it.current()->isSelected() ) {
640 QListIterator<DocLnk> dit( files.children() ); 668 QListIterator<DocLnk> dit( files.children() );
641 for ( ; dit.current(); ++dit ) { 669 for ( ; dit.current(); ++dit ) {
642 if( dit.current()->name() == it.current()->text(0) ) { 670 if( dit.current()->name() == it.current()->text(0) ) {
643 if(QFileInfo( dit.current()->file()).exists()) 671 if(QFileInfo( dit.current()->file()).exists())
644 d->selectedFiles->addToSelection( **dit ); 672 d->selectedFiles->addToSelection( **dit );
645 } 673 }
646 } 674 }
647 audioView->setSelected( it.current(),FALSE); 675 audioView->setSelected( it.current(),FALSE);
648 } 676 }
649 } 677 }
650 tabWidget->setCurrentPage(0); 678 tabWidget->setCurrentPage(0);
651 } 679 }
652 break; 680 break;
653 case 2: { // video 681 case 2: { // video
654 QListViewItemIterator it( videoView ); 682 QListViewItemIterator it( videoView );
655 // iterate through all items of the listview 683 // iterate through all items of the listview
656 for ( ; it.current(); ++it ) { 684 for ( ; it.current(); ++it ) {
657 if ( it.current()->isSelected() ) { 685 if ( it.current()->isSelected() ) {
658 QListIterator<DocLnk> dit( vFiles.children() ); 686 QListIterator<DocLnk> dit( vFiles.children() );
659 for ( ; dit.current(); ++dit ) { 687 for ( ; dit.current(); ++dit ) {
660 if( dit.current()->name() == it.current()->text(0) ) { 688 if( dit.current()->name() == it.current()->text(0) ) {
661 if(QFileInfo( dit.current()->file()).exists()) 689 if(QFileInfo( dit.current()->file()).exists())
662 d->selectedFiles->addToSelection( **dit ); 690 d->selectedFiles->addToSelection( **dit );
663 } 691 }
664 } 692 }
665 videoView->setSelected( it.current(),FALSE); 693 videoView->setSelected( it.current(),FALSE);
666 } 694 }
667 } 695 }
668 tabWidget->setCurrentPage(0); 696 tabWidget->setCurrentPage(0);
669 } 697 }
670 break; 698 break;
671 }; 699 };
672} 700}
673 701
674void PlayListWidget::removeSelected() { 702void PlayListWidget::removeSelected() {
675 d->selectedFiles->removeSelected( ); 703 d->selectedFiles->removeSelected( );
676} 704}
677 705
678void PlayListWidget::playIt( QListViewItem *it) { 706void PlayListWidget::playIt( QListViewItem *it) {
679 // if(it==NULL) return; 707 if(!it) return;
680 qDebug("playIt");
681 mediaPlayerState->setPlaying(FALSE); 708 mediaPlayerState->setPlaying(FALSE);
682 mediaPlayerState->setPlaying(TRUE); 709 mediaPlayerState->setPlaying(TRUE);
683 d->selectedFiles->unSelect(); 710 d->selectedFiles->unSelect();
684} 711}
685 712
686void PlayListWidget::addToSelection( QListViewItem *it) { 713void PlayListWidget::addToSelection( QListViewItem *it) {
687 d->setDocumentUsed = FALSE; 714 d->setDocumentUsed = FALSE;
688 715
689 if(it) { 716 if(it) {
690 switch (tabWidget->currentPageIndex()) { 717 switch (tabWidget->currentPageIndex()) {
691 case 1: { 718 case 1: {
692 QListIterator<DocLnk> dit( files.children() ); 719 QListIterator<DocLnk> dit( files.children() );
693 for ( ; dit.current(); ++dit ) { 720 for ( ; dit.current(); ++dit ) {
694 if( dit.current()->name() == it->text(0)) { 721 if( dit.current()->name() == it->text(0)) {
695 if(QFileInfo( dit.current()->file()).exists()) 722 if(QFileInfo( dit.current()->file()).exists())
696 d->selectedFiles->addToSelection( **dit ); 723 d->selectedFiles->addToSelection( **dit );
697 } 724 }
698 } 725 }
699 } 726 }
700 break; 727 break;
701 case 2: { 728 case 2: {
702 QListIterator<DocLnk> dit( vFiles.children() ); 729 QListIterator<DocLnk> dit( vFiles.children() );
703 for ( ; dit.current(); ++dit ) { 730 for ( ; dit.current(); ++dit ) {
704 if( dit.current()->name() == it->text(0)) { 731 if( dit.current()->name() == it->text(0)) {
705 if(QFileInfo( dit.current()->file()).exists()) 732 if(QFileInfo( dit.current()->file()).exists())
706 d->selectedFiles->addToSelection( **dit ); 733 d->selectedFiles->addToSelection( **dit );
707 } 734 }
708 } 735 }
709 } 736 }
710 break; 737 break;
711 case 0: 738 case 0:
712 break; 739 break;
713 }; 740 };
714 tabWidget->setCurrentPage(0); 741 tabWidget->setCurrentPage(0);
715 } 742 }
716} 743}
717 744
718void PlayListWidget::tabChanged(QWidget *) { 745void PlayListWidget::tabChanged(QWidget *) {
719 746
720 switch ( tabWidget->currentPageIndex()) { 747 switch ( tabWidget->currentPageIndex()) {
721 case 0: 748 case 0:
722 { 749 {
723 if( !tbDeletePlaylist->isHidden()) 750 if( !tbDeletePlaylist->isHidden())
724 tbDeletePlaylist->hide(); 751 tbDeletePlaylist->hide();
725 d->tbRemoveFromList->setEnabled(TRUE); 752 d->tbRemoveFromList->setEnabled(TRUE);
726 d->tbAddToList->setEnabled(FALSE); 753 d->tbAddToList->setEnabled(FALSE);
727 } 754 }
728 break; 755 break;
729 case 1: 756 case 1:
730 { 757 {
731 audioView->clear(); 758 audioView->clear();
732 populateAudioView(); 759 populateAudioView();
733 760
734 if( !tbDeletePlaylist->isHidden()) 761 if( !tbDeletePlaylist->isHidden())
735 tbDeletePlaylist->hide(); 762 tbDeletePlaylist->hide();
736 d->tbRemoveFromList->setEnabled(FALSE); 763 d->tbRemoveFromList->setEnabled(FALSE);
737 d->tbAddToList->setEnabled(TRUE); 764 d->tbAddToList->setEnabled(TRUE);
738 } 765 }
739 break; 766 break;
740 case 2: 767 case 2:
741 { 768 {
742 videoView->clear(); 769 videoView->clear();
743 populateVideoView(); 770 populateVideoView();
744 if( !tbDeletePlaylist->isHidden()) 771 if( !tbDeletePlaylist->isHidden())
745 tbDeletePlaylist->hide(); 772 tbDeletePlaylist->hide();
746 d->tbRemoveFromList->setEnabled(FALSE); 773 d->tbRemoveFromList->setEnabled(FALSE);
747 d->tbAddToList->setEnabled(TRUE); 774 d->tbAddToList->setEnabled(TRUE);
748 } 775 }
749 break; 776 break;
750 case 3: 777 case 3:
751 { 778 {
752 if( tbDeletePlaylist->isHidden()) 779 if( tbDeletePlaylist->isHidden())
753 tbDeletePlaylist->show(); 780 tbDeletePlaylist->show();
754 playLists->reread(); 781 playLists->reread();
755 } 782 }
756 break; 783 break;
757 }; 784 };
758} 785}
759 786
760void PlayListWidget::btnPlay(bool b) { 787void PlayListWidget::btnPlay(bool b) {
761 788
762// mediaPlayerState->setPlaying(b); 789// mediaPlayerState->setPlaying(b);
763 switch ( tabWidget->currentPageIndex()) { 790 switch ( tabWidget->currentPageIndex()) {
764 case 0: 791 case 0:
765 { 792 {
766 mediaPlayerState->setPlaying(b); 793 mediaPlayerState->setPlaying(b);
767 } 794 }
768 break; 795 break;
769 case 1: 796 case 1:
770 { 797 {
771 addToSelection( audioView->currentItem() ); 798 addToSelection( audioView->currentItem() );
772 mediaPlayerState->setPlaying(b); 799 mediaPlayerState->setPlaying(b);
773 d->selectedFiles->removeSelected( ); 800 d->selectedFiles->removeSelected( );
774 tabWidget->setCurrentPage(1); 801 tabWidget->setCurrentPage(1);
775 d->selectedFiles->unSelect(); 802 d->selectedFiles->unSelect();
776 insanityBool=FALSE; 803 insanityBool=FALSE;