ui/views/slideshowview/src/glxslideshowwidget.cpp
changeset 29 2c833fc9e98f
parent 24 99ad1390cd33
child 36 6481344a6d67
equal deleted inserted replaced
26:c499df2dbb33 29:2c833fc9e98f
    24 #include <hbiconitem.h>
    24 #include <hbiconitem.h>
    25 #include <hbpushbutton.h>
    25 #include <hbpushbutton.h>
    26 #include <hbmainwindow.h>
    26 #include <hbmainwindow.h>
    27 #include <hbdocumentloader.h>
    27 #include <hbdocumentloader.h>
    28 #include <QAbstractItemModel>
    28 #include <QAbstractItemModel>
       
    29 #include <QGesture>
       
    30 #include <hbpangesture.h>
    29 
    31 
    30 
    32 
    31 //User Includes
    33 //User Includes
    32 #include "glxicondefs.h" //Contains the icon names/Ids
    34 #include "glxicondefs.h" //Contains the icon names/Ids
    33 #include "glxmodelparm.h"
    35 #include "glxmodelparm.h"
    36 #include "glxslideshowwidget.h"
    38 #include "glxslideshowwidget.h"
    37 #include <glxlog.h>
    39 #include <glxlog.h>
    38 #include <glxtracer.h>
    40 #include <glxtracer.h>
    39 
    41 
    40 
    42 
    41 GlxSlideShowWidget::GlxSlideShowWidget( QGraphicsItem *parent ) : HbScrollArea(parent), 
    43 GlxSlideShowWidget::GlxSlideShowWidget( QGraphicsItem *parent ) 
    42                       mEffectEngine(NULL), mContinueButton(NULL), mItemIndex(1), 
    44     : HbWidget(parent), 
    43                       mSelIndex(0), mSlideTimer(NULL), mModel(NULL)
    45       mEffectEngine(NULL), 
    44     {
    46       mContinueButton(NULL), 
       
    47       mItemIndex(1), 
       
    48       mSelIndex(0), 
       
    49       mSlideTimer(NULL), 
       
    50       mModel(NULL)
       
    51 {
    45     TRACER("GlxSlideShowWidget::GlxSlideShowWidget()");
    52     TRACER("GlxSlideShowWidget::GlxSlideShowWidget()");
    46     }
    53     grabGesture( Qt::PanGesture );
       
    54     grabGesture( Qt::TapGesture );
       
    55 }
    47 
    56 
    48 void GlxSlideShowWidget::setSlideShowWidget(HbDocumentLoader *DocLoader)
    57 void GlxSlideShowWidget::setSlideShowWidget(HbDocumentLoader *DocLoader)
    49     {
    58     {
    50     //To:Do error handling
    59     //To:Do error handling
    51     TRACER("GlxSlideShowWidget::setSlideShowWidget()");   
    60     TRACER("GlxSlideShowWidget::setSlideShowWidget()");   
   284     clearCurrentModel();
   293     clearCurrentModel();
   285     }
   294     }
   286 
   295 
   287 
   296 
   288 void GlxSlideShowWidget::orientationChanged(QRect screenRect)
   297 void GlxSlideShowWidget::orientationChanged(QRect screenRect)
   289     {
   298 {
   290     TRACER("GlxSlideShowWidget::orientationChanged()");
   299     TRACER("GlxSlideShowWidget::orientationChanged()");
   291     cancelEffect();
   300     cancelEffect();
   292     setItemGeometry( screenRect);
   301     setItemGeometry( screenRect);
   293     resetSlideShow();
   302     resetSlideShow();
   294     }
   303 }
   295 
   304 
   296 
   305 
   297 void GlxSlideShowWidget::leftGesture(int value)
   306 void GlxSlideShowWidget::leftGesture(int value)
   298     {
   307 {
   299     Q_UNUSED(value)
   308     Q_UNUSED(value)
   300     TRACER("GlxSlideShowWidget::leftGesture()");
   309     TRACER("GlxSlideShowWidget::leftGesture()");
   301 
   310 
   302     int index = ( mItemIndex + 1 ) % NBR_ITEM;
   311     int index = ( mItemIndex + 1 ) % NBR_ITEM;
   303     moveImage( index, mScreenRect.width(), QString("LeftMove"), "leftMoveEffectFinished");
   312     moveImage( index, mScreenRect.width(), QString("LeftMove"), "leftMoveEffectFinished");
   304     }
   313 }
   305 
   314 
   306 void GlxSlideShowWidget::rightGesture(int value)
   315 void GlxSlideShowWidget::rightGesture(int value)
   307     {
   316 {
   308     Q_UNUSED(value)
   317     Q_UNUSED(value)
   309     TRACER ("GlxSlideShowWidget::rightGesture()");
   318     TRACER ("GlxSlideShowWidget::rightGesture()");
   310 
   319 
   311     int index = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
   320     int index = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
   312     moveImage( index, -mScreenRect.width(), QString("RightMove"), "rightMoveEffectFinished"); 
   321     moveImage( index, -mScreenRect.width(), QString("RightMove"), "rightMoveEffectFinished"); 
   313     }
   322 }
   314 
   323 
   315 void GlxSlideShowWidget::leftMoveEffectFinished( const HbEffect::EffectStatus &status )
   324 void GlxSlideShowWidget::leftMoveEffectFinished( const HbEffect::EffectStatus &status )
   316     {
   325     {
   317     Q_UNUSED(status)
   326     Q_UNUSED(status)
   318     TRACER("GlxSlideShowWidget::leftMoveEffectFinished()");
   327     TRACER("GlxSlideShowWidget::leftMoveEffectFinished()");
   342     setIconItems(MOVE_BACKWARD);
   351     setIconItems(MOVE_BACKWARD);
   343     startSlideShow();
   352     startSlideShow();
   344     emit indexchanged(); // on right swipe
   353     emit indexchanged(); // on right swipe
   345     } 
   354     } 
   346 
   355 
   347 void GlxSlideShowWidget::mouseReleaseEvent( QGraphicsSceneMouseEvent *event)
   356  
   348     {
   357 void GlxSlideShowWidget::gestureEvent(QGestureEvent *event)
   349     Q_UNUSED( event )
   358 {  
   350     TRACER ( "GlxSlideShowWidget::mouseReleaseEvent( ) ");
   359     if( QTapGesture *gesture = static_cast<QTapGesture *>( event->gesture( Qt::TapGesture ) ) ) {        
   351     GLX_LOG_INFO1 ( "GlxSlideShowWidget::mouseReleaseEvent( ) is pause %d", mIsPause);
   360         if ( gesture->state() == Qt::GestureFinished ) {
   352     if ( mIsPause == false ) {
   361             if ( mIsPause == false ) {
   353     pauseSlideShow();
   362                 pauseSlideShow();
   354     }
   363             }
   355     }
   364             event->accept(gesture);
   356 
   365         }
   357 void GlxSlideShowWidget::mousePressEvent ( QGraphicsSceneMouseEvent * event )
   366     }
   358     {
   367       
   359     Q_UNUSED( event )
   368     if (QPanGesture *panningGesture = qobject_cast<QPanGesture*>(event->gesture(Qt::PanGesture))) {
   360     TRACER ( "GlxSlideShowWidget::mousePressEvent( ) ");
   369         HbPanGesture *hbPanGesture = qobject_cast<HbPanGesture *>(panningGesture);
   361     GLX_LOG_INFO1 ( "GlxSlideShowWidget::mousePressEvent( ) is pause %d", mIsPause);
   370         if ( hbPanGesture ) {
   362     }
   371             if( hbPanGesture->state() == Qt::GestureFinished ) {
       
   372                 QPointF delta( hbPanGesture->sceneDelta() );
       
   373                 if ( delta.x() > 0 ) {
       
   374                     rightGesture( delta.x() );
       
   375                 }
       
   376                 else {
       
   377                     leftGesture( delta.x() );
       
   378                 }
       
   379             }
       
   380             event->accept(panningGesture);
       
   381         }
       
   382     }
       
   383 }    
   363 
   384 
   364 void GlxSlideShowWidget::startSlideShow ( )
   385 void GlxSlideShowWidget::startSlideShow ( )
   365     {
   386     {
   366     TRACER ( "GlxSlideShowWidget::startSlideShow( ) ");
   387     TRACER ( "GlxSlideShowWidget::startSlideShow( ) ");
   367     GLX_LOG_INFO1 ( "GlxSlideShowWidget::startSlideShow( ) is pause %d", mIsPause);    
   388     GLX_LOG_INFO1 ( "GlxSlideShowWidget::startSlideShow( ) is pause %d", mIsPause);