27 #include "hbstubs_helper.h" |
27 #include "hbstubs_helper.h" |
28 #include "logscall.h" |
28 #include "logscall.h" |
29 #include "logsmessage.h" |
29 #include "logsmessage.h" |
30 #include "logscontact.h" |
30 #include "logscontact.h" |
31 #include "logsmatchesmodel.h" |
31 #include "logsmatchesmodel.h" |
|
32 #include "logsmainwindow.h" |
32 |
33 |
33 //SYSTEM |
34 //SYSTEM |
34 #include <QtTest/QtTest> |
35 #include <QtTest/QtTest> |
35 #include <hbswipegesture.h> |
36 #include <hbswipegesture.h> |
36 #include <hbmainwindow.h> |
|
37 #include <hblistview.h> |
37 #include <hblistview.h> |
38 #include <hblabel.h> |
38 #include <hblabel.h> |
39 #include <hbaction.h> |
39 #include <hbaction.h> |
40 #include <hblistviewitem.h> |
40 #include <hblistviewitem.h> |
41 #include <hbmenu.h> |
41 #include <hbmenu.h> |
130 QVERIFY( !view->mEmptyListLabel ); |
130 QVERIFY( !view->mEmptyListLabel ); |
131 view->activated(false, QVariant(XQService::LogsViewAll)); |
131 view->activated(false, QVariant(XQService::LogsViewAll)); |
132 QVERIFY( view->mInitialized ); |
132 QVERIFY( view->mInitialized ); |
133 QVERIFY( view->mFilter ); |
133 QVERIFY( view->mFilter ); |
134 QVERIFY( view->mEmptyListLabel ); |
134 QVERIFY( view->mEmptyListLabel ); |
|
135 QVERIFY( !view->mModel->mMissedCallsCounterCleared ); |
135 VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId ) |
136 VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId ) |
136 |
137 |
137 // Change views |
138 // Change views |
138 view->activated(false, QVariant(XQService::LogsViewReceived)); |
139 view->activated(false, QVariant(XQService::LogsViewReceived)); |
139 QVERIFY( view->mFilter ); |
140 QVERIFY( view->mFilter ); |
140 QVERIFY( view->mFilter->filterType() == LogsFilter::Received ); |
141 QVERIFY( view->mFilter->filterType() == LogsFilter::Received ); |
|
142 QVERIFY( !view->mModel->mMissedCallsCounterCleared ); |
141 VERIFY_CHECKED_ACTION( view, logsShowFilterReceivedMenuActionId ) |
143 VERIFY_CHECKED_ACTION( view, logsShowFilterReceivedMenuActionId ) |
142 |
144 |
143 view->activated(false, QVariant(XQService::LogsViewMissed)); |
145 view->activated(false, QVariant(XQService::LogsViewMissed)); |
144 QVERIFY( view->mFilter->filterType() == LogsFilter::Missed ); |
146 QVERIFY( view->mFilter->filterType() == LogsFilter::Missed ); |
|
147 QVERIFY( view->mModel->mMissedCallsCounterCleared ); |
145 VERIFY_CHECKED_ACTION( view, logsShowFilterMissedMenuActionId ) |
148 VERIFY_CHECKED_ACTION( view, logsShowFilterMissedMenuActionId ) |
146 |
149 |
|
150 // Change to missed view again, no need to update view, only |
|
151 // missed call counter updated |
|
152 view->mModel->mMissedCallsCounterCleared = false; |
|
153 view->updateFilter(LogsFilter::Received); |
|
154 view->activated(false, QVariant(XQService::LogsViewMissed)); |
|
155 QVERIFY( view->mFilter->filterType() == LogsFilter::Received ); |
|
156 QVERIFY( view->mModel->mMissedCallsCounterCleared ); |
|
157 |
|
158 view->mModel->mMissedCallsCounterCleared = false; |
147 view->activated(false, QVariant(XQService::LogsViewCalled)); |
159 view->activated(false, QVariant(XQService::LogsViewCalled)); |
148 QVERIFY( view->mFilter->filterType() == LogsFilter::Called ); |
160 QVERIFY( view->mFilter->filterType() == LogsFilter::Called ); |
|
161 QVERIFY( !view->mModel->mMissedCallsCounterCleared ); |
149 VERIFY_CHECKED_ACTION( view, logsShowFilterDialledMenuActionId ) |
162 VERIFY_CHECKED_ACTION( view, logsShowFilterDialledMenuActionId ) |
150 |
163 |
151 view->mViewManager.mainWindow().setOrientation( Qt::Horizontal ); |
164 view->mViewManager.mainWindow().setOrientation( Qt::Horizontal ); |
152 view->mDialpad->editor().setText( QString("hello") ); |
165 view->mDialpad->editor().setText( QString("hello") ); |
153 view->mActivating = true; |
166 view->mActivating = true; |
154 view->activated(false, QVariant(XQService::LogsViewAll)); |
167 view->activated(false, QVariant(XQService::LogsViewAll)); |
155 QVERIFY( view->mFilter->filterType() == LogsFilter::All ); |
168 QVERIFY( view->mFilter->filterType() == LogsFilter::All ); |
|
169 QVERIFY( !view->mModel->mMissedCallsCounterCleared ); |
156 VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId ) |
170 VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId ) |
157 QVERIFY( !view->mDialpad->editor().text().isEmpty() ); |
171 QVERIFY( !view->mDialpad->editor().text().isEmpty() ); |
158 QVERIFY( view->mListView->layoutName() == logsListLandscapeLayout ); |
172 QVERIFY( view->mListView->layoutName() == logsListLandscapeLayout ); |
159 QVERIFY( view->mLayoutSectionName == logsViewDefaultSection ); |
173 QVERIFY( view->mLayoutSectionName == logsViewDefaultSection ); |
160 QVERIFY( !view->mActivating ); |
174 QVERIFY( !view->mActivating ); |
438 view->gestureEvent(&event2); |
452 view->gestureEvent(&event2); |
439 QVERIFY(!event2.isAccepted(Qt::SwipeGesture)); |
453 QVERIFY(!event2.isAccepted(Qt::SwipeGesture)); |
440 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
454 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
441 QCOMPARE(view->mAppearingView, XQService::LogsViewCalled); |
455 QCOMPARE(view->mAppearingView, XQService::LogsViewCalled); |
442 |
456 |
|
457 //vertical swipe started, gesture cancel policy not modified |
|
458 HbStubHelper::setGestureState(Qt::GestureStarted); |
|
459 event2.setAccepted(Qt::SwipeGesture, false); |
|
460 swipe->setSceneSwipeAngle(70); |
|
461 QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone); |
|
462 view->gestureEvent(&event2); |
|
463 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
|
464 QCOMPARE(view->mAppearingView, XQService::LogsViewCalled); |
|
465 QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone); |
|
466 |
|
467 //horizontal swipe started, gesture cancel policy modified to prevent tap |
|
468 const int swipeAngleRight = 10; |
|
469 HbStubHelper::setGestureState(Qt::GestureStarted); |
|
470 event2.setAccepted(Qt::SwipeGesture, false); |
|
471 swipe->setSceneSwipeAngle(swipeAngleRight); |
|
472 QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone); |
|
473 view->gestureEvent(&event2); |
|
474 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
|
475 QCOMPARE(view->mAppearingView, XQService::LogsViewCalled); |
|
476 QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelAllInContext); |
|
477 |
443 //swipe right |
478 //swipe right |
444 const int swipeAngleRight = 10; |
|
445 HbStubHelper::setGestureState(Qt::GestureFinished); |
479 HbStubHelper::setGestureState(Qt::GestureFinished); |
446 event2.setAccepted(Qt::SwipeGesture, false); |
480 event2.setAccepted(Qt::SwipeGesture, false); |
447 swipe->setSceneSwipeAngle(swipeAngleRight); |
481 swipe->setSceneSwipeAngle(swipeAngleRight); |
448 view->gestureEvent(&event2); |
482 view->gestureEvent(&event2); |
449 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
483 QCOMPARE(view->mCurrentView, XQService::LogsViewCalled); |
977 QVariant args2 = mRecentCallsView->loadActivity(QString(logsActivityIdViewMissed), stream, metaData); |
1011 QVariant args2 = mRecentCallsView->loadActivity(QString(logsActivityIdViewMissed), stream, metaData); |
978 QVERIFY( !args2.isNull() ); |
1012 QVERIFY( !args2.isNull() ); |
979 QVERIFY( args2.toInt() == XQService::LogsViewMissed); |
1013 QVERIFY( args2.toInt() == XQService::LogsViewMissed); |
980 } |
1014 } |
981 |
1015 |
982 |
|
983 void UT_LogsRecentCallsView::testEventFilter() |
|
984 { |
|
985 // Non-gesture event |
|
986 HbLabel object; |
|
987 QEvent dummyEvent(QEvent::Show); |
|
988 QVERIFY( !mRecentCallsView->eventFilter(&object, &dummyEvent) ); |
|
989 |
|
990 // Swipe gesture event |
|
991 QList<QGesture*> list; |
|
992 QGestureEvent event(list); |
|
993 QSwipeGesture* swipe = new QSwipeGesture(); |
|
994 list.append(swipe); |
|
995 QVERIFY( !mRecentCallsView->eventFilter(&object, &event) ); |
|
996 QVERIFY( !swipe->property("horizontallyRestricted").isValid() ); |
|
997 |
|
998 // Tap gesture on some other object (not mListView) |
|
999 QTapGesture* tap = new QTapGesture(); |
|
1000 list.append(tap); |
|
1001 QGestureEvent event2(list); |
|
1002 HbStubHelper::setGestureState(Qt::GestureStarted); |
|
1003 QVERIFY( !mRecentCallsView->eventFilter(&object, &event2) ); |
|
1004 QVERIFY( !tap->property("horizontallyRestricted").isValid() ); |
|
1005 |
|
1006 //Tap gesture on list item => property is set |
|
1007 mRecentCallsView->mListView = new HbListView(); |
|
1008 mRepository->model()->mTextData.append("testdata"); |
|
1009 HbAbstractViewItem* viewItem = mRecentCallsView->mListView->currentViewItem(); |
|
1010 QVERIFY( !mRecentCallsView->eventFilter(viewItem, &event2) ); |
|
1011 QVERIFY( tap->property("horizontallyRestricted").isValid() ); |
|
1012 |
|
1013 qDeleteAll(list); |
|
1014 delete mRecentCallsView->mListView; |
|
1015 mRecentCallsView->mListView = 0; |
|
1016 } |
|