equal
deleted
inserted
replaced
63 mCurrentView(LogsServices::ViewAll), |
63 mCurrentView(LogsServices::ViewAll), |
64 mAppearingView(LogsServices::ViewAll), |
64 mAppearingView(LogsServices::ViewAll), |
65 mMoveLeftInList(false), |
65 mMoveLeftInList(false), |
66 mEffectHandler(0), |
66 mEffectHandler(0), |
67 mListViewX(0), |
67 mListViewX(0), |
|
68 mEmptyListLabelX(0), |
68 mMatchesModel(0), |
69 mMatchesModel(0), |
69 mMarkingMissedAsSeen(false), |
70 mMarkingMissedAsSeen(false), |
70 mPageIndicator(0), |
71 mPageIndicator(0), |
71 mFirstActivation(true) |
72 mFirstActivation(true), |
|
73 mListScrollBarPolicy(HbScrollArea::ScrollBarAutoHide) |
72 { |
74 { |
73 LOGS_QDEBUG( "logs [UI] <-> LogsRecentCallsView::LogsRecentCallsView()" ); |
75 LOGS_QDEBUG( "logs [UI] <-> LogsRecentCallsView::LogsRecentCallsView()" ); |
74 mModel = mRepository.model(); |
76 mModel = mRepository.model(); |
75 |
77 |
76 //TODO: taking away due to toolbar bug. If toolbar visibility changes on view |
78 //TODO: taking away due to toolbar bug. If toolbar visibility changes on view |
128 |
130 |
129 mPageIndicator->setActiveItemIndex(mConversionMap.value(mCurrentView)); |
131 mPageIndicator->setActiveItemIndex(mConversionMap.value(mCurrentView)); |
130 |
132 |
131 mFirstActivation = false; |
133 mFirstActivation = false; |
132 |
134 |
|
135 if (mEmptyListLabel) { |
|
136 mEmptyListLabelX = mEmptyListLabel->pos().x(); |
|
137 } |
|
138 |
133 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::activated()" ); |
139 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::activated()" ); |
134 } |
140 } |
135 |
141 |
136 // ----------------------------------------------------------------------------- |
142 // ----------------------------------------------------------------------------- |
137 // LogsRecentCallsView::deactivated |
143 // LogsRecentCallsView::deactivated |
211 mEffectHandler = new LogsEffectHandler; |
217 mEffectHandler = new LogsEffectHandler; |
212 connect(mEffectHandler, SIGNAL(dissappearByMovingComplete()), |
218 connect(mEffectHandler, SIGNAL(dissappearByMovingComplete()), |
213 this, SLOT(dissappearByMovingComplete())); |
219 this, SLOT(dissappearByMovingComplete())); |
214 connect(mEffectHandler, SIGNAL(dissappearByFadingComplete()), |
220 connect(mEffectHandler, SIGNAL(dissappearByFadingComplete()), |
215 this, SLOT(dissappearByFadingComplete())); |
221 this, SLOT(dissappearByFadingComplete())); |
216 |
222 connect(mEffectHandler, SIGNAL(appearByMovingComplete()), |
|
223 this, SLOT(appearByMovingComplete())); |
217 mPageIndicator = qobject_cast<LogsPageIndicator*> |
224 mPageIndicator = qobject_cast<LogsPageIndicator*> |
218 (mRepository.findWidget(logsPageIndicatorId)); |
225 (mRepository.findWidget(logsPageIndicatorId)); |
219 |
226 |
220 mPageIndicator->initialize(mTitleMap.count(), mConversionMap.value(mCurrentView)); |
227 mPageIndicator->initialize(mTitleMap.count(), mConversionMap.value(mCurrentView)); |
221 |
228 |
438 mListView->setFrictionEnabled(true); |
445 mListView->setFrictionEnabled(true); |
439 |
446 |
440 mListViewX = mListView->pos().x(); |
447 mListViewX = mListView->pos().x(); |
441 |
448 |
442 grabGesture(Qt::SwipeGesture); |
449 grabGesture(Qt::SwipeGesture); |
|
450 |
|
451 mListScrollBarPolicy = mListView->verticalScrollBarPolicy(); |
443 |
452 |
444 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::initListWidget() " ); |
453 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::initListWidget() " ); |
445 } |
454 } |
446 |
455 |
447 // ----------------------------------------------------------------------------- |
456 // ----------------------------------------------------------------------------- |
462 mFilter = new LogsFilter( type ); |
471 mFilter = new LogsFilter( type ); |
463 mFilter->setSourceModel( mModel ); |
472 mFilter->setSourceModel( mModel ); |
464 |
473 |
465 mListView->setModel( mFilter );//ownership not transferred |
474 mListView->setModel( mFilter );//ownership not transferred |
466 |
475 |
467 scrollToTopItem(); |
476 scrollToTopItem(mListView); |
468 |
477 |
469 activateEmptyListIndicator(mFilter); |
478 activateEmptyListIndicator(mFilter); |
470 |
479 |
471 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateFilter() " ); |
480 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateFilter() " ); |
472 } else { |
481 } else { |
567 changeView( mConversionMap.key(viewmap) ); |
576 changeView( mConversionMap.key(viewmap) ); |
568 } else { |
577 } else { |
569 if (model() && model()->rowCount() > 0) { |
578 if (model() && model()->rowCount() > 0) { |
570 mEffectHandler->startMoveNotPossibleEffect(*mListView, false, mListViewX); |
579 mEffectHandler->startMoveNotPossibleEffect(*mListView, false, mListViewX); |
571 } else { |
580 } else { |
572 mEffectHandler->startMoveNotPossibleEffect(*mEmptyListLabel, false, mListViewX); |
581 mEffectHandler->startMoveNotPossibleEffect(*mEmptyListLabel, |
|
582 false, mEmptyListLabelX); |
573 } |
583 } |
574 } |
584 } |
575 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::leftFlick()" ); |
585 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::leftFlick()" ); |
576 } |
586 } |
577 |
587 |
588 changeView( mConversionMap.key(viewmap) ); |
598 changeView( mConversionMap.key(viewmap) ); |
589 } else { |
599 } else { |
590 if (model() && model()->rowCount() > 0) { |
600 if (model() && model()->rowCount() > 0) { |
591 mEffectHandler->startMoveNotPossibleEffect(*mListView, true, mListViewX); |
601 mEffectHandler->startMoveNotPossibleEffect(*mListView, true, mListViewX); |
592 } else { |
602 } else { |
593 mEffectHandler->startMoveNotPossibleEffect(*mEmptyListLabel, true, mListViewX); |
603 mEffectHandler->startMoveNotPossibleEffect(*mEmptyListLabel, |
|
604 true, mEmptyListLabelX); |
594 } |
605 } |
595 } |
606 } |
596 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::rightFlick()" ); |
607 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::rightFlick()" ); |
597 } |
608 } |
598 |
609 |
611 mAppearingView = view; |
622 mAppearingView = view; |
612 return; |
623 return; |
613 } |
624 } |
614 |
625 |
615 mMoveLeftInList = mConversionMap.value(view) < mConversionMap.value(mCurrentView); |
626 mMoveLeftInList = mConversionMap.value(view) < mConversionMap.value(mCurrentView); |
616 |
|
617 mAppearingView = view; |
627 mAppearingView = view; |
|
628 // Disable scrollbar while moving the list for more nice looks |
|
629 mListView->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff); |
618 mEffectHandler->startDissappearAppearByFadingEffect(*mViewName); |
630 mEffectHandler->startDissappearAppearByFadingEffect(*mViewName); |
619 mEffectHandler->startDissappearAppearByMovingEffect( |
631 mEffectHandler->startDissappearAppearByMovingEffect( |
620 *mListView, *mEmptyListLabel, !mMoveLeftInList, mListViewX); |
632 *mListView, *mEmptyListLabel, !mMoveLeftInList, |
|
633 mListViewX, mEmptyListLabelX); |
621 |
634 |
622 mPageIndicator->setActiveItemIndex(mConversionMap.value(mAppearingView)); |
635 mPageIndicator->setActiveItemIndex(mConversionMap.value(mAppearingView)); |
623 |
636 |
624 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::changeView()" ); |
637 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::changeView()" ); |
625 } |
638 } |
645 // |
658 // |
646 void LogsRecentCallsView::dissappearByMovingComplete() |
659 void LogsRecentCallsView::dissappearByMovingComplete() |
647 { |
660 { |
648 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::dissappearByMovingComplete()" ) |
661 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::dissappearByMovingComplete()" ) |
649 |
662 |
650 updateView( mAppearingView ); |
663 updateView( mAppearingView ); |
651 |
664 |
652 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::dissappearByMovingComplete()" ) |
665 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::dissappearByMovingComplete()" ) |
|
666 } |
|
667 |
|
668 |
|
669 // ----------------------------------------------------------------------------- |
|
670 // |
|
671 // ----------------------------------------------------------------------------- |
|
672 // |
|
673 void LogsRecentCallsView::appearByMovingComplete() |
|
674 { |
|
675 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::appearByMovingComplete()" ) |
|
676 |
|
677 // Restore scrollbar which was hidden when animation started |
|
678 mListView->setVerticalScrollBarPolicy(mListScrollBarPolicy); |
|
679 |
|
680 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::appearByMovingComplete()" ) |
653 } |
681 } |
654 |
682 |
655 // ----------------------------------------------------------------------------- |
683 // ----------------------------------------------------------------------------- |
656 // LogsRecentCallsView::updateMenu |
684 // LogsRecentCallsView::updateMenu |
657 // ----------------------------------------------------------------------------- |
685 // ----------------------------------------------------------------------------- |
671 toggleActionAvailability(addToContactsAction, isDialpadInput()); |
699 toggleActionAvailability(addToContactsAction, isDialpadInput()); |
672 |
700 |
673 updateDialpadCallAndMessagingActions(); |
701 updateDialpadCallAndMessagingActions(); |
674 updateContactSearchAction(); |
702 updateContactSearchAction(); |
675 |
703 |
|
704 updateMenuVisibility(); |
|
705 |
676 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateMenu()" ); |
706 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateMenu()" ); |
677 } |
707 } |
678 |
708 |
679 // ----------------------------------------------------------------------------- |
709 // ----------------------------------------------------------------------------- |
680 // LogsRecentCallsView::updateEmptyListWidgetsVisibility |
710 // LogsRecentCallsView::updateEmptyListWidgetsVisibility |
695 { |
725 { |
696 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::updateWidgetsSizeAndLayout()" ); |
726 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::updateWidgetsSizeAndLayout()" ); |
697 if ( mListView ) { |
727 if ( mListView ) { |
698 updateMenu(); |
728 updateMenu(); |
699 updateListLayoutName(*mListView); |
729 updateListLayoutName(*mListView); |
700 updateListSize(); |
730 updateListSize(*mListView); |
701 LogsConfigurationParams param; |
731 LogsConfigurationParams param; |
702 param.setListItemTextWidth( getListItemTextWidth() ); |
732 param.setListItemTextWidth( getListItemTextWidth() ); |
703 mModel->updateConfiguration(param); |
733 mModel->updateConfiguration(param); |
704 } |
734 } |
705 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateWidgetsSizeAndLayout()" ); |
735 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateWidgetsSizeAndLayout()" ); |
783 mMarkingMissedAsSeen = |
813 mMarkingMissedAsSeen = |
784 mModel->markEventsSeen(LogsModel::TypeLogsClearMissed); |
814 mModel->markEventsSeen(LogsModel::TypeLogsClearMissed); |
785 } |
815 } |
786 return mMarkingMissedAsSeen; |
816 return mMarkingMissedAsSeen; |
787 } |
817 } |
788 |
|
789 // ----------------------------------------------------------------------------- |
|
790 // LogsRecentCallsView::scrollToTopItem |
|
791 // ----------------------------------------------------------------------------- |
|
792 // |
|
793 void LogsRecentCallsView::scrollToTopItem() |
|
794 { |
|
795 LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::scrollToTopItem()" ); |
|
796 disconnect( mFilter, SIGNAL(rowsInserted(const QModelIndex&,int,int)), |
|
797 this, SLOT(scrollToTopItem())); |
|
798 if ( mFilter && mFilter->hasIndex(0,0) ) { |
|
799 mListView->scrollTo( mFilter->index(0,0) ); |
|
800 } |
|
801 LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::scrollToTopItem()" ); |
|
802 } |
|