summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp9
-rw-r--r--noncore/multimedia/opieplayer2/skin.cpp21
-rw-r--r--noncore/multimedia/opieplayer2/skin.h6
3 files changed, 26 insertions, 10 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 0d1c8b6..ab23aa8 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -12,35 +12,32 @@
12 This library is distributed in the hope that it will be useful, 12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details. 15 Library General Public License for more details.
16 16
17 You should have received a copy of the GNU Library General Public License 17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to 18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. 20 Boston, MA 02111-1307, USA.
21*/ 21*/
22 22
23 23
24#include "mediawidget.h" 24#include "mediawidget.h"
25#include "playlistwidget.h" 25#include "playlistwidget.h"
26#include "skin.h" 26#include "skin.h"
27 27
28#include <qpe/config.h>
29#include <qpe/qpeapplication.h>
30
31MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name ) 28MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name )
32 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ), playList( _playList ) 29 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ), playList( _playList )
33{ 30{
34 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), 31 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ),
35 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) ); 32 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) );
36 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ), 33 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ),
37 this, SLOT( setLength( long ) ) ); 34 this, SLOT( setLength( long ) ) );
38 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), 35 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
39 this, SLOT( setPlaying( bool ) ) ); 36 this, SLOT( setPlaying( bool ) ) );
40} 37}
41 38
42MediaWidget::~MediaWidget() 39MediaWidget::~MediaWidget()
43{ 40{
44} 41}
45 42
46void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount, 43void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
@@ -56,37 +53,33 @@ void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount
56 buttons.push_back( button ); 53 buttons.push_back( button );
57 } 54 }
58} 55}
59 56
60MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, const Skin &skin ) 57MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, const Skin &skin )
61{ 58{
62 Button button; 59 Button button;
63 button.command = buttonInfo.command; 60 button.command = buttonInfo.command;
64 button.type = buttonInfo.type; 61 button.type = buttonInfo.type;
65 button.mask = skin.buttonMaskImage( buttonInfo.fileName ); 62 button.mask = skin.buttonMaskImage( buttonInfo.fileName );
66 63
67 return button; 64 return button;
68} 65}
69 66
70void MediaWidget::loadDefaultSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const QString &fileNameInfix ) 67void MediaWidget::loadDefaultSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const QString &fileNameInfix )
71{ 68{
72 Config cfg( "OpiePlayer" ); 69 Skin skin( fileNameInfix );
73 cfg.setGroup( "Options" );
74 QString name = cfg.readEntry( "Skin","default" );
75
76 Skin skin( name, fileNameInfix );
77 loadSkin( skinInfo, buttonCount, skin ); 70 loadSkin( skinInfo, buttonCount, skin );
78} 71}
79 72
80void MediaWidget::loadSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const Skin &skin ) 73void MediaWidget::loadSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const Skin &skin )
81{ 74{
82 backgroundPixmap = skin.backgroundImage(); 75 backgroundPixmap = skin.backgroundImage();
83 buttonUpImage = skin.buttonUpImage(); 76 buttonUpImage = skin.buttonUpImage();
84 buttonDownImage = skin.buttonDownImage(); 77 buttonDownImage = skin.buttonDownImage();
85 78
86 setupButtons( skinInfo, buttonCount, skin ); 79 setupButtons( skinInfo, buttonCount, skin );
87} 80}
88 81
89void MediaWidget::closeEvent( QCloseEvent * ) 82void MediaWidget::closeEvent( QCloseEvent * )
90{ 83{
91 mediaPlayerState.setList(); 84 mediaPlayerState.setList();
92} 85}
diff --git a/noncore/multimedia/opieplayer2/skin.cpp b/noncore/multimedia/opieplayer2/skin.cpp
index d3918d1..8281b20 100644
--- a/noncore/multimedia/opieplayer2/skin.cpp
+++ b/noncore/multimedia/opieplayer2/skin.cpp
@@ -1,23 +1,35 @@
1 1
2#include "skin.h" 2#include "skin.h"
3 3
4#include <qpe/resource.h> 4#include <qpe/resource.h>
5#include <qpe/config.h>
5 6
6Skin::Skin( const QString &name, const QString &fileNameInfix ) 7Skin::Skin( const QString &name, const QString &fileNameInfix )
7 : m_name( name ), m_fileNameInfix( fileNameInfix ) 8 : m_fileNameInfix( fileNameInfix )
9{
10 init( name );
11}
12
13Skin::Skin( const QString &fileNameInfix )
14 : m_fileNameInfix( fileNameInfix )
15{
16 init( defaultSkinName() );
17}
18
19void Skin::init( const QString &name )
8{ 20{
9 m_skinPath = "opieplayer2/skins/" + name; 21 m_skinPath = "opieplayer2/skins/" + name;
10} 22}
11 23
12void Skin::preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount ) 24void Skin::preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount )
13{ 25{
14 backgroundImage(); 26 backgroundImage();
15 buttonUpImage(); 27 buttonUpImage();
16 buttonDownImage(); 28 buttonDownImage();
17 ( void )buttonMask( skinButtonInfo, buttonCount ); 29 ( void )buttonMask( skinButtonInfo, buttonCount );
18} 30}
19 31
20QImage Skin::backgroundImage() const 32QImage Skin::backgroundImage() const
21{ 33{
22 if ( m_backgroundImage.isNull() ) 34 if ( m_backgroundImage.isNull() )
23 m_backgroundImage = QImage( Resource::findPixmap( QString( "%1/background" ).arg( m_skinPath ) ) ); 35 m_backgroundImage = QImage( Resource::findPixmap( QString( "%1/background" ).arg( m_skinPath ) ) );
@@ -66,18 +78,25 @@ void Skin::addButtonToMask( int tag, const QImage &maskImage ) const
66 if ( !qRed( maskImage.pixel( x, y ) ) ) 78 if ( !qRed( maskImage.pixel( x, y ) ) )
67 line[x] = tag; 79 line[x] = tag;
68 } 80 }
69} 81}
70 82
71QImage Skin::buttonMaskImage( const QString &fileName ) const 83QImage Skin::buttonMaskImage( const QString &fileName ) const
72{ 84{
73 ButtonMaskImageMap::Iterator it = m_buttonMasks.find( fileName ); 85 ButtonMaskImageMap::Iterator it = m_buttonMasks.find( fileName );
74 if ( it == m_buttonMasks.end() ) { 86 if ( it == m_buttonMasks.end() ) {
75 QString prefix = m_skinPath + QString::fromLatin1( "/skin%1_mask_" ).arg( m_fileNameInfix ); 87 QString prefix = m_skinPath + QString::fromLatin1( "/skin%1_mask_" ).arg( m_fileNameInfix );
76 QString path = prefix + fileName + ".png"; 88 QString path = prefix + fileName + ".png";
77 it = m_buttonMasks.insert( fileName, QImage( Resource::findPixmap( path ) ) ); 89 it = m_buttonMasks.insert( fileName, QImage( Resource::findPixmap( path ) ) );
78 } 90 }
79 return *it; 91 return *it;
80} 92}
81 93
94QString Skin::defaultSkinName()
95{
96 Config cfg( "OpiePlayer" );
97 cfg.setGroup( "Options" );
98 return cfg.readEntry( "Skin", "default" );
99}
100
82/* vim: et sw=4 ts=4 101/* vim: et sw=4 ts=4
83 */ 102 */
diff --git a/noncore/multimedia/opieplayer2/skin.h b/noncore/multimedia/opieplayer2/skin.h
index ee19f4b..58f1849 100644
--- a/noncore/multimedia/opieplayer2/skin.h
+++ b/noncore/multimedia/opieplayer2/skin.h
@@ -1,44 +1,48 @@
1#ifndef SKIN_H 1#ifndef SKIN_H
2#define SKIN_H 2#define SKIN_H
3 3
4#include <qstring.h> 4#include <qstring.h>
5#include <qimage.h> 5#include <qimage.h>
6#include <qmap.h> 6#include <qmap.h>
7 7
8#include "mediawidget.h" 8#include "mediawidget.h"
9 9
10class Skin 10class Skin
11{ 11{
12public: 12public:
13 Skin( const QString &name, const QString &fileNameInfix ); 13 Skin( const QString &name, const QString &fileNameInfix );
14 Skin( const QString &fileNameInfix );
14 15
15 void preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount ); 16 void preload( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount );
16 17
17 QImage backgroundImage() const; 18 QImage backgroundImage() const;
18 QImage buttonUpImage() const; 19 QImage buttonUpImage() const;
19 QImage buttonDownImage() const; 20 QImage buttonDownImage() const;
20 21
21 QImage buttonMask( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount ) const; 22 QImage buttonMask( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint buttonCount ) const;
22 23
23 QImage buttonMaskImage( const QString &fileName ) const; 24 QImage buttonMaskImage( const QString &fileName ) const;
24 25
26 static QString defaultSkinName();
27
25private: 28private:
29 void init( const QString &name );
30
26 void addButtonToMask( int tag, const QImage &maskImage ) const; 31 void addButtonToMask( int tag, const QImage &maskImage ) const;
27 32
28 QString m_name;
29 QString m_fileNameInfix; 33 QString m_fileNameInfix;
30 QString m_skinPath; 34 QString m_skinPath;
31 35
32 typedef QMap<QString, QImage> ButtonMaskImageMap; 36 typedef QMap<QString, QImage> ButtonMaskImageMap;
33 37
34 mutable QImage m_backgroundImage; 38 mutable QImage m_backgroundImage;
35 mutable QImage m_buttonUpImage; 39 mutable QImage m_buttonUpImage;
36 mutable QImage m_buttonDownImage; 40 mutable QImage m_buttonDownImage;
37 mutable QImage m_buttonMask; 41 mutable QImage m_buttonMask;
38 mutable ButtonMaskImageMap m_buttonMasks; 42 mutable ButtonMaskImageMap m_buttonMasks;
39 43
40 Skin( const Skin & ); 44 Skin( const Skin & );
41 Skin &operator=( const Skin & ); 45 Skin &operator=( const Skin & );
42}; 46};
43 47
44#endif // SKIN_H 48#endif // SKIN_H