author | simon <simon> | 2002-12-11 14:25:49 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-11 14:25:49 (UTC) |
commit | 7a17954c26add31f28b69989f54e0f28a17c8949 (patch) (side-by-side diff) | |
tree | 8603026771be07c996f49a29375fda64c8cd0e67 | |
parent | 16138f0cdf46994d20ade71b5621b82fb9386933 (diff) | |
download | opie-7a17954c26add31f28b69989f54e0f28a17c8949.zip opie-7a17954c26add31f28b69989f54e0f28a17c8949.tar.gz opie-7a17954c26add31f28b69989f54e0f28a17c8949.tar.bz2 |
- roll back the threaded xine initialization, the mediaplayer initialization
state and the PlayButton change set
- instead load the audio-/video widget and the xine control on-demand. much
faster and much simpler for startup
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 92 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 22 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.cpp | 114 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.h | 14 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayerstate.cpp | 13 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayerstate.h | 6 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 2 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidgetgui.cpp | 22 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidgetgui.h | 18 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.cpp | 10 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.h | 6 |
11 files changed, 81 insertions, 238 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 20fd1e2..1e0dc21 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp @@ -71,10 +71,8 @@ extern "C" { using namespace XINE; Lib::Lib( XineVideoWidget* widget ) { - ThreadUtil::AutoLock lock( m_initGuard ); - m_initialized = false; m_video = false; m_wid = widget; printf("Lib"); QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; @@ -88,21 +86,10 @@ Lib::Lib( XineVideoWidget* widget ) ts << "misc.memcpy_method:glibc\n"; f.close(); } - start(); -} - -void Lib::run() -{ - initialize(); -} - -void Lib::initialize() -{ m_xine = xine_new( ); - QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; xine_config_load( m_xine, QFile::encodeName( configPath ) ); xine_init( m_xine ); @@ -129,20 +116,11 @@ void Lib::initialize() m_queue = xine_event_new_queue (m_stream); xine_event_create_listener_thread (m_queue, xine_event_handler, this); - - ThreadUtil::AutoLock lock( m_initGuard ); - m_initialized = true; - - send( new ThreadUtil::ChannelMessage( InitializationMessageType ), OneWay ); } Lib::~Lib() { - ThreadUtil::AutoLock lock( m_initGuard ); - - assert( m_initialized ); - // free( m_config ); xine_close( m_stream ); @@ -155,19 +133,8 @@ Lib::~Lib() { //free( m_videoOutput ); //delete m_audioOutput; } -void Lib::assertInitialized() const -{ - ThreadUtil::AutoLock lock( m_initGuard ); - - if ( m_initialized ) - return; - - qDebug( "LibXine: xine function called while not being initialized, yet! Fix the caller!" ); - assert( m_initialized ); -} - void Lib::resize ( const QSize &s ) { if ( s. width ( ) && s. height ( ) ) { ::null_set_gui_width( m_videoOutput, s. width() ); ::null_set_gui_height( m_videoOutput, s. height() ); @@ -192,181 +159,128 @@ int Lib::subVersion() { return sub; } int Lib::play( const QString& fileName, int startPos, int start_time ) { - assertInitialized(); - QString str = fileName.stripWhiteSpace(); if ( !xine_open( m_stream, QFile::encodeName(str.utf8() ).data() ) ) { return 0; } return xine_play( m_stream, startPos, start_time); } void Lib::stop() { - assertInitialized(); - qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); xine_stop( m_stream ); } void Lib::pause( bool toggle ) { - assertInitialized(); - xine_set_param( m_stream, XINE_PARAM_SPEED, toggle ? XINE_SPEED_PAUSE : XINE_SPEED_NORMAL ); } int Lib::speed() const { - assertInitialized(); - return xine_get_param ( m_stream, XINE_PARAM_SPEED ); } void Lib::setSpeed( int speed ) { - assertInitialized(); - xine_set_param ( m_stream, XINE_PARAM_SPEED, speed ); } int Lib::status() const { - assertInitialized(); - return xine_get_status( m_stream ); } int Lib::currentPosition() const { - assertInitialized(); - int pos, time, length; xine_get_pos_length( m_stream, &pos, &time, &length ); return pos; } int Lib::currentTime() const { - assertInitialized(); - int pos, time, length; xine_get_pos_length( m_stream, &pos, &time, &length ); return time/1000; } int Lib::length() const { - assertInitialized(); - int pos, time, length; xine_get_pos_length( m_stream, &pos, &time, &length ); return length/1000; } bool Lib::isSeekable() const { - assertInitialized(); - return xine_get_stream_info( m_stream, XINE_STREAM_INFO_SEEKABLE ); } void Lib::seekTo( int time ) { - assertInitialized(); - //xine_trick_mode ( m_stream, XINE_TRICK_MODE_SEEK_TO_TIME, time ); NOT IMPLEMENTED YET IN XINE :_( // since its now milliseconds we need *1000 xine_play( m_stream, 0, time*1000 ); } Frame Lib::currentFrame() const { - assertInitialized(); - Frame frame; return frame; }; QString Lib::metaInfo( int number) const { - assertInitialized(); - return xine_get_meta_info( m_stream, number ); } int Lib::error() const { - assertInitialized(); - return xine_get_error( m_stream ); }; void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) { assert( sendType == ThreadUtil::Channel::OneWay ); - switch ( msg->type() ) { - case XineMessageType: - handleXineEvent( static_cast<XineMessage *>( msg )->xineEvent ); - break; - case InitializationMessageType: - emit initialized(); - break; - } + handleXineEvent( msg->type() ); delete msg; } void Lib::handleXineEvent( const xine_event_t* t ) { - send( new XineMessage( t->type ), OneWay ); + send( new ThreadUtil::ChannelMessage( t->type ), OneWay ); } void Lib::handleXineEvent( int type ) { - assertInitialized(); - if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) { emit stopped(); } } void Lib::setShowVideo( bool video ) { - assertInitialized(); - m_video = video; ::null_set_show_video( m_videoOutput, video ); } bool Lib::isShowingVideo() const { - assertInitialized(); - return ::null_is_showing_video( m_videoOutput ); } bool Lib::hasVideo() const { - assertInitialized(); - return xine_get_stream_info( m_stream, 18 ); } void Lib::showVideoFullScreen( bool fullScreen ) { - assertInitialized(); - ::null_set_fullscreen( m_videoOutput, fullScreen ); } bool Lib::isVideoFullScreen() const { - assertInitialized(); - return ::null_is_fullscreen( m_videoOutput ); } void Lib::setScaling( bool scale ) { - assertInitialized(); - ::null_set_scaling( m_videoOutput, scale ); } void Lib::setGamma( int value ) { - assertInitialized(); - //qDebug( QString( "%1").arg(value) ); /* int gammaValue = ( 100 + value ); */ ::null_set_videoGamma( m_videoOutput, value ); } bool Lib::isScaling() const { - assertInitialized(); - return ::null_is_scaling( m_videoOutput ); } void Lib::xine_event_handler( void* user_data, const xine_event_t* t ) { @@ -378,10 +292,8 @@ void Lib::xine_display_frame( void* user_data, uint8_t *frame, ( (Lib*)user_data)->drawFrame( frame, width, height, bytes ); } void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) { - assertInitialized(); - if ( !m_video ) { qWarning("not showing video now"); return; } diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 34b85b9..aba2ec9 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h @@ -54,9 +54,9 @@ namespace XINE { * It supports playing, pausing, info, * stooping, seeking. */ class Frame; - class Lib : public ThreadUtil::Channel, private ThreadUtil::Thread + class Lib : public ThreadUtil::Channel { Q_OBJECT public: Lib(XineVideoWidget* = 0); @@ -182,29 +182,9 @@ namespace XINE { protected: virtual void receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ); - virtual void run(); - private: - void initialize(); - - void assertInitialized() const; - - enum { XineMessageType = 1, InitializationMessageType }; - - struct XineMessage : public ThreadUtil::ChannelMessage - { - XineMessage( int _xineEvent ) : ThreadUtil::ChannelMessage( XineMessageType ), - xineEvent( _xineEvent ) - {} - - int xineEvent; - }; - - mutable ThreadUtil::Mutex m_initGuard; - bool m_initialized : 1; - int m_bytes_per_pixel; bool m_video:1; XineVideoWidget *m_wid; xine_t *m_xine; diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp index c230d6f..bbc60dd 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp @@ -30,12 +30,11 @@ MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ), playList( _playList ) { - audioUI = 0; - videoUI = 0; - xineControl = 0; - recreateAudioAndVideoWidgets(); + m_audioUI = 0; + m_videoUI = 0; + m_xineControl = 0; fd=-1;fl=-1; playList.setCaption( tr( "OpiePlayer: Initializating" ) ); @@ -59,11 +58,11 @@ MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPla playList.setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() ); } MediaPlayer::~MediaPlayer() { - delete xineControl; - delete audioUI; - delete videoUI; + delete m_xineControl; + delete m_audioUI; + delete m_videoUI; delete volControl; } void MediaPlayer::pauseCheck( bool b ) { @@ -102,28 +101,28 @@ void MediaPlayer::setPlaying( bool play ) { } PlayListWidget::Entry playListEntry = playList.currentEntry(); fileName = playListEntry.name; - xineControl->play( playListEntry.file ); + xineControl()->play( playListEntry.file ); long seconds = mediaPlayerState.length(); time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); if( fileName.left(4) == "http" ) { fileName = QFileInfo( fileName ).baseName(); - if ( xineControl->getMetaInfo().isEmpty() ) { + if ( xineControl()->getMetaInfo().isEmpty() ) { tickerText = tr( " File: " ) + fileName; } else { - tickerText = xineControl->getMetaInfo(); + tickerText = xineControl()->getMetaInfo(); } } else { - if ( xineControl->getMetaInfo().isEmpty() ) { + if ( xineControl()->getMetaInfo().isEmpty() ) { tickerText = tr( " File: " ) + fileName + tr( ", Length: " ) + time + " "; } else { - tickerText = xineControl->getMetaInfo() + " Length: " + time + " "; + tickerText = xineControl()->getMetaInfo() + " Length: " + time + " "; } } - audioUI->setTickerText( tickerText ); + audioUI()->setTickerText( tickerText ); } void MediaPlayer::prev() { @@ -188,16 +187,16 @@ void MediaPlayer::stopChangingVolume() { drawnOnScreenDisplay = FALSE; onScreenDisplayVolume = 0; int w=0; int h=0; - if( !xineControl->hasVideo() ) { - w = audioUI->width(); - h = audioUI->height(); - audioUI->repaint( ( w - 200 ) / 2, h - yoff, 200 + 9, 70, FALSE ); + if( !xineControl()->hasVideo() ) { + w = audioUI()->width(); + h = audioUI()->height(); + audioUI()->repaint( ( w - 200 ) / 2, h - yoff, 200 + 9, 70, FALSE ); } else { - w = videoUI->width(); - h = videoUI->height(); - videoUI->repaint( ( w - 200 ) / 2, h - yoff, 200 + 9, 70, FALSE ); + w = videoUI()->width(); + h = videoUI()->height(); + videoUI()->repaint( ( w - 200 ) / 2, h - yoff, 200 + 9, 70, FALSE ); } } @@ -219,20 +218,20 @@ void MediaPlayer::timerEvent( QTimerEvent * ) { return; } int w=0; int h=0; - if( !xineControl->hasVideo() ) { - w = audioUI->width(); - h = audioUI->height(); + if( !xineControl()->hasVideo() ) { + w = audioUI()->width(); + h = audioUI()->height(); if ( drawnOnScreenDisplay ) { if ( onScreenDisplayVolume > v ) { - audioUI->repaint( ( w - 200 ) / 2 + v * 20 + 0, h - yoff + 40, ( onScreenDisplayVolume - v ) * 20 + 9, 30, FALSE ); + audioUI()->repaint( ( w - 200 ) / 2 + v * 20 + 0, h - yoff + 40, ( onScreenDisplayVolume - v ) * 20 + 9, 30, FALSE ); } } drawnOnScreenDisplay = TRUE; onScreenDisplayVolume = v; - QPainter p( audioUI ); + QPainter p( audioUI() ); p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); QFont f; @@ -248,19 +247,19 @@ void MediaPlayer::timerEvent( QTimerEvent * ) { p.drawRect( ( w - 200 ) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); } } } else { - w = videoUI->width(); - h = videoUI->height(); + w = videoUI()->width(); + h = videoUI()->height(); if ( drawnOnScreenDisplay ) { if ( onScreenDisplayVolume > v ) { - videoUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, ( onScreenDisplayVolume - v ) * 20 + 9, 30, FALSE ); + videoUI()->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, ( onScreenDisplayVolume - v ) * 20 + 9, 30, FALSE ); } } drawnOnScreenDisplay = TRUE; onScreenDisplayVolume = v; - QPainter p( videoUI ); + QPainter p( videoUI() ); p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); QFont f; @@ -345,33 +344,52 @@ void MediaPlayer::cleanUp() {// this happens on closing // QPEApplication::grabKeyboard(); // QPEApplication::ungrabKeyboard(); } -void MediaPlayer::recreateAudioAndVideoWidgets() +void MediaPlayer::recreateAudioAndVideoWidgets() const { - delete xineControl; - delete audioUI; - delete videoUI; - audioUI = new AudioWidget( playList, mediaPlayerState, 0, "audioUI" ); - videoUI = new VideoWidget( playList, mediaPlayerState, 0, "videoUI" ); + delete m_xineControl; + delete m_audioUI; + delete m_videoUI; + m_audioUI = new AudioWidget( playList, mediaPlayerState, 0, "audioUI" ); + m_videoUI = new VideoWidget( playList, mediaPlayerState, 0, "videoUI" ); + + connect( m_audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); + connect( m_audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); + connect( m_audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); + connect( m_audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); - connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); - connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); - connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); - connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); + connect( m_videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); + connect( m_videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); + connect( m_videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); + connect( m_videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); + + m_xineControl = new XineControl( m_videoUI->vidWidget(), mediaPlayerState ); +} - connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); - connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); - connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); - connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); +AudioWidget *MediaPlayer::audioUI() const +{ + if ( !m_audioUI ) + recreateAudioAndVideoWidgets(); + return m_audioUI; +} - xineControl = new XineControl( videoUI->vidWidget(), mediaPlayerState ); - connect( xineControl, SIGNAL( initialized() ), - &mediaPlayerState, SLOT( setBackendInitialized() ) ); +VideoWidget *MediaPlayer::videoUI() const +{ + if ( !m_videoUI ) + recreateAudioAndVideoWidgets(); + return m_videoUI; +} + +XineControl *MediaPlayer::xineControl() const +{ + if ( !m_xineControl ) + recreateAudioAndVideoWidgets(); + return m_xineControl; } void MediaPlayer::reloadSkins() { - audioUI->loadSkin(); - videoUI->loadSkin(); + audioUI()->loadSkin(); + videoUI()->loadSkin(); } diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h index 6b316f6..5975731 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.h +++ b/noncore/multimedia/opieplayer2/mediaplayer.h @@ -53,9 +53,8 @@ public: MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ); ~MediaPlayer(); public slots: - void recreateAudioAndVideoWidgets(); void reloadSkins(); private slots: void setPlaying( bool ); @@ -71,19 +70,26 @@ private slots: protected: void timerEvent( QTimerEvent *e ); void keyReleaseEvent( QKeyEvent *e); + private: + AudioWidget *audioUI() const; + VideoWidget *videoUI() const; + XineControl *xineControl() const; bool isBlanked, l, r; int fd, fl; int volumeDirection; - XineControl *xineControl; VolumeControl *volControl; MediaPlayerState &mediaPlayerState; PlayListWidget &playList; - AudioWidget *audioUI; - VideoWidget *videoUI; + + void recreateAudioAndVideoWidgets() const; + + mutable XineControl *m_xineControl; + mutable AudioWidget *m_audioUI; + mutable VideoWidget *m_videoUI; }; #endif // MEDIA_PLAYER_H diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp index d54d870..40fa1a4 100644 --- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp @@ -52,9 +52,8 @@ MediaPlayerState::MediaPlayerState( QObject *parent, const char *name ) Config cfg( "OpiePlayer" ); readConfig( cfg ); streaming = false; seekable = true; - backendInitialized = false; } MediaPlayerState::~MediaPlayerState() { @@ -85,20 +84,8 @@ void MediaPlayerState::writeConfig( Config& cfg ) const { cfg.writeEntry( "Shuffle", shuffled ); cfg.writeEntry( "VideoGamma", videoGamma ); } -bool MediaPlayerState::isInitialized() const -{ - return backendInitialized; // for now, more to come (skin stuff) -} - -void MediaPlayerState::setBackendInitialized() -{ - assert( backendInitialized == false ); - backendInitialized = true; - emit initialized(); -} - MediaPlayerState::DisplayType MediaPlayerState::displayType() const { return m_displayType; } diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h index 6fe6d76..7408fdc 100644 --- a/noncore/multimedia/opieplayer2/mediaplayerstate.h +++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h @@ -60,9 +60,8 @@ public: bool isShuffled() const { return shuffled; } bool isPaused() const { return paused; } bool isPlaying() const { return playing; } bool isStopped() const { return stopped; } - bool isInitialized() const; long position() const { return curPosition; } long length() const { return curLength; } DisplayType displayType() const; @@ -97,10 +96,8 @@ public slots: void togglePlaying(); void toggleBlank(); void writeConfig( Config& cfg ) const; - void setBackendInitialized(); - signals: void fullscreenToggled( bool ); void scaledToggled( bool ); void loopingToggled( bool ); @@ -117,10 +114,8 @@ signals: void videoGammaChanged( int ); void prev(); void next(); - void initialized(); - private: bool streaming : 1; bool seekable : 1; bool fullscreen: 1; @@ -131,9 +126,8 @@ private: bool usePlaylist : 1; bool paused : 1; bool playing : 1; bool stopped : 1; - bool backendInitialized : 1; long curPosition; long curLength; DisplayType m_displayType; int videoGamma; diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index 8e4f56d..c35e03d 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp @@ -64,9 +64,9 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par this , SLOT(addSelected() ) ); d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist", this , SLOT(removeSelected() ) ); - d->tbPlay = new PlayButton( mediaPlayerState, bar, tr( "Play" ), "opieplayer2/play", + d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", this , SLOT( btnPlay( bool) ), TRUE ); d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", &mediaPlayerState, SLOT( setShuffled( bool ) ), TRUE ); d->tbLoop = new ToolButton( bar, tr( "Loop" ), "opieplayer2/loop", diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp index 23b7a70..5fc0c39 100644 --- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp @@ -202,27 +202,5 @@ void PlayListWidgetGui::setActiveWindow() { mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection ); // invalidate mediaPlayerState.setDisplayType( origDisplayType ); // now switch back } -PlayButton::PlayButton( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name, - const QString &icon, QObject *handler, const QString &slot, bool t ) - : ToolButton( parent, name, icon, handler, slot, t ), mediaPlayerState( _mediaPlayerState ), - m_lastEnableStatus( true ) -{ - connect( &mediaPlayerState, SIGNAL( initialized() ), - this, SLOT( checkInitializationStatus() ) ); -} - -void PlayButton::setEnabled( bool enable ) -{ - m_lastEnableStatus = enable; - - enable &= mediaPlayerState.isInitialized(); - - ToolButton::setEnabled( enable ); -} - -void PlayButton::checkInitializationStatus() -{ - setEnabled( m_lastEnableStatus ); -} diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.h b/noncore/multimedia/opieplayer2/playlistwidgetgui.h index 1aa8ac8..c965b0d 100644 --- a/noncore/multimedia/opieplayer2/playlistwidgetgui.h +++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.h @@ -83,26 +83,8 @@ public: QPEMenuToolFocusManager::manager()->addWidget( this ); } }; -class PlayButton : public ToolButton -{ - Q_OBJECT -public: - PlayButton( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name, - const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ); - -protected: - virtual void setEnabled( bool enable ); - -private slots: - void checkInitializationStatus(); - -private: - MediaPlayerState &mediaPlayerState; - bool m_lastEnableStatus : 1; -}; - class MenuItem : public QAction { public: MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp index e791c3b..ee2cd83 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.cpp +++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp @@ -54,9 +54,9 @@ XineControl::XineControl( XineVideoWidget *xineWidget, connect( &mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) ); connect( &mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) ); connect( &mediaPlayerState, SIGNAL( videoGammaChanged( int ) ), this, SLOT( setGamma( int ) ) ); connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) ); - connect( libXine, SIGNAL( initialized() ), this, SLOT( xineInitialized() ) ); + connect( xineVideoWidget, SIGNAL( videoResized( const QSize & ) ), this, SLOT( videoResized ( const QSize & ) ) ); disabledSuspendScreenSaver = FALSE; } @@ -125,16 +125,8 @@ void XineControl::nextMedia() { void XineControl::setGamma( int value ) { libXine->setGamma( value ); } -void XineControl::xineInitialized() -{ - connect( xineVideoWidget, SIGNAL( videoResized( const QSize & ) ), this, SLOT( videoResized ( const QSize & ) ) ); - libXine->resize( xineVideoWidget->videoSize() ); - - emit initialized(); -} - void XineControl::stop( bool isSet ) { if ( !isSet ) { libXine->stop(); diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h index 085de3f..fdc5d2b 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.h +++ b/noncore/multimedia/opieplayer2/xinecontrol.h @@ -99,12 +99,8 @@ public slots: * @param int value between -100 and 100, 0 is original */ void setGamma( int ); - -private slots: - void xineInitialized(); - private: XINE::Lib *libXine; long m_currentTime; long m_position; @@ -117,10 +113,8 @@ private: XineVideoWidget *xineVideoWidget; signals: void positionChanged( long ); - - void initialized(); }; #endif |