summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-11 00:51:29 (UTC)
committer simon <simon>2002-12-11 00:51:29 (UTC)
commitccef9ec4aff9822b0f2468e590d05c9484bc027e (patch) (unidiff)
treef6a0b4ee201c24f2200ab79851d41fb640550962
parent8605e11e5965521291e70f47159487ea9f1e5b49 (diff)
downloadopie-ccef9ec4aff9822b0f2468e590d05c9484bc027e.zip
opie-ccef9ec4aff9822b0f2468e590d05c9484bc027e.tar.gz
opie-ccef9ec4aff9822b0f2468e590d05c9484bc027e.tar.bz2
- moved the shared button up/down image variables into the base class
- removed some unused variables
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h2
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h2
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h6
5 files changed, 16 insertions, 22 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 0516089..0b7cc45 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -95,160 +95,160 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
95 95
96 connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) ); 96 connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) );
97 connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) ); 97 connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) );
98 connect( this, SIGNAL( forwardReleased() ), this, SLOT( stopSkip() ) ); 98 connect( this, SIGNAL( forwardReleased() ), this, SLOT( stopSkip() ) );
99 connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) ); 99 connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) );
100 100
101 // Intialise state 101 // Intialise state
102 setLength( mediaPlayerState.length() ); 102 setLength( mediaPlayerState.length() );
103 setPosition( mediaPlayerState.position() ); 103 setPosition( mediaPlayerState.position() );
104 setLooping( mediaPlayerState.isFullscreen() ); 104 setLooping( mediaPlayerState.isFullscreen() );
105 // setPaused( mediaPlayerState->paused() ); 105 // setPaused( mediaPlayerState->paused() );
106 setPlaying( mediaPlayerState.isPlaying() ); 106 setPlaying( mediaPlayerState.isPlaying() );
107} 107}
108 108
109AudioWidget::~AudioWidget() { 109AudioWidget::~AudioWidget() {
110 110
111// mediaPlayerState->setPlaying(false); 111// mediaPlayerState->setPlaying(false);
112} 112}
113 113
114namespace { 114namespace {
115 115
116QPixmap combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) { 116QPixmap combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
117 QPixmap pix( img.width(), img.height() ); 117 QPixmap pix( img.width(), img.height() );
118 QPainter p( &pix ); 118 QPainter p( &pix );
119 p.drawTiledPixmap( pix.rect(), bg, offset ); 119 p.drawTiledPixmap( pix.rect(), bg, offset );
120 p.drawImage( 0, 0, img ); 120 p.drawImage( 0, 0, img );
121 return pix; 121 return pix;
122} 122}
123 123
124 124
125QPixmap maskPixToMask( QPixmap pix, QBitmap mask ) { 125QPixmap maskPixToMask( QPixmap pix, QBitmap mask ) {
126 QPixmap pixmap( pix ); 126 QPixmap pixmap( pix );
127 pixmap.setMask( mask ); 127 pixmap.setMask( mask );
128 return pixmap; 128 return pixmap;
129} 129}
130 130
131}; 131};
132 132
133void AudioWidget::resizeEvent( QResizeEvent * ) { 133void AudioWidget::resizeEvent( QResizeEvent * ) {
134 int h = height(); 134 int h = height();
135 int w = width(); 135 int w = width();
136 136
137 songInfo.setGeometry( QRect( 2, 2, w - 4, 20 ) ); 137 songInfo.setGeometry( QRect( 2, 2, w - 4, 20 ) );
138 slider.setFixedWidth( w - 110 ); 138 slider.setFixedWidth( w - 110 );
139 slider.setGeometry( QRect( 15, h - 22, w - 90, 20 ) ); 139 slider.setGeometry( QRect( 15, h - 22, w - 90, 20 ) );
140 slider.setBackgroundOrigin( QWidget::ParentOrigin ); 140 slider.setBackgroundOrigin( QWidget::ParentOrigin );
141 time.setGeometry( QRect( w - 85, h - 30, 70, 20 ) ); 141 time.setGeometry( QRect( w - 85, h - 30, 70, 20 ) );
142 142
143 upperLeftOfButtonMask.rx() = ( w - imgUp.width() ) / 2; 143 upperLeftOfButtonMask.rx() = ( w - buttonUpImage.width() ) / 2;
144 upperLeftOfButtonMask.ry() = (( h - imgUp.height() ) / 2) - 10; 144 upperLeftOfButtonMask.ry() = (( h - buttonUpImage.height() ) / 2) - 10;
145 QPoint p = upperLeftOfButtonMask; 145 QPoint p = upperLeftOfButtonMask;
146 146
147 QPixmap pixUp = combineImageWithBackground( imgUp, backgroundPixmap, p ); 147 QPixmap pixUp = combineImageWithBackground( buttonUpImage, backgroundPixmap, p );
148 QPixmap pixDn = combineImageWithBackground( imgDn, backgroundPixmap, p ); 148 QPixmap pixDn = combineImageWithBackground( buttonDownImage, backgroundPixmap, p );
149 149
150 for ( uint i = 0; i < buttons.size(); i++ ) { 150 for ( uint i = 0; i < buttons.size(); i++ ) {
151 if ( !buttons[i].mask.isNull() ) { 151 if ( !buttons[i].mask.isNull() ) {
152 buttons[i].pixUp = maskPixToMask( pixUp, buttons[i].mask ); 152 buttons[i].pixUp = maskPixToMask( pixUp, buttons[i].mask );
153 buttons[i].pixDown = maskPixToMask( pixDn, buttons[i].mask ); 153 buttons[i].pixDown = maskPixToMask( pixDn, buttons[i].mask );
154 } 154 }
155 } 155 }
156} 156}
157 157
158void AudioWidget::sliderPressed() { 158void AudioWidget::sliderPressed() {
159 audioSliderBeingMoved = TRUE; 159 audioSliderBeingMoved = TRUE;
160} 160}
161 161
162 162
163void AudioWidget::sliderReleased() { 163void AudioWidget::sliderReleased() {
164 audioSliderBeingMoved = FALSE; 164 audioSliderBeingMoved = FALSE;
165 if ( slider.width() == 0 ) 165 if ( slider.width() == 0 )
166 return; 166 return;
167 long val = long((double)slider.value() * mediaPlayerState.length() / slider.width()); 167 long val = long((double)slider.value() * mediaPlayerState.length() / slider.width());
168 mediaPlayerState.setPosition( val ); 168 mediaPlayerState.setPosition( val );
169} 169}
170 170
171void AudioWidget::setPosition( long i ) { 171void AudioWidget::setPosition( long i ) {
172 // qDebug("<<<<<<<<<<<<<<<<<<<<<<<<set position %d",i); 172 // qDebug("<<<<<<<<<<<<<<<<<<<<<<<<set position %d",i);
173 updateSlider( i, mediaPlayerState.length() ); 173 updateSlider( i, mediaPlayerState.length() );
174} 174}
175 175
176 176
177void AudioWidget::setLength( long max ) { 177void AudioWidget::setLength( long max ) {
178 updateSlider( mediaPlayerState.position(), max ); 178 updateSlider( mediaPlayerState.position(), max );
179} 179}
180 180
181 181
182void AudioWidget::setDisplayType( MediaPlayerState::DisplayType mediaType ) { 182void AudioWidget::setDisplayType( MediaPlayerState::DisplayType mediaType ) {
183 if ( mediaType == MediaPlayerState::Audio ) { 183 if ( mediaType == MediaPlayerState::Audio ) {
184 // startTimer( 150 ); 184 // startTimer( 150 );
185 showMaximized(); 185 showMaximized();
186 return; 186 return;
187 } 187 }
188 188
189 killTimers(); 189 killTimers();
190 hide(); 190 hide();
191} 191}
192 192
193void AudioWidget::loadSkin() 193void AudioWidget::loadSkin()
194{ 194{
195 Config cfg("OpiePlayer"); 195 Config cfg("OpiePlayer");
196 cfg.setGroup("Options"); 196 cfg.setGroup("Options");
197 skin = cfg.readEntry("Skin","default"); 197 skin = cfg.readEntry("Skin","default");
198 //skin = "scaleTest"; 198 //skin = "scaleTest";
199 // color of background, frame, degree of transparency 199 // color of background, frame, degree of transparency
200 200
201 QString skinPath = "opieplayer2/skins/" + skin; 201 QString skinPath = "opieplayer2/skins/" + skin;
202 backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); 202 backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
203 imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); 203 buttonUpImage = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) );
204 imgDn = QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) ); 204 buttonDownImage = QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) );
205 205
206 setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_", imgUp.size() ); 206 setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_", buttonUpImage.size() );
207 207
208 setBackgroundPixmap( backgroundPixmap ); 208 setBackgroundPixmap( backgroundPixmap );
209 209
210 songInfo.setFocusPolicy( QWidget::NoFocus ); 210 songInfo.setFocusPolicy( QWidget::NoFocus );
211// changeTextColor( &songInfo ); 211// changeTextColor( &songInfo );
212// songInfo.setBackgroundColor( QColor( 167, 212, 167 )); 212// songInfo.setBackgroundColor( QColor( 167, 212, 167 ));
213// songInfo.setFrameStyle( QFrame::NoFrame); 213// songInfo.setFrameStyle( QFrame::NoFrame);
214 songInfo.setFrameStyle( QFrame::WinPanel | QFrame::Sunken ); 214 songInfo.setFrameStyle( QFrame::WinPanel | QFrame::Sunken );
215// songInfo.setForegroundColor(Qt::white); 215// songInfo.setForegroundColor(Qt::white);
216 216
217 slider.setFixedHeight( 20 ); 217 slider.setFixedHeight( 20 );
218 slider.setMinValue( 0 ); 218 slider.setMinValue( 0 );
219 slider.setMaxValue( 1 ); 219 slider.setMaxValue( 1 );
220 slider.setFocusPolicy( QWidget::NoFocus ); 220 slider.setFocusPolicy( QWidget::NoFocus );
221 slider.setBackgroundPixmap( backgroundPixmap ); 221 slider.setBackgroundPixmap( backgroundPixmap );
222 222
223// Config cofg("qpe"); 223// Config cofg("qpe");
224// cofg.setGroup("Appearance"); 224// cofg.setGroup("Appearance");
225// QColor backgroundcolor = QColor( cofg.readEntry( "Background", "#E5E1D5" ) ); 225// QColor backgroundcolor = QColor( cofg.readEntry( "Background", "#E5E1D5" ) );
226 226
227 time.setFocusPolicy( QWidget::NoFocus ); 227 time.setFocusPolicy( QWidget::NoFocus );
228 time.setAlignment( Qt::AlignCenter ); 228 time.setAlignment( Qt::AlignCenter );
229 229
230// time.setFrame(FALSE); 230// time.setFrame(FALSE);
231// changeTextColor( &time ); 231// changeTextColor( &time );
232 232
233 resizeEvent( 0 ); 233 resizeEvent( 0 );
234} 234}
235 235
236void AudioWidget::setSeekable( bool isSeekable ) { 236void AudioWidget::setSeekable( bool isSeekable ) {
237 237
238 if ( !isSeekable ) { 238 if ( !isSeekable ) {
239 qDebug("<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>"); 239 qDebug("<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>");
240 if( !slider.isHidden()) { 240 if( !slider.isHidden()) {
241 slider.hide(); 241 slider.hide();
242 } 242 }
243 disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 243 disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
244 disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 244 disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
245 disconnect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 245 disconnect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
246 disconnect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); 246 disconnect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
247 } else { 247 } else {
248 // this stops the slider from being moved, thus 248 // this stops the slider from being moved, thus
249 // does not stop stream when it reaches the end 249 // does not stop stream when it reaches the end
250 slider.show(); 250 slider.show();
251 qDebug( " CONNECT SET POSTION " ); 251 qDebug( " CONNECT SET POSTION " );
252 connect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 252 connect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
253 connect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 253 connect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
254 connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 254 connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index 61556c6..670fb45 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -41,61 +41,59 @@
41#include <qslider.h> 41#include <qslider.h>
42#include <qframe.h> 42#include <qframe.h>
43#include <qlineedit.h> 43#include <qlineedit.h>
44#include <qimage.h> 44#include <qimage.h>
45 45
46#include <opie/oticker.h> 46#include <opie/oticker.h>
47 47
48#include "mediawidget.h" 48#include "mediawidget.h"
49 49
50class QPixmap; 50class QPixmap;
51 51
52class AudioWidget : public MediaWidget { 52class AudioWidget : public MediaWidget {
53 Q_OBJECT 53 Q_OBJECT
54public: 54public:
55 AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 55 AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
56 ~AudioWidget(); 56 ~AudioWidget();
57 void setTickerText( const QString &text ) { songInfo.setText( text ); } 57 void setTickerText( const QString &text ) { songInfo.setText( text ); }
58public slots: 58public slots:
59 void updateSlider( long, long ); 59 void updateSlider( long, long );
60 void sliderPressed( ); 60 void sliderPressed( );
61 void sliderReleased( ); 61 void sliderReleased( );
62 void setLooping( bool b) { setToggleButton( Loop, b ); } 62 void setLooping( bool b) { setToggleButton( Loop, b ); }
63 void setPosition( long ); 63 void setPosition( long );
64 void setSeekable( bool ); 64 void setSeekable( bool );
65 65
66public: 66public:
67 virtual void setLength( long ); 67 virtual void setLength( long );
68 virtual void setPlaying( bool b) { setToggleButton( Play, b ); } 68 virtual void setPlaying( bool b) { setToggleButton( Play, b ); }
69 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ); 69 virtual void setDisplayType( MediaPlayerState::DisplayType displayType );
70 70
71 virtual void loadSkin(); 71 virtual void loadSkin();
72 72
73signals: 73signals:
74 void sliderMoved(long); 74 void sliderMoved(long);
75 75
76protected: 76protected:
77 void doBlank(); 77 void doBlank();
78 void doUnblank(); 78 void doUnblank();
79 void resizeEvent( QResizeEvent *re ); 79 void resizeEvent( QResizeEvent *re );
80 void timerEvent( QTimerEvent *event ); 80 void timerEvent( QTimerEvent *event );
81 void keyReleaseEvent( QKeyEvent *e); 81 void keyReleaseEvent( QKeyEvent *e);
82private slots: 82private slots:
83 void skipFor(); 83 void skipFor();
84 void skipBack(); 84 void skipBack();
85 void stopSkip(); 85 void stopSkip();
86private: 86private:
87 int skipDirection; 87 int skipDirection;
88 QString skin; 88 QString skin;
89 QImage imgUp;
90 QImage imgDn;
91 89
92 OTicker songInfo; 90 OTicker songInfo;
93 QSlider slider; 91 QSlider slider;
94 QLineEdit time; 92 QLineEdit time;
95 bool isStreaming : 1; 93 bool isStreaming : 1;
96 bool audioSliderBeingMoved : 1; 94 bool audioSliderBeingMoved : 1;
97}; 95};
98 96
99 97
100#endif // AUDIO_WIDGET_H 98#endif // AUDIO_WIDGET_H
101 99
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index a9dddf8..754228e 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -92,53 +92,55 @@ signals:
92 void moreReleased(); 92 void moreReleased();
93 void lessReleased(); 93 void lessReleased();
94 void forwardReleased(); 94 void forwardReleased();
95 void backReleased(); 95 void backReleased();
96 void forwardClicked(); 96 void forwardClicked();
97 void backClicked(); 97 void backClicked();
98 void moreClicked(); 98 void moreClicked();
99 void lessClicked(); 99 void lessClicked();
100 100
101protected: 101protected:
102 void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount, 102 void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
103 const QString &imagePrefix, const QSize &buttonAreaSize ); 103 const QString &imagePrefix, const QSize &buttonAreaSize );
104 Button setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix ); 104 Button setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix );
105 QBitmap setupButtonMask( const Command &command, const QString &fileName ); 105 QBitmap setupButtonMask( const Command &command, const QString &fileName );
106 106
107 virtual void closeEvent( QCloseEvent * ); 107 virtual void closeEvent( QCloseEvent * );
108 108
109 virtual void paintEvent( QPaintEvent *pe ); 109 virtual void paintEvent( QPaintEvent *pe );
110 110
111 Button *buttonAt( const QPoint &position ); 111 Button *buttonAt( const QPoint &position );
112 112
113 virtual void mousePressEvent( QMouseEvent *event ); 113 virtual void mousePressEvent( QMouseEvent *event );
114 virtual void mouseReleaseEvent( QMouseEvent *event ); 114 virtual void mouseReleaseEvent( QMouseEvent *event );
115 115
116 virtual void makeVisible(); 116 virtual void makeVisible();
117 117
118 void handleCommand( Command command, bool buttonDown ); 118 void handleCommand( Command command, bool buttonDown );
119 119
120 bool isOverButton( const QPoint &position, int buttonId ) const; 120 bool isOverButton( const QPoint &position, int buttonId ) const;
121 121
122 void paintAllButtons( QPainter &p ); 122 void paintAllButtons( QPainter &p );
123 void paintButton( const Button &button ); 123 void paintButton( const Button &button );
124 void paintButton( QPainter &p, const Button &button ); 124 void paintButton( QPainter &p, const Button &button );
125 125
126 void setToggleButton( Button &button, bool down ); 126 void setToggleButton( Button &button, bool down );
127 void setToggleButton( Command command, bool down ); 127 void setToggleButton( Command command, bool down );
128 void toggleButton( Button &button ); 128 void toggleButton( Button &button );
129 129
130 MediaPlayerState &mediaPlayerState; 130 MediaPlayerState &mediaPlayerState;
131 PlayListWidget &playList; 131 PlayListWidget &playList;
132 132
133 ButtonVector buttons; 133 ButtonVector buttons;
134 134
135 QImage buttonMask; 135 QImage buttonMask;
136 136
137 QPoint upperLeftOfButtonMask; 137 QPoint upperLeftOfButtonMask;
138 138
139 QPixmap backgroundPixmap; 139 QPixmap backgroundPixmap;
140 QImage buttonUpImage;
141 QImage buttonDownImage;
140}; 142};
141 143
142#endif // MEDIAWIDGET_H 144#endif // MEDIAWIDGET_H
143/* vim: et sw=4 ts=4 145/* vim: et sw=4 ts=4
144 */ 146 */
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index a03d43e..0047ac0 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -87,167 +87,167 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
87 slider = 0; 87 slider = 0;
88 88
89 loadSkin(); 89 loadSkin();
90 90
91 setLength( mediaPlayerState.length() ); 91 setLength( mediaPlayerState.length() );
92 setPosition( mediaPlayerState.position() ); 92 setPosition( mediaPlayerState.position() );
93 setFullscreen( mediaPlayerState.isFullscreen() ); 93 setFullscreen( mediaPlayerState.isFullscreen() );
94 setPlaying( mediaPlayerState.isPlaying() ); 94 setPlaying( mediaPlayerState.isPlaying() );
95} 95}
96 96
97 97
98VideoWidget::~VideoWidget() 98VideoWidget::~VideoWidget()
99{ 99{
100} 100}
101 101
102QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) { 102QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
103 QPixmap pix( img.width(), img.height() ); 103 QPixmap pix( img.width(), img.height() );
104 QPainter p( &pix ); 104 QPainter p( &pix );
105 p.drawTiledPixmap( pix.rect(), bg, offset ); 105 p.drawTiledPixmap( pix.rect(), bg, offset );
106 p.drawImage( 0, 0, img ); 106 p.drawImage( 0, 0, img );
107 return new QPixmap( pix ); 107 return new QPixmap( pix );
108} 108}
109 109
110QPixmap maskVPixToMask( QPixmap pix, QBitmap mask ) { 110QPixmap maskVPixToMask( QPixmap pix, QBitmap mask ) {
111 QPixmap pixmap( pix ); 111 QPixmap pixmap( pix );
112 pixmap.setMask( mask ); 112 pixmap.setMask( mask );
113 return pixmap; 113 return pixmap;
114} 114}
115 115
116void VideoWidget::resizeEvent( QResizeEvent * ) { 116void VideoWidget::resizeEvent( QResizeEvent * ) {
117 int h = height(); 117 int h = height();
118 int w = width(); 118 int w = width();
119 //int Vh = 160; 119 //int Vh = 160;
120 //int Vw = 220; 120 //int Vw = 220;
121 121
122 slider->setFixedWidth( w - 20 ); 122 slider->setFixedWidth( w - 20 );
123 slider->setGeometry( QRect( 15, h - 22, w - 90, 20 ) ); 123 slider->setGeometry( QRect( 15, h - 22, w - 90, 20 ) );
124 slider->setBackgroundOrigin( QWidget::ParentOrigin ); 124 slider->setBackgroundOrigin( QWidget::ParentOrigin );
125 slider->setFocusPolicy( QWidget::NoFocus ); 125 slider->setFocusPolicy( QWidget::NoFocus );
126 slider->setBackgroundPixmap( backgroundPixmap ); 126 slider->setBackgroundPixmap( backgroundPixmap );
127 127
128 upperLeftOfButtonMask.rx() = 0;// ( imgUp->width() ) / 2; 128 upperLeftOfButtonMask.rx() = 0;// ( imgUp->width() ) / 2;
129 if(w>h) 129 if(w>h)
130 upperLeftOfButtonMask.ry() = 0; 130 upperLeftOfButtonMask.ry() = 0;
131 else 131 else
132 upperLeftOfButtonMask.ry() = 185;//(( Vh - imgUp->height() ) / 2) - 10; 132 upperLeftOfButtonMask.ry() = 185;//(( Vh - imgUp->height() ) / 2) - 10;
133 QPoint p = upperLeftOfButtonMask; 133 QPoint p = upperLeftOfButtonMask;
134 134
135 QPixmap *pixUp = combineVImageWithBackground( imgUp, backgroundPixmap, p ); 135 QPixmap *pixUp = combineVImageWithBackground( buttonUpImage, backgroundPixmap, p );
136 QPixmap *pixDn = combineVImageWithBackground( imgDn, backgroundPixmap, p ); 136 QPixmap *pixDn = combineVImageWithBackground( buttonDownImage, backgroundPixmap, p );
137 137
138 for ( ButtonVector::iterator it = buttons.begin(); it != buttons.end(); ++it ) { 138 for ( ButtonVector::iterator it = buttons.begin(); it != buttons.end(); ++it ) {
139 Button &button = *it; 139 Button &button = *it;
140 140
141 if ( !button.mask.isNull() ) { 141 if ( !button.mask.isNull() ) {
142 button.pixUp = maskVPixToMask( *pixUp, button.mask ); 142 button.pixUp = maskVPixToMask( *pixUp, button.mask );
143 button.pixDown = maskVPixToMask( *pixDn, button.mask ); 143 button.pixDown = maskVPixToMask( *pixDn, button.mask );
144 } 144 }
145 } 145 }
146 146
147 delete pixUp; 147 delete pixUp;
148 delete pixDn; 148 delete pixDn;
149} 149}
150 150
151void VideoWidget::sliderPressed() { 151void VideoWidget::sliderPressed() {
152 videoSliderBeingMoved = TRUE; 152 videoSliderBeingMoved = TRUE;
153} 153}
154 154
155void VideoWidget::sliderReleased() { 155void VideoWidget::sliderReleased() {
156 videoSliderBeingMoved = FALSE; 156 videoSliderBeingMoved = FALSE;
157 if ( slider->width() == 0 ) { 157 if ( slider->width() == 0 ) {
158 return; 158 return;
159 } 159 }
160 long val = long((double)slider->value() * mediaPlayerState.length() / slider->width()); 160 long val = long((double)slider->value() * mediaPlayerState.length() / slider->width());
161 mediaPlayerState.setPosition( val ); 161 mediaPlayerState.setPosition( val );
162} 162}
163 163
164void VideoWidget::setPosition( long i ) { 164void VideoWidget::setPosition( long i ) {
165 updateSlider( i, mediaPlayerState.length() ); 165 updateSlider( i, mediaPlayerState.length() );
166} 166}
167 167
168 168
169void VideoWidget::setLength( long max ) { 169void VideoWidget::setLength( long max ) {
170 updateSlider( mediaPlayerState.position(), max ); 170 updateSlider( mediaPlayerState.position(), max );
171} 171}
172 172
173void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType ) 173void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType )
174{ 174{
175 if ( displayType == MediaPlayerState::Video ) { 175 if ( displayType == MediaPlayerState::Video ) {
176 makeVisible(); 176 makeVisible();
177 return; 177 return;
178 } 178 }
179 179
180 // Effectively blank the view next time we show it so it looks nicer 180 // Effectively blank the view next time we show it so it looks nicer
181 scaledWidth = 0; 181 scaledWidth = 0;
182 scaledHeight = 0; 182 scaledHeight = 0;
183 hide(); 183 hide();
184} 184}
185 185
186void VideoWidget::loadSkin() 186void VideoWidget::loadSkin()
187{ 187{
188 Config cfg("OpiePlayer"); 188 Config cfg("OpiePlayer");
189 cfg.setGroup("Options"); 189 cfg.setGroup("Options");
190 skin = cfg.readEntry("Skin","default"); 190 QString skin = cfg.readEntry("Skin","default");
191 191
192 QString skinPath = "opieplayer2/skins/" + skin; 192 QString skinPath = "opieplayer2/skins/" + skin;
193 backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); 193 backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
194 imgUp = QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) ); 194 buttonUpImage = QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) );
195 imgDn = QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) ); 195 buttonDownImage = QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) );
196 196
197 setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_", imgUp.size() ); 197 setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_", buttonUpImage.size() );
198 198
199 setBackgroundPixmap( backgroundPixmap ); 199 setBackgroundPixmap( backgroundPixmap );
200 200
201 delete slider; 201 delete slider;
202 slider = new QSlider( Qt::Horizontal, this ); 202 slider = new QSlider( Qt::Horizontal, this );
203 slider->setMinValue( 0 ); 203 slider->setMinValue( 0 );
204 slider->setMaxValue( 1 ); 204 slider->setMaxValue( 1 );
205 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) ); 205 slider->setBackgroundPixmap( backgroundPixmap );
206 //slider->setFocusPolicy( QWidget::NoFocus ); 206 //slider->setFocusPolicy( QWidget::NoFocus );
207 207
208 resizeEvent( 0 ); 208 resizeEvent( 0 );
209} 209}
210 210
211void VideoWidget::updateSlider( long i, long max ) { 211void VideoWidget::updateSlider( long i, long max ) {
212 // Will flicker too much if we don't do this 212 // Will flicker too much if we don't do this
213 if ( max == 0 ) { 213 if ( max == 0 ) {
214 return; 214 return;
215 } 215 }
216 int width = slider->width(); 216 int width = slider->width();
217 int val = int((double)i * width / max); 217 int val = int((double)i * width / max);
218 if ( !mediaPlayerState.isFullscreen() && !videoSliderBeingMoved ) { 218 if ( !mediaPlayerState.isFullscreen() && !videoSliderBeingMoved ) {
219 if ( slider->value() != val ) { 219 if ( slider->value() != val ) {
220 slider->setValue( val ); 220 slider->setValue( val );
221 } 221 }
222 if ( slider->maxValue() != width ) { 222 if ( slider->maxValue() != width ) {
223 slider->setMaxValue( width ); 223 slider->setMaxValue( width );
224 } 224 }
225 } 225 }
226} 226}
227 227
228void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { 228void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
229 if ( mediaPlayerState.isFullscreen() ) { 229 if ( mediaPlayerState.isFullscreen() ) {
230 mediaPlayerState.setFullscreen( FALSE ); 230 mediaPlayerState.setFullscreen( FALSE );
231 makeVisible(); 231 makeVisible();
232 } 232 }
233 MediaWidget::mouseReleaseEvent( event ); 233 MediaWidget::mouseReleaseEvent( event );
234} 234}
235 235
236void VideoWidget::backToNormal() { 236void VideoWidget::backToNormal() {
237 mediaPlayerState.setFullscreen( FALSE ); 237 mediaPlayerState.setFullscreen( FALSE );
238 makeVisible(); 238 makeVisible();
239} 239}
240 240
241void VideoWidget::makeVisible() { 241void VideoWidget::makeVisible() {
242 if ( mediaPlayerState.isFullscreen() ) { 242 if ( mediaPlayerState.isFullscreen() ) {
243 setBackgroundMode( QWidget::NoBackground ); 243 setBackgroundMode( QWidget::NoBackground );
244 showFullScreen(); 244 showFullScreen();
245 resize( qApp->desktop()->size() ); 245 resize( qApp->desktop()->size() );
246 videoFrame-> setGeometry ( 0, 0, width ( ), height ( )); 246 videoFrame-> setGeometry ( 0, 0, width ( ), height ( ));
247 247
248 slider->hide(); 248 slider->hide();
249 disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 249 disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
250 disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 250 disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
251 disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 251 disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
252 disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); 252 disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
253 253
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index 87be371..f434945 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -37,68 +37,62 @@
37#include <qwidget.h> 37#include <qwidget.h>
38#include <qimage.h> 38#include <qimage.h>
39#include <qpixmap.h> 39#include <qpixmap.h>
40#include "xinevideowidget.h" 40#include "xinevideowidget.h"
41 41
42#include "mediawidget.h" 42#include "mediawidget.h"
43 43
44class QPixmap; 44class QPixmap;
45class QSlider; 45class QSlider;
46 46
47class VideoWidget : public MediaWidget { 47class VideoWidget : public MediaWidget {
48 Q_OBJECT 48 Q_OBJECT
49public: 49public:
50 VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 50 VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
51 ~VideoWidget(); 51 ~VideoWidget();
52 52
53 53
54 XineVideoWidget* vidWidget(); 54 XineVideoWidget* vidWidget();
55public slots: 55public slots:
56 void updateSlider( long, long ); 56 void updateSlider( long, long );
57 void sliderPressed( ); 57 void sliderPressed( );
58 void sliderReleased( ); 58 void sliderReleased( );
59 void setFullscreen( bool b ); 59 void setFullscreen( bool b );
60 virtual void makeVisible(); 60 virtual void makeVisible();
61 void backToNormal(); 61 void backToNormal();
62 void setPosition( long ); 62 void setPosition( long );
63 63
64public: 64public:
65 virtual void setPlaying( bool b); 65 virtual void setPlaying( bool b);
66 virtual void setLength( long ); 66 virtual void setLength( long );
67 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ); 67 virtual void setDisplayType( MediaPlayerState::DisplayType displayType );
68 68
69 virtual void loadSkin(); 69 virtual void loadSkin();
70 70
71signals: 71signals:
72 void moreClicked(); 72 void moreClicked();
73 void lessClicked(); 73 void lessClicked();
74 void sliderMoved( long ); 74 void sliderMoved( long );
75 void videoResized ( const QSize &s ); 75 void videoResized ( const QSize &s );
76 76
77protected: 77protected:
78 78
79 void resizeEvent( QResizeEvent * ); 79 void resizeEvent( QResizeEvent * );
80 void mouseReleaseEvent( QMouseEvent *event ); 80 void mouseReleaseEvent( QMouseEvent *event );
81 void keyReleaseEvent( QKeyEvent *e); 81 void keyReleaseEvent( QKeyEvent *e);
82 82
83private: 83private:
84// Ticker songInfo; 84// Ticker songInfo;
85 QImage imgUp;
86 QImage imgDn;
87 QString skin;
88 85
89
90
91 QString backgroundPix;
92 QSlider *slider; 86 QSlider *slider;
93 QImage *currentFrame; 87 QImage *currentFrame;
94 int scaledWidth; 88 int scaledWidth;
95 int scaledHeight; 89 int scaledHeight;
96 XineVideoWidget* videoFrame; 90 XineVideoWidget* videoFrame;
97 91
98 bool videoSliderBeingMoved; 92 bool videoSliderBeingMoved;
99}; 93};
100 94
101#endif // VIDEO_WIDGET_H 95#endif // VIDEO_WIDGET_H
102 96
103 97
104 98