[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kdelibs-phonon/phonon/ui (silent)
From:       Matthias Kretz <kretz () kde ! org>
Date:       2006-02-15 19:29:25
Message-ID: 1140031765.297805.29533.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 509884 by mkretz:

SVN_SILENT: change private class to be able to derive from it like Qt4 does


 M  +20 -16    seekslider.cpp  
 M  +5 -3      seekslider.h  
 A             seekslider_p.h   [License: LGPL (v2)]


--- branches/work/kdelibs-phonon/phonon/ui/seekslider.cpp #509883:509884
@@ -18,6 +18,7 @@
 */
 
 #include "seekslider.h"
+#include "seekslider_p.h"
 #include "../abstractmediaproducer.h"
 #include <QSlider>
 #include <QHBoxLayout>
@@ -27,25 +28,22 @@
 namespace Ui
 {
 
-class SeekSlider::Private
+SeekSlider::SeekSlider( QWidget* parent )
+	: QWidget( parent )
+	, d_ptr( new SeekSliderPrivate )
 {
-	public:
-		Private()
-			: slider( 0 )
-			, media( 0 )
-			, ticking( false )
-		{
-		}
+	Q_D( SeekSlider );
+	QHBoxLayout* layout = new QHBoxLayout( this );
+	d->slider = new QSlider( Qt::Horizontal, this );
+	d->slider->setEnabled( false );
+	layout->addWidget( d->slider );
+}
 
-		QSlider* slider;
-		AbstractMediaProducer* media;
-		bool ticking;
-};
-
-SeekSlider::SeekSlider( QWidget* parent )
+SeekSlider::SeekSlider( SeekSliderPrivate& _d, QWidget* parent )
 	: QWidget( parent )
-	, d( new Private )
+	, d_ptr( &_d )
 {
+	Q_D( SeekSlider );
 	QHBoxLayout* layout = new QHBoxLayout( this );
 	d->slider = new QSlider( Qt::Horizontal, this );
 	d->slider->setEnabled( false );
@@ -54,7 +52,7 @@
 
 SeekSlider::~SeekSlider()
 {
-	delete d;
+	delete d_ptr;
 }
 
 void SeekSlider::setMediaProducer( AbstractMediaProducer* media )
@@ -62,6 +60,7 @@
 	if( !media )
 		return;
 
+	Q_D( SeekSlider );
 	d->media = media;
 	connect( media, SIGNAL( stateChanged( Phonon::State, Phonon::State ) ),
 			SLOT( stateChanged( Phonon::State ) ) );
@@ -73,12 +72,14 @@
 
 void SeekSlider::seek( int msec )
 {
+	Q_D( SeekSlider );
 	if( ! d->ticking && d->media )
 		d->media->seek( msec );
 }
 
 void SeekSlider::tick( long msec )
 {
+	Q_D( SeekSlider );
 	d->ticking = true;
 	d->slider->setValue( msec );
 	d->ticking = false;
@@ -86,11 +87,13 @@
 
 void SeekSlider::length( long msec )
 {
+	Q_D( SeekSlider );
 	d->slider->setRange( 0, msec );
 }
 
 void SeekSlider::stateChanged( State newstate )
 {
+	Q_D( SeekSlider );
 	switch( newstate )
 	{
 		case Phonon::BufferingState:
@@ -108,6 +111,7 @@
 
 void SeekSlider::mediaDestroyed()
 {
+	Q_D( SeekSlider );
 	d->media = 0;
 	d->slider->setEnabled( false );
 }
--- branches/work/kdelibs-phonon/phonon/ui/seekslider.h #509883:509884
@@ -30,6 +30,7 @@
 
 namespace Ui
 {
+class SeekSliderPrivate;
 
 /**
  * \short Widget providing a slider for seeking in AbstractMediaProducer objects.
@@ -40,6 +41,7 @@
 class PHONON_EXPORT SeekSlider : public QWidget
 {
 	Q_OBJECT
+	Q_DECLARE_PRIVATE( SeekSlider )
 	public:
 		SeekSlider( QWidget* parent = 0 );
 		~SeekSlider();
@@ -54,9 +56,9 @@
 		void tick( long );
 		void length( long );
 
-	private:
-		class Private;
-		Private* d;
+	protected:
+		SeekSlider( SeekSliderPrivate& d, QWidget* parent );
+		SeekSliderPrivate* d_ptr;
 };
 
 }} // namespace Phonon::Ui
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic