From 4fd936e4096ba9c732bde17a48489bfbb94b19ba Mon Sep 17 00:00:00 2001 From: alwin Date: Tue, 12 Apr 2005 16:35:06 +0000 Subject: some gui stuff may switch if videos will scaled up even if display size is larger than video size --- (limited to 'noncore/multimedia') diff --git a/noncore/multimedia/opieplayer3/audiowidget.cpp b/noncore/multimedia/opieplayer3/audiowidget.cpp index b435c1b..aeebf45 100644 --- a/noncore/multimedia/opieplayer3/audiowidget.cpp +++ b/noncore/multimedia/opieplayer3/audiowidget.cpp @@ -17,54 +17,12 @@ AudioWidget::AudioWidget( QWidget * parent, const char * name, WFlags f) m_MainLayout = new QVBoxLayout(this); m_MainLayout->setAutoAdd(true); m_InfoBox = new QTextView(this); -#if 0 - m_PosSlider = new QSlider(QSlider::Horizontal,this); - m_PosSlider->setTickInterval(60); - connect(m_PosSlider,SIGNAL(valueChanged(int)),this,SLOT(slotNewPos(int))); - connect(m_PosSlider,SIGNAL(sliderMoved(int)),this,SLOT(slotNewPos(int))); - connect(m_PosSlider,SIGNAL(sliderPressed()),this,SLOT(sliderPressed())); - connect(m_PosSlider,SIGNAL(sliderReleased()),this,SLOT(sliderReleased())); - m_pressed = false; - m_uppos=0; -#endif } AudioWidget::~AudioWidget() { } -void AudioWidget::slotNewPos(int /* pos*/) -{ - if (!m_xineLib) return; -#if 0 - if (m_uppos==pos) return; - m_xineLib->seekTo(pos); -#endif -} - -void AudioWidget::sliderPressed() -{ -#if 0 - m_pressed = true; -#endif -} - -void AudioWidget::sliderReleased() -{ -#if 0 - m_pressed = false; -#endif -} - -void AudioWidget::closeEvent(QCloseEvent*e) -{ - odebug << "AudioWidget::closeEvent(QCloseEvent*e)" << oendl; - if (m_xineLib) { - m_xineLib->stop(); - } - QWidget::closeEvent(e); -} - int AudioWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib) { m_current = aLnk; @@ -75,15 +33,14 @@ int AudioWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib) if (!m_xineLib) { return -1; } -#if 0 - m_uppos=0; - m_PosSlider->setValue(0); -#endif - m_xineLib->setShowVideo(false); - int res = m_xineLib->play(m_current.file()); + int res = m_xineLib->play(m_current.file(),0,0); if (res != 1) { return -2; } + if (!m_xineLib->hasVideo()) { + m_xineLib->setShowVideo( false ); + } + // title QString title = m_xineLib->metaInfo(0); // artist @@ -92,41 +49,39 @@ int AudioWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib) QString album = m_xineLib->metaInfo(4); int l = m_xineLib->length(); - int tmp = l; -#if 0 - m_PosSlider->setRange(0,l); -#endif - QString laenge=""; - int h = l/3600; - l-=h*3600; - int m = l/60; - l-=m*60; - if (h>0) { - laenge+=QString("%1 h").arg(h); - } - if (m>0) { - if (!laenge.isEmpty()) laenge+=" "; - laenge+=QString("%1 m").arg(m); - } - if (l>0) { - if (!laenge.isEmpty()) laenge+=" "; - laenge+=QString("%1 s").arg(l); - } - QString text = ""; + QString laenge = secToString(l); + QString text = "
"; if (artist.length()) { - text+="

"+artist+"

"; + text+=""; } if (title.length()) { - text+="

"+title+"

"; + text+=""; } else { - text+="

"+m_current.name()+"

"; + text+=""; } if (album.length()) { - text+="

"+album+"

"; + text+=""; } - text+="

"+laenge+"

"; + text+=""; + text+="
"+tr("Artist: ")+""+artist+"
"+tr("Title: ")+""+title+"
"+tr("Filename: ")+""+m_current.name()+"
"+tr("Album: ")+""+album+"
"+tr("Length: ")+""+laenge+"
"; m_InfoBox->setText(text); - return tmp; + return l; +} + +QString AudioWidget::secToString(int sec) +{ + int l = sec; + int h = l/3600; + l-=h*3600; + int m = l/60; + l-=m*60; + QString s = ""; + if (h>0) { + s.sprintf("%2i:%2i:%2i",h,m,l); + } else { + s.sprintf("%02i:%02i",m,l); + } + return s; } void AudioWidget::stopPlaying() @@ -138,9 +93,4 @@ void AudioWidget::stopPlaying() void AudioWidget::updatePos(int /* val */) { -#if 0 - if (m_pressed) return; - m_uppos = val; - m_PosSlider->setValue(val); -#endif } diff --git a/noncore/multimedia/opieplayer3/audiowidget.h b/noncore/multimedia/opieplayer3/audiowidget.h index 5e5dc09..abdd781 100644 --- a/noncore/multimedia/opieplayer3/audiowidget.h +++ b/noncore/multimedia/opieplayer3/audiowidget.h @@ -32,17 +32,9 @@ protected: DocLnk m_current; QVBoxLayout*m_MainLayout; QTextView*m_InfoBox; -#if 0 - QSlider*m_PosSlider; - bool m_pressed; - int m_uppos; -#endif + static QString secToString(int sec); protected slots: - virtual void closeEvent(QCloseEvent*e); - virtual void slotNewPos(int pos); - virtual void sliderPressed(); - virtual void sliderReleased(); }; #endif 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 @@ -60,6 +60,7 @@ using namespace Opie::Ui; PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f) : QMainWindow(w,name,f) { + checkLib(); setCaption( QObject::tr("Opie Mediaplayer 3" ) ); m_MainBox = new QWidget(this); @@ -69,9 +70,9 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f) m_stack = new OWidgetStack(m_MainBox); m_stack->forceMode(Opie::Ui::OWidgetStack::SmallScreen); m_l->addWidget(m_stack); - m_scrollBar = new QSlider(QSlider::Horizontal,m_MainBox); - m_l->addWidget(m_scrollBar); - m_scrollBar->setEnabled(false); + m_PosSlider = new QSlider(QSlider::Horizontal,m_MainBox); + m_l->addWidget(m_PosSlider); + m_PosSlider->setEnabled(false); m_playList = new PlaylistView(m_stack,"playlist"); m_stack->addWidget(m_playList,stack_list); @@ -87,8 +88,14 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f) connect(this,SIGNAL(sigPos(int)),m_VideoPlayer,SLOT(updatePos(int))); connect(m_VideoPlayer,SIGNAL(videoclicked()),this,SLOT(slotVideoclicked())); + connect(m_PosSlider,SIGNAL(valueChanged(int)),this,SLOT(slotNewPos(int))); + connect(m_PosSlider,SIGNAL(sliderMoved(int)),this,SLOT(slotNewPos(int))); + connect(m_PosSlider,SIGNAL(sliderPressed()),this,SLOT(sliderPressed())); + connect(m_PosSlider,SIGNAL(sliderReleased()),this,SLOT(sliderReleased())); + m_pressed = false; + m_uppos=0; + m_stack->raiseWidget(stack_list); - m_PlayLib = 0; m_LastItem = 0; setupActions(); setupToolBar(); @@ -99,6 +106,7 @@ PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f) void PMainWindow::slotListChanged(int count) { + playersGroup->setEnabled(count>0); if (!m_playList->isVisible()) { return; } @@ -117,8 +125,9 @@ void PMainWindow::mediaWindowraised() void PMainWindow::checkLib() { if (m_PlayLib == 0) { - m_PlayLib = new XINE::Lib(XINE::Lib::InitializeImmediately); - m_PlayLib->ensureInitialized(); + m_PlayLib = new XINE::Lib(XINE::Lib::InitializeInThread); + qApp->processEvents(); +// m_PlayLib->ensureInitialized(); connect(m_PlayLib,SIGNAL(stopped()),this,SLOT(slotStopped())); } } @@ -199,7 +208,7 @@ void PMainWindow::slotUserStop() if (!m_playing || !m_PlayLib) return; m_playing = false; m_PlayLib->stop(); - m_scrollBar->setEnabled(false); + m_PosSlider->setEnabled(false); hideVideo(); slotShowList(); } @@ -231,16 +240,16 @@ void PMainWindow::slotPlayCurrent() { if (!m_LastItem) { if (m_PlayLib) m_PlayLib->stop(); - m_scrollBar->setEnabled(false); + m_PosSlider->setEnabled(false); a_playAction->setOn(false); hideVideo(); slotShowList(); return; } - checkLib(); m_CurrentPos = 0; m_playList->setCurrentItem(m_LastItem); - odebug << "Pos: " << m_PlayLib->currentTime() << oendl; + m_uppos = 0; + m_PosSlider->setValue(0); int result = 0; if (!m_LastItem->isVideo()) { hideVideo(); @@ -258,9 +267,9 @@ void PMainWindow::slotPlayCurrent() } mediaWindowraised(); odebug << "Range: " << result << oendl; - m_scrollBar->setRange(0,result); - m_scrollBar->setValue(0); - m_scrollBar->setEnabled(true); + m_PosSlider->setEnabled(true); + m_PosSlider->setRange(0,m_PlayLib->length()); + m_PosSlider->setValue(m_PlayLib->currentTime()); QTimer::singleShot( 500, this, SLOT( slotCheckPos() ) ); } @@ -289,6 +298,7 @@ void PMainWindow::slotPlayPrevious() void PMainWindow::slotStopped() { if (!m_playing) return; + odebug << "Slot stopped" << oendl; m_playing = false; slotGoNext(); } @@ -296,8 +306,11 @@ void PMainWindow::slotStopped() void PMainWindow::slotCheckPos() { if (!m_playing) return; - //emit sigPos(m_PlayLib->currentTime()); - m_scrollBar->setValue(m_PlayLib->currentTime()); + if (!m_pressed) { + m_uppos = m_PlayLib->currentTime(); + emit sigPos(m_uppos); + m_PosSlider->setValue(m_PlayLib->currentTime()); + } QTimer::singleShot( 1000, this, SLOT( slotCheckPos() ) ); } @@ -315,9 +328,9 @@ void PMainWindow::setupActions() connect(a_appendFiles,SIGNAL(activated()),this,SLOT(slotAppendFiles())); a_addDir = new QAction(tr("Add directory"),Resource::loadIconSet("folder_open"),0,0,this,0,false); connect(a_addDir,SIGNAL(activated()),m_playList,SLOT(slotAppendDir())); - a_loadPlaylist = new QAction(tr("Append .m3u playlist"),Resource::loadIconSet("opieplayer2/add_to_playlist"),0,0,this,0,false); + a_loadPlaylist = new QAction(tr("Append playlist"),Resource::loadIconSet("opieplayer2/add_to_playlist"),0,0,this,0,false); connect(a_loadPlaylist,SIGNAL(activated()),m_playList,SLOT(slotOpenM3u())); - a_savePlaylist = new QAction(tr("Save .m3u playlist"),Resource::loadIconSet("save"),0,0,this,0,false); + a_savePlaylist = new QAction(tr("Save playlist"),Resource::loadIconSet("save"),0,0,this,0,false); connect(a_savePlaylist,SIGNAL(activated()),m_playList,SLOT(slotSaveAsM3u())); playlistOnly = new QActionGroup(this,"playlistgroup",false); @@ -351,10 +364,18 @@ void PMainWindow::setupActions() playersGroup->insert(a_playAction); playersGroup->insert(a_playNext); + /* initial states of actions */ a_showPlaylist->setEnabled(false); a_removeFiles->setEnabled(false); a_ShowMedia->setEnabled(false); + playersGroup->setEnabled(false); + + settingsGroup = new QActionGroup(this,"configgroup",false); + + a_Scaleup = new QAction(tr("Scale videos larger"),Resource::loadIconSet( "fullscreen" ), 0, 0, this, 0, true ); + connect(a_Scaleup,SIGNAL(toggled(bool)),this,SLOT(slot_scaleupToggled(bool))); + settingsGroup->insert(a_Scaleup); } void PMainWindow::setupToolBar() @@ -427,6 +448,30 @@ void PMainWindow::setupMenu() a_ShowFull->addTo(dispMenu); playMenu = new QPopupMenu(m_menuBar); m_menuBar->insertItem(tr("Playing"),playMenu); - playersGroup->addTo(playMenu); + configMenu = new QPopupMenu(m_menuBar); + m_menuBar->insertItem(tr("Config"),configMenu); + settingsGroup->addTo(configMenu); +} + +void PMainWindow::slotNewPos(int pos) +{ + if (!m_PlayLib) return; + if (m_uppos==pos) return; + m_PlayLib->seekTo(pos); +} + +void PMainWindow::sliderPressed() +{ + m_pressed = true; +} + +void PMainWindow::sliderReleased() +{ + m_pressed = false; +} + +void PMainWindow::slot_scaleupToggled(bool how) +{ + m_VideoPlayer->scaleUp(how); } diff --git a/noncore/multimedia/opieplayer3/mwindow.h b/noncore/multimedia/opieplayer3/mwindow.h index 10c7a29..5d011d5 100644 --- a/noncore/multimedia/opieplayer3/mwindow.h +++ b/noncore/multimedia/opieplayer3/mwindow.h @@ -82,14 +82,15 @@ protected: AudioWidget*m_AudioPlayer; VideoWidget*m_VideoPlayer; QWidget*m_MainBox; - QSlider*m_scrollBar; + QSlider*m_PosSlider; QAction*a_appendFiles,*a_removeFiles,*a_showPlaylist,*a_playAction,*a_stopAction; QAction*a_playNext,*a_playPrevious,*a_ShowFull,*a_stopPlay,*a_ShowMedia; QAction*a_addDir,*a_loadPlaylist,*a_savePlaylist; - QActionGroup*playersGroup,*playlistOnly; + QAction*a_Scaleup; + QActionGroup*playersGroup,*playlistOnly,*settingsGroup; QToolBar*m_toolBar; - QPopupMenu *fileMenu,*dispMenu,*playMenu; + QPopupMenu *fileMenu,*dispMenu,*playMenu,*configMenu; QMenuBar*m_menuBar; XINE::Lib*m_PlayLib; @@ -99,8 +100,10 @@ protected: void checkLib(); void setupVideo(bool full); void hideVideo(); - bool m_playing:1; + bool m_pressed:1; + int m_uppos; + int m_CurrentPos; PlaylistItem*m_LastItem; void mediaWindowraised(); @@ -122,6 +125,11 @@ protected slots: virtual void slotTogglePlay(bool); virtual void slotShowMediaWindow(); virtual void slotListChanged(int); + virtual void slotNewPos(int pos); + virtual void sliderPressed(); + virtual void sliderReleased(); + virtual void slot_scaleupToggled(bool); + signals: void sigPos(int); diff --git a/noncore/multimedia/opieplayer3/playlist.cpp b/noncore/multimedia/opieplayer3/playlist.cpp index babe8ce..2eb40e3 100644 --- a/noncore/multimedia/opieplayer3/playlist.cpp +++ b/noncore/multimedia/opieplayer3/playlist.cpp @@ -104,13 +104,24 @@ void PlaylistView::checkLib() { if (!m_Infolib) { m_Infolib = new XINE::Lib(XINE::Lib::InitializeImmediately); + connect(m_Infolib,SIGNAL(stopped()),this,SLOT(slotDummyStop())); m_Infolib->ensureInitialized(); } } +void PlaylistView::slotDummyStop() +{ + odebug << "void PlaylistView::slotDummyStop()" << oendl; +} + void PlaylistView::slotAddFile(const DocLnk&aLink) { - addFile(aLink.file(),aLink.name()); + QFileInfo f(aLink.file()); + if (f.extension(FALSE).lower()=="m3u"||f.extension(FALSE).lower()=="pls") { + readPlayList(aLink.file()); + } else { + addFile(aLink.file(),aLink.name()); + } emit contentChanged(childCount()); } @@ -119,13 +130,13 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName) QFileInfo fileInfo(aFile); if (!fileInfo.exists()) return; checkLib(); - m_Infolib->stop(); - QString name = aName; if (name.isEmpty()) { name = fileInfo.fileName(); } int i = m_Infolib->setfile(aFile.utf8().data()); + /* realy! otherwise we get an "stopped" signal when playing! - I don't know why */ + m_Infolib->stop(); odebug << "File set: " << i << " ("<error(); @@ -180,15 +191,9 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName) l-=m*60; codec = ""; if (h>0) { - codec+=QString("%1 h").arg(h); - } - if (m>0) { - if (!codec.isEmpty()) codec+=" "; - codec+=QString("%1 m").arg(m); - } - if (l>0) { - if (!codec.isEmpty()) codec+=" "; - codec+=QString("%1 s").arg(l); + codec.sprintf("%2i:%2i:%2i h",h,m,l); + } else { + codec.sprintf("%02i:%02i m",m,l); } // time m_lastItem->setText(COL_TIME,codec); @@ -216,12 +221,18 @@ void PlaylistView::slotOpenM3u() QMap mimeTypes; types << "audio/x-mpegurl"; mimeTypes.insert("Playlists",types); - mimeTypes.insert("All",types); +// mimeTypes.insert("All",types); QString fileName= Opie::Ui::OFileDialog::getOpenFileName(Opie::Ui::OFileSelector::EXTENDED, m_lastDir,"playlist.m3u", mimeTypes); if (fileName.isEmpty()) { return; } + readPlayList(fileName); + emit contentChanged(childCount()); +} + +void PlaylistView::readPlayList(const QString&fileName) +{ QFileInfo f(fileName); Om3u _om3u(fileName, IO_ReadOnly); @@ -233,7 +244,6 @@ void PlaylistView::slotOpenM3u() for (unsigned int j=0; j<_om3u.count();++j) { addFile(_om3u[j]); } - emit contentChanged(childCount()); } void PlaylistView::slotSaveAsM3u() @@ -242,9 +252,9 @@ void PlaylistView::slotSaveAsM3u() QMap mimeTypes; types << "audio/x-mpegurl"; mimeTypes.insert("Playlists",types); - mimeTypes.insert("All",types); QString fileName= Opie::Ui::OFileDialog::getSaveFileName(Opie::Ui::OFileSelector::EXTENDED, m_lastDir,"playlist.m3u", mimeTypes); + odebug << "Save as " << fileName << oendl; if (fileName.isEmpty()) { return; } diff --git a/noncore/multimedia/opieplayer3/playlist.h b/noncore/multimedia/opieplayer3/playlist.h index 4a9268c..3c9a68d 100644 --- a/noncore/multimedia/opieplayer3/playlist.h +++ b/noncore/multimedia/opieplayer3/playlist.h @@ -95,9 +95,11 @@ public slots: virtual void slotAppendDir(); virtual void slotOpenM3u(); virtual void slotSaveAsM3u(); + virtual void slotDummyStop(); protected: void checkLib(); + void readPlayList(const QString&); QStringList columnLabels; XINE::Lib*m_Infolib; PlaylistItem*m_lastItem; diff --git a/noncore/multimedia/opieplayer3/videowidget.cpp b/noncore/multimedia/opieplayer3/videowidget.cpp index a28d47d..833ecb4 100644 --- a/noncore/multimedia/opieplayer3/videowidget.cpp +++ b/noncore/multimedia/opieplayer3/videowidget.cpp @@ -15,24 +15,12 @@ VideoWidget::VideoWidget( QWidget * parent, const char * name, WFlags f) :QWidget(parent,name,f) { m_xineLib = 0; - + m_scaleUp = false; m_MainLayout = new QVBoxLayout(this); m_MainLayout->setAutoAdd(true); m_Videodisplay = new XineVideoWidget(this,"videodisp"); -#if 0 - m_PosSlider = new QSlider(QSlider::Horizontal,this); - m_PosSlider->setTickInterval(60); - connect(m_PosSlider,SIGNAL(valueChanged(int)),this,SLOT(slotNewPos(int))); - connect(m_PosSlider,SIGNAL(sliderMoved(int)),this,SLOT(slotNewPos(int))); - connect(m_PosSlider,SIGNAL(sliderPressed()),this,SLOT(sliderPressed())); - connect(m_PosSlider,SIGNAL(sliderReleased()),this,SLOT(sliderReleased())); -#endif connect(m_Videodisplay,SIGNAL(videoResized ( const QSize & )),this,SLOT(slot_Videoresized(const QSize&))); connect(m_Videodisplay,SIGNAL(clicked()),this,SLOT(slotClicked())); -#if 0 - m_pressed = false; - m_uppos=0; -#endif } VideoWidget::~VideoWidget() @@ -41,7 +29,6 @@ VideoWidget::~VideoWidget() void VideoWidget::slotClicked() { - odebug << "clicked " << oendl; emit videoclicked(); } @@ -49,38 +36,8 @@ void VideoWidget::closeEvent(QCloseEvent*e) { } -void VideoWidget::slotNewPos(int /*pos*/) -{ -#if 0 - if (!m_xineLib) return; - if (m_uppos==pos) return; - m_xineLib->seekTo(pos); -#endif -} - -void VideoWidget::sliderPressed() -{ -#if 0 - m_pressed = true; -#endif -} - -void VideoWidget::sliderReleased() -{ -#if 0 - m_pressed = false; -#endif -} - void VideoWidget::fullScreen(bool /* how */) { -#if 0 - if (how) { - m_PosSlider->hide(); - } else { - m_PosSlider->show(); - } -#endif } int VideoWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib) @@ -96,23 +53,16 @@ int VideoWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib) return -1; } connect(m_xineLib,SIGNAL(stopped()),this,SLOT(slotStopped())); -#if 0 - m_uppos=0; - m_PosSlider->setValue(0); -#endif m_xineLib->setWidget(m_Videodisplay); m_xineLib->setShowVideo(true); - m_xineLib->resize(m_Videodisplay->size()); int res = m_xineLib->play(m_current.file()); + vSize = m_xineLib->videoSize(); + slot_Videoresized(m_Videodisplay->size()); odebug << "Xine play: " << res << oendl; if (res != 1) { return -2; } return m_xineLib->length(); -#if 0 - m_PosSlider->setRange(0,l); - m_PosSlider->setPageStep(l/10); -#endif } void VideoWidget::stopPlaying() @@ -124,22 +74,27 @@ void VideoWidget::stopPlaying() void VideoWidget::slotStopped() { -// check fullscreen here! } void VideoWidget::slot_Videoresized(const QSize&s) { - odebug << "Videoresized: " << s << oendl; if (m_xineLib) { - m_xineLib->resize(s); + if (vSize.width()resize(vSize); + } else { + m_xineLib->resize(s); + } } } +void VideoWidget::scaleUp(bool how) +{ + if (how == m_scaleUp) return; + m_scaleUp = how; + slot_Videoresized(m_Videodisplay->size()); + m_Videodisplay->repaint(); +} + void VideoWidget::updatePos(int /*val*/) { -#if 0 - if (m_pressed) return; - m_uppos = val; - m_PosSlider->setValue(val); -#endif } diff --git a/noncore/multimedia/opieplayer3/videowidget.h b/noncore/multimedia/opieplayer3/videowidget.h index 935a648..e082407 100644 --- a/noncore/multimedia/opieplayer3/videowidget.h +++ b/noncore/multimedia/opieplayer3/videowidget.h @@ -22,6 +22,7 @@ public: int playFile(const DocLnk&,XINE::Lib*); void fullScreen(bool how); + void scaleUp(bool how); signals: void videoclicked(); @@ -36,17 +37,11 @@ protected: QVBoxLayout*m_MainLayout; XineVideoWidget*m_Videodisplay; QWidget * m_holder; -#if 0 - QSlider*m_PosSlider; - bool m_pressed:1; - int m_uppos; -#endif + QSize vSize; + bool m_scaleUp:1; protected slots: virtual void closeEvent(QCloseEvent*e); - virtual void slotNewPos(int pos); - virtual void sliderPressed(); - virtual void sliderReleased(); virtual void slot_Videoresized(const QSize&); virtual void slotStopped(); virtual void slotClicked(); -- cgit v0.9.0.2