-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 39 |
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 | ||
89 | PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | 89 | PlayListWidget::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 | ||
284 | PlayListWidget::~PlayListWidget() { | 312 | PlayListWidget::~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 | ||
295 | void PlayListWidget::initializeStates() { | 323 | void 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 | ||
304 | void PlayListWidget::readConfig( Config& cfg ) { | 332 | void 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 | } |
319 | d->selectedFiles->setSelectedItem( currentString); | 347 | d->selectedFiles->setSelectedItem( currentString); |
320 | } | 348 | } |
321 | 349 | ||
322 | 350 | ||
323 | void PlayListWidget::writeConfig( Config& cfg ) const { | 351 | void 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 | ||
591 | void PlayListWidget::loadList( const DocLnk & lnk) { | 619 | void 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 | ||
610 | void PlayListWidget::setPlaylist( bool shown ) { | 638 | void 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 | ||
618 | void PlayListWidget::setView( char view ) { | 646 | void 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 | ||
625 | void PlayListWidget::addSelected() { | 653 | void 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 | ||
674 | void PlayListWidget::removeSelected() { | 702 | void PlayListWidget::removeSelected() { |
675 | d->selectedFiles->removeSelected( ); | 703 | d->selectedFiles->removeSelected( ); |
676 | } | 704 | } |
677 | 705 | ||
678 | void PlayListWidget::playIt( QListViewItem *it) { | 706 | void 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 | ||
686 | void PlayListWidget::addToSelection( QListViewItem *it) { | 713 | void 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 | ||
718 | void PlayListWidget::tabChanged(QWidget *) { | 745 | void 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 | ||
760 | void PlayListWidget::btnPlay(bool b) { | 787 | void 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; |