# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1274953913 -10800 # Node ID e52d42f9500c2337f14ddefd89d30b1ab1351f01 # Parent 7119b73b84d62213cb93cfa801e94383f4875db6 Revision: 201019 Kit: 2010121 diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/inc/logspageindicatoritem.h --- a/logsui/logsapp/inc/logspageindicatoritem.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/inc/logspageindicatoritem.h Thu May 27 12:51:53 2010 +0300 @@ -35,10 +35,14 @@ void setActive(bool active = true); bool isActive() const; + +protected: - + void changeEvent(QEvent * event); + private: + void updateColor(); void startAnimation(); private slots: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/inc/logsrecentcallsview.h --- a/logsui/logsapp/inc/logsrecentcallsview.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/inc/logsrecentcallsview.h Thu May 27 12:51:53 2010 +0300 @@ -105,6 +105,8 @@ void gestureEvent(QGestureEvent *event); QSwipeGesture::SwipeDirection swipeAngleToDirection(int angle, int delta); + int getListItemTextWidth(); + private: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/logsapp.qrc --- a/logsui/logsapp/logsapp.qrc Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/logsapp.qrc Thu May 27 12:51:53 2010 +0300 @@ -11,5 +11,6 @@ resources/hblistviewitem.css resources/hblistviewitem.widgetml + resources/hbgroupboxheadingwidget.css diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/detailsView.docml --- a/logsui/logsapp/resources/detailsView.docml Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/resources/detailsView.docml Thu May 27 12:51:53 2010 +0300 @@ -1,39 +1,25 @@ - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + @@ -48,45 +34,43 @@ - - - + - - - + - - - + - - - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - @@ -103,56 +87,8 @@ -
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
- - - @@ -169,11 +105,38 @@ - +
+ + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+ - - + +
\ No newline at end of file diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/hbgroupboxheadingwidget.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/logsapp/resources/hbgroupboxheadingwidget.css Thu May 27 12:51:53 2010 +0300 @@ -0,0 +1,9 @@ +HbGroupBoxHeadingWidget[groupBoxType="1"]::text +{ + right:expr(4*var(hb-param-graphic-size-secondary)); +} + +HbGroupBoxHeadingWidget[groupBoxType="3"]::text +{ + right:expr(4*var(hb-param-graphic-size-secondary)); +} diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/hblistviewitem.css --- a/logsui/logsapp/resources/hblistviewitem.css Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/resources/hblistviewitem.css Thu May 27 12:51:53 2010 +0300 @@ -1,3 +1,7 @@ +HbListViewItem[layoutName="default"]{ + layout:logs-portrait; +} + HbListViewItem[layoutName="logsLandscape"]{ layout:logs-landscape; } @@ -6,33 +10,22 @@ layout:logs-landscape; } -HbListViewItem::text-1[layoutName="logsLandscape"]{ - fixed-width: 40.0un; - text-height: var(hb-param-text-height-primary); +HbListViewItem::text-2[layoutName="default"]{ + max-width:-1; + text-height: var(hb-param-text-height-secondary); } -HbListViewItem::text-2[layoutName="logsLandscape"]{ - - fixed-width: 40.0un; - text-height: var(hb-param-text-height-secondary); +HbListViewItem::text-1[layoutName="logsLandscape"]{ + pref-width: expr(var(hb-param-screen-width)/2 - var(hb-param-graphic-size-primary-medium) - var(hb-param-margin-gene-left) - var(hb-param-margin-gene-middle-horizontal)); } -HbListViewItem::text-1[layoutName="logsLandscapeDialpad"]{ - fixed-width: 38.0un; - text-height: var(hb-param-text-height-primary); +HbListViewItem::text-2[layoutName="logsLandscape"]{ + max-width:-1; + text-height: var(hb-param-text-height-secondary); } HbListViewItem::text-2[layoutName="logsLandscapeDialpad"]{ - fixed-width: 0.0un; - text-height: 0.0un; + max-width: 0.0un; + text-height: 0.0un; } -HbListViewItem::text-1[layoutName="default"]{ - fixed-width: 40.0un; - text-height: var(hb-param-text-height-primary); -} - -HbListViewItem::text-2[layoutName="default"]{ - fixed-width: 40.0un; - text-height: var(hb-param-text-height-secondary); -} diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/hblistviewitem.widgetml --- a/logsui/logsapp/resources/hblistviewitem.widgetml Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/resources/hblistviewitem.widgetml Thu May 27 12:51:53 2010 +0300 @@ -1,5 +1,45 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -64,15 +98,9 @@ - - - - - - - - - + + + \ No newline at end of file diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/matchesView.docml --- a/logsui/logsapp/resources/matchesView.docml Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/resources/matchesView.docml Thu May 27 12:51:53 2010 +0300 @@ -1,19 +1,13 @@ - + - - - + - - - + - - - + @@ -28,64 +22,60 @@ - - - + - - - + - - - + - - - + - - - - - - - - - + - - - - - - - + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -94,66 +84,12 @@ - + -
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
- - - @@ -167,7 +103,31 @@ - +
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+ diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/resources/recentCallsView.docml --- a/logsui/logsapp/resources/recentCallsView.docml Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/resources/recentCallsView.docml Thu May 27 12:51:53 2010 +0300 @@ -1,31 +1,20 @@ - + - - - + - - - + - - - + - - - + - - - + - @@ -39,74 +28,73 @@ - - - + - - - + - - - + - - - + - - - - - - - - - + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - - - + + + + - - - - + + + + + + + + + - @@ -121,73 +109,13 @@ -
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- - - - +
@@ -197,7 +125,43 @@ - +
+ + + + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + +
+ diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/src/logsbaseview.cpp --- a/logsui/logsapp/src/logsbaseview.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/src/logsbaseview.cpp Thu May 27 12:51:53 2010 +0300 @@ -392,11 +392,11 @@ mDialpad->setPreferredSize(screenRect.width()/2, (screenRect.height()-scenePos().y())); } else { - // dialpad takes 65% of the screen height + // dialpad takes 55% of the screen height qreal screenHeight = screenRect.height(); - mDialpad->setPos(QPointF(0, screenHeight/2.25)); + mDialpad->setPos(QPointF(0, screenHeight*0.45)); mDialpad->setPreferredSize(screenRect.width(), - screenHeight-screenHeight/2.25); + screenHeight*0.55); } LOGS_QDEBUG( "logs [UI] <- LogsBaseView::setDialpadPosition()" ); } @@ -510,17 +510,6 @@ if (itemContextMenu->actions().count() > 0) { itemContextMenu->setPreferredPos(coords,HbPopup::TopLeftCorner); itemContextMenu->open(); - //TODO: - //the hack below is needed since otherwise listbox will get mouse event - //and "activated" signal will be emitted (=>initiateCallback() called) - //Remove it, when something is done in platform code for that - if (scene()) { - QGraphicsItem *item = scene()->mouseGrabberItem(); - if (item) { - LOGS_QDEBUG( "logs [UI] -> LogsBaseView::showListItemMenu() ungrabbing the mouse" ); - item->ungrabMouse(); - } - } } } @@ -715,7 +704,7 @@ new HbLabel(hbTrId("txt_dial_title_add_to_contacts"), popup)); popup->setAttribute(Qt::WA_DeleteOnClose); popup->setTimeout( HbPopup::NoTimeout ); - popup->setSecondaryAction( + popup->addAction( new HbAction(hbTrId("txt_dial_button_cancel"), popup)); HbWidget* buttonWidget = new HbWidget(popup); @@ -1037,7 +1026,7 @@ // void LogsBaseView::handleOrientationChanged() { - LOGS_QDEBUG( "logs [UI] -> LogsBaseView::handleOrientationChanged()!" ); + LOGS_QDEBUG( "logs [UI] -> LogsBaseView::handleOrientationChanged()" ); setDialpadPosition(); updateWidgetsSizeAndLayout(); LOGS_QDEBUG( "logs [UI] <- LogsBaseView::handleOrientationChanged()"); @@ -1063,16 +1052,22 @@ { HbMessageBox* note = new HbMessageBox(text, HbMessageBox::MessageTypeQuestion); note->setAttribute(Qt::WA_DeleteOnClose); - note->setHeadingWidget(new HbLabel( heading )); - //note->setText( text ); - note->setPrimaryAction(new HbAction(hbTrId("txt_common_button_ok"), note)); - note->setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), note)); - - if (receiver && okSlot) { - connect(note->primaryAction(), SIGNAL(triggered()), receiver, okSlot); + note->setHeadingWidget(new HbLabel(heading)); + note->setDismissPolicy(HbPopup::TapOutside); + + if (note->actions().count() > 0 && note->actions().at(0)) { + note->actions().at(0)->setText(hbTrId("txt_common_button_ok")); + + if (receiver && okSlot) { + connect(note->actions().at(0), SIGNAL(triggered()), receiver, okSlot); + } } - if (receiver && cancelSlot) { - connect(note->secondaryAction(), SIGNAL(triggered()), receiver, cancelSlot); + if (note->actions().count() > 1 && note->actions().at(1)) { + note->actions().at(1)->setText(hbTrId("txt_common_button_cancel")); + + if (receiver && cancelSlot) { + connect(note->actions().at(1), SIGNAL(triggered()), receiver, cancelSlot); + } } note->open(); } @@ -1090,11 +1085,9 @@ if ( isContactSearchPermanentlyDisabled() ){ contactSearchAction->setVisible(false); } else if ( isContactSearchEnabled() ){ - contactSearchAction->setIconText("Contact search off"); contactSearchAction->setText(hbTrId("txt_dialer_ui_opt_contact_search_off")); contactSearchAction->setVisible(mDialpad->isOpen()); } else { - contactSearchAction->setIconText("Contact search on"); contactSearchAction->setText(hbTrId("txt_dialer_ui_opt_contact_search_on")); contactSearchAction->setVisible(mDialpad->isOpen()); } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/src/logspageindicatoritem.cpp --- a/logsui/logsapp/src/logspageindicatoritem.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/src/logspageindicatoritem.cpp Thu May 27 12:51:53 2010 +0300 @@ -17,12 +17,14 @@ #include #include - +#include +#include #include "logspageindicatoritem.h" +#include "logslogger.h" - -const char logsNormalIconName[] = "qtg_graf_hspage_normal";//"qtg_mono_tab_passive";// -const char logsHighlightIconName[] = "qtg_graf_hspage_highlight";//"qtg_mono_tab_active";// +const char logsNormalIconName[] = "qtg_mono_tab_passive"; +const char logsHighlightIconName[] = "qtg_mono_tab_active"; +const char logsIconColor[] = "qtc_button_normal";//"qtc_default_main_pane_normal");// const int logsEffectDurationInMs = 1000; @@ -40,6 +42,9 @@ setIcon(HbIcon(logsNormalIconName)); } + setFlags(HbIcon::Colorized); + updateColor(); + QGraphicsColorizeEffect *effect = new QGraphicsColorizeEffect; effect->setColor(Qt::white); effect->setStrength(0); @@ -85,6 +90,32 @@ // // ----------------------------------------------------------------------------- // +void LogsPageIndicatorItem::changeEvent(QEvent * event) +{ + if (event->type() == HbEvent::ThemeChanged) { + LOGS_QDEBUG( "logs [UI] LogsPageIndicatorItem::changeEvent(), themeChanged" ); + updateColor(); + } + HbIconItem::changeEvent(event); +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsPageIndicatorItem::updateColor() +{ + QColor col = HbColorScheme::color(logsIconColor); + if (col.isValid() && (color() != col) ) { + setColor(col); + LOGS_QDEBUG_2( "logs [UI] LogsPageIndicatorItem::updateColor(), color: ", col ); + } +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// void LogsPageIndicatorItem::startAnimation() { graphicsEffect()->setEnabled(true); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/src/logsrecentcallsview.cpp --- a/logsui/logsapp/src/logsrecentcallsview.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/src/logsrecentcallsview.cpp Thu May 27 12:51:53 2010 +0300 @@ -412,7 +412,6 @@ this, SLOT(showListItemMenu(HbAbstractViewItem*, const QPointF&))); - mListView->setScrollingStyle(HbScrollArea::PanOrFlick); mListView->setFrictionEnabled(true); mListViewX = mListView->pos().x(); @@ -706,22 +705,51 @@ updateMenu(); updateListLayoutName(*mListView); updateListSize(); - HbDeviceProfile deviceProf; LogsConfigurationParams param; - QString testString = mListView->layoutName(); - //note: ListItemTextWidth values are currently hardcoded and - //they are taken from hblistviewitem.css "text-1" field - if (mListView->layoutName() == logsListLandscapeDialpadLayout) { - param.setListItemTextWidth( 38 * deviceProf.unitValue() ); - } else { - param.setListItemTextWidth( 40 * deviceProf.unitValue() ); - } + param.setListItemTextWidth( getListItemTextWidth() ); mModel->updateConfiguration(param); } LOGS_QDEBUG( "logs [UI] <- LogsRecentCallsView::updateWidgetsSizeAndLayout()" ); } // ----------------------------------------------------------------------------- +// LogsRecentCallsView::getListItemTextWidth +// ----------------------------------------------------------------------------- +// +int LogsRecentCallsView::getListItemTextWidth() +{ + LOGS_QDEBUG( "logs [UI] -> LogsRecentCallsView::ListItemText()" ); + + qreal width = 0; + + // layoutrect broken, fix will be in MCL wk14, use workaround meanwhile + //QRectF screenRect = mViewManager.mainWindow().layoutRect(); + QRectF screenRect = (mViewManager.mainWindow().orientation() == Qt::Horizontal) ? + QRectF(0,0,640,360) : QRectF(0,0,360,640); + LOGS_QDEBUG_2( "logs [UI] screenRect:", screenRect ); + + // Cannot use hb-param-screen-width in expressions currently due bug in layoutrect + qreal modifier = 0.0; + QString expr; + if (mListView->layoutName() == QLatin1String(logsListDefaultLayout)) { + expr = "expr(var(hb-param-graphic-size-primary-medium) + var(hb-param-margin-gene-left) + var(hb-param-margin-gene-right) + var(hb-param-margin-gene-middle-horizontal))"; + width = screenRect.width(); + } else { + expr = "expr(var(hb-param-graphic-size-primary-medium) + var(hb-param-margin-gene-left) + var(hb-param-margin-gene-right))"; + width = screenRect.width() / 2; + } + + if ( expr.isEmpty() || !style()->parameter(expr, modifier) ){ + LOGS_QDEBUG( "logs [UI] No expression or incorrect expression" ); + } + width -= modifier; + + LOGS_QDEBUG_2( "logs [UI] <- LogsRecentCallsView::ListItemText(): ", width ); + return qRound(width); +} + + +// ----------------------------------------------------------------------------- // LogsRecentCallsView::updateCallButton // If dialpad contains text or there is items in list, call button is enabled // ----------------------------------------------------------------------------- diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/src/logsviewmanager.cpp --- a/logsui/logsapp/src/logsviewmanager.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/src/logsviewmanager.cpp Thu May 27 12:51:53 2010 +0300 @@ -186,7 +186,12 @@ { LOGS_QDEBUG( "logs [UI] -> LogsViewManager::proceedExit()" ); - mComponentsRepository->model()->compressData(); + // Instead of compressing data, exit the application for real because + // of bug in wk16 platform which prevents bg/fg switching of the app. + // + + //mComponentsRepository->model()->compressData(); + qApp->quit(); LOGS_QDEBUG( "logs [UI] <- LogsViewManager::proceedExit()" ); } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/inc/ut_logspageindicatoritem.h --- a/logsui/logsapp/tsrc/ut_logsapp/inc/ut_logspageindicatoritem.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/inc/ut_logspageindicatoritem.h Thu May 27 12:51:53 2010 +0300 @@ -48,6 +48,8 @@ void testConstructorDestructor(); void testSetActive(); + void testChangeEvent(); + void testUpdateColor(); void testAnimationFinnished(); private: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/inc/ut_logsrecentcallsview.h --- a/logsui/logsapp/tsrc/ut_logsapp/inc/ut_logsrecentcallsview.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/inc/ut_logsrecentcallsview.h Thu May 27 12:51:53 2010 +0300 @@ -77,6 +77,7 @@ void testActivateEmptyListIndicator(); void testUpdateMenu(); void testUpdateWidgetsSizeAndLayout(); + void testGetListItemTextWidth(); void testDialpadClosed(); void testClearList(); void testClearListOkAnswer(); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.cpp Thu May 27 12:51:53 2010 +0300 @@ -243,9 +243,11 @@ // LogsEvent::setEventType // ---------------------------------------------------------------------------- // -void LogsEvent::setEventType( LogsEventType eventType ) +bool LogsEvent::setEventType( LogsEventType eventType ) { + bool changed( mEventType != eventType ); mEventType = eventType; + return changed; } // ---------------------------------------------------------------------------- diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.h --- a/logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/logsengine_stub/logsevent.h Thu May 27 12:51:53 2010 +0300 @@ -193,7 +193,7 @@ void setEventUid( int uid ); - void setEventType( LogsEventType aEventType ); + bool setEventType( LogsEventType aEventType ); void setLogsEventData( LogsEventData* logsEventData ); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/src/ut_logspageindicatoritem.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logspageindicatoritem.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logspageindicatoritem.cpp Thu May 27 12:51:53 2010 +0300 @@ -18,10 +18,13 @@ //USER #include "ut_logspageindicatoritem.h" #include "logspageindicatoritem.h" +#include "hbstubs_helper.h" //SYSTEM #include #include +#include +#include void UT_LogsPageIndicatorItem::initTestCase() { @@ -46,6 +49,7 @@ { QVERIFY(!mIndicatorItem->mIsActive); QVERIFY(mIndicatorItem->graphicsEffect()); + QVERIFY(mIndicatorItem->color() == QColor(Qt::white)); delete mIndicatorItem; mIndicatorItem = 0; @@ -73,6 +77,43 @@ QVERIFY(mIndicatorItem->graphicsEffect()->isEnabled()); } +void UT_LogsPageIndicatorItem::testChangeEvent() +{ + QColor whiteCol(Qt::white); + QColor redCol(Qt::red); + + // theme changed event, color is updated + HbStubHelper::setColorScheme(redCol); + QVERIFY(mIndicatorItem->color() == whiteCol); + HbEvent event(HbEvent::ThemeChanged); + mIndicatorItem->event(&event); + QVERIFY(mIndicatorItem->color() == redCol); + + // some other event, color is not updated + HbStubHelper::setColorScheme(whiteCol); + HbEvent event2(HbEvent::DeviceProfileChanged); + mIndicatorItem->event(&event2); + QVERIFY(mIndicatorItem->color() == redCol); +} + +void UT_LogsPageIndicatorItem::testUpdateColor() +{ + QColor whiteCol(Qt::white); + QColor redCol(Qt::red); + QColor invalidCol(QColor::Invalid); + + // color updated successfully + QVERIFY(mIndicatorItem->color() == whiteCol); + HbStubHelper::setColorScheme(redCol); + mIndicatorItem->updateColor(); + QVERIFY(mIndicatorItem->color() == redCol); + + // color couldn't be updated + HbStubHelper::setColorScheme(invalidCol); + mIndicatorItem->updateColor(); + QVERIFY(mIndicatorItem->color() == redCol); +} + void UT_LogsPageIndicatorItem::testAnimationFinnished() { QVERIFY(mIndicatorItem->graphicsEffect()); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp Thu May 27 12:51:53 2010 +0300 @@ -743,8 +743,8 @@ view->mViewManager.mainWindow().setOrientation( Qt::Vertical ); view->mDialpad->closeDialpad(); view->mListView = &list; - view->mListView->setLayoutName("dummy"); - view->mLayoutSectionName = "dummy"; + view->mListView->setLayoutName(QLatin1String("dummy")); + view->mLayoutSectionName = QLatin1String("dummy"); view->updateWidgetsSizeAndLayout(); QVERIFY( view->mListView->layoutName() == logsListDefaultLayout ); QVERIFY( view->mLayoutSectionName == logsViewDefaultSection ); @@ -755,12 +755,39 @@ // When dialpad is opened and has input, menu content is different view->mDialpad->openDialpad(); - QString hello("hello"); + QLatin1String hello("hello"); view->mDialpad->editor().setText( hello ); view->updateWidgetsSizeAndLayout(); QVERIFY(action && action->isVisible()); } + +void UT_LogsRecentCallsView::testGetListItemTextWidth() +{ + mRecentCallsView->mListView = new HbListView(); + + mRecentCallsView->mViewManager.mainWindow().setOrientation( Qt::Vertical ); + + // Default layout + mRecentCallsView->mListView->setLayoutName( + QLatin1String(logsListDefaultLayout)); + QCOMPARE( mRecentCallsView->getListItemTextWidth(), 200 ); + + // Landscape layout + mRecentCallsView->mViewManager.mainWindow().setOrientation( Qt::Horizontal ); + mRecentCallsView->mListView->setLayoutName( + QLatin1String(logsListLandscapeLayout)); + QCOMPARE( mRecentCallsView->getListItemTextWidth(), 206 ); + + // Landscape with dialpad layout + mRecentCallsView->mListView->setLayoutName( + QLatin1String(logsListLandscapeDialpadLayout)); + QCOMPARE( mRecentCallsView->getListItemTextWidth(), 206 ); + + delete mRecentCallsView->mListView; + mRecentCallsView->mListView = 0; +} + void UT_LogsRecentCallsView::testDialpadClosed() { HbListView list; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp Thu May 27 12:51:53 2010 +0300 @@ -126,7 +126,7 @@ mLogsViewManager->mComponentsRepository->model()->mCompressCalled = false; mLogsViewManager->mMainWindow.mForeground = true; mLogsViewManager->exitApplication(); - QVERIFY( mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); + QVERIFY( HbStubHelper::quitCalled() ); QVERIFY( !mLogsViewManager->mMainWindow.isForeground() ); // Exit not yet possible, app sent only to bg @@ -135,13 +135,13 @@ mLogsViewManager->mComponentsRepository->recentCallsView()->mMarkingMissedAsSeen = true; HbStubHelper::reset(); mLogsViewManager->exitApplication(); - QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); + QVERIFY( !HbStubHelper::quitCalled() ); QVERIFY( !mLogsViewManager->mMainWindow.isForeground() ); // Simulate view allowing exit after denying it first mLogsViewManager->mComponentsRepository->recentCallsView()->mMarkingMissedAsSeen = false; mLogsViewManager->proceedExit(); - QVERIFY( mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); + QVERIFY( HbStubHelper::quitCalled() ); } void UT_LogsViewManager::testAppFocusGained() diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs.cpp Thu May 27 12:51:53 2010 +0300 @@ -22,6 +22,7 @@ #include "hbstubs_helper.h" #include #include +#include #include #include #include @@ -40,6 +41,7 @@ Qt::GestureState testState = Qt::NoGesture; bool testIsWidgetOpen = false; bool testIsWidgetRaised = false; +QColor testColor = Qt::white; void HbStubHelper::reset() { @@ -49,6 +51,7 @@ testQuitCalled = false; testIsWidgetRaised = false; testDialogShown = false; + testColor = Qt::white; } @@ -106,6 +109,12 @@ testIsWidgetOpen = isOpen; } +void HbStubHelper::setColorScheme(QColor col) +{ + testColor = col; +} + + bool QGraphicsWidget::close() { testIsWidgetOpen = false; @@ -191,7 +200,7 @@ void HbMainWindow::setOrientation(Qt::Orientation orientation, bool animate) { - Q_UNUSED(animate) + Q_UNUSED(animate) windowOrientation = orientation; } @@ -256,13 +265,11 @@ void HbMessageBox::setText(const QString &string) { - if (string == "Ok") { selectedActionString = "primary"; } else if (string == "Cancel") { selectedActionString = "secondary"; } - } @@ -279,3 +286,21 @@ { testSingleShotTimer = true; } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +bool HbStyle::parameter(const QString ¶meter, qreal &value, const HbDeviceProfile &profile) const +{ + Q_UNUSED( profile ); + value = parameter.length(); + return true; +} + + +QColor HbColorScheme::color( const QString &colorRole ) +{ + Q_UNUSED(colorRole); + return testColor; +} diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs_helper.h --- a/logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs_helper.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/stubs/hbstubs_helper.h Thu May 27 12:51:53 2010 +0300 @@ -34,6 +34,7 @@ static void setWidgetOpen(bool isOpen); static bool isWidgetOpen(); static bool isWidgetRaised(); + static void setColorScheme(QColor col); }; #endif diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/inc/logscntentry.h --- a/logsui/logscntfinder/inc/logscntentry.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/inc/logscntentry.h Thu May 27 12:51:53 2010 +0300 @@ -91,6 +91,8 @@ void resetHighlights( LogsCntTextList& nameArray ); bool doSimpleMatch( const QString& pattern ) const; bool doComplexMatch( QStringList patternArray ) const; + int startsWith( const LogsCntText& nameItem, const QString& pattern, + bool optimize = true ) const; private: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/inc/logspredictive12keytranslator.h --- a/logsui/logscntfinder/inc/logspredictive12keytranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/inc/logspredictive12keytranslator.h Thu May 27 12:51:53 2010 +0300 @@ -34,7 +34,6 @@ public: - explicit LogsPredictive12KeyTranslator(); ~LogsPredictive12KeyTranslator(); public: //from LogsPredictiveTranslator @@ -42,7 +41,11 @@ QStringList patternTokens( const QString& pattern ) const; int hasPatternSeparators( const QString& pattern ) const; const QChar translateChar( const QChar character ) const; + +protected: + explicit LogsPredictive12KeyTranslator( const HbInputLanguage& lang ); + private: void padWithZeros( QString& token, const QString& source, int padIndex ) const; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/inc/logspredictivelatin12keytranslator.h --- a/logsui/logscntfinder/inc/logspredictivelatin12keytranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/inc/logspredictivelatin12keytranslator.h Thu May 27 12:51:53 2010 +0300 @@ -23,7 +23,12 @@ #include #include "logspredictive12keytranslator.h" +class HbInputLanguage; +//Name: ISO_8859-1:1987 [RFC1345,KXS2] +//MIBenum: 4 +//Source: ECMA registry +const int MIBenumLatin = 4; /** * translator for Latin ITU-T 12 keys keyboard @@ -35,17 +40,23 @@ public: explicit LogsPredictiveLatin12KeyTranslator(); + explicit LogsPredictiveLatin12KeyTranslator( const HbInputLanguage& lang ); ~LogsPredictiveLatin12KeyTranslator(); public: //from LogsPredictiveTranslator QStringList nameTokens( const QString& name ) const; + inline int mib() const {return MIBenumLatin;} + public: //from LogsPredictive12KeyTranslator - const QChar translateChar( const QChar character ) const; + const QChar translateChar( const QChar character, bool& ok ) const; - +private: + + void createSpecialMapping(); + private: QHash mSpecialKeyMap; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/inc/logspredictivethai12keytranslator.h --- a/logsui/logscntfinder/inc/logspredictivethai12keytranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/inc/logspredictivethai12keytranslator.h Thu May 27 12:51:53 2010 +0300 @@ -25,6 +25,14 @@ #include "logspredictive12keytranslator.h" class HbKeymap; +class HbInputLanguage; + + +//Name: TIS-620 +//MIBenum: 2259 +//Source: Thai Industrial Standards Institute (TISI) [Tantsetthi] +const int MIBenumThai = 2259; + /** @@ -37,13 +45,15 @@ public: explicit LogsPredictiveThai12KeyTranslator(); + explicit LogsPredictiveThai12KeyTranslator( const HbInputLanguage& lang ); ~LogsPredictiveThai12KeyTranslator(); public: //from LogsPredictiveTranslator - const QChar translateChar( const QChar character ) const; + const QChar translateChar( const QChar character, bool& ok ) const; QStringList nameTokens( const QString& name ) const; - + inline int mib() const {return MIBenumThai;} + private: bool isIgnored( const QChar character ) const; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/inc/logspredictivetranslator.h --- a/logsui/logscntfinder/inc/logspredictivetranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/inc/logspredictivetranslator.h Thu May 27 12:51:53 2010 +0300 @@ -20,8 +20,10 @@ #include #include +#include class HbKeymap; +class HbInputLanguage; /** * predictive translator. Singelton @@ -37,27 +39,34 @@ ~LogsPredictiveTranslator(); - const QString translate( const QString& name, int count = -1 ) const; - int startsWith( const QString& text, const QString& pattern, - bool optimize = true ) const; + const QString translatePattern( const QString& pattern ) const; + const QString translateText( const QString& text ); public: //abstracts virtual QStringList nameTokens( const QString& name ) const = 0; virtual QStringList patternTokens( const QString& pattern ) const = 0; virtual int hasPatternSeparators( const QString& pattern ) const = 0; - virtual const QChar translateChar( const QChar character ) const = 0; + virtual const QChar translateChar( const QChar character, bool& ok ) const = 0; + virtual int mib() const = 0; protected: - explicit LogsPredictiveTranslator(); - + explicit LogsPredictiveTranslator( const HbInputLanguage& lang ); + bool encodes( const QString& sniplet ); + const QString translate( const QString& text, bool* ok = 0, int count = -1 ) const; + +private: + + const LogsPredictiveTranslator& nameTranslator( const QString& name ); + protected: const HbKeymap* mKeyMap; private: + LogsPredictiveTranslator* mNameTranslator; static LogsPredictiveTranslator* mInstance; friend class UT_LogsPredictiveTranslator; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/logscntfinder.pro --- a/logsui/logscntfinder/logscntfinder.pro Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/logscntfinder.pro Thu May 27 12:51:53 2010 +0300 @@ -26,6 +26,7 @@ INCLUDEPATH += ../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +DEFINES += QT_NO_DEBUG_OUTPUT # Input HEADERS += inc/logscntfinder.h diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logscntentry.cpp --- a/logsui/logscntfinder/src/logscntentry.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logscntentry.cpp Thu May 27 12:51:53 2010 +0300 @@ -203,7 +203,7 @@ mCached=true; mPhoneNumber.mText = number; - mPhoneNumber.mTranslatedText = translator->translate( mPhoneNumber.mText ); + mPhoneNumber.mTranslatedText = translator->translateText( mPhoneNumber.mText ); } @@ -221,7 +221,7 @@ while( iter.hasNext() ) { LogsCntText txt; txt.mText = iter.next(); - txt.mTranslatedText = translator->translate( txt.mText ); + txt.mTranslatedText = translator->translateText( txt.mText ); textlist.append( txt ); } if ( textlist.count() == 0 ) { @@ -278,8 +278,8 @@ //simple while( names.hasNext() ) { LogsCntText& nameItem = names.next(); - nameItem.mHighlights = - translator->startsWith( nameItem.mText, pattern, false ); + //must use non-optimized version with whole pattern + nameItem.mHighlights = startsWith( nameItem, pattern, false ); } //complex @@ -289,14 +289,42 @@ names.toFront(); while( names.hasNext() ) { LogsCntText& nameItem = names.next(); - int matchSize = translator->startsWith( nameItem.mText, - patternItem, !hasSeparators ); + int matchSize = startsWith( nameItem, patternItem, !hasSeparators ); nameItem.mHighlights = matchSize > nameItem.mHighlights ? matchSize : nameItem.mHighlights; } } } + +// ----------------------------------------------------------------------------- +// LogsCntEntry::startsWith() +// ----------------------------------------------------------------------------- +// +int LogsCntEntry::startsWith( const LogsCntText& nameItem, + const QString& pattern, bool optimize ) const +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsCntEntry::startsWith()" ) + //assumed that text has found based on pattern, thus only checking with + //first char is enough, if mightContainZeroes eq false + const QString& text = nameItem.mTranslatedText; + + int matchCount = pattern.length(); + if ( text.isEmpty() || matchCount > text.length() ) { + matchCount = 0; + } else { + if ( !optimize ) { + matchCount = text.startsWith( pattern ) ? matchCount : 0; + } else { + matchCount = *text.data() == *pattern.data() ? + matchCount : 0; + } + } + LOGS_QDEBUG( "logs [FINDER] -> LogsCntEntry::startsWith()" ) + return matchCount; +} + + // ----------------------------------------------------------------------------- // LogsCntEntry::setSpeedDial() // ----------------------------------------------------------------------------- diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logscntfinder.cpp --- a/logsui/logscntfinder/src/logscntfinder.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logscntfinder.cpp Thu May 27 12:51:53 2010 +0300 @@ -273,7 +273,7 @@ LogsPredictiveTranslator::instance(); mCurrentInputPattern = pattern; - mCurrentPredictivePattern = translator->translate( mCurrentInputPattern ); + mCurrentPredictivePattern = translator->translatePattern( mCurrentInputPattern ); } @@ -300,18 +300,20 @@ LOGS_QDEBUG_2( "logs [FINDER] caching from DB cid=", entry->contactId() ) QContact contact = mContactManager->contact( entry->contactId() ); QContactName contactName = contact.detail( QContactName::DefinitionName ); - entry->setFirstName( contactName.value( QContactName::FieldFirst ) ); - entry->setLastName( contactName.value( QContactName::FieldLast ) ); + entry->setFirstName( contactName.value( QContactName::FieldFirstName ) ); + entry->setLastName( contactName.value( QContactName::FieldLastName ) ); QContactPhoneNumber contactPhoneNumber = contact.detail( QContactPhoneNumber::DefinitionName ); entry->setPhoneNumber( contactPhoneNumber.value( QContactPhoneNumber::FieldNumber ) ); - QContactAvatar contactAvatar = contact.detail(); - if (contactAvatar.subType().compare( - QLatin1String(QContactAvatar::SubTypeImage)) == 0 && - !contactAvatar.avatar().isEmpty()) { - entry->setAvatarPath(contactAvatar.avatar()); - } + QContactAvatar contactAvatar = contact.detail(); + QString subType = contactAvatar.value( QContactAvatar::FieldSubType ); + QString avatar = contactAvatar.value( QContactAvatar::FieldAvatar ); + + if ( subType == QLatin1String( QContactAvatar::SubTypeImage ) && + !avatar.isEmpty() ) { + entry->setAvatarPath( avatar ); + } updateResult( entry ); } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logspredictive12keytranslator.cpp --- a/logsui/logscntfinder/src/logspredictive12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logspredictive12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -31,8 +31,9 @@ // LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator() // ----------------------------------------------------------------------------- // -LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator() - : LogsPredictiveTranslator() +LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator( + const HbInputLanguage& lang ) + : LogsPredictiveTranslator( lang ) { LOGS_QDEBUG( "logs [FINDER] -> LogsPredictive12KeyTranslator::\ LogsPredictive12KeyTranslator()" ) @@ -60,15 +61,28 @@ // QStringList LogsPredictive12KeyTranslator::patternTokens( const QString& pattern ) const { + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictive12KeyTranslator::\ +patternTokens()" ) + LOGS_QDEBUG_2( "logs [FINDER] pattern ", pattern ); + QStringList target = pattern.split( ZeroSepar, QString::SkipEmptyParts ); if ( target.length() > 1 ) { + LOGS_QDEBUG( "logs [FINDER] has separator(s) " ) QString& first = target[0]; QString& last = target[target.length()-1]; padWithZeros( first, pattern, 0 ); padWithZeros( last, pattern, last.length() ); + } else if ( target.length() == 1 && //0280 -> 028 + pattern[pattern.length()-1] == ZeroSepar ) { + LOGS_QDEBUG( "logs [FINDER] no separators, trailing zero(s) " ) + QString& first = target[0]; + padWithZeros( first, pattern, 0 ); } else if ( target.length() == 0 ) { + LOGS_QDEBUG( "logs [FINDER] only separators " ) target.append( ZeroSepar ); } + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictive12KeyTranslator::\ +patternTokens()" ) return target; } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp --- a/logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -17,9 +17,9 @@ #include #include #include -#include #include #include +#include #include "logspredictivelatin12keytranslator.h" #include "logslogger.h" @@ -34,16 +34,41 @@ // LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator() // ----------------------------------------------------------------------------- // -LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator() - : LogsPredictive12KeyTranslator() +LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator() + : LogsPredictive12KeyTranslator( QLocale::English ) { LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveLatin12KeyTranslator::\ LogsPredictiveLatin12KeyTranslator()" ) - HbInputLanguage lang = - HbInputSettingProxy::instance()->globalInputLanguage(); - mKeyMap = HbKeymapFactory::instance()->keymap( lang.language(), - lang.variant() ); + + createSpecialMapping(); + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\ +LogsPredictiveLatin12KeyTranslator()" ) +} + + +// ----------------------------------------------------------------------------- +// LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator() +// ----------------------------------------------------------------------------- +// +LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator( + const HbInputLanguage& lang ) + : LogsPredictive12KeyTranslator( lang ) +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveLatin12KeyTranslator::\ +LogsPredictiveLatin12KeyTranslator()" ) + createSpecialMapping(); + + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\ +LogsPredictiveLatin12KeyTranslator()" ) +} + +// ----------------------------------------------------------------------------- +// LogsPredictiveLatin12KeyTranslator::createSpecialMapping() +// ----------------------------------------------------------------------------- +// +void LogsPredictiveLatin12KeyTranslator::createSpecialMapping() +{ int index = 0; int arraySize = SpecialsCount * 2; while( index < arraySize ) { @@ -52,11 +77,8 @@ mSpecialKeyMap[ character ] = keycode; } - LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\ -LogsPredictiveLatin12KeyTranslator()" ) } - // ----------------------------------------------------------------------------- // LogsPredictiveLatin12KeyTranslator::~LogsPredictiveLatin12KeyTranslator() // ----------------------------------------------------------------------------- @@ -76,17 +98,20 @@ // ----------------------------------------------------------------------------- // const QChar LogsPredictiveLatin12KeyTranslator::translateChar( - const QChar character ) const + const QChar character, + bool& ok ) const { + ok = true; QChar keycode = mSpecialKeyMap[ character ]; if ( keycode.isNull() ) { keycode = LogsPredictive12KeyTranslator::translateChar( character ); if ( keycode.isNull() ) { QString decomposed = character.decomposition(); if (decomposed.isEmpty()) { + ok = false; return keycode; } - return translateChar (decomposed.at(0)); + return translateChar (decomposed.at(0), ok); } } return keycode; @@ -103,4 +128,9 @@ { return name.split( SpaceSepar, QString::SkipEmptyParts ); } - + + + + + + diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logspredictivethai12keytranslator.cpp --- a/logsui/logscntfinder/src/logspredictivethai12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logspredictivethai12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -19,6 +19,7 @@ #include #include #include +#include #include "logspredictivethai12keytranslator.h" #include "logslogger.h" @@ -27,26 +28,35 @@ const int IgnoreCount = 2; + + // ----------------------------------------------------------------------------- // LogsPredictiveThai12KeyTranslator::LogsPredictiveThai12KeyTranslator() // ----------------------------------------------------------------------------- // LogsPredictiveThai12KeyTranslator::LogsPredictiveThai12KeyTranslator() - : LogsPredictive12KeyTranslator() + : LogsPredictive12KeyTranslator( QLocale::Thai ) { LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveThai12KeyTranslator::\ LogsPredictiveThai12KeyTranslator()" ) - HbInputLanguage lang = - HbInputSettingProxy::instance()->globalInputLanguage(); - ASSERT( lang.language() == QLocale::Thai ); - mKeyMap = HbKeymapFactory::instance()->keymap( lang.language(), - lang.variant() ); - - LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveThai12KeyTranslator::\ LogsPredictiveThai12KeyTranslator()" ) } +// ----------------------------------------------------------------------------- +// LogsPredictiveThai12KeyTranslator::LogsPredictiveThai12KeyTranslator() +// ----------------------------------------------------------------------------- +// +LogsPredictiveThai12KeyTranslator::LogsPredictiveThai12KeyTranslator( + const HbInputLanguage& lang ) + : LogsPredictive12KeyTranslator( lang ) +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveThai12KeyTranslator::\ +LogsPredictiveThai12KeyTranslator()" ) + ASSERT( lang.language() == QLocale::Thai ); + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveThai12KeyTranslator::\ +LogsPredictiveThai12KeyTranslator()" ) +} // ----------------------------------------------------------------------------- // LogsPredictiveThai12KeyTranslator::~LogsPredictiveThai12KeyTranslator() @@ -66,11 +76,14 @@ // ----------------------------------------------------------------------------- // const QChar LogsPredictiveThai12KeyTranslator::translateChar( - const QChar character ) const + const QChar character, + bool& ok ) const { + ok = true; QChar keycode; if ( !isIgnored( character ) ) { keycode = LogsPredictive12KeyTranslator::translateChar( character ); + ok = !keycode.isNull(); keycode = !keycode.isNull() && !isIgnored( keycode ) ? keycode : QChar(); } @@ -102,8 +115,3 @@ } return found; } - - - - - diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/src/logspredictivetranslator.cpp --- a/logsui/logscntfinder/src/logspredictivetranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/src/logspredictivetranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -17,8 +17,10 @@ #include #include #include +#include #include #include +#include #include "logspredictivetranslator.h" #include "logspredictivelatin12keytranslator.h" @@ -34,18 +36,24 @@ // LogsPredictiveTranslator* LogsPredictiveTranslator::instance() { + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::\ +instance()" ) if ( !mInstance ) { HbInputLanguage lang = HbInputSettingProxy::instance()->globalInputLanguage(); + LOGS_QDEBUG_2( "logs [FINDER] Input lang is %d", + lang.language() ) switch( lang.language() ) { case QLocale::Thai: - mInstance = new LogsPredictiveThai12KeyTranslator(); + mInstance = new LogsPredictiveThai12KeyTranslator( lang ); break; default: - mInstance = new LogsPredictiveLatin12KeyTranslator(); + mInstance = new LogsPredictiveLatin12KeyTranslator( lang ); break; } } + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ +instance()" ) return mInstance; } @@ -64,10 +72,16 @@ // LogsPredictiveTranslator::LogsPredictiveTranslator() // ----------------------------------------------------------------------------- // -LogsPredictiveTranslator::LogsPredictiveTranslator() +LogsPredictiveTranslator::LogsPredictiveTranslator( const HbInputLanguage& lang ) + : mNameTranslator(0) + { LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::\ LogsPredictiveTranslator()" ) + + mKeyMap = HbKeymapFactory::instance()->keymap( lang.language(), + lang.variant() ); + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ LogsPredictiveTranslator()" ) } @@ -83,62 +97,130 @@ ~LogsPredictiveTranslator()" ) mInstance = 0; mKeyMap = 0; + delete mNameTranslator; + mNameTranslator = 0; LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ ~LogsPredictiveTranslator()" ) } // ----------------------------------------------------------------------------- +// LogsPredictiveTranslator::translateText() +// ----------------------------------------------------------------------------- +// +const QString LogsPredictiveTranslator::translateText( + const QString& text ) +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::translateText()" ) + LOGS_QDEBUG_2( "logs [FINDER] text ", text ); + + bool ok; + + QString result = translate( text, &ok ); + if ( !ok ) { + LOGS_QDEBUG( "logs [FINDER] Text is not in input language" ) + result = nameTranslator( text ).translate( text ); + } + + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::translateText()" ) + return result; +} + +// ----------------------------------------------------------------------------- +// LogsPredictiveTranslator::nameTranslator() +// ----------------------------------------------------------------------------- +// +const LogsPredictiveTranslator& LogsPredictiveTranslator::nameTranslator( + const QString& name ) +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::nameTranslator()" ) + + const LogsPredictiveTranslator* nameTranslator = this; + if ( mNameTranslator && mNameTranslator->encodes( name ) ) { + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ +nameTranslator() - use current" ) + nameTranslator = mNameTranslator; + } else { + delete mNameTranslator; + mNameTranslator = new LogsPredictiveLatin12KeyTranslator(); + if( mNameTranslator->encodes( name ) ) { + nameTranslator = mNameTranslator; + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ +nameTranslator() - use latin" ) + return *nameTranslator; + } + delete mNameTranslator; + mNameTranslator = new LogsPredictiveThai12KeyTranslator(); + if( mNameTranslator->encodes( name ) ) { + nameTranslator = mNameTranslator; + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ +nameTranslator() - use thai" ) + return *nameTranslator; + } + delete mNameTranslator; + mNameTranslator = 0; + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ +nameTranslator() - use global input language" ) + + } + + + return *nameTranslator; + +} + +// ----------------------------------------------------------------------------- +// LogsPredictiveTranslator::encodes() +// ----------------------------------------------------------------------------- +// +bool LogsPredictiveTranslator::encodes( const QString& sniplet ) +{ + bool ok; + translate( sniplet, &ok ); + return ok; +} + +// ----------------------------------------------------------------------------- +// LogsPredictiveTranslator::translatePattern() +// ----------------------------------------------------------------------------- +// +const QString LogsPredictiveTranslator::translatePattern( + const QString& pattern ) const +{ + LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::translatePattern()" ) + QString result = translate( pattern ); + + LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::translatePattern()" ) + return result; +} + +// ----------------------------------------------------------------------------- // LogsPredictiveTranslator::translate() // ----------------------------------------------------------------------------- // -const QString LogsPredictiveTranslator::translate( const QString& name, - int count ) const +const QString LogsPredictiveTranslator::translate( const QString& text, + bool* ok, int count ) const { LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::translate()" ) - LOGS_QDEBUG_2( "logs [FINDER] name ", name ); + LOGS_QDEBUG_2( "logs [FINDER] text ", text ); - count = count == -1 ? name.length() : count; + count = count == -1 ? text.length() : count; + bool isok = ok ? *ok : true; QString result; - const QChar* content = name.data(); + const QChar* content = text.data(); int index = 0; - while( index < count ) { - QChar ch = translateChar( *content++ ); + while( index < count && isok ) { + QChar ch = translateChar( *content++, isok ); if ( !ch.isNull() ) { result.append( ch ); } index++; } + if ( ok ) { + *ok = isok; + } LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::translate()" ) return result; } -// ----------------------------------------------------------------------------- -// LogsPredictiveTranslator::startsWith() -// ----------------------------------------------------------------------------- -// -int LogsPredictiveTranslator::startsWith( const QString& text, - const QString& pattern, - bool optimize ) const -{ - LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::startsWith()" ) - //assumed that text has found based on pattern, thus only checking with - //first char is enough, if mightContainZeroes eq false - int matchCount = pattern.length(); - if ( text.isEmpty() || matchCount > text.length() ) { - matchCount = 0; - } else { - if ( !optimize ) { - QString translatedText = translate( text, pattern.length() ); - matchCount = translatedText == pattern ? matchCount : 0; - } else { - matchCount = translateChar( *text.data() ) == *pattern.data() ? - matchCount : 0; - } - } - - LOGS_QDEBUG_2( "logs [FINDER] matchCount=", matchCount ) - LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::startsWith()" ) - return matchCount; -} diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/st_logscntfinder/inc/st_logscntfinder.h --- a/logsui/logscntfinder/tsrc/st_logscntfinder/inc/st_logscntfinder.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/st_logscntfinder/inc/st_logscntfinder.h Thu May 27 12:51:53 2010 +0300 @@ -19,6 +19,7 @@ #include #include +#include QTM_USE_NAMESPACE @@ -48,8 +49,10 @@ private slots: //test methods void testPredictiveSearchQuery(); + void testPredictiveThaiSearchQuery(); void testKeymap(); - void testPredictiveSearchQueryZero(); + void testPredictiveSearchQueryZeroStart(); + void testPredictiveSearchQueryZeroMiddle(); void testPredictiveSearchQueryLimit(); void testPredictiveSearchQueryLogs(); void testPredictiveSearchQueryLogsContacts(); @@ -68,6 +71,7 @@ void createContactsForQueryOrder(); void createContactsForQueryZero(); void createHistoryEvents(); + void createThaiContacts(); void createLogEvent( QString firstname, QString Lastname, diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp --- a/logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp Thu May 27 12:51:53 2010 +0300 @@ -20,7 +20,7 @@ #include #include - +#include void st_LogsCntFinder::initTestCase() { @@ -60,6 +60,9 @@ m_manager = 0; delete m_finder; m_finder = 0; + HbInputLanguage eng( QLocale::English ); + HbInputSettingProxy::instance()->setGlobalInputLanguage( eng ); + } void st_LogsCntFinder::createContacts() @@ -92,6 +95,7 @@ createOneContact( QString("Tisha"), QString("Iatzkovits"), QString("932472398") ); createOneContact( QString("Wilda"), QString("Lazar"), QString("932472398") ); createOneContact( QString("Una Vivi"), QString("Kantsak"), QString("932472398") ); + int contactsCount = m_manager->contactIds().count(); QCOMPARE(contactsCount, 13); @@ -100,6 +104,34 @@ } +void st_LogsCntFinder::createThaiContacts() +{ + /*Create contacts in Contacts DB + + */ + + const QChar thaiFName1[] = {0x0E06,0x0E0A}; // map:23 + const QChar thaiLName1[] = {0x0E0E,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A };//map 456789 + + QString first ( thaiFName1, 2 ); + QString last ( thaiFName1, 6 ); + createOneContact( first, last, QString("932472398") ); + + const QChar thaiFName2[] = {0x0E30,0x0E0A};//#3, + const QChar thaiLName2[] = {0x0E2F,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A };//*56789 + + QString first2 ( thaiFName1, 2 ); + QString last2 ( thaiFName1, 6 ); + createOneContact( first2, last2, QString("932472398") ); + + + + int contactsCount = m_manager->contactIds().count(); + QCOMPARE(contactsCount, 2); + qDebug() << "st_LogsCntFinder::createThaiContacts_ThaiSearch. created " << contactsCount << " contacts"; + + +} void st_LogsCntFinder::createHistoryEvents() { @@ -154,6 +186,54 @@ // Tests // +void st_LogsCntFinder::testPredictiveThaiSearchQuery() +{ + HbInputLanguage thai( QLocale::Thai ); + HbInputSettingProxy::instance()->setGlobalInputLanguage( thai ); + + createThaiContacts(); + + //There is no recent call in logs UI + //case 1 + /*m_finder->predictiveSearchQuery( QString("2") ); + QCOMPARE( m_finder->resultsCount(), 1 );*/ + qDebug() << "-- 2 query starts --"; + m_finder->predictiveSearchQuery( QString("2") ); + qDebug() << "found " << m_finder->resultsCount() << " matches:"; + + qDebug() << "-- 4 query starts --"; + m_finder->predictiveSearchQuery( QString("4") ); + qDebug() << "found " << m_finder->resultsCount() << " matches:"; + qDebug() << "-- 402 query starts --"; + m_finder->predictiveSearchQuery( QString("402") ); + qDebug() << "found " << m_finder->resultsCount() << " matches:"; + qDebug() << "-- *4 query starts --"; + m_finder->predictiveSearchQuery( QString("*4") ); + qDebug() << "found " << m_finder->resultsCount() << " matches:"; + qDebug() << "-- *402### query starts --"; + m_finder->predictiveSearchQuery( QString("*402###") ); + qDebug() << "found " << m_finder->resultsCount() << " matches:"; + + /*m_finder->predictiveSearchQuery( QString("4") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + + m_finder->predictiveSearchQuery( QString("402") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + + m_finder->predictiveSearchQuery( QString("*4") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + + m_finder->predictiveSearchQuery( QString("*402###") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + + m_finder->predictiveSearchQuery( QString("*4***00002###") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + */ + + +} + + // Test basic predictive search, all records with names starting letters "J, K, L" are matched void st_LogsCntFinder::testPredictiveSearchQuery() { @@ -315,38 +395,53 @@ 4-5. multi-zeros between "1-9" numbers, only the first works as "AND" statement; 6. Query limit is 15, the 16th is ignored, and first 0 works as "AND" statement */ -void st_LogsCntFinder::testPredictiveSearchQueryZero() + +void st_LogsCntFinder::testPredictiveSearchQueryZeroStart() { createContactsForQueryZero(); - - m_finder->predictiveSearchQuery( QString("56603") ); - QCOMPARE( m_finder->resultsCount(), 1 ); m_finder->predictiveSearchQuery( QString("00202") ); QCOMPARE( m_finder->resultsCount(), 2 ); m_finder->predictiveSearchQuery( QString("02010") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + +} +void st_LogsCntFinder::testPredictiveSearchQueryZeroMiddle() +{ + createContactsForQueryZero(); + m_finder->predictiveSearchQuery( QString("566") ); QCOMPARE( m_finder->resultsCount(), 2 ); - + + m_finder->predictiveSearchQuery( QString("56603") ); + QCOMPARE( m_finder->resultsCount(), 1 ); + m_finder->predictiveSearchQuery( QString("2003") ); QCOMPARE( m_finder->resultsCount(), 2 ); - m_finder->predictiveSearchQuery( QString("200904") ); + m_finder->predictiveSearchQuery( QString("2272645837883065") ); QCOMPARE( m_finder->resultsCount(), 1 ); - - m_finder->predictiveSearchQuery( QString("2272645837883065") ); + + m_finder->predictiveSearchQuery( QString("200904") ); QCOMPARE( m_finder->resultsCount(), 1 ); } +/* +Dlice 00202 Qwerty 45789348 +#Paula 2003 Augustin Ci 0078945617 +Paula 02010 Ezerty Adam 78945617 +Ced Y,g +78945617 +Jari-Pekka Baraniktestteste 78945617 +*/ void st_LogsCntFinder::createContactsForQueryZero() { createContacts(); createOneContact( QString("Dlice 00202"), QString("Qwerty"), QString("45789348") ); - createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("78945617") ); + createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("0078945617") ); createOneContact( QString("Paula 02010"), QString("Ezerty Adam"), QString("78945617") ); - createOneContact( QString("Ced"), QString("Y,g"), QString("78945617") ); - createOneContact( QString("Jari-Pekka"), QString("Baraniktestteste"), QString("78945617") ); + createOneContact( QString("Ced"), QString("Y,g"), QString("+78945617") ); + createOneContact( QString("Jari-Pekka"), QString(" "), QString("78945617") ); int contactsCount = m_manager->contactIds().count(); QCOMPARE(contactsCount, 18); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/st_logscntfinder/st_logscntfinder.pro --- a/logsui/logscntfinder/tsrc/st_logscntfinder/st_logscntfinder.pro Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/st_logscntfinder/st_logscntfinder.pro Thu May 27 12:51:53 2010 +0300 @@ -20,6 +20,8 @@ QT += testlib xml CONFIG += qtestlib +CONFIG += hb +HB = hbcore hbinput #include(../tsrc.pri) diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/stubs/qtcontacts_stubs.cpp --- a/logsui/logscntfinder/tsrc/stubs/qtcontacts_stubs.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/stubs/qtcontacts_stubs.cpp Thu May 27 12:51:53 2010 +0300 @@ -155,11 +155,9 @@ QList QContactManager::contactIds( - const QContactFilter& filter, + const QContactFilter& /*filter*/, const QList& /*sortOrders*/) const { - const QContactDetailFilter& df = - static_cast( filter ); QList list; ContactQueryResults* resultSet = ContactQueryResults::instance(); @@ -174,7 +172,7 @@ QContact QContactManager::contact( const QContactLocalId& contactId, - const QStringList& definitionRestrictions ) const + const QStringList& /*definitionRestrictions*/ ) const { QContact contact; QContactId id; @@ -232,9 +230,9 @@ } -QContact& QContact::operator=(const QContact& other) +QContact& QContact::operator=(const QContact& /*other*/) { - + return *this; } QContactDetail QContact::detail(const QString& definitionId) const @@ -244,8 +242,8 @@ if ( definitionId == QContactName::DefinitionName ){ QContactName name; QContactLocalId id = localId(); - name.setValue(QContactName::FieldFirst, results->firstNameAt( (int) id-1 ) ); - name.setValue(QContactName::FieldLast, results->lastNameAt( (int) id-1 ) ); + name.setValue(QContactName::FieldFirstName, results->firstNameAt( (int) id-1 ) ); + name.setValue(QContactName::FieldLastName, results->lastNameAt( (int) id-1 ) ); return name; } if ( definitionId == QContactPhoneNumber::DefinitionName ){ @@ -256,10 +254,8 @@ } if ( definitionId == QContactAvatar::DefinitionName){ QContactAvatar avatar; - avatar.setSubType(QContactAvatar::SubTypeImage); - avatar.setAvatar("c:\\data\\images\\logstest1.jpg"); - QString a( "Avatar" ); - avatar.setValue( QContactAvatar::FieldAvatar, a ); + avatar.setValue(QContactAvatar::FieldSubType, QContactAvatar::SubTypeImage ); + avatar.setValue(QContactAvatar::FieldAvatar, "c:\\data\\images\\logstest1.jpg" ); return avatar; } QContactDetail detail; @@ -275,19 +271,21 @@ { } -QContactDetail::QContactDetail(const QString& definitionName) : d(new QContactDetailPrivate) + +QContactDetail::QContactDetail(const QString& /*definitionName*/) : d(new QContactDetailPrivate) { } + QContactDetail::~QContactDetail() { } -QContactDetail& QContactDetail::operator=(const QContactDetail& other) +QContactDetail& QContactDetail::operator=(const QContactDetail& /*other*/) { - + return *this; } QString QContactDetail::definitionName() const diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logscntentry.h --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logscntentry.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logscntentry.h Thu May 27 12:51:53 2010 +0300 @@ -54,6 +54,8 @@ void testSetHighlights_latin12k(); void testRichText_latin12k(); void testMatch_latin12k(); + void testStartsWith_latin12k(); + //with thai 12 keys void testMatch_thai12k(); void testSetHighlights_thai12k(); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivelatin12keytranslator.h --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivelatin12keytranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivelatin12keytranslator.h Thu May 27 12:51:53 2010 +0300 @@ -45,8 +45,10 @@ private slots: //test methods void testConstructor(); - void testTranslate(); + void testTranslateText(); + void testTranslatePattern(); void testTranslateChar(); + void testEncodes(); private: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivethai12keytranslator.h --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivethai12keytranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivethai12keytranslator.h Thu May 27 12:51:53 2010 +0300 @@ -46,12 +46,13 @@ private slots: //test methods void testConstructor(); - void testTranslate(); + void testTranslateText(); + void testTranslatePattern(); void testTranslateChar(); + void testEncodes(); private: - HbInputLanguage mOrigLang; LogsPredictiveThai12KeyTranslator* mTranslator; }; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivetranslator.h --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivetranslator.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/inc/ut_logspredictivetranslator.h Thu May 27 12:51:53 2010 +0300 @@ -47,7 +47,9 @@ void testConstructor(); void testTranslate(); - void testStartsWith(); + void testTranslatePattern(); + void testTranslateText(); + void testNameTranslator(); private: diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntentry.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntentry.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntentry.cpp Thu May 27 12:51:53 2010 +0300 @@ -23,7 +23,7 @@ #include #define PATTERN( pattern )\ - LogsPredictiveTranslator::instance()->translate( QString( pattern ) ) + LogsPredictiveTranslator::instance()->translatePattern( QString( pattern ) ) void UT_LogsCntEntry::initTestCase() @@ -625,7 +625,7 @@ mEntry->setFirstName( QString("Alice 028") ); mEntry->setLastName( QString( "Ming" ) ); QVERIFY( mEntry->match( PATTERN( "02806" ) ) ); - QVERIFY( !mEntry->match( PATTERN( "0280" ) ) );//not supported + QVERIFY( mEntry->match( PATTERN( "0280" ) ) );//not supported mEntry->mType = LogsCntEntry::EntryTypeContact; QVERIFY( !mEntry->match( PATTERN( "+202" ) ) ); @@ -636,6 +636,24 @@ } +void UT_LogsCntEntry::testStartsWith_latin12k() +{ + //just using numbers as name + mEntry->setFirstName( QString( "" ) ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("") ), 0 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("123") ), 0 ); + + mEntry->setFirstName( QString( "123" ) ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("") ), 0 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("1234") ), 0 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("1") ), 1 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("123") ), 3 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("12"), true ), 2 ); + QCOMPARE( mEntry->startsWith( mEntry->firstName()[0], QString("12"), false ), 2 ); + +} + + void UT_LogsCntEntry::testMatch_thai12k() { @@ -689,3 +707,4 @@ } + diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntfinder.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntfinder.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logscntfinder.cpp Thu May 27 12:51:53 2010 +0300 @@ -72,7 +72,6 @@ QSignalSpy queryReadySpy(mFinder, SIGNAL(queryReady() ) ); QSignalSpy resultsAddedSpy(mCntResults, SIGNAL(resultsAdded() ) ); - int resultsCount = 0; LogsCntEntryHandle* handle1 = (LogsCntEntryHandle*)1; LogsCntEntryHandle* handle2 = (LogsCntEntryHandle*)2; LogsCntEntryHandle* handle3 = (LogsCntEntryHandle*)3; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictive12keytranslator.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictive12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictive12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -28,14 +28,18 @@ public: inline LogsPredictive12KeyTranslator_mock() - :LogsPredictive12KeyTranslator() - { mKeyMap = - HbKeymapFactory::instance()->keymap( QLocale::English, - QLocale::AnyCountry ); + :LogsPredictive12KeyTranslator( QLocale::English ) + { } inline QStringList nameTokens( const QString& /*name*/ ) const {return QStringList();} + inline const QChar translateChar( const QChar /*character*/, bool& /*ok*/ ) const + {return QChar();} + inline bool encodes( const QString& /*sniplet*/ ) + {return true;} + inline int mib() const {return 0;} + }; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -17,6 +17,7 @@ #include "ut_logspredictivelatin12keytranslator.h" #include "logspredictivelatin12keytranslator.h" +#include #include #include @@ -32,7 +33,8 @@ void UT_LogsPredictiveLatin12KeyTranslator::init() { - mTranslator = new LogsPredictiveLatin12KeyTranslator(); + mTranslator = new LogsPredictiveLatin12KeyTranslator( + HbInputSettingProxy::instance()->globalInputLanguage() ); } void UT_LogsPredictiveLatin12KeyTranslator::cleanup() @@ -48,139 +50,164 @@ } -void UT_LogsPredictiveLatin12KeyTranslator::testTranslate() +void UT_LogsPredictiveLatin12KeyTranslator::testTranslateText() { - QVERIFY( mTranslator->translate( QString( "Nokia" ) ) == QString( "66542" ) ); - QVERIFY( mTranslator->translate( QString( "Aarne" ) ) == QString( "22763" ) ); - QVERIFY( mTranslator->translate( QString( "Bertta" ) ) == QString( "237882" ) ); - QVERIFY( mTranslator->translate( QString( "Celsius" ) ) == QString( "2357487" ) ); - QVERIFY( mTranslator->translate( QString( "Daavid" ) ) == QString( "322843" ) ); - QVERIFY( mTranslator->translate( QString( "Eemeli" ) ) == QString( "336354" ) ); - QVERIFY( mTranslator->translate( QString( "Faarao" ) ) == QString( "322726" ) ); - QVERIFY( mTranslator->translate( QString( "Gideon" ) ) == QString( "443366" ) ); - QVERIFY( mTranslator->translate( QString( "Heikki" ) ) == QString( "434554" ) ); - QVERIFY( mTranslator->translate( QString( "Iivari" ) ) == QString( "448274" ) ); - QVERIFY( mTranslator->translate( QString( "Jussi" ) ) == QString( "58774" ) ); - QVERIFY( mTranslator->translate( QString( "Kalle" ) ) == QString( "52553" ) ); - QVERIFY( mTranslator->translate( QString( "Lauri" ) ) == QString( "52874" ) ); - QVERIFY( mTranslator->translate( QString( "Matti" ) ) == QString( "62884" ) ); - QVERIFY( mTranslator->translate( QString( "Niilo" ) ) == QString( "64456" ) ); - QVERIFY( mTranslator->translate( QString( "Otto" ) ) == QString( "6886" ) ); - QVERIFY( mTranslator->translate( QString( "Paavo" ) ) == QString( "72286" ) ); - QVERIFY( mTranslator->translate( QString( "Kuu" ) ) == QString( "588" ) ); - QVERIFY( mTranslator->translate( QString( "Risto" ) ) == QString( "74786" ) ); - QVERIFY( mTranslator->translate( QString( "Sakari" ) ) == QString( "725274" ) ); - QVERIFY( mTranslator->translate( QString( "Tyyne" ) ) == QString( "89963" ) ); - QVERIFY( mTranslator->translate( QString( "Urho" ) ) == QString( "8746" ) ); - QVERIFY( mTranslator->translate( QString( "Vihtori" ) ) == QString( "8448674" ) ); - QVERIFY( mTranslator->translate( QString( "Wiski" ) ) == QString( "94754" ) ); - QVERIFY( mTranslator->translate( QString( "Yrjö" ) ) == QString( "9756" ) ); - QVERIFY( mTranslator->translate( QString( "Tseta" ) ) == QString( "87382" ) ); - QVERIFY( mTranslator->translate( QString( "Åke" ) ) == QString( "253" ) ); - QVERIFY( mTranslator->translate( QString( "Äiti" ) ) == QString( "2484" ) ); - QVERIFY( mTranslator->translate( QString( "Öljy" ) ) == QString( "6559" ) ); - QVERIFY( mTranslator->translate( QString( "Adam" ) ) == QString( "2326" ) ); - QVERIFY( mTranslator->translate( QString( "Bertil" ) ) == QString( "237845" ) ); - QVERIFY( mTranslator->translate( QString( "Cesar" ) ) == QString( "23727" ) ); - QVERIFY( mTranslator->translate( QString( "David" ) ) == QString( "32843" ) ); - QVERIFY( mTranslator->translate( QString( "Erik" ) ) == QString( "3745" ) ); - QVERIFY( mTranslator->translate( QString( "Filip" ) ) == QString( "34547" ) ); - QVERIFY( mTranslator->translate( QString( "Gustav" ) ) == QString( "487828" ) ); - QVERIFY( mTranslator->translate( QString( "Helge" ) ) == QString( "43543" ) ); - QVERIFY( mTranslator->translate( QString( "Ivar" ) ) == QString( "4827" ) ); - QVERIFY( mTranslator->translate( QString( "Johan" ) ) == QString( "56426" ) ); - QVERIFY( mTranslator->translate( QString( "Kalle" ) ) == QString( "52553" ) ); - QVERIFY( mTranslator->translate( QString( "Ludvig" ) ) == QString( "583844" ) ); - QVERIFY( mTranslator->translate( QString( "Martin" ) ) == QString( "627846" ) ); - QVERIFY( mTranslator->translate( QString( "Niklas" ) ) == QString( "645527" ) ); - QVERIFY( mTranslator->translate( QString( "Olof" ) ) == QString( "6563" ) ); - QVERIFY( mTranslator->translate( QString( "Petter" ) ) == QString( "738837" ) ); - QVERIFY( mTranslator->translate( QString( "Quintus" ) ) == QString( "7846887" ) ); - QVERIFY( mTranslator->translate( QString( "Rudolf" ) ) == QString( "783653" ) ); - QVERIFY( mTranslator->translate( QString( "Sigurd" ) ) == QString( "744873" ) ); - QVERIFY( mTranslator->translate( QString( "Tore" ) ) == QString( "8673" ) ); - QVERIFY( mTranslator->translate( QString( "Urban" ) ) == QString( "87226" ) ); - QVERIFY( mTranslator->translate( QString( "Viktor" ) ) == QString( "845867" ) ); - QVERIFY( mTranslator->translate( QString( "Wilhelm" ) ) == QString( "9454356" ) ); - QVERIFY( mTranslator->translate( QString( "Xerxes" ) ) == QString( "937937" ) ); - QVERIFY( mTranslator->translate( QString( "Yngve" ) ) == QString( "96483" ) ); - QVERIFY( mTranslator->translate( QString( "Zäta" ) ) == QString( "9282" ) ); - QVERIFY( mTranslator->translate( QString( "Ärlig" ) ) == QString( "27544" ) ); - QVERIFY( mTranslator->translate( QString( "Östen" ) ) == QString( "67836" ) ); - QVERIFY( mTranslator->translate( QString( "Alpha" ) ) == QString( "25742" ) ); - QVERIFY( mTranslator->translate( QString( "Bravo" ) ) == QString( "27286" ) ); - QVERIFY( mTranslator->translate( QString( "Charlie" ) ) == QString( "2427543" ) ); - QVERIFY( mTranslator->translate( QString( "Delta" ) ) == QString( "33582" ) ); - QVERIFY( mTranslator->translate( QString( "Echo" ) ) == QString( "3246" ) ); - QVERIFY( mTranslator->translate( QString( "Foxtrot" ) ) == QString( "3698768" ) ); - QVERIFY( mTranslator->translate( QString( "Golf" ) ) == QString( "4653" ) ); - QVERIFY( mTranslator->translate( QString( "Hotel" ) ) == QString( "46835" ) ); - QVERIFY( mTranslator->translate( QString( "India" ) ) == QString( "46342" ) ); - QVERIFY( mTranslator->translate( QString( "Juliet" ) ) == QString( "585438" ) ); - QVERIFY( mTranslator->translate( QString( "Kilo" ) ) == QString( "5456" ) ); - QVERIFY( mTranslator->translate( QString( "Lima" ) ) == QString( "5462" ) ); - QVERIFY( mTranslator->translate( QString( "Mike" ) ) == QString( "6453" ) ); - QVERIFY( mTranslator->translate( QString( "November" ) ) == QString( "66836237" ) ); - QVERIFY( mTranslator->translate( QString( "Oscar" ) ) == QString( "67227" ) ); - QVERIFY( mTranslator->translate( QString( "Papa" ) ) == QString( "7272" ) ); - QVERIFY( mTranslator->translate( QString( "Quebec" ) ) == QString( "783232" ) ); - QVERIFY( mTranslator->translate( QString( "Romeo" ) ) == QString( "76636" ) ); - QVERIFY( mTranslator->translate( QString( "Sierra" ) ) == QString( "743772" ) ); - QVERIFY( mTranslator->translate( QString( "Tanga" ) ) == QString( "82642" ) ); - QVERIFY( mTranslator->translate( QString( "Uniform" ) ) == QString( "8643676" ) ); - QVERIFY( mTranslator->translate( QString( "Vârlan" ) ) == QString( "827526" ) ); - QVERIFY( mTranslator->translate( QString( "Victor" ) ) == QString( "842867" ) ); - QVERIFY( mTranslator->translate( QString( "Whiskey" ) ) == QString( "9447539" ) ); - QVERIFY( mTranslator->translate( QString( "Xray" ) ) == QString( "9729" ) ); - QVERIFY( mTranslator->translate( QString( "Yankee" ) ) == QString( "926533" ) ); - QVERIFY( mTranslator->translate( QString( "Zulu" ) ) == QString( "9858" ) ); - QVERIFY( mTranslator->translate( QString( "1234567890" ) ) == QString( "1234567890" ) ); - QCOMPARE( mTranslator->translate( QString( "+1234567890" ) ) ,QString( "*1234567890" ) ); - QCOMPARE( mTranslator->translate( QString( "*1234567890" ) ) ,QString( "*1234567890" ) ); - QCOMPARE( mTranslator->translate( QString( "#1234567890" ) ), QString( "#1234567890" ) ); - QCOMPARE( mTranslator->translate( QString( "++##" ) ), QString( "**##" ) ); - QCOMPARE( mTranslator->translate( QString( "-+##" ) ), QString( "1*##" ) ); - QCOMPARE( mTranslator->translate( QString( "/+##" ) ), QString( "1*##" ) ); - QCOMPARE( mTranslator->translate( QString( "*+##" ) ), QString( "**##" ) ); + QVERIFY( mTranslator->translateText( QString( "Nokia" ) ) == QString( "66542" ) ); + QVERIFY( mTranslator->translateText( QString( "Aarne" ) ) == QString( "22763" ) ); + QVERIFY( mTranslator->translateText( QString( "Bertta" ) ) == QString( "237882" ) ); + QVERIFY( mTranslator->translateText( QString( "Celsius" ) ) == QString( "2357487" ) ); + QVERIFY( mTranslator->translateText( QString( "Daavid" ) ) == QString( "322843" ) ); + QVERIFY( mTranslator->translateText( QString( "Eemeli" ) ) == QString( "336354" ) ); + QVERIFY( mTranslator->translateText( QString( "Faarao" ) ) == QString( "322726" ) ); + QVERIFY( mTranslator->translateText( QString( "Gideon" ) ) == QString( "443366" ) ); + QVERIFY( mTranslator->translateText( QString( "Heikki" ) ) == QString( "434554" ) ); + QVERIFY( mTranslator->translateText( QString( "Iivari" ) ) == QString( "448274" ) ); + QVERIFY( mTranslator->translateText( QString( "Jussi" ) ) == QString( "58774" ) ); + QVERIFY( mTranslator->translateText( QString( "Kalle" ) ) == QString( "52553" ) ); + QVERIFY( mTranslator->translateText( QString( "Lauri" ) ) == QString( "52874" ) ); + QVERIFY( mTranslator->translateText( QString( "Matti" ) ) == QString( "62884" ) ); + QVERIFY( mTranslator->translateText( QString( "Niilo" ) ) == QString( "64456" ) ); + QVERIFY( mTranslator->translateText( QString( "Otto" ) ) == QString( "6886" ) ); + QVERIFY( mTranslator->translateText( QString( "Paavo" ) ) == QString( "72286" ) ); + QVERIFY( mTranslator->translateText( QString( "Kuu" ) ) == QString( "588" ) ); + QVERIFY( mTranslator->translateText( QString( "Risto" ) ) == QString( "74786" ) ); + QVERIFY( mTranslator->translateText( QString( "Sakari" ) ) == QString( "725274" ) ); + QVERIFY( mTranslator->translateText( QString( "Tyyne" ) ) == QString( "89963" ) ); + QVERIFY( mTranslator->translateText( QString( "Urho" ) ) == QString( "8746" ) ); + QVERIFY( mTranslator->translateText( QString( "Vihtori" ) ) == QString( "8448674" ) ); + QVERIFY( mTranslator->translateText( QString( "Wiski" ) ) == QString( "94754" ) ); + QVERIFY( mTranslator->translateText( QString( "Yrjö" ) ) == QString( "9756" ) ); + QVERIFY( mTranslator->translateText( QString( "Tseta" ) ) == QString( "87382" ) ); + QVERIFY( mTranslator->translateText( QString( "Åke" ) ) == QString( "253" ) ); + QVERIFY( mTranslator->translateText( QString( "Äiti" ) ) == QString( "2484" ) ); + QVERIFY( mTranslator->translateText( QString( "Öljy" ) ) == QString( "6559" ) ); + QVERIFY( mTranslator->translateText( QString( "Adam" ) ) == QString( "2326" ) ); + QVERIFY( mTranslator->translateText( QString( "Bertil" ) ) == QString( "237845" ) ); + QVERIFY( mTranslator->translateText( QString( "Cesar" ) ) == QString( "23727" ) ); + QVERIFY( mTranslator->translateText( QString( "David" ) ) == QString( "32843" ) ); + QVERIFY( mTranslator->translateText( QString( "Erik" ) ) == QString( "3745" ) ); + QVERIFY( mTranslator->translateText( QString( "Filip" ) ) == QString( "34547" ) ); + QVERIFY( mTranslator->translateText( QString( "Gustav" ) ) == QString( "487828" ) ); + QVERIFY( mTranslator->translateText( QString( "Helge" ) ) == QString( "43543" ) ); + QVERIFY( mTranslator->translateText( QString( "Ivar" ) ) == QString( "4827" ) ); + QVERIFY( mTranslator->translateText( QString( "Johan" ) ) == QString( "56426" ) ); + QVERIFY( mTranslator->translateText( QString( "Kalle" ) ) == QString( "52553" ) ); + QVERIFY( mTranslator->translateText( QString( "Ludvig" ) ) == QString( "583844" ) ); + QVERIFY( mTranslator->translateText( QString( "Martin" ) ) == QString( "627846" ) ); + QVERIFY( mTranslator->translateText( QString( "Niklas" ) ) == QString( "645527" ) ); + QVERIFY( mTranslator->translateText( QString( "Olof" ) ) == QString( "6563" ) ); + QVERIFY( mTranslator->translateText( QString( "Petter" ) ) == QString( "738837" ) ); + QVERIFY( mTranslator->translateText( QString( "Quintus" ) ) == QString( "7846887" ) ); + QVERIFY( mTranslator->translateText( QString( "Rudolf" ) ) == QString( "783653" ) ); + QVERIFY( mTranslator->translateText( QString( "Sigurd" ) ) == QString( "744873" ) ); + QVERIFY( mTranslator->translateText( QString( "Tore" ) ) == QString( "8673" ) ); + QVERIFY( mTranslator->translateText( QString( "Urban" ) ) == QString( "87226" ) ); + QVERIFY( mTranslator->translateText( QString( "Viktor" ) ) == QString( "845867" ) ); + QVERIFY( mTranslator->translateText( QString( "Wilhelm" ) ) == QString( "9454356" ) ); + QVERIFY( mTranslator->translateText( QString( "Xerxes" ) ) == QString( "937937" ) ); + QVERIFY( mTranslator->translateText( QString( "Yngve" ) ) == QString( "96483" ) ); + QVERIFY( mTranslator->translateText( QString( "Zäta" ) ) == QString( "9282" ) ); + QVERIFY( mTranslator->translateText( QString( "Ärlig" ) ) == QString( "27544" ) ); + QVERIFY( mTranslator->translateText( QString( "Östen" ) ) == QString( "67836" ) ); + QVERIFY( mTranslator->translateText( QString( "Alpha" ) ) == QString( "25742" ) ); + QVERIFY( mTranslator->translateText( QString( "Bravo" ) ) == QString( "27286" ) ); + QVERIFY( mTranslator->translateText( QString( "Charlie" ) ) == QString( "2427543" ) ); + QVERIFY( mTranslator->translateText( QString( "Delta" ) ) == QString( "33582" ) ); + QVERIFY( mTranslator->translateText( QString( "Echo" ) ) == QString( "3246" ) ); + QVERIFY( mTranslator->translateText( QString( "Foxtrot" ) ) == QString( "3698768" ) ); + QVERIFY( mTranslator->translateText( QString( "Golf" ) ) == QString( "4653" ) ); + QVERIFY( mTranslator->translateText( QString( "Hotel" ) ) == QString( "46835" ) ); + QVERIFY( mTranslator->translateText( QString( "India" ) ) == QString( "46342" ) ); + QVERIFY( mTranslator->translateText( QString( "Juliet" ) ) == QString( "585438" ) ); + QVERIFY( mTranslator->translateText( QString( "Kilo" ) ) == QString( "5456" ) ); + QVERIFY( mTranslator->translateText( QString( "Lima" ) ) == QString( "5462" ) ); + QVERIFY( mTranslator->translateText( QString( "Mike" ) ) == QString( "6453" ) ); + QVERIFY( mTranslator->translateText( QString( "November" ) ) == QString( "66836237" ) ); + QVERIFY( mTranslator->translateText( QString( "Oscar" ) ) == QString( "67227" ) ); + QVERIFY( mTranslator->translateText( QString( "Papa" ) ) == QString( "7272" ) ); + QVERIFY( mTranslator->translateText( QString( "Quebec" ) ) == QString( "783232" ) ); + QVERIFY( mTranslator->translateText( QString( "Romeo" ) ) == QString( "76636" ) ); + QVERIFY( mTranslator->translateText( QString( "Sierra" ) ) == QString( "743772" ) ); + QVERIFY( mTranslator->translateText( QString( "Tanga" ) ) == QString( "82642" ) ); + QVERIFY( mTranslator->translateText( QString( "Uniform" ) ) == QString( "8643676" ) ); + QVERIFY( mTranslator->translateText( QString( "Vârlan" ) ) == QString( "827526" ) ); + QVERIFY( mTranslator->translateText( QString( "Victor" ) ) == QString( "842867" ) ); + QVERIFY( mTranslator->translateText( QString( "Whiskey" ) ) == QString( "9447539" ) ); + QVERIFY( mTranslator->translateText( QString( "Xray" ) ) == QString( "9729" ) ); + QVERIFY( mTranslator->translateText( QString( "Yankee" ) ) == QString( "926533" ) ); + QVERIFY( mTranslator->translateText( QString( "Zulu" ) ) == QString( "9858" ) ); QString uni; uni.append(QChar(0x0219)); uni.append(QChar(0x4E0F)); QString result("7"); - QCOMPARE(mTranslator->translate(uni), result); + QCOMPARE(mTranslator->translateText(uni), result); QString uni1; uni1.append(QChar(0x4E0E)); uni1.append(QChar(0x4E0F)); QString result1(""); - QCOMPARE(mTranslator->translate(uni1), result1); + QCOMPARE(mTranslator->translateText(uni1), result1); QString result2; - QCOMPARE(mTranslator->translate(uni1), result2); + QCOMPARE(mTranslator->translateText(uni1), result2); + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testTranslatePattern() +{ + + QVERIFY( mTranslator->translatePattern( QString( "1234567890" ) ) == QString( "1234567890" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "+1234567890" ) ) ,QString( "*1234567890" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "*1234567890" ) ) ,QString( "*1234567890" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "#1234567890" ) ), QString( "#1234567890" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "++##" ) ), QString( "**##" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "-+##" ) ), QString( "1*##" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "/+##" ) ), QString( "1*##" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "*+##" ) ), QString( "**##" ) ); } void UT_LogsPredictiveLatin12KeyTranslator::testTranslateChar() { - - QCOMPARE( mTranslator->translateChar( QChar('+') ), QChar('*') ); - QCOMPARE( mTranslator->translateChar( QChar('*') ), QChar('*') ); - QCOMPARE( mTranslator->translateChar( QChar('#') ), QChar('#') ); - QCOMPARE( mTranslator->translateChar( QChar('0') ), QChar('0') ); - QCOMPARE( mTranslator->translateChar( QChar('a') ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('A') ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('1') ), QChar('1') ); - QCOMPARE( mTranslator->translateChar( QChar('ä') ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('Ä') ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('-') ), QChar('1') ); + bool ok; + + QCOMPARE( mTranslator->translateChar( QChar('+'), ok ), QChar('*') ); + QCOMPARE( mTranslator->translateChar( QChar('*'), ok ), QChar('*') ); + QCOMPARE( mTranslator->translateChar( QChar('#'), ok ), QChar('#') ); + QCOMPARE( mTranslator->translateChar( QChar('0'), ok ), QChar('0') ); + QCOMPARE( mTranslator->translateChar( QChar('a'), ok ), QChar('2') ); + QCOMPARE( mTranslator->translateChar( QChar('A'), ok ), QChar('2') ); + QCOMPARE( mTranslator->translateChar( QChar('1'), ok ), QChar('1') ); + QCOMPARE( mTranslator->translateChar( QChar('ä'), ok ), QChar('2') ); + QCOMPARE( mTranslator->translateChar( QChar('Ä'), ok ), QChar('2') ); + QCOMPARE( mTranslator->translateChar( QChar('-'), ok ), QChar('1') ); // Romanian unicode character "sh" - QCOMPARE( mTranslator->translateChar( QChar(0x0219) ), QChar('7') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0219), ok ), QChar('7') ); // Chinese unicode character QChar chn(0x4E0F); - QCOMPARE( mTranslator->translateChar( QChar(0x4E0F) ), QChar() ); + QCOMPARE( mTranslator->translateChar( QChar(0x4E0F), ok ), QChar() ); + QVERIFY( !ok ); + + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testEncodes() +{ + QVERIFY( mTranslator->encodes( QString( "Zulu" ) ) ); + QVERIFY( mTranslator->encodes( QString( "Öistämö" ) ) ); + + //china + QString uni1; + uni1.append(QChar(0x4E0E)); + uni1.append(QChar(0x4E0F)); + QVERIFY( !mTranslator->encodes( uni1) ); + + const int ucsize = 9; + const QChar thaiName2[] = {0x0E01,0x0E06,0x0E2F,0x0E0E,0x0E14,0x0E19,0x0E30,0x0E23,0x0E2A }; + QVERIFY( !mTranslator->encodes( QString( thaiName2,ucsize ) ) ); } - diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivethai12keytranslator.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivethai12keytranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivethai12keytranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -25,13 +25,11 @@ void UT_LogsPredictiveThai12KeyTranslator::initTestCase() { - mOrigLang = HbInputSettingProxy::instance()->globalInputLanguage(); } void UT_LogsPredictiveThai12KeyTranslator::cleanupTestCase() { - HbInputSettingProxy::instance()->setGlobalInputLanguage( mOrigLang ); } @@ -40,15 +38,12 @@ { HbInputLanguage thai( QLocale::Thai ); - - HbInputSettingProxy::instance()->setGlobalInputLanguage( thai ); - mTranslator = new LogsPredictiveThai12KeyTranslator(); + mTranslator = new LogsPredictiveThai12KeyTranslator( thai ); } void UT_LogsPredictiveThai12KeyTranslator::cleanup() { - HbInputSettingProxy::instance()->setGlobalInputLanguage( mOrigLang ); delete mTranslator; mTranslator = 0; } @@ -59,44 +54,80 @@ } -void UT_LogsPredictiveThai12KeyTranslator::testTranslate() +void UT_LogsPredictiveThai12KeyTranslator::testTranslateText() { - QCOMPARE( mTranslator->translate( QString( "0123456789" ) ), QString( "0123456789" ) ); - QCOMPARE( mTranslator->translate( QString( "Nokia" ) ), QString( "" ) ); - QCOMPARE( mTranslator->translate( QString( "*0123##456*789*" ) ), QString( "0123456789" ) ); + QCOMPARE( mTranslator->translateText( QString( "0123456789" ) ), QString( "0123456789" ) ); + //finds name latin name translator + QCOMPARE( mTranslator->translateText( QString( "Nokia" ) ), QString( "66542" ) ); const int ucsize = 9; // 1 2 3 4 5 6 7 8 9 const QChar thaiName1[] = {0x0E01,0x0E06,0x0E0A,0x0E0E,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A }; - QCOMPARE( mTranslator->translate( QString( thaiName1,ucsize ) ), QString( "123456789" ) ); + QCOMPARE( mTranslator->translateText( QString( thaiName1,ucsize ) ), QString( "123456789" ) ); // 1 2 * 4 5 6 # 8 9 const QChar thaiName2[] = {0x0E01,0x0E06,0x0E2F,0x0E0E,0x0E14,0x0E19,0x0E30,0x0E23,0x0E2A }; - QCOMPARE( mTranslator->translate( QString( thaiName2,ucsize ) ), QString( "1245689" ) ); + QCOMPARE( mTranslator->translateText( QString( thaiName2,ucsize ) ), QString( "1245689" ) ); } +void UT_LogsPredictiveThai12KeyTranslator::testTranslatePattern() +{ + QCOMPARE( mTranslator->translatePattern( QString( "0123456789" ) ), QString( "0123456789" ) ); + QCOMPARE( mTranslator->translatePattern( QString( "*0123##456*789*" ) ), QString( "0123456789" ) ); + +} + void UT_LogsPredictiveThai12KeyTranslator::testTranslateChar() { - - QCOMPARE( mTranslator->translateChar( QChar('0') ), QChar('0') ); - QCOMPARE( mTranslator->translateChar( QChar('1') ), QChar('1') ); - QCOMPARE( mTranslator->translateChar( QChar('N') ), QChar() ); - QCOMPARE( mTranslator->translateChar( QChar('*') ), QChar() ); - QCOMPARE( mTranslator->translateChar( QChar('#') ), QChar() ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E01) ), QChar('1') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E06) ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E0A) ), QChar('3') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E0E) ), QChar('4') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E14) ), QChar('5') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E19) ), QChar('6') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E1E) ), QChar('7') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E23) ), QChar('8') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E2A) ), QChar('9') ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E2F) ), QChar() ); - QCOMPARE( mTranslator->translateChar( QChar(0x0E30) ), QChar() ); + bool ok; + + QCOMPARE( mTranslator->translateChar( QChar('0'), ok ), QChar('0') ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar('1'), ok ), QChar('1') ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar('N'), ok ), QChar() ); + QVERIFY( !ok ); + QCOMPARE( mTranslator->translateChar( QChar('*'), ok ), QChar() ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar('#'), ok ), QChar() ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E01), ok ), QChar('1') ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E06), ok ), QChar('2') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E0A), ok ), QChar('3') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E0E), ok ), QChar('4') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E14), ok ), QChar('5') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E19), ok ), QChar('6') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E1E), ok ), QChar('7') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E23), ok ), QChar('8') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E2A), ok ), QChar('9') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E2F), ok ), QChar() ); + QVERIFY( ok ); + QCOMPARE( mTranslator->translateChar( QChar(0x0E30), ok ), QChar() ); + QVERIFY( ok ); } +void UT_LogsPredictiveThai12KeyTranslator::testEncodes() +{ + //thai + const int ucsize = 9; + const QChar thaiName2[] = {0x0E01,0x0E06,0x0E2F,0x0E0E,0x0E14,0x0E19,0x0E30,0x0E23,0x0E2A }; + + QVERIFY( mTranslator->encodes( QString( thaiName2,ucsize ) ) ); + + //china + QString uni1; + uni1.append(QChar(0x4E0E)); + uni1.append(QChar(0x4E0F)); + QVERIFY( !mTranslator->encodes( uni1) ); + + QVERIFY( !mTranslator->encodes( QString( "Zulu" ) ) ); + + +} + + diff -r 7119b73b84d6 -r e52d42f9500c logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivetranslator.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivetranslator.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivetranslator.cpp Thu May 27 12:51:53 2010 +0300 @@ -19,6 +19,8 @@ #include "ut_logspredictivetranslator.h" #include "logspredictivetranslator.h" +#include "logspredictivelatin12keytranslator.h" +#include "logspredictivethai12keytranslator.h" #include @@ -52,7 +54,10 @@ { QVERIFY( mTranslator ); QVERIFY( mTranslator->mKeyMap ); + QVERIFY( mTranslator->mNameTranslator == 0 ); + QVERIFY( LogsPredictiveTranslator::mInstance != 0 ); LogsPredictiveTranslator::deleteInstance(); + QVERIFY( LogsPredictiveTranslator::mInstance == 0 ); mTranslator = 0; HbInputLanguage thai( QLocale::Thai ); @@ -61,31 +66,84 @@ mTranslator = LogsPredictiveTranslator::instance(); QVERIFY( mTranslator ); QVERIFY( mTranslator->mKeyMap ); + QVERIFY( mTranslator->mNameTranslator == 0 ); + QVERIFY( LogsPredictiveTranslator::mInstance != 0 ); + + LogsPredictiveTranslator::deleteInstance(); + QVERIFY( LogsPredictiveTranslator::mInstance == 0 ); + mTranslator = 0; } - void UT_LogsPredictiveTranslator::testTranslate() { QString test1( "12345" ); + bool ok; QCOMPARE( mTranslator->LogsPredictiveTranslator::translate( test1 ).length(), test1.length() ); - QCOMPARE( mTranslator->LogsPredictiveTranslator::translate( test1, 2 ).length(), + QCOMPARE( mTranslator->LogsPredictiveTranslator::translate( test1, &ok, 2 ).length(), 2 ); + QVERIFY( ok ); + +} + +void UT_LogsPredictiveTranslator::testTranslatePattern() +{ + QString test1( "12345" ); + + QCOMPARE( mTranslator->LogsPredictiveTranslator::translatePattern( test1 ).length(), + test1.length() ); + +} + + +void UT_LogsPredictiveTranslator::testTranslateText() +{ + QString test1( "12345" ); + + QCOMPARE( mTranslator->translateText( test1 ).length(), test1.length() ); + + //text is thai, input lang latin + const int ucsize = 9; + // 1 2 3 4 5 6 7 8 9 + const QChar thaiName1[] = {0x0E01,0x0E06,0x0E0A,0x0E0E,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A }; + QCOMPARE( mTranslator->translateText( QString( thaiName1,ucsize ) ), QString( "123456789" ) ); + } -void UT_LogsPredictiveTranslator::testStartsWith() +void UT_LogsPredictiveTranslator::testNameTranslator() { - QCOMPARE( mTranslator->startsWith( QString("" ), QString("") ), 0 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("") ), 0 ); - QCOMPARE( mTranslator->startsWith( QString("" ), QString("123") ), 0 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("1234") ), 0 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("1") ), 1 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("123") ), 3 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("12"), true ), 2 ); - QCOMPARE( mTranslator->startsWith( QString("123" ), QString("12"), false ), 2 ); + QString test1( "12345" ); + QCOMPARE( mTranslator->mib(), MIBenumLatin ); + QVERIFY( !mTranslator->mNameTranslator ); + QCOMPARE( mTranslator->nameTranslator( test1 ).mib(), MIBenumLatin ); + QVERIFY( mTranslator->mNameTranslator ); + + //text is thai, input lang latin + const int ucsize = 9; + // 1 2 3 4 5 6 7 8 9 + const QChar thaiName1[] = {0x0E01,0x0E06,0x0E0A,0x0E0E,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A }; + QCOMPARE( mTranslator->nameTranslator( QString( thaiName1,ucsize ) ).mib(), MIBenumThai ); + QVERIFY( mTranslator->mNameTranslator ); + QCOMPARE( mTranslator->mNameTranslator->mib(), MIBenumThai ); + QCOMPARE( mTranslator->mib(), MIBenumLatin ); + + QCOMPARE( mTranslator->nameTranslator( QString( thaiName1,ucsize ) ).mib(), MIBenumThai ); + QVERIFY( mTranslator->mNameTranslator ); + QCOMPARE( mTranslator->mNameTranslator->mib(), MIBenumThai ); + QCOMPARE( mTranslator->mib(), MIBenumLatin ); + + + //china + QString uni; + uni.append(QChar(0x0219)); + uni.append(QChar(0x4E0F)); + QCOMPARE( mTranslator->nameTranslator( uni ).mib(), MIBenumLatin ); + QVERIFY( !mTranslator->mNameTranslator ); + QCOMPARE( mTranslator->mib(), MIBenumLatin ); + } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/inc/logsengdefs.h --- a/logsui/logsengine/inc/logsengdefs.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/inc/logsengdefs.h Thu May 27 12:51:53 2010 +0300 @@ -31,7 +31,7 @@ const char logsVoipCallIconId[] = "qtg_large_voip"; const char logsRemotePartyInfoIconId[] = "qtg_large_info"; -const char logsCallDurationIconId[] = "qtg_large_callduration"; +const char logsCallDurationIconId[] = "qtg_large_call_duration"; const char logsCallDateAndTimeIconId[] = "qtg_large_calendar"; const char logsThumbUnknownId[] = "qtg_large_avatar"; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/logssymbianos/inc/logseventparser.h --- a/logsui/logsengine/logssymbianos/inc/logseventparser.h Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/logssymbianos/inc/logseventparser.h Thu May 27 12:51:53 2010 +0300 @@ -54,7 +54,7 @@ /** * Resolve event type based on available information. */ - static void resolveEventType(LogsEvent& dest); + static bool resolveEventType(LogsEvent& dest); static void eventTypeSpecificParsing(LogsEvent& dest); diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/logssymbianos/src/logseventparser.cpp --- a/logsui/logsengine/logssymbianos/src/logseventparser.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/logssymbianos/src/logseventparser.cpp Thu May 27 12:51:53 2010 +0300 @@ -103,6 +103,18 @@ dest.setDuration(source.Duration()); } + LogsEventData* logsEventData = new LogsEventData(); + if ( logsEventData->parse(source) != 0 ){ + // Parsing failed, clear event data + delete logsEventData; + dest.setLogsEventData( 0 ); + } else { + dest.setLogsEventData( logsEventData ); //Ownership transferred + } + + // Resolve event type based on current event data + dataChanged |= resolveEventType(dest); + int currLogId = dest.logId(); int newLogId = source.Id(); bool logIdChanged( currLogId != newLogId ); @@ -114,19 +126,7 @@ dest.mEventState = LogsEvent::EventNotUpdated; } dest.setLogId( newLogId ); // Store unique identifier - - LogsEventData* logsEventData = new LogsEventData(); - if ( logsEventData->parse(source) != 0 ){ - // Parsing failed, clear event data - delete logsEventData; - dest.setLogsEventData( 0 ); - } else { - dest.setLogsEventData( logsEventData ); //Ownership transferred - } - - // Resolve event type based on current event data - resolveEventType(dest); - + eventTypeSpecificParsing(dest); dest.setDuplicates( 0 ); @@ -140,7 +140,7 @@ // LogsEventParser::resolveEventType // ---------------------------------------------------------------------------- // -void LogsEventParser::resolveEventType(LogsEvent& dest) +bool LogsEventParser::resolveEventType(LogsEvent& dest) { LogsEvent::LogsEventType type( LogsEvent::TypeVoiceCall ); if ( dest.mLogsEventData ){ @@ -157,7 +157,7 @@ } } LOGS_QDEBUG_2( "LogsEventParser::resolveEventType, type:", type ) - dest.setEventType( type ); + return dest.setEventType( type ); } // ---------------------------------------------------------------------------- diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/logssymbianos/tsrc/stubs/qtcontacts_stubs.cpp --- a/logsui/logsengine/logssymbianos/tsrc/stubs/qtcontacts_stubs.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/logssymbianos/tsrc/stubs/qtcontacts_stubs.cpp Thu May 27 12:51:53 2010 +0300 @@ -97,25 +97,18 @@ } -QList QContactManager::contacts( - const QContactFilter& filter, const QList& sortOrders) const -{ - Q_UNUSED(filter) - Q_UNUSED(sortOrders) - QList list; - if ( QString("11112222").endsWith(logsTestNumber) ){ - list.append( logsTestContactId ); - } - return list; -} - QList QContactManager::contactIds( const QContactFilter& filter, const QList& sortOrders) const { Q_UNUSED(filter) Q_UNUSED(sortOrders) QList list; - if ( QString("11112222").endsWith(logsTestNumber) ){ + QString matchNum = logsTestNumber; + // simulate contact API behavior + if ( matchNum.length() > 4 && matchNum.startsWith('+') ){ + matchNum.remove(0,4); + } + if ( QString("11112222").endsWith(matchNum) ){ list.append( logsTestContactId ); } return list; @@ -131,6 +124,16 @@ return contact; } +QContact QContactManager::contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint) const +{ + Q_UNUSED(fetchHint) + QContact contact; + if ( contactId == logsTestContactId ) { + logsTestContactLocalId = logsTestContactId; + } + return contact; +} + // ---------------------------------------------------------------------------- // QContactDetailFilter diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/logssymbianos/tsrc/ut_logssymbianos/src/ut_logseventparser.cpp --- a/logsui/logsengine/logssymbianos/tsrc/ut_logssymbianos/src/ut_logseventparser.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/logssymbianos/tsrc/ut_logssymbianos/src/ut_logseventparser.cpp Thu May 27 12:51:53 2010 +0300 @@ -166,26 +166,26 @@ LogsEventParser::resolveEventType(*mEvent); QVERIFY( mEvent->eventType() == LogsEvent::TypeVoiceCall ); - // Event data + // Event data, type not changed LogsEventData* eventData = new LogsEventData(); mEvent->setLogsEventData(eventData); - LogsEventParser::resolveEventType(*mEvent); + QVERIFY( !LogsEventParser::resolveEventType(*mEvent) ); QVERIFY( mEvent->eventType() == LogsEvent::TypeVoiceCall ); - + eventData->mIsVoIP = true; - LogsEventParser::resolveEventType(*mEvent); + QVERIFY( LogsEventParser::resolveEventType(*mEvent) ); QVERIFY( mEvent->eventType() == LogsEvent::TypeVoIPCall ); eventData->mIsVoIP = false; eventData->mIsVT = true; - LogsEventParser::resolveEventType(*mEvent); + QVERIFY( LogsEventParser::resolveEventType(*mEvent) ); QVERIFY( mEvent->eventType() == LogsEvent::TypeVideoCall ); // PoC not supported eventData->mIsVoIP = false; eventData->mIsVT = false; eventData->mIsPoC = true; - LogsEventParser::resolveEventType(*mEvent); + QVERIFY( LogsEventParser::resolveEventType(*mEvent) ); QVERIFY( mEvent->eventType() == LogsEvent::TypeUndefined ); // Msgs not supported @@ -193,6 +193,6 @@ eventData->mIsVT = false; eventData->mIsPoC = false; eventData->mMsgPartsNumber = 2; - LogsEventParser::resolveEventType(*mEvent); + QVERIFY( !LogsEventParser::resolveEventType(*mEvent) ); QVERIFY( mEvent->eventType() == LogsEvent::TypeUndefined ); } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/src/logsevent.cpp --- a/logsui/logsengine/src/logsevent.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/src/logsevent.cpp Thu May 27 12:51:53 2010 +0300 @@ -257,9 +257,11 @@ // LogsEvent::setEventType // ---------------------------------------------------------------------------- // -void LogsEvent::setEventType( LogsEventType eventType ) +bool LogsEvent::setEventType( LogsEventType eventType ) { + bool changed( mEventType != eventType ); mEventType = eventType; + return changed; } // ---------------------------------------------------------------------------- @@ -519,10 +521,9 @@ phoneFilter.setValue(mLogsEventData->remoteUrl()); phoneFilter.setMatchFlags(QContactFilter::MatchExactly); } else if ( !mNumber.isEmpty() ){ - // remove non-significant parts from number for better matching phoneFilter.setDetailDefinitionName( QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber); - phoneFilter.setValue(stripPhoneNumber(mNumber)); + phoneFilter.setValue(mNumber); phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); } else { // Searching not possible @@ -553,39 +554,6 @@ return contactNameStr; } - -// ---------------------------------------------------------------------------- -// LogsEvent::stripPhoneNumber -// ---------------------------------------------------------------------------- -// -QString LogsEvent::stripPhoneNumber(const QString& num) -{ - // Remove international part from beginning if starts with '+' - // and leading digit can be removed if doesn't start with '+' - // NOTE: since international part is not fixed length, this - // approach is not bulletproof (i.e. if international part is - // only one digit long, part of group identification code is ignored - // which might lead to incorrect matching in case where user - // would have two contacts with same subscriber number part but for - // different operator (quite unlikely). - - if ( num.length() == 0 ){ - return num; - } - QString modifiedNum( num ); - if ( modifiedNum.at(0) == '+' ) { - // QString handles automatically case of removing too much - const int removePlusAndInternationalPart = 4; - modifiedNum.remove( 0, removePlusAndInternationalPart ); - } - else { - const int removeFirstDigit = 1; - modifiedNum.remove( 0, removeFirstDigit ); - } - - return modifiedNum; -} - // ---------------------------------------------------------------------------- // LogsEvent::parseContactName // ---------------------------------------------------------------------------- diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/src/logsmatchesmodel.cpp --- a/logsui/logsengine/src/logsmatchesmodel.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/src/logsmatchesmodel.cpp Thu May 27 12:51:53 2010 +0300 @@ -714,5 +714,5 @@ } contactName = contactName.trimmed(); - contactNumber = entry.phoneNumber().richText(); + contactNumber = entry.phoneNumber().text(); } diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/src/logsmodel.cpp --- a/logsui/logsengine/src/logsmodel.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/src/logsmodel.cpp Thu May 27 12:51:53 2010 +0300 @@ -368,11 +368,13 @@ qreal totalwidth = 0; int x = 0; if (fontMetrics.width(fullString) > maxwidth){ - maxwidth = maxwidth - fontMetrics.width(tr("...")+secondarystring); + maxwidth = maxwidth - fontMetrics.width(tr("...")+secondarystring); for (x = 0; (x < basestring.count()) && (totalwidth < maxwidth); x++){ totalwidth = totalwidth + fontMetrics.width(basestring[x]); } - if ( ( totalwidth > maxwidth ) && ( x>0 ) ) x--; + if ( x>1 ){ + x -= 2; + } return basestring.left(x) + tr("...") + secondarystring; } else { return fullString; diff -r 7119b73b84d6 -r e52d42f9500c logsui/logsengine/tsrc/symbianos_stub/logseventparser_stub.cpp --- a/logsui/logsengine/tsrc/symbianos_stub/logseventparser_stub.cpp Fri May 14 15:52:41 2010 +0300 +++ b/logsui/logsengine/tsrc/symbianos_stub/logseventparser_stub.cpp Thu May 27 12:51:53 2010 +0300 @@ -44,8 +44,9 @@ // LogsEventParser::resolveEventType // ---------------------------------------------------------------------------- // -void LogsEventParser::resolveEventType(LogsEvent& /*dest*/) +bool LogsEventParser::resolveEventType(LogsEvent& /*dest*/) { + return false; } // End of file diff -r 7119b73b84d6 -r e52d42f9500c recents_plat/logs_engine_api/inc/logsevent.h --- a/recents_plat/logs_engine_api/inc/logsevent.h Fri May 14 15:52:41 2010 +0300 +++ b/recents_plat/logs_engine_api/inc/logsevent.h Thu May 27 12:51:53 2010 +0300 @@ -288,7 +288,7 @@ void setEventUid( int uid ); - void setEventType( LogsEventType aEventType ); + bool setEventType( LogsEventType aEventType ); void setLogsEventData( LogsEventData* logsEventData );