summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index 8afb318..f1b9773 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -37,7 +37,7 @@
37 37
38/* OPIE */ 38/* OPIE */
39#include <opie2/odebug.h> 39#include <opie2/odebug.h>
40using namespace Opie::Core; 40#include <qpe/global.h>
41 41
42/* QT */ 42/* QT */
43#include <qtextstream.h> 43#include <qtextstream.h>
@@ -326,19 +326,29 @@ void Lib::setWidget( XineVideoWidget *widget )
326void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) 326void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType )
327{ 327{
328 assert( sendType == ThreadUtil::Channel::OneWay ); 328 assert( sendType == ThreadUtil::Channel::OneWay );
329 handleXineEvent( msg->type() ); 329 handleXineEvent( msg->type(), msg->data(), msg->msg() );
330 delete msg; 330 delete msg;
331} 331}
332 332
333void Lib::handleXineEvent( const xine_event_t* t ) { 333void Lib::handleXineEvent( const xine_event_t* t ) {
334 send( new ThreadUtil::ChannelMessage( t->type ), OneWay ); 334 int prog = -1; const char* name = 0;
335 if ( t->type == XINE_EVENT_PROGRESS ) {
336 xine_progress_data_t *pt = static_cast<xine_progress_data_t*>( t->data );
337 prog = pt->percent;
338 name = pt->description;
339 }
340
341 send( new ThreadUtil::ChannelMessage( t->type, prog, name ), OneWay );
335} 342}
336 343
337void Lib::handleXineEvent( int type ) { 344void Lib::handleXineEvent( int type, int data, const char* name ) {
338 assert( m_initialized ); 345 assert( m_initialized );
339 346
340 if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) { 347 if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) {
341 emit stopped(); 348 emit stopped();
349 }else if ( type == XINE_EVENT_PROGRESS ) {
350 QString str = name == 0 ? QString::null : QString::fromUtf8( name );
351 Global::statusMessage( tr( "Progress: %1 %2" ).arg( name, data ) );;
342 } 352 }
343} 353}
344 354