summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/videowidget.cpp
authorsimon <simon>2002-12-09 21:43:32 (UTC)
committer simon <simon>2002-12-09 21:43:32 (UTC)
commit40ff6884f079a55fcf219b2d032c7be4da385bc1 (patch) (side-by-side diff)
treefd13c702652ee0f22201eb6145b10e67f9580aeb /noncore/multimedia/opieplayer2/videowidget.cpp
parenta9015ff25ddec67983f78f2a75346f21b7d062c5 (diff)
downloadopie-40ff6884f079a55fcf219b2d032c7be4da385bc1.zip
opie-40ff6884f079a55fcf219b2d032c7be4da385bc1.tar.gz
opie-40ff6884f079a55fcf219b2d032c7be4da385bc1.tar.bz2
- hah, the improved design pays off :) switching skins at run-time now
only reloads the pixmaps and no more requires a restart or re-creation of the audio/video widgets and the xine control (which involved slow xine initialization)
Diffstat (limited to 'noncore/multimedia/opieplayer2/videowidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp47
1 files changed, 27 insertions, 20 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index d1efaad..a03d43e 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -79,32 +79,14 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
{
setCaption( tr("OpiePlayer - Video") );
-
videoFrame = new XineVideoWidget ( this, "Video frame" );
connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & )));
connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) );
- Config cfg("OpiePlayer");
- cfg.setGroup("Options");
- skin = cfg.readEntry("Skin","default");
+ slider = 0;
- QString skinPath = "opieplayer2/skins/" + skin;
- backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
- imgUp = QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) );
- imgDn = QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) );
-
- setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_", imgUp.size() );
-
- setBackgroundPixmap( backgroundPixmap );
-
- slider = new QSlider( Qt::Horizontal, this );
- slider->setMinValue( 0 );
- slider->setMaxValue( 1 );
- slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
- //slider->setFocusPolicy( QWidget::NoFocus );
-
- resizeEvent( NULL );
+ loadSkin();
setLength( mediaPlayerState.length() );
setPosition( mediaPlayerState.position() );
@@ -201,6 +183,31 @@ void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType )
hide();
}
+void VideoWidget::loadSkin()
+{
+ Config cfg("OpiePlayer");
+ cfg.setGroup("Options");
+ skin = cfg.readEntry("Skin","default");
+
+ QString skinPath = "opieplayer2/skins/" + skin;
+ backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
+ imgUp = QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) );
+ imgDn = QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) );
+
+ setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_", imgUp.size() );
+
+ setBackgroundPixmap( backgroundPixmap );
+
+ delete slider;
+ slider = new QSlider( Qt::Horizontal, this );
+ slider->setMinValue( 0 );
+ slider->setMaxValue( 1 );
+ slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
+ //slider->setFocusPolicy( QWidget::NoFocus );
+
+ resizeEvent( 0 );
+}
+
void VideoWidget::updateSlider( long i, long max ) {
// Will flicker too much if we don't do this
if ( max == 0 ) {