48 #include "OstTraceDefinitions.h" |
48 #include "OstTraceDefinitions.h" |
49 #ifdef OST_TRACE_COMPILER_IN_USE |
49 #ifdef OST_TRACE_COMPILER_IN_USE |
50 #include "glxgridviewTraces.h" |
50 #include "glxgridviewTraces.h" |
51 #endif |
51 #endif |
52 |
52 |
53 GlxGridView::GlxGridView(HbMainWindow *window) |
53 GlxGridView::GlxGridView( HbMainWindow *window ) |
54 : GlxView ( GLX_GRIDVIEW_ID ), |
54 : GlxView ( GLX_GRIDVIEW_ID ), |
55 mWindow(window), |
55 mWindow( window ), |
56 mModel ( NULL), |
56 mModel ( NULL ), |
57 mWidget(NULL), |
57 mWidget( NULL ), |
58 mSelectionModel(NULL), |
58 mSelectionModel( NULL ), |
59 mModelWrapper(NULL), |
59 mModelWrapper( NULL ), |
60 mUiOnButton(NULL), |
60 mUiOnButton( NULL ), |
61 mScrolling(FALSE), |
61 mScrolling( FALSE ), |
62 mIconItem(NULL), |
62 mIconItem( NULL ), |
63 mMarkCheckBox(NULL), |
63 mBackGroundItem( NULL ), |
64 mTotalImagesCount(NULL), |
64 mMarkCheckBox( NULL ), |
65 mMarkSelectHeading(NULL), |
65 mTotalImagesCountGrpBox( NULL ), |
66 mMarkCountLabel(NULL), |
66 mMarkSelectHeading( NULL ), |
67 mZeroItemLabel(NULL), |
67 mMarkCountLabel( NULL ), |
68 mAlbumNameHeading(NULL), |
68 mZeroItemLabel( NULL ), |
69 mMarkContainer(NULL), |
69 mMarkContainer( NULL ), |
70 mMarkingWidget(NULL), |
70 mMarkingWidget( NULL ), |
71 mToolBar( NULL ), |
71 mToolBar( NULL ), |
72 mCurrentToolBar( NULL ) |
72 mCurrentToolBar( NULL ) |
73 { |
73 { |
74 OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
74 OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
75 mModelWrapper = new GlxModelWrapper(); |
75 mModelWrapper = new GlxModelWrapper(); |
90 void GlxGridView::activate() |
90 void GlxGridView::activate() |
91 { |
91 { |
92 OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); |
92 OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); |
93 loadGridView(); |
93 loadGridView(); |
94 connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection); |
94 connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection); |
95 if(mTotalImagesCount == NULL) { |
95 if(mTotalImagesCountGrpBox == NULL) { |
96 mTotalImagesCount = new HbGroupBox(this); |
96 mTotalImagesCountGrpBox = new HbGroupBox(this); |
97 mTotalImagesCount->setObjectName( "Count" ); |
97 mTotalImagesCountGrpBox->setObjectName( "Count" ); |
98 mTotalImagesCount->hide(); |
98 mTotalImagesCountGrpBox->hide(); |
99 } |
99 } |
100 mWidget->resetTransform(); |
100 resetTransform(); |
101 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
101 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
102 } |
102 } |
103 |
103 |
104 void GlxGridView::deActivate() |
104 void GlxGridView::deActivate() |
105 { |
105 { |
112 mIconItem->hide(); |
112 mIconItem->hide(); |
113 mIconItem->resetTransform(); |
113 mIconItem->resetTransform(); |
114 mIconItem->setOpacity(0); |
114 mIconItem->setOpacity(0); |
115 mIconItem->setZValue(mIconItem->zValue()-20); |
115 mIconItem->setZValue(mIconItem->zValue()-20); |
116 } |
116 } |
117 if (mTotalImagesCount) { |
117 if (mTotalImagesCountGrpBox) { |
118 mTotalImagesCount->hide(); |
118 mTotalImagesCountGrpBox->hide(); |
119 } |
|
120 if (mAlbumNameHeading) { |
|
121 mAlbumNameHeading->hide(); |
|
122 } |
119 } |
123 if(mZeroItemLabel) { |
120 if(mZeroItemLabel) { |
124 mZeroItemLabel->hide(); |
121 mZeroItemLabel->hide(); |
125 } |
122 } |
126 |
123 |
343 QString text; |
340 QString text; |
344 if(XQServiceUtil::isService() && (0 == XQServiceUtil::interfaceName().compare(QLatin1String("com.nokia.symbian.IImageFetch")))) { |
341 if(XQServiceUtil::isService() && (0 == XQServiceUtil::interfaceName().compare(QLatin1String("com.nokia.symbian.IImageFetch")))) { |
345 showAlbumTitle(GLX_SELECT_IMAGE); |
342 showAlbumTitle(GLX_SELECT_IMAGE); |
346 } |
343 } |
347 else if ( getSubState() == ALL_ITEM_S || ( getSubState() == FETCHER_ITEM_S)) { |
344 else if ( getSubState() == ALL_ITEM_S || ( getSubState() == FETCHER_ITEM_S)) { |
348 if (mAlbumNameHeading) { |
345 text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL).arg(count); |
349 mAlbumNameHeading->hide(); |
346 mTotalImagesCountGrpBox->setHeading ( text ); |
350 } |
347 mTotalImagesCountGrpBox->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
351 |
348 mTotalImagesCountGrpBox->show(); |
352 text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL, count); |
|
353 mTotalImagesCount->setHeading ( text ); |
|
354 mTotalImagesCount->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
|
355 mTotalImagesCount->show(); |
|
356 } |
349 } |
357 else if ( getSubState() == ALBUM_ITEM_S || (getSubState() == FETCHER_ALBUM_ITEM_S)) { |
350 else if ( getSubState() == ALBUM_ITEM_S || (getSubState() == FETCHER_ALBUM_ITEM_S) ) { |
358 mTotalImagesCount->hide(); |
351 mTotalImagesCountGrpBox->hide(); |
359 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
352 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
360 if (variant.toString() != NULL) { |
353 if (variant.toString() != NULL) { |
361 showAlbumTitle(variant.toString()); |
354 showAlbumTitle(variant.toString()); |
362 } |
355 } |
363 } |
356 } |
364 } |
357 } |
365 else { |
358 else { |
366 if (mTotalImagesCount) { |
359 if (mTotalImagesCountGrpBox) { |
367 mTotalImagesCount->hide(); |
360 mTotalImagesCountGrpBox->hide(); |
368 } |
|
369 if (mAlbumNameHeading) { |
|
370 mAlbumNameHeading->hide(); |
|
371 } |
361 } |
372 } |
362 } |
373 |
363 |
374 } |
364 } |
375 else { |
365 else { |
378 if (variant.isValid() && variant.canConvert<bool>() ) |
368 if (variant.isValid() && variant.canConvert<bool>() ) |
379 { |
369 { |
380 populated = variant.value<bool>(); |
370 populated = variant.value<bool>(); |
381 } |
371 } |
382 if(populated) { |
372 if(populated) { |
383 if (mTotalImagesCount) { |
|
384 mTotalImagesCount->hide(); |
|
385 } |
|
386 if (mAlbumNameHeading) { |
|
387 mAlbumNameHeading->hide(); |
|
388 } |
|
389 |
|
390 showNoImageString(); |
373 showNoImageString(); |
391 |
374 if(!(XQServiceUtil::isService() && |
392 if (getSubState() == ALBUM_ITEM_S) { |
375 (0 == XQServiceUtil::interfaceName().compare(QLatin1String("com.nokia.symbian.IImageFetch"))))) |
393 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
376 { |
394 if (variant.toString() != NULL) { |
377 if( getSubState() == ALL_ITEM_S || getSubState() == FETCHER_ITEM_S) { |
395 showAlbumTitle(variant.toString()); |
378 QString text; |
|
379 text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL).arg(count); |
|
380 mTotalImagesCountGrpBox->setHeading ( text ); |
|
381 mTotalImagesCountGrpBox->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
|
382 mTotalImagesCountGrpBox->show(); |
|
383 } |
|
384 else if (getSubState() == ALBUM_ITEM_S || getSubState() == FETCHER_ALBUM_ITEM_S) { |
|
385 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
|
386 if (variant.toString() != NULL) { |
|
387 showAlbumTitle(variant.toString()); |
|
388 } |
396 } |
389 } |
397 } |
390 } |
398 } |
391 } |
399 } |
392 } |
400 } |
393 } |
404 { |
397 { |
405 int count = mModel->rowCount(); |
398 int count = mModel->rowCount(); |
406 QSize deviceSize = HbDeviceProfile::current().logicalSize(); |
399 QSize deviceSize = HbDeviceProfile::current().logicalSize(); |
407 QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) |
400 QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) |
408 : QSize( deviceSize.height(), deviceSize.width() ) ; |
401 : QSize( deviceSize.height(), deviceSize.width() ) ; |
409 if (mAlbumNameHeading == NULL) |
|
410 { |
|
411 mAlbumNameHeading = new HbGroupBox(this); |
|
412 mAlbumNameHeading->setObjectName("Album Name"); |
|
413 } |
|
414 |
|
415 //If fetcher service set only title text |
402 //If fetcher service set only title text |
416 if ((XQServiceUtil::isService()) && isItemVisible(Hb::TitleBarItem)) |
403 if ((XQServiceUtil::isService()) && isItemVisible(Hb::TitleBarItem) && |
|
404 (0 == XQServiceUtil::interfaceName().compare(QLatin1String("com.nokia.symbian.IImageFetch")))) |
417 { |
405 { |
418 mAlbumNameHeading->setHeading(aTitle); |
406 mTotalImagesCountGrpBox->setHeading(aTitle); |
419 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24)); |
407 mTotalImagesCountGrpBox->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24)); |
420 mAlbumNameHeading->show(); |
408 mTotalImagesCountGrpBox->show(); |
421 } |
409 } |
422 else |
410 else |
423 { //handle album tiltle and count display logic here |
411 { //handle album tiltle and count display logic here |
424 if (isItemVisible(Hb::TitleBarItem)) |
412 if (isItemVisible(Hb::TitleBarItem)) |
425 { |
413 { |
426 QString text = HbParameterLengthLimiter(GLX_ALBUM_NAME_COUNT_LABEL).arg(aTitle).arg(count); |
414 QString text = HbParameterLengthLimiter(GLX_ALBUM_NAME_COUNT_LABEL).arg(aTitle).arg(count); |
427 mAlbumNameHeading->setHeading(text); |
415 mTotalImagesCountGrpBox->setHeading(text); |
428 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height()/24)); |
416 mTotalImagesCountGrpBox->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height()/24)); |
429 mAlbumNameHeading->show(); |
417 mTotalImagesCountGrpBox->show(); |
430 } |
418 } |
431 } |
419 } |
432 } |
420 } |
433 |
421 |
434 void GlxGridView::showNoImageString() |
422 void GlxGridView::showNoImageString() |
528 { |
516 { |
529 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
517 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
530 int selIndex = -1; |
518 int selIndex = -1; |
531 |
519 |
532 if ( transitionEffect == FULLSCREEN_TO_GRID || transitionEffect == FULLSCREEN_TO_GRID_PORTRAIT ) { |
520 if ( transitionEffect == FULLSCREEN_TO_GRID || transitionEffect == FULLSCREEN_TO_GRID_PORTRAIT ) { |
533 return mWidget; |
521 if ( !mBackGroundItem ) { |
|
522 mBackGroundItem = new HbIconItem(); |
|
523 setBackgroundItem( mBackGroundItem ); |
|
524 } |
|
525 HbIcon icon = HbIcon( mWindow->backgroundImageName( mWindow->orientation() ) ); |
|
526 mBackGroundItem->setIcon( icon ); |
|
527 return this; |
534 } |
528 } |
535 |
529 |
536 if ( transitionEffect == GRID_TO_FULLSCREEN ) { |
530 if ( transitionEffect == GRID_TO_FULLSCREEN ) { |
537 QVariant variant = mModel->data( mModel->index( 0, 0 ), GlxFocusIndexRole ); |
531 QVariant variant = mModel->data( mModel->index( 0, 0 ), GlxFocusIndexRole ); |
538 if ( variant.isValid() && variant.canConvert<int> () ) { |
532 if ( variant.isValid() && variant.canConvert<int> () ) { |
586 mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture); |
580 mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture); |
587 mWidget = new HgGrid(orient); |
581 mWidget = new HgGrid(orient); |
588 mWidget->setObjectName( "Media Wall" ); |
582 mWidget->setObjectName( "Media Wall" ); |
589 mWidget->setLongPressEnabled(true); |
583 mWidget->setLongPressEnabled(true); |
590 mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide); |
584 mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide); |
591 if(XQServiceUtil::isService()) |
585 if(XQServiceUtil::isService()) { |
592 { |
|
593 mWidget->setEffect3dEnabled(EFalse); |
586 mWidget->setEffect3dEnabled(EFalse); |
594 } |
587 } |
595 else |
588 else { |
596 { |
|
597 mWidget->setEffect3dEnabled(mSettings->mediaWall3DEffect()); |
589 mWidget->setEffect3dEnabled(mSettings->mediaWall3DEffect()); |
598 } |
590 } |
599 setWidget( mWidget ); |
591 setWidget( mWidget ); |
600 addViewConnection(); |
592 addViewConnection(); |
601 } |
593 } |
602 OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); |
594 OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); |
603 } |
595 } |
635 setItemVisible(Hb::AllItems, FALSE) ; |
627 setItemVisible(Hb::AllItems, FALSE) ; |
636 setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden); |
628 setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden); |
637 if (mUiOnButton) { |
629 if (mUiOnButton) { |
638 mUiOnButton->hide(); |
630 mUiOnButton->hide(); |
639 } |
631 } |
640 if (mTotalImagesCount) { |
632 if (mTotalImagesCountGrpBox) { |
641 mTotalImagesCount->hide(); |
633 mTotalImagesCountGrpBox->hide(); |
642 } |
|
643 if (mAlbumNameHeading) { |
|
644 mAlbumNameHeading->hide(); |
|
645 } |
634 } |
646 |
635 |
647 QSize deviceSize = HbDeviceProfile::current().logicalSize(); |
636 QSize deviceSize = HbDeviceProfile::current().logicalSize(); |
648 QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) |
637 QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) |
649 : QSize( deviceSize.height(), deviceSize.width() ) ; |
638 : QSize( deviceSize.height(), deviceSize.width() ) ; |
779 disconnect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); |
765 disconnect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); |
780 delete mUiOnButton; |
766 delete mUiOnButton; |
781 } |
767 } |
782 |
768 |
783 delete mIconItem; |
769 delete mIconItem; |
784 delete mTotalImagesCount; |
770 delete mTotalImagesCountGrpBox; |
785 delete mAlbumNameHeading; |
|
786 delete mMarkSelectHeading; |
771 delete mMarkSelectHeading; |
787 delete mMarkCheckBox; |
772 delete mMarkCheckBox; |
788 delete mMarkCountLabel; |
773 delete mMarkCountLabel; |
789 delete mMarkingWidget; |
774 delete mMarkingWidget; |
790 delete mZeroItemLabel; |
775 delete mZeroItemLabel; |