summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer3/mwindow.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer3/mwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer3/mwindow.cpp81
1 files changed, 63 insertions, 18 deletions
diff --git a/noncore/multimedia/opieplayer3/mwindow.cpp b/noncore/multimedia/opieplayer3/mwindow.cpp
index 57418f0..75d1490 100644
--- a/noncore/multimedia/opieplayer3/mwindow.cpp
+++ b/noncore/multimedia/opieplayer3/mwindow.cpp
@@ -62,2 +62,3 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f)
62{ 62{
63 checkLib();
63 setCaption( QObject::tr("Opie Mediaplayer 3" ) ); 64 setCaption( QObject::tr("Opie Mediaplayer 3" ) );
@@ -71,5 +72,5 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f)
71 m_l->addWidget(m_stack); 72 m_l->addWidget(m_stack);
72 m_scrollBar = new QSlider(QSlider::Horizontal,m_MainBox); 73 m_PosSlider = new QSlider(QSlider::Horizontal,m_MainBox);
73 m_l->addWidget(m_scrollBar); 74 m_l->addWidget(m_PosSlider);
74 m_scrollBar->setEnabled(false); 75 m_PosSlider->setEnabled(false);
75 76
@@ -89,4 +90,10 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f)
89 90
91 connect(m_PosSlider,SIGNAL(valueChanged(int)),this,SLOT(slotNewPos(int)));
92 connect(m_PosSlider,SIGNAL(sliderMoved(int)),this,SLOT(slotNewPos(int)));
93 connect(m_PosSlider,SIGNAL(sliderPressed()),this,SLOT(sliderPressed()));
94 connect(m_PosSlider,SIGNAL(sliderReleased()),this,SLOT(sliderReleased()));
95 m_pressed = false;
96 m_uppos=0;
97
90 m_stack->raiseWidget(stack_list); 98 m_stack->raiseWidget(stack_list);
91 m_PlayLib = 0;
92 m_LastItem = 0; 99 m_LastItem = 0;
@@ -101,2 +108,3 @@ void PMainWindow::slotListChanged(int count)
101{ 108{
109 playersGroup->setEnabled(count>0);
102 if (!m_playList->isVisible()) { 110 if (!m_playList->isVisible()) {
@@ -119,4 +127,5 @@ void PMainWindow::checkLib()
119 if (m_PlayLib == 0) { 127 if (m_PlayLib == 0) {
120 m_PlayLib = new XINE::Lib(XINE::Lib::InitializeImmediately); 128 m_PlayLib = new XINE::Lib(XINE::Lib::InitializeInThread);
121 m_PlayLib->ensureInitialized(); 129 qApp->processEvents();
130// m_PlayLib->ensureInitialized();
122 connect(m_PlayLib,SIGNAL(stopped()),this,SLOT(slotStopped())); 131 connect(m_PlayLib,SIGNAL(stopped()),this,SLOT(slotStopped()));
@@ -201,3 +210,3 @@ void PMainWindow::slotUserStop()
201 m_PlayLib->stop(); 210 m_PlayLib->stop();
202 m_scrollBar->setEnabled(false); 211 m_PosSlider->setEnabled(false);
203 hideVideo(); 212 hideVideo();
@@ -233,3 +242,3 @@ void PMainWindow::slotPlayCurrent()
233 if (m_PlayLib) m_PlayLib->stop(); 242 if (m_PlayLib) m_PlayLib->stop();
234 m_scrollBar->setEnabled(false); 243 m_PosSlider->setEnabled(false);
235 a_playAction->setOn(false); 244 a_playAction->setOn(false);
@@ -239,6 +248,6 @@ void PMainWindow::slotPlayCurrent()
239 } 248 }
240 checkLib();
241 m_CurrentPos = 0; 249 m_CurrentPos = 0;
242 m_playList->setCurrentItem(m_LastItem); 250 m_playList->setCurrentItem(m_LastItem);
243 odebug << "Pos: " << m_PlayLib->currentTime() << oendl; 251 m_uppos = 0;
252 m_PosSlider->setValue(0);
244 int result = 0; 253 int result = 0;
@@ -260,5 +269,5 @@ void PMainWindow::slotPlayCurrent()
260 odebug << "Range: " << result << oendl; 269 odebug << "Range: " << result << oendl;
261 m_scrollBar->setRange(0,result); 270 m_PosSlider->setEnabled(true);
262 m_scrollBar->setValue(0); 271 m_PosSlider->setRange(0,m_PlayLib->length());
263 m_scrollBar->setEnabled(true); 272 m_PosSlider->setValue(m_PlayLib->currentTime());
264 QTimer::singleShot( 500, this, SLOT( slotCheckPos() ) ); 273 QTimer::singleShot( 500, this, SLOT( slotCheckPos() ) );
@@ -291,2 +300,3 @@ void PMainWindow::slotStopped()
291 if (!m_playing) return; 300 if (!m_playing) return;
301 odebug << "Slot stopped" << oendl;
292 m_playing = false; 302 m_playing = false;
@@ -298,4 +308,7 @@ void PMainWindow::slotCheckPos()
298 if (!m_playing) return; 308 if (!m_playing) return;
299 //emit sigPos(m_PlayLib->currentTime()); 309 if (!m_pressed) {
300 m_scrollBar->setValue(m_PlayLib->currentTime()); 310 m_uppos = m_PlayLib->currentTime();
311 emit sigPos(m_uppos);
312 m_PosSlider->setValue(m_PlayLib->currentTime());
313 }
301 QTimer::singleShot( 1000, this, SLOT( slotCheckPos() ) ); 314 QTimer::singleShot( 1000, this, SLOT( slotCheckPos() ) );
@@ -317,5 +330,5 @@ void PMainWindow::setupActions()
317 connect(a_addDir,SIGNAL(activated()),m_playList,SLOT(slotAppendDir())); 330 connect(a_addDir,SIGNAL(activated()),m_playList,SLOT(slotAppendDir()));
318 a_loadPlaylist = new QAction(tr("Append .m3u playlist"),Resource::loadIconSet("opieplayer2/add_to_playlist"),0,0,this,0,false); 331 a_loadPlaylist = new QAction(tr("Append playlist"),Resource::loadIconSet("opieplayer2/add_to_playlist"),0,0,this,0,false);
319 connect(a_loadPlaylist,SIGNAL(activated()),m_playList,SLOT(slotOpenM3u())); 332 connect(a_loadPlaylist,SIGNAL(activated()),m_playList,SLOT(slotOpenM3u()));
320 a_savePlaylist = new QAction(tr("Save .m3u playlist"),Resource::loadIconSet("save"),0,0,this,0,false); 333 a_savePlaylist = new QAction(tr("Save playlist"),Resource::loadIconSet("save"),0,0,this,0,false);
321 connect(a_savePlaylist,SIGNAL(activated()),m_playList,SLOT(slotSaveAsM3u())); 334 connect(a_savePlaylist,SIGNAL(activated()),m_playList,SLOT(slotSaveAsM3u()));
@@ -353,2 +366,3 @@ void PMainWindow::setupActions()
353 366
367
354 /* initial states of actions */ 368 /* initial states of actions */
@@ -357,2 +371,9 @@ void PMainWindow::setupActions()
357 a_ShowMedia->setEnabled(false); 371 a_ShowMedia->setEnabled(false);
372 playersGroup->setEnabled(false);
373
374 settingsGroup = new QActionGroup(this,"configgroup",false);
375
376 a_Scaleup = new QAction(tr("Scale videos larger"),Resource::loadIconSet( "fullscreen" ), 0, 0, this, 0, true );
377 connect(a_Scaleup,SIGNAL(toggled(bool)),this,SLOT(slot_scaleupToggled(bool)));
378 settingsGroup->insert(a_Scaleup);
358} 379}
@@ -429,4 +450,28 @@ void PMainWindow::setupMenu()
429 m_menuBar->insertItem(tr("Playing"),playMenu); 450 m_menuBar->insertItem(tr("Playing"),playMenu);
430
431 playersGroup->addTo(playMenu); 451 playersGroup->addTo(playMenu);
452 configMenu = new QPopupMenu(m_menuBar);
453 m_menuBar->insertItem(tr("Config"),configMenu);
454 settingsGroup->addTo(configMenu);
455}
456
457void PMainWindow::slotNewPos(int pos)
458{
459 if (!m_PlayLib) return;
460 if (m_uppos==pos) return;
461 m_PlayLib->seekTo(pos);
462}
463
464void PMainWindow::sliderPressed()
465{
466 m_pressed = true;
467}
468
469void PMainWindow::sliderReleased()
470{
471 m_pressed = false;
472}
473
474void PMainWindow::slot_scaleupToggled(bool how)
475{
476 m_VideoPlayer->scaleUp(how);
432} 477}