-rw-r--r-- | core/multimedia/opieplayer/audiowidget.cpp | 20 | ||||
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 48 | ||||
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.h | 5 |
3 files changed, 63 insertions, 10 deletions
diff --git a/core/multimedia/opieplayer/audiowidget.cpp b/core/multimedia/opieplayer/audiowidget.cpp index 896da91..d20d560 100644 --- a/core/multimedia/opieplayer/audiowidget.cpp +++ b/core/multimedia/opieplayer/audiowidget.cpp @@ -49,5 +49,4 @@ MediaButton audioButtons[] = { { TRUE, FALSE, FALSE }, // play { FALSE, FALSE, FALSE }, // stop - { TRUE, FALSE, FALSE }, // pause { FALSE, FALSE, FALSE }, // next { FALSE, FALSE, FALSE }, // previous @@ -57,13 +56,12 @@ MediaButton audioButtons[] = { { FALSE, FALSE, FALSE }, // playlist { FALSE, FALSE, FALSE }, // forward - { FALSE, FALSE, FALSE } // back + { FALSE, FALSE, FALSE } // back }; -const char *skin_mask_file_names[11] = { - "play", "stop", "pause", "next", "prev", "up", +const char *skin_mask_file_names[10] = { + "play", "stop", "next", "prev", "up", "down", "loop", "playlist", "forward", "back" }; - static void changeTextColor( QWidget *w ) { QPalette p = w->palette(); @@ -82,5 +80,5 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : Config cfg("OpiePlayer"); - cfg.setGroup("AudioWidget"); + cfg.setGroup("Options"); skin = cfg.readEntry("Skin","default"); //skin = "scaleTest"; @@ -88,4 +86,6 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : QString skinPath = "opieplayer2/skins/" + skin; + qDebug("skin path "+skinPath); + pixBg = new QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); imgUp = new QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); @@ -95,5 +95,5 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : imgButtonMask->fill( 0 ); - for ( int i = 0; i < 11; i++ ) { + for ( int i = 0; i < 10; i++ ) { QString filename = QString(getenv("OPIEDIR")) + "/pics/" + skinPath + "/skin_mask_" + skin_mask_file_names[i] + ".png"; masks[i] = new QBitmap( filename ); @@ -162,5 +162,5 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : AudioWidget::~AudioWidget() { - for ( int i = 0; i < 11; i++ ) { + for ( int i = 0; i < 10; i++ ) { delete buttonPixUp[i]; delete buttonPixDown[i]; @@ -170,5 +170,5 @@ AudioWidget::~AudioWidget() { delete imgDn; delete imgButtonMask; - for ( int i = 0; i < 11; i++ ) { + for ( int i = 0; i < 10; i++ ) { delete masks[i]; } @@ -211,5 +211,5 @@ void AudioWidget::resizeEvent( QResizeEvent * ) { QPixmap *pixDn = combineImageWithBackground( *imgDn, *pixBg, p ); - for ( int i = 0; i < 11; i++ ) { + for ( int i = 0; i < 10; i++ ) { if ( !masks[i]->isNull() ) { delete buttonPixUp[i]; diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 6580a88..a937d7c 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -194,4 +194,12 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) scaleButton->addTo(pmView); + + skinsMenu = new QPopupMenu( this ); + menu->insertItem( tr( "Skins" ), skinsMenu ); + skinsMenu->isCheckable(); + connect( skinsMenu, SIGNAL( activated( int ) ) , + this, SLOT( skinsMenuActivated( int ) ) ); + populateSkinsMenu(); + QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); @@ -1351,2 +1359,42 @@ void PlayListWidget::doUnblank() { } +void PlayListWidget::populateSkinsMenu() { + int item = 0; + defaultSkinIndex = 0; + QString skinName; + Config cfg( "OpiePlayer" ); + cfg.setGroup("Options" ); + QString skin = cfg.readEntry( "Skin", "default" ); + + QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" ); + skinsDir.setFilter( QDir::Dirs ); + skinsDir.setSorting(QDir::Name ); + const QFileInfoList *skinslist = skinsDir.entryInfoList(); + QFileInfoListIterator it( *skinslist ); + QFileInfo *fi; + while ( ( fi = it.current() ) ) { + skinName = fi->fileName(); +// qDebug( fi->fileName() ); + if( skinName != "." && skinName != ".." && skinName !="CVS" ) { + item = skinsMenu->insertItem( fi->fileName() ) ; + } + if( skinName == "default" ) { + defaultSkinIndex = item; + } + if( skinName == skin ) { + skinsMenu->setItemChecked( item, TRUE ); + } + ++it; + } +} + +void PlayListWidget::skinsMenuActivated( int item ) { + for( int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) { + skinsMenu->setItemChecked( i, FALSE ); + } + skinsMenu->setItemChecked( item, TRUE ); + + Config cfg( "OpiePlayer" ); + cfg.setGroup("Options"); + cfg.writeEntry("Skin", skinsMenu->text( item ) ); +} diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h index 1be5a15..1118b76 100644 --- a/core/multimedia/opieplayer/playlistwidget.h +++ b/core/multimedia/opieplayer/playlistwidget.h @@ -38,4 +38,5 @@ class QPoint; class QAction; class QLabel; +class QPopupMenu; class PlayListWidget : public QMainWindow { @@ -68,4 +69,5 @@ public slots: /* void setScaled(); */ protected: + QPopupMenu *skinsMenu; /* void contentsMousePressEvent( QMouseEvent * e ); */ /* void contentsMouseReleaseEvent( QMouseEvent * e ); */ @@ -73,4 +75,5 @@ void keyReleaseEvent( QKeyEvent *e); void keyPressEvent( QKeyEvent *e); private: + int defaultSkinIndex; bool audioScan, videoScan; void doBlank(); @@ -88,4 +91,6 @@ private: private slots: + void populateSkinsMenu(); + void skinsMenuActivated(int); void writem3u(); void writeCurrentM3u(); |