95 if(mTotalImagesCount == NULL) { |
95 if(mTotalImagesCount == NULL) { |
96 mTotalImagesCount = new HbGroupBox(this); |
96 mTotalImagesCount = new HbGroupBox(this); |
97 mTotalImagesCount->setObjectName( "Count" ); |
97 mTotalImagesCount->setObjectName( "Count" ); |
98 mTotalImagesCount->hide(); |
98 mTotalImagesCount->hide(); |
99 } |
99 } |
|
100 mWidget->resetTransform(); |
100 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
101 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
101 } |
102 } |
102 |
103 |
103 void GlxGridView::deActivate() |
104 void GlxGridView::deActivate() |
104 { |
105 { |
241 void GlxGridView::enableMarking() |
242 void GlxGridView::enableMarking() |
242 { |
243 { |
243 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); |
244 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); |
244 mWidget->setSelectionMode(HgWidget::MultiSelection); |
245 mWidget->setSelectionMode(HgWidget::MultiSelection); |
245 |
246 |
246 if (mMarkingWidget == NULL) |
247 if (mMarkingWidget == NULL) { |
247 { |
|
248 mMarkingWidget = new HbWidget(this); |
248 mMarkingWidget = new HbWidget(this); |
249 mMarkContainer = new QGraphicsLinearLayout(Qt::Horizontal, 0); |
249 mMarkContainer = new QGraphicsLinearLayout(Qt::Horizontal, 0); |
250 mMarkingWidget->setLayout(mMarkContainer); |
250 mMarkingWidget->setLayout(mMarkContainer); |
251 |
251 |
252 mMarkSelectHeading = new HbGroupBox(this); |
252 mMarkSelectHeading = new HbGroupBox(this); |
260 mMarkCheckBox = new HbCheckBox(GLX_LABEL_MARK_ALL, mMarkingWidget); |
260 mMarkCheckBox = new HbCheckBox(GLX_LABEL_MARK_ALL, mMarkingWidget); |
261 mMarkCheckBox->setObjectName("CheckB MarkAll"); |
261 mMarkCheckBox->setObjectName("CheckB MarkAll"); |
262 |
262 |
263 mMarkContainer->addItem(mMarkCheckBox); |
263 mMarkContainer->addItem(mMarkCheckBox); |
264 mMarkContainer->addItem(mMarkCountLabel); |
264 mMarkContainer->addItem(mMarkCountLabel); |
265 } |
265 } |
266 |
266 |
267 hideorshowitems(mWindow->orientation()); |
267 hideorshowitems( mWindow->orientation() ); |
268 |
268 |
269 connect( mWidget->selectionModel() , SIGNAL( selectionChanged(const QItemSelection &, const QItemSelection& ) ), this, SLOT( showMarkedItemCount() ) ); |
269 connect( mWidget->selectionModel() , SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection& ) ), this, SLOT( showMarkedItemCount() ) ); |
270 connect(mMarkCheckBox, SIGNAL( stateChanged(int) ), this, SLOT( stateChanged(int))); |
270 connect( mMarkCheckBox, SIGNAL( stateChanged( int ) ), this, SLOT( stateChanged( int ) )); |
271 |
|
272 } |
271 } |
273 |
272 |
274 void GlxGridView::disableMarking() |
273 void GlxGridView::disableMarking() |
275 { |
274 { |
276 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); |
275 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); |
303 |
302 |
304 void GlxGridView::showMarkedItemCount() |
303 void GlxGridView::showMarkedItemCount() |
305 { |
304 { |
306 int count = mModel->rowCount(); |
305 int count = mModel->rowCount(); |
307 QModelIndexList indexList = mWidget->selectionModel()->selectedIndexes(); |
306 QModelIndexList indexList = mWidget->selectionModel()->selectedIndexes(); |
308 int markItemCount = indexList.count(); |
307 int markItemCount = indexList.count(); |
309 QString text= HbParameterLengthLimiter(GLX_LABEL_MARK_COUNT).arg(markItemCount).arg(count); |
308 QString text = HbParameterLengthLimiter(GLX_LABEL_MARK_COUNT).arg(markItemCount).arg(count); |
310 mMarkCountLabel->setPlainText( text ); |
309 mMarkCountLabel->setPlainText(text); |
|
310 |
|
311 //Block The signals generated by the CheckBox |
|
312 //if we dont block the signals , then when we call setCheckState to selected and unselect the CheckBox |
|
313 //it causes state change signal to emit which will cause either mark all or un mark all of teh images. |
|
314 mMarkCheckBox->blockSignals(TRUE); |
|
315 if (markItemCount != count && mMarkCheckBox->checkState() == Qt::Checked) { |
|
316 //if the mark all option was checked and then the user un marks an slected item |
|
317 //Then we have to un check the Mark All check Box |
|
318 mMarkCheckBox->setCheckState(Qt::Unchecked); |
|
319 } |
|
320 else if (markItemCount == count) { |
|
321 //if all the images are selected/marked Indiduvally |
|
322 //Then the the Mark All check Box has to checked/Selected |
|
323 mMarkCheckBox->setCheckState(Qt::Checked); |
|
324 } |
|
325 //UnBlock The signals generated by the CheckBox |
|
326 mMarkCheckBox->blockSignals(FALSE); |
311 } |
327 } |
312 |
328 |
313 void GlxGridView::showItemCount() |
329 void GlxGridView::showItemCount() |
314 { |
330 { |
315 int count = 0; |
331 int count = 0; |
330 } |
346 } |
331 else if ( getSubState() == ALL_ITEM_S ) { |
347 else if ( getSubState() == ALL_ITEM_S ) { |
332 if (mAlbumNameHeading) { |
348 if (mAlbumNameHeading) { |
333 mAlbumNameHeading->hide(); |
349 mAlbumNameHeading->hide(); |
334 } |
350 } |
335 mTotalImagesCount->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
351 |
336 text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL, count); |
352 text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL, count); |
337 mTotalImagesCount->setHeading ( text ); |
353 mTotalImagesCount->setHeading ( text ); |
|
354 mTotalImagesCount->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
338 mTotalImagesCount->show(); |
355 mTotalImagesCount->show(); |
339 } |
356 } |
340 else if ( getSubState() == ALBUM_ITEM_S ) { |
357 else if ( getSubState() == ALBUM_ITEM_S ) { |
341 mTotalImagesCount->hide(); |
358 mTotalImagesCount->hide(); |
342 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
359 QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); |
395 mAlbumNameHeading->setObjectName("Album Name"); |
412 mAlbumNameHeading->setObjectName("Album Name"); |
396 } |
413 } |
397 |
414 |
398 //If fetcher service set only title text |
415 //If fetcher service set only title text |
399 if ((XQServiceUtil::isService()) && isItemVisible(Hb::TitleBarItem)) |
416 if ((XQServiceUtil::isService()) && isItemVisible(Hb::TitleBarItem)) |
400 { |
417 { |
401 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24)); |
|
402 mAlbumNameHeading->setHeading(aTitle); |
418 mAlbumNameHeading->setHeading(aTitle); |
|
419 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24)); |
403 mAlbumNameHeading->show(); |
420 mAlbumNameHeading->show(); |
404 } |
421 } |
405 else |
422 else |
406 { //handle album tiltle and count display logic here |
423 { //handle album tiltle and count display logic here |
407 if (isItemVisible(Hb::TitleBarItem)) |
424 if (isItemVisible(Hb::TitleBarItem)) |
408 { |
425 { |
409 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24)); |
426 QString text = HbParameterLengthLimiter(GLX_ALBUM_NAME_COUNT_LABEL).arg(aTitle).arg(count); |
410 QString text = HbParameterLengthLimiter(GLX_ALBUM_NAME_COUNT_LABEL).arg(aTitle).arg(count); |
|
411 mAlbumNameHeading->setHeading(text); |
427 mAlbumNameHeading->setHeading(text); |
|
428 mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height()/24)); |
412 mAlbumNameHeading->show(); |
429 mAlbumNameHeading->show(); |
413 } |
430 } |
414 } |
431 } |
415 } |
432 } |
416 |
433 |
510 QGraphicsItem * GlxGridView::getAnimationItem(GlxEffect transitionEffect) |
527 QGraphicsItem * GlxGridView::getAnimationItem(GlxEffect transitionEffect) |
511 { |
528 { |
512 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
529 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
513 int selIndex = -1; |
530 int selIndex = -1; |
514 |
531 |
515 if ( transitionEffect == FULLSCREEN_TO_GRID ) { |
532 if ( transitionEffect == FULLSCREEN_TO_GRID || transitionEffect == FULLSCREEN_TO_GRID_PORTRAIT ) { |
516 return mWidget; |
533 return mWidget; |
517 } |
534 } |
518 |
535 |
519 if ( transitionEffect == GRID_TO_FULLSCREEN ) |
536 if ( transitionEffect == GRID_TO_FULLSCREEN ) { |
520 { |
537 QVariant variant = mModel->data( mModel->index( 0, 0 ), GlxFocusIndexRole ); |
521 QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); |
538 if ( variant.isValid() && variant.canConvert<int> () ) { |
522 if ( variant.isValid() && variant.canConvert<int> () ) |
539 selIndex = variant.value<int> (); |
523 { |
540 } |
524 selIndex = variant.value<int>(); |
541 else { |
525 } |
|
526 else |
|
527 { |
|
528 return mWidget; |
542 return mWidget; |
529 } |
543 } |
530 QVariant variantimage = mModel->data(mModel->index(selIndex,0),Qt::DecorationRole); |
544 QVariant variantimage = mModel->data( mModel->index( selIndex, 0 ), Qt::DecorationRole ); |
531 if ( variantimage.isValid() && variantimage.canConvert<HbIcon> () ) |
545 if ( variantimage.isValid() && variantimage.canConvert<HbIcon> () ) { |
532 { |
|
533 QPolygonF poly; |
546 QPolygonF poly; |
534 if (mModelWrapper && !mWidget->getItemOutline(mModelWrapper->index(selIndex,0), poly)) |
547 if ( mModelWrapper && !mWidget->getItemOutline( mModelWrapper->index( selIndex, 0 ), poly ) ) { |
535 { |
|
536 return mWidget; |
548 return mWidget; |
537 } |
549 } |
538 QRectF itemRect = poly.boundingRect(); |
550 QRectF itemRect = poly.boundingRect(); |
539 |
551 |
540 mIconItem->setSize(QSize(120,120)); |
552 mIconItem->setSize( QSize( 120, 120 ) ); |
541 HbIcon tempIcon = variantimage.value<HbIcon>(); |
553 HbIcon tempIcon = variantimage.value<HbIcon> (); |
542 QPixmap tempPixmap = tempIcon.qicon().pixmap(120, 120); |
554 QPixmap tempPixmap = tempIcon.qicon().pixmap( 120, 120 ); |
543 QSize sz = QSize ( 120, 120); |
555 QSize sz = QSize( 120, 120 ); |
544 tempPixmap = tempPixmap.scaled(sz, Qt::IgnoreAspectRatio ); |
556 tempPixmap = tempPixmap.scaled( sz, Qt::IgnoreAspectRatio ); |
545 HbIcon tmp = HbIcon( QIcon(tempPixmap)) ; |
557 HbIcon tmp = HbIcon( QIcon( tempPixmap ) ); |
546 mIconItem->setIcon(tmp); |
558 mIconItem->setIcon( tmp ); |
547 mIconItem->setPos(itemRect.topLeft()); |
559 mIconItem->setPos( itemRect.topLeft() ); |
548 mIconItem->setZValue(mIconItem->zValue() + 20); |
560 mIconItem->setZValue( mIconItem->zValue() + 20 ); |
549 mIconItem->show(); |
561 mIconItem->show(); |
|
562 if ( mToolBar ) { |
|
563 mToolBar->setZValue( mIconItem->zValue() - 5 ); |
|
564 } |
550 return mIconItem; |
565 return mIconItem; |
551 } |
566 } |
552 else |
567 else { |
553 { |
|
554 return mWidget; |
568 return mWidget; |
555 } |
569 } |
556 } |
570 } |
557 |
571 |
558 if ( transitionEffect == GRID_TO_ALBUMLIST || transitionEffect == ALBUMLIST_TO_GRID ){ |
572 if ( transitionEffect == GRID_TO_ALBUMLIST || transitionEffect == ALBUMLIST_TO_GRID ) { |
559 return mWidget; |
573 return mWidget; |
560 } |
574 } |
561 OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT ); |
575 OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT ); |
562 return NULL; |
576 return NULL; |
563 } |
577 } |
636 |
650 |
637 mMarkSelectHeading->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
651 mMarkSelectHeading->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); |
638 mMarkingWidget->setGeometry(QRectF(0,deviceSize.height()/24,screenSize.width(),deviceSize.height()/72)); |
652 mMarkingWidget->setGeometry(QRectF(0,deviceSize.height()/24,screenSize.width(),deviceSize.height()/72)); |
639 |
653 |
640 mMarkSelectHeading->show(); |
654 mMarkSelectHeading->show(); |
641 mMarkingWidget->show(); |
655 mMarkingWidget->show(); |
642 |
656 showMarkedItemCount(); |
643 showMarkedItemCount(); |
|
644 |
|
645 } |
657 } |
646 } |
658 } |
647 |
659 |
648 void GlxGridView::scrolltofocus() |
660 void GlxGridView::scrolltofocus() |
649 { |
661 { |