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); |