summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaakko Vuori <qt-info@nokia.com>2010-06-01 08:44:24 +0300
committerJaakko Vuori <qt-info@nokia.com>2010-06-01 08:44:24 +0300
commit5bb329f36534b7fc7ab54e601b0a9eb66f18f87b (patch)
treef2d5613876c677d4eefa4c00544c9534437d6d72
parent18b6647b9948b7bb128b9a4055c4590d399a40e7 (diff)
parent41e5aa514a2052ea6d0f98f469da3f1b3e965b97 (diff)
Merge remote branch 'origin/1.0' into 1.0-symbian-fixes
Conflicts: src/serviceframework/symbian/databasemanagerserver_global.h
-rw-r--r--.gitignore13
-rwxr-xr-xbin/pathhelper59
-rwxr-xr-xbin/purge.sh2
-rw-r--r--bin/rununittests.bat2
-rwxr-xr-xbin/rununittests.sh2
-rwxr-xr-xbin/syncheaders2
-rw-r--r--bin/syncheaders.bat2
-rw-r--r--config.tests/corewlan/corewlantest.mm2
-rw-r--r--config.tests/lbt/lbt.pro3
-rw-r--r--config.tests/lbt/main.cpp2
-rw-r--r--config.tests/maemo5-contacts/maemo5-contacts.pro11
-rw-r--r--config.tests/maemo5-contacts/main.cpp8
-rw-r--r--config.tests/networkmanager/main.cpp2
-rw-r--r--config.tests/occ/main.cpp2
-rw-r--r--config.tests/qmf/main.cpp2
-rw-r--r--config.tests/sensors_s60_31/main.cpp2
-rw-r--r--config.tests/sensors_symbian/main.cpp2
-rw-r--r--config.tests/snap/main.cpp2
-rw-r--r--config.tests/symbiancntsim/main.cpp2
-rwxr-xr-xconfigure47
-rw-r--r--configure.bat33
-rw-r--r--dist/changes-1.0.0-beta15
-rw-r--r--dist/changes-1.0.1152
-rw-r--r--doc/html/3rdparty.html4
-rw-r--r--doc/html/annotated.html4
-rw-r--r--doc/html/audiorecorder-audiorecorder-cpp.html6
-rw-r--r--doc/html/audiorecorder-audiorecorder-h.html6
-rw-r--r--doc/html/audiorecorder-audiorecorder-pro.html4
-rw-r--r--doc/html/audiorecorder-main-cpp.html6
-rw-r--r--doc/html/audiorecorder.html4
-rw-r--r--doc/html/battery-charge-battery-charge-pro.html6
-rw-r--r--doc/html/battery-charge-battery-publisher-battery-publisher-pro.html4
-rw-r--r--doc/html/battery-charge-battery-publisher-batterypublisher-cpp.html6
-rw-r--r--doc/html/battery-charge-battery-publisher-batterypublisher-h.html6
-rw-r--r--doc/html/battery-charge-battery-publisher-main-cpp.html6
-rw-r--r--doc/html/battery-charge-battery-subscriber-battery-subscriber-pro.html33
-rw-r--r--doc/html/battery-charge-battery-subscriber-battery-subscriber-qrc.html28
-rw-r--r--doc/html/battery-charge.html13
-rw-r--r--doc/html/bearer-management.html20
-rw-r--r--doc/html/bearer.html4
-rw-r--r--doc/html/bearercloud-bearercloud-cpp.html6
-rw-r--r--doc/html/bearercloud-bearercloud-h.html6
-rw-r--r--doc/html/bearercloud-bearercloud-pro.html4
-rw-r--r--doc/html/bearercloud-cloud-cpp.html6
-rw-r--r--doc/html/bearercloud-cloud-h.html6
-rw-r--r--doc/html/bearercloud-icons-qrc.html4
-rw-r--r--doc/html/bearercloud-lan-svg.html4
-rw-r--r--doc/html/bearercloud-main-cpp.html6
-rw-r--r--doc/html/bearercloud-unknown-svg.html4
-rw-r--r--doc/html/bearercloud-wlan-svg.html4
-rw-r--r--doc/html/bearercloud.html4
-rw-r--r--doc/html/bearermonitor-bearermonitor-cpp.html6
-rw-r--r--doc/html/bearermonitor-bearermonitor-h.html6
-rw-r--r--doc/html/bearermonitor-bearermonitor-pro.html4
-rw-r--r--doc/html/bearermonitor-main-cpp.html6
-rw-r--r--doc/html/bearermonitor-sessionwidget-cpp.html4
-rw-r--r--doc/html/bearermonitor-sessionwidget-h.html4
-rw-r--r--doc/html/bearermonitor.html4
-rw-r--r--doc/html/bluetoothtransferplugin-bluetoothtransfer-cpp.html6
-rw-r--r--doc/html/bluetoothtransferplugin-bluetoothtransfer-h.html6
-rw-r--r--doc/html/bluetoothtransferplugin-bluetoothtransferplugin-cpp.html6
-rw-r--r--doc/html/bluetoothtransferplugin-bluetoothtransferplugin-h.html6
-rw-r--r--doc/html/bluetoothtransferplugin-bluetoothtransferplugin-pro.html4
-rw-r--r--doc/html/bluetoothtransferplugin.html4
-rw-r--r--doc/html/classes.html4
-rw-r--r--doc/html/classlists.html4
-rw-r--r--doc/html/contacts.html4
-rw-r--r--doc/html/contactsasync.html4
-rw-r--r--doc/html/contactsengines.html4
-rw-r--r--doc/html/contactsschema.html4
-rw-r--r--doc/html/contactssync.html4
-rw-r--r--doc/html/contactsusagehtml.html4
-rw-r--r--doc/html/creating-a-sensor-plugin.html4
-rw-r--r--doc/html/declarative-sfw-dialer-declarative-sfw-dialer-pro.html10
-rw-r--r--doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-cpp.html59
-rw-r--r--doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-h.html59
-rw-r--r--doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html11
-rw-r--r--doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html59
-rw-r--r--doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html59
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-main-cpp.html93
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html189
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html146
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-resource-qrc.html32
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-sfwexample-cpp.html93
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-sfwexample-h.html86
-rw-r--r--doc/html/declarative-sfw-dialer-sfwexample-sfwexample-pro.html44
-rw-r--r--doc/html/declarative-sfw-dialer-voipdialer-voipdialer-cpp.html59
-rw-r--r--doc/html/declarative-sfw-dialer-voipdialer-voipdialer-h.html59
-rw-r--r--doc/html/declarative-sfw-dialer-voipdialer-voipdialer-pro.html12
-rw-r--r--doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html59
-rw-r--r--doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html59
-rw-r--r--doc/html/declarative-sfw-dialer.html68
-rw-r--r--doc/html/declarative-sfw-notes-declarative-sfw-notes-pro.html42
-rw-r--r--doc/html/declarative-sfw-notes-main-cpp.html86
-rw-r--r--doc/html/declarative-sfw-notes-qdeclarativeservice-cpp.html187
-rw-r--r--doc/html/declarative-sfw-notes-qdeclarativeservice-h.html142
-rw-r--r--doc/html/declarative-sfw-notes-sfwnotes-cpp.html90
-rw-r--r--doc/html/declarative-sfw-notes-sfwnotes-qrc.html35
-rw-r--r--doc/html/declarative-sfw-notes.html26
-rw-r--r--doc/html/editions.html4
-rw-r--r--doc/html/examples.html4
-rw-r--r--doc/html/fetchgooglemaps-fetchgooglemaps-pro.html28
-rw-r--r--doc/html/fetchgooglemaps-main-cpp.html6
-rw-r--r--doc/html/fetchgooglemaps-mapwindow-cpp.html12
-rw-r--r--doc/html/fetchgooglemaps-mapwindow-h.html10
-rw-r--r--doc/html/fetchgooglemaps.html4
-rw-r--r--doc/html/filemanagerplugin-filemanagerplugin-cpp.html6
-rw-r--r--doc/html/filemanagerplugin-filemanagerplugin-h.html6
-rw-r--r--doc/html/filemanagerplugin-filemanagerplugin-pro.html4
-rw-r--r--doc/html/filemanagerplugin-filemanagerstorage-cpp.html6
-rw-r--r--doc/html/filemanagerplugin-filemanagerstorage-h.html6
-rw-r--r--doc/html/filemanagerplugin-filemanagertransfer-cpp.html6
-rw-r--r--doc/html/filemanagerplugin-filemanagertransfer-h.html6
-rw-r--r--doc/html/filemanagerplugin.html4
-rw-r--r--doc/html/flickrdemo-connectivityhelper-cpp.html8
-rw-r--r--doc/html/flickrdemo-connectivityhelper-h.html12
-rw-r--r--doc/html/flickrdemo-flickr-icon-svg.html4
-rw-r--r--doc/html/flickrdemo-flickrdemo-cpp.html12
-rw-r--r--doc/html/flickrdemo-flickrdemo-h.html6
-rw-r--r--doc/html/flickrdemo-flickrdemo-pro.html4
-rw-r--r--doc/html/flickrdemo-main-cpp.html6
-rw-r--r--doc/html/flickrdemo-xqlistwidget-cpp.html6
-rw-r--r--doc/html/flickrdemo-xqlistwidget-h.html6
-rw-r--r--doc/html/flickrdemo.html4
-rw-r--r--doc/html/functions.html4
-rw-r--r--doc/html/future.html20
-rw-r--r--doc/html/hierarchy.html4
-rw-r--r--doc/html/images/publish-subscribe-publisher.pngbin15641 -> 21721 bytes
-rw-r--r--doc/html/images/publish-subscribe-subscriber.pngbin16174 -> 20696 bytes
-rw-r--r--doc/html/index.html43
-rw-r--r--doc/html/installation.html6
-rw-r--r--doc/html/keepintouch-addressfinder-cpp.html6
-rw-r--r--doc/html/keepintouch-addressfinder-h.html6
-rw-r--r--doc/html/keepintouch-keepintouch-pro.html4
-rw-r--r--doc/html/keepintouch-main-cpp.html6
-rw-r--r--doc/html/keepintouch.html4
-rw-r--r--doc/html/lgpl.html6
-rw-r--r--doc/html/lightmaps-lightmaps-cpp.html15
-rw-r--r--doc/html/lightmaps-lightmaps-pro.html4
-rw-r--r--doc/html/lightmaps.html4
-rw-r--r--doc/html/location-overview.html4
-rw-r--r--doc/html/location.html4
-rw-r--r--doc/html/logfilepositionsource-clientapplication-cpp.html6
-rw-r--r--doc/html/logfilepositionsource-clientapplication-h.html6
-rw-r--r--doc/html/logfilepositionsource-logfilepositionsource-cpp.html6
-rw-r--r--doc/html/logfilepositionsource-logfilepositionsource-h.html6
-rw-r--r--doc/html/logfilepositionsource-logfilepositionsource-pro.html4
-rw-r--r--doc/html/logfilepositionsource-main-cpp.html6
-rw-r--r--doc/html/logfilepositionsource.html4
-rw-r--r--doc/html/messaging.html4
-rw-r--r--doc/html/mobility.html4
-rw-r--r--doc/html/multimedia.html110
-rw-r--r--doc/html/notesmanagerplugin-note-h.html6
-rw-r--r--doc/html/notesmanagerplugin-notesmanager-cpp.html6
-rw-r--r--doc/html/notesmanagerplugin-notesmanager-h.html6
-rw-r--r--doc/html/notesmanagerplugin-notesmanagerplugin-cpp.html6
-rw-r--r--doc/html/notesmanagerplugin-notesmanagerplugin-h.html6
-rw-r--r--doc/html/notesmanagerplugin-notesmanagerplugin-pro.html6
-rw-r--r--doc/html/notesmanagerplugin.html4
-rw-r--r--doc/html/opensourceedition.html4
-rw-r--r--doc/html/player-main-cpp.html6
-rw-r--r--doc/html/player-mediakeysobserver-cpp.html6
-rw-r--r--doc/html/player-mediakeysobserver-h.html6
-rw-r--r--doc/html/player-player-cpp.html9
-rw-r--r--doc/html/player-player-h.html6
-rw-r--r--doc/html/player-player-pro.html4
-rw-r--r--doc/html/player-playercontrols-cpp.html6
-rw-r--r--doc/html/player-playercontrols-h.html6
-rw-r--r--doc/html/player-playlistmodel-cpp.html6
-rw-r--r--doc/html/player-playlistmodel-h.html6
-rw-r--r--doc/html/player-videowidget-cpp.html6
-rw-r--r--doc/html/player-videowidget-h.html6
-rw-r--r--doc/html/player.html4
-rw-r--r--doc/html/preview.html4
-rw-r--r--doc/html/publ-subs.html4
-rw-r--r--doc/html/publish-subscribe-main-cpp.html6
-rw-r--r--doc/html/publish-subscribe-publish-subscribe-pro.html4
-rw-r--r--doc/html/publish-subscribe-publisherdialog-cpp.html20
-rw-r--r--doc/html/publish-subscribe-publisherdialog-h.html6
-rw-r--r--doc/html/publish-subscribe-subscriberdialog-cpp.html13
-rw-r--r--doc/html/publish-subscribe-subscriberdialog-h.html6
-rw-r--r--doc/html/publish-subscribe.html27
-rw-r--r--doc/html/qabstractsecuritysession-members.html4
-rw-r--r--doc/html/qabstractsecuritysession.html4
-rw-r--r--doc/html/qabstractvaluespacelayer-members.html4
-rw-r--r--doc/html/qabstractvaluespacelayer.html4
-rw-r--r--doc/html/qaccelerometer-members.html6
-rw-r--r--doc/html/qaccelerometer.html4
-rw-r--r--doc/html/qaccelerometerfilter-members.html4
-rw-r--r--doc/html/qaccelerometerfilter.html4
-rw-r--r--doc/html/qaccelerometerreading-members.html4
-rw-r--r--doc/html/qaccelerometerreading.html4
-rw-r--r--doc/html/qambientlightfilter-members.html4
-rw-r--r--doc/html/qambientlightfilter.html4
-rw-r--r--doc/html/qambientlightreading-members.html4
-rw-r--r--doc/html/qambientlightreading.html4
-rw-r--r--doc/html/qambientlightsensor-members.html6
-rw-r--r--doc/html/qambientlightsensor.html4
-rw-r--r--doc/html/qaudiocapturesource-members.html4
-rw-r--r--doc/html/qaudiocapturesource.html4
-rw-r--r--doc/html/qaudioencodercontrol-members.html4
-rw-r--r--doc/html/qaudioencodercontrol.html4
-rw-r--r--doc/html/qaudioencodersettings-members.html4
-rw-r--r--doc/html/qaudioencodersettings.html4
-rw-r--r--doc/html/qaudioendpointselector-members.html4
-rw-r--r--doc/html/qaudioendpointselector.html4
-rw-r--r--doc/html/qcompass-members.html6
-rw-r--r--doc/html/qcompass.html4
-rw-r--r--doc/html/qcompassfilter-members.html4
-rw-r--r--doc/html/qcompassfilter.html4
-rw-r--r--doc/html/qcompassreading-members.html4
-rw-r--r--doc/html/qcompassreading.html4
-rw-r--r--doc/html/qcontact-members.html4
-rw-r--r--doc/html/qcontact.html4
-rw-r--r--doc/html/qcontactabstractrequest-members.html4
-rw-r--r--doc/html/qcontactabstractrequest.html5
-rw-r--r--doc/html/qcontactaddress-members.html4
-rw-r--r--doc/html/qcontactaddress.html4
-rw-r--r--doc/html/qcontactanniversary-members.html4
-rw-r--r--doc/html/qcontactanniversary.html4
-rw-r--r--doc/html/qcontactavatar-members.html4
-rw-r--r--doc/html/qcontactavatar.html4
-rw-r--r--doc/html/qcontactbirthday-members.html4
-rw-r--r--doc/html/qcontactbirthday.html4
-rw-r--r--doc/html/qcontactchangelogfilter-members.html4
-rw-r--r--doc/html/qcontactchangelogfilter.html4
-rw-r--r--doc/html/qcontactchangeset-members.html4
-rw-r--r--doc/html/qcontactchangeset.html4
-rw-r--r--doc/html/qcontactdetail-members.html4
-rw-r--r--doc/html/qcontactdetail.html4
-rw-r--r--doc/html/qcontactdetaildefinition-members.html4
-rw-r--r--doc/html/qcontactdetaildefinition.html4
-rw-r--r--doc/html/qcontactdetaildefinitionfetchrequest-members.html4
-rw-r--r--doc/html/qcontactdetaildefinitionfetchrequest.html4
-rw-r--r--doc/html/qcontactdetaildefinitionremoverequest-members.html4
-rw-r--r--doc/html/qcontactdetaildefinitionremoverequest.html4
-rw-r--r--doc/html/qcontactdetaildefinitionsaverequest-members.html4
-rw-r--r--doc/html/qcontactdetaildefinitionsaverequest.html4
-rw-r--r--doc/html/qcontactdetailfielddefinition-members.html4
-rw-r--r--doc/html/qcontactdetailfielddefinition.html4
-rw-r--r--doc/html/qcontactdetailfilter-members.html4
-rw-r--r--doc/html/qcontactdetailfilter.html4
-rw-r--r--doc/html/qcontactdetailrangefilter-members.html4
-rw-r--r--doc/html/qcontactdetailrangefilter.html34
-rw-r--r--doc/html/qcontactdisplaylabel-members.html4
-rw-r--r--doc/html/qcontactdisplaylabel.html4
-rw-r--r--doc/html/qcontactemailaddress-members.html4
-rw-r--r--doc/html/qcontactemailaddress.html4
-rw-r--r--doc/html/qcontactfamily-members.html4
-rw-r--r--doc/html/qcontactfamily.html4
-rw-r--r--doc/html/qcontactfetchhint-members.html4
-rw-r--r--doc/html/qcontactfetchhint.html4
-rw-r--r--doc/html/qcontactfetchrequest-members.html4
-rw-r--r--doc/html/qcontactfetchrequest.html4
-rw-r--r--doc/html/qcontactfilter-members.html4
-rw-r--r--doc/html/qcontactfilter.html4
-rw-r--r--doc/html/qcontactgender-members.html4
-rw-r--r--doc/html/qcontactgender.html4
-rw-r--r--doc/html/qcontactgeolocation-members.html4
-rw-r--r--doc/html/qcontactgeolocation.html4
-rw-r--r--doc/html/qcontactglobalpresence-members.html4
-rw-r--r--doc/html/qcontactglobalpresence.html4
-rw-r--r--doc/html/qcontactguid-members.html4
-rw-r--r--doc/html/qcontactguid.html4
-rw-r--r--doc/html/qcontactid-members.html4
-rw-r--r--doc/html/qcontactid.html4
-rw-r--r--doc/html/qcontactintersectionfilter-members.html4
-rw-r--r--doc/html/qcontactintersectionfilter.html4
-rw-r--r--doc/html/qcontactinvalidengine-members.html4
-rw-r--r--doc/html/qcontactinvalidengine.html4
-rw-r--r--doc/html/qcontactinvalidfilter-members.html4
-rw-r--r--doc/html/qcontactinvalidfilter.html4
-rw-r--r--doc/html/qcontactlocalidfetchrequest-members.html4
-rw-r--r--doc/html/qcontactlocalidfetchrequest.html4
-rw-r--r--doc/html/qcontactlocalidfilter-members.html4
-rw-r--r--doc/html/qcontactlocalidfilter.html4
-rw-r--r--doc/html/qcontactmanager-members.html4
-rw-r--r--doc/html/qcontactmanager.html4
-rw-r--r--doc/html/qcontactmanagerengine-members.html4
-rw-r--r--doc/html/qcontactmanagerengine.html13
-rw-r--r--doc/html/qcontactmanagerenginefactory-members.html4
-rw-r--r--doc/html/qcontactmanagerenginefactory.html4
-rw-r--r--doc/html/qcontactmemoryengine-members.html4
-rw-r--r--doc/html/qcontactmemoryengine.html4
-rw-r--r--doc/html/qcontactname-members.html4
-rw-r--r--doc/html/qcontactname.html4
-rw-r--r--doc/html/qcontactnickname-members.html4
-rw-r--r--doc/html/qcontactnickname.html4
-rw-r--r--doc/html/qcontactnote-members.html4
-rw-r--r--doc/html/qcontactnote.html4
-rw-r--r--doc/html/qcontactonlineaccount-members.html4
-rw-r--r--doc/html/qcontactonlineaccount.html4
-rw-r--r--doc/html/qcontactorganization-members.html4
-rw-r--r--doc/html/qcontactorganization.html4
-rw-r--r--doc/html/qcontactphonenumber-members.html4
-rw-r--r--doc/html/qcontactphonenumber.html4
-rw-r--r--doc/html/qcontactpresence-members.html4
-rw-r--r--doc/html/qcontactpresence.html4
-rw-r--r--doc/html/qcontactrelationship-members.html4
-rw-r--r--doc/html/qcontactrelationship.html4
-rw-r--r--doc/html/qcontactrelationshipfetchrequest-members.html4
-rw-r--r--doc/html/qcontactrelationshipfetchrequest.html4
-rw-r--r--doc/html/qcontactrelationshipfilter-members.html4
-rw-r--r--doc/html/qcontactrelationshipfilter.html4
-rw-r--r--doc/html/qcontactrelationshipremoverequest-members.html4
-rw-r--r--doc/html/qcontactrelationshipremoverequest.html4
-rw-r--r--doc/html/qcontactrelationshipsaverequest-members.html4
-rw-r--r--doc/html/qcontactrelationshipsaverequest.html4
-rw-r--r--doc/html/qcontactremoverequest-members.html4
-rw-r--r--doc/html/qcontactremoverequest.html4
-rw-r--r--doc/html/qcontactringtone-members.html4
-rw-r--r--doc/html/qcontactringtone.html4
-rw-r--r--doc/html/qcontactsaverequest-members.html4
-rw-r--r--doc/html/qcontactsaverequest.html4
-rw-r--r--doc/html/qcontactsortorder-members.html4
-rw-r--r--doc/html/qcontactsortorder.html4
-rw-r--r--doc/html/qcontactsynctarget-members.html4
-rw-r--r--doc/html/qcontactsynctarget.html4
-rw-r--r--doc/html/qcontacttag-members.html4
-rw-r--r--doc/html/qcontacttag.html14
-rw-r--r--doc/html/qcontactthumbnail-members.html4
-rw-r--r--doc/html/qcontactthumbnail.html4
-rw-r--r--doc/html/qcontacttimestamp-members.html4
-rw-r--r--doc/html/qcontacttimestamp.html4
-rw-r--r--doc/html/qcontacttype-members.html4
-rw-r--r--doc/html/qcontacttype.html4
-rw-r--r--doc/html/qcontactunionfilter-members.html4
-rw-r--r--doc/html/qcontactunionfilter.html4
-rw-r--r--doc/html/qcontacturl-members.html4
-rw-r--r--doc/html/qcontacturl.html4
-rw-r--r--doc/html/qgeoareamonitor-members.html4
-rw-r--r--doc/html/qgeoareamonitor.html4
-rw-r--r--doc/html/qgeocoordinate-members.html4
-rw-r--r--doc/html/qgeocoordinate.html4
-rw-r--r--doc/html/qgeopositioninfo-members.html4
-rw-r--r--doc/html/qgeopositioninfo.html4
-rw-r--r--doc/html/qgeopositioninfosource-members.html4
-rw-r--r--doc/html/qgeopositioninfosource.html4
-rw-r--r--doc/html/qgeosatelliteinfo-members.html4
-rw-r--r--doc/html/qgeosatelliteinfo.html4
-rw-r--r--doc/html/qgeosatelliteinfosource-members.html4
-rw-r--r--doc/html/qgeosatelliteinfosource.html4
-rw-r--r--doc/html/qgraphicsvideoitem-members.html4
-rw-r--r--doc/html/qgraphicsvideoitem.html4
-rw-r--r--doc/html/qimageencodercontrol-members.html4
-rw-r--r--doc/html/qimageencodercontrol.html4
-rw-r--r--doc/html/qimageencodersettings-members.html4
-rw-r--r--doc/html/qimageencodersettings.html4
-rw-r--r--doc/html/qlatin1constant-members.html4
-rw-r--r--doc/html/qlatin1constant.html4
-rw-r--r--doc/html/qmagnetometer-members.html6
-rw-r--r--doc/html/qmagnetometer.html4
-rw-r--r--doc/html/qmagnetometerfilter-members.html4
-rw-r--r--doc/html/qmagnetometerfilter.html4
-rw-r--r--doc/html/qmagnetometerreading-members.html4
-rw-r--r--doc/html/qmagnetometerreading.html4
-rw-r--r--doc/html/qmediacontainercontrol-members.html4
-rw-r--r--doc/html/qmediacontainercontrol.html4
-rw-r--r--doc/html/qmediacontent-members.html4
-rw-r--r--doc/html/qmediacontent.html4
-rw-r--r--doc/html/qmediacontrol-members.html4
-rw-r--r--doc/html/qmediacontrol.html4
-rw-r--r--doc/html/qmediaimageviewer-members.html4
-rw-r--r--doc/html/qmediaimageviewer.html4
-rw-r--r--doc/html/qmediaobject-members.html4
-rw-r--r--doc/html/qmediaobject.html4
-rw-r--r--doc/html/qmediaplayer-members.html4
-rw-r--r--doc/html/qmediaplayer.html4
-rw-r--r--doc/html/qmediaplayercontrol-members.html4
-rw-r--r--doc/html/qmediaplayercontrol.html4
-rw-r--r--doc/html/qmediaplaylist-members.html4
-rw-r--r--doc/html/qmediaplaylist.html4
-rw-r--r--doc/html/qmediaplaylistcontrol-members.html4
-rw-r--r--doc/html/qmediaplaylistcontrol.html4
-rw-r--r--doc/html/qmediaplaylistioplugin-members.html4
-rw-r--r--doc/html/qmediaplaylistioplugin.html4
-rw-r--r--doc/html/qmediaplaylistnavigator-members.html4
-rw-r--r--doc/html/qmediaplaylistnavigator.html4
-rw-r--r--doc/html/qmediaplaylistprovider-members.html4
-rw-r--r--doc/html/qmediaplaylistprovider.html4
-rw-r--r--doc/html/qmediaplaylistreader-members.html4
-rw-r--r--doc/html/qmediaplaylistreader.html4
-rw-r--r--doc/html/qmediaplaylistwriter-members.html4
-rw-r--r--doc/html/qmediaplaylistwriter.html4
-rw-r--r--doc/html/qmediarecorder-members.html4
-rw-r--r--doc/html/qmediarecorder.html4
-rw-r--r--doc/html/qmediarecordercontrol-members.html4
-rw-r--r--doc/html/qmediarecordercontrol.html4
-rw-r--r--doc/html/qmediaresource-members.html4
-rw-r--r--doc/html/qmediaresource.html4
-rw-r--r--doc/html/qmediaservice-members.html4
-rw-r--r--doc/html/qmediaservice.html4
-rw-r--r--doc/html/qmediaservicefeaturesinterface-members.html4
-rw-r--r--doc/html/qmediaservicefeaturesinterface.html4
-rw-r--r--doc/html/qmediaserviceprovider-members.html4
-rw-r--r--doc/html/qmediaserviceprovider.html4
-rw-r--r--doc/html/qmediaserviceproviderhint-members.html4
-rw-r--r--doc/html/qmediaserviceproviderhint.html4
-rw-r--r--doc/html/qmediaserviceproviderplugin-members.html4
-rw-r--r--doc/html/qmediaserviceproviderplugin.html4
-rw-r--r--doc/html/qmediaservicesupporteddevicesinterface-members.html4
-rw-r--r--doc/html/qmediaservicesupporteddevicesinterface.html4
-rw-r--r--doc/html/qmediaservicesupportedformatsinterface-members.html4
-rw-r--r--doc/html/qmediaservicesupportedformatsinterface.html4
-rw-r--r--doc/html/qmediastreamscontrol-members.html4
-rw-r--r--doc/html/qmediastreamscontrol.html4
-rw-r--r--doc/html/qmediatimeinterval-members.html4
-rw-r--r--doc/html/qmediatimeinterval.html4
-rw-r--r--doc/html/qmediatimerange-members.html4
-rw-r--r--doc/html/qmediatimerange.html4
-rw-r--r--doc/html/qmessage-members.html4
-rw-r--r--doc/html/qmessage.html4
-rw-r--r--doc/html/qmessageaccount-members.html4
-rw-r--r--doc/html/qmessageaccount.html4
-rw-r--r--doc/html/qmessageaccountfilter-members.html4
-rw-r--r--doc/html/qmessageaccountfilter.html4
-rw-r--r--doc/html/qmessageaccountid-members.html4
-rw-r--r--doc/html/qmessageaccountid.html4
-rw-r--r--doc/html/qmessageaccountsortorder-members.html4
-rw-r--r--doc/html/qmessageaccountsortorder.html4
-rw-r--r--doc/html/qmessageaddress-members.html4
-rw-r--r--doc/html/qmessageaddress.html4
-rw-r--r--doc/html/qmessagecontentcontainer-members.html4
-rw-r--r--doc/html/qmessagecontentcontainer.html4
-rw-r--r--doc/html/qmessagecontentcontainerid-members.html4
-rw-r--r--doc/html/qmessagecontentcontainerid.html4
-rw-r--r--doc/html/qmessagedatacomparator.html4
-rw-r--r--doc/html/qmessagefilter-members.html4
-rw-r--r--doc/html/qmessagefilter.html4
-rw-r--r--doc/html/qmessagefolder-members.html4
-rw-r--r--doc/html/qmessagefolder.html4
-rw-r--r--doc/html/qmessagefolderfilter-members.html4
-rw-r--r--doc/html/qmessagefolderfilter.html4
-rw-r--r--doc/html/qmessagefolderid-members.html4
-rw-r--r--doc/html/qmessagefolderid.html4
-rw-r--r--doc/html/qmessagefoldersortorder-members.html4
-rw-r--r--doc/html/qmessagefoldersortorder.html4
-rw-r--r--doc/html/qmessageid-members.html4
-rw-r--r--doc/html/qmessageid.html4
-rw-r--r--doc/html/qmessagemanager-members.html4
-rw-r--r--doc/html/qmessagemanager.html4
-rw-r--r--doc/html/qmessageservice-members.html4
-rw-r--r--doc/html/qmessageservice.html4
-rw-r--r--doc/html/qmessagesortorder-members.html4
-rw-r--r--doc/html/qmessagesortorder.html4
-rw-r--r--doc/html/qmetadatacontrol-members.html4
-rw-r--r--doc/html/qmetadatacontrol.html4
-rw-r--r--doc/html/qmlcontacts-contents-default-svg.html4
-rw-r--r--doc/html/qmlcontacts-main-cpp.html17
-rw-r--r--doc/html/qmlcontacts-qmlcontact-cpp.html214
-rw-r--r--doc/html/qmlcontacts-qmlcontact-h.html123
-rw-r--r--doc/html/qmlcontacts-qmlcontactmodel-cpp.html247
-rw-r--r--doc/html/qmlcontacts-qmlcontactmodel-h.html (renamed from doc/html/declarative-sfw-notes-sfwnotes-h.html)71
-rw-r--r--doc/html/qmlcontacts-qmlcontacts-cpp.html203
-rw-r--r--doc/html/qmlcontacts-qmlcontacts-pro.html43
-rw-r--r--doc/html/qmlcontacts-qmlcontacts-qrc.html6
-rw-r--r--doc/html/qmlcontacts-qmlcontactsa-h.html132
-rw-r--r--doc/html/qmlcontacts.html10
-rw-r--r--doc/html/qnetworkconfiguration-members.html4
-rw-r--r--doc/html/qnetworkconfiguration.html4
-rw-r--r--doc/html/qnetworkconfigurationmanager-members.html4
-rw-r--r--doc/html/qnetworkconfigurationmanager.html4
-rw-r--r--doc/html/qnetworksession-members.html4
-rw-r--r--doc/html/qnetworksession.html4
-rw-r--r--doc/html/qnmeapositioninfosource-members.html4
-rw-r--r--doc/html/qnmeapositioninfosource.html4
-rw-r--r--doc/html/qorientationfilter-members.html4
-rw-r--r--doc/html/qorientationfilter.html4
-rw-r--r--doc/html/qorientationreading-members.html4
-rw-r--r--doc/html/qorientationreading.html4
-rw-r--r--doc/html/qorientationsensor-members.html6
-rw-r--r--doc/html/qorientationsensor.html4
-rw-r--r--doc/html/qproximityfilter-members.html4
-rw-r--r--doc/html/qproximityfilter.html4
-rw-r--r--doc/html/qproximityreading-members.html4
-rw-r--r--doc/html/qproximityreading.html4
-rw-r--r--doc/html/qproximitysensor-members.html6
-rw-r--r--doc/html/qproximitysensor.html4
-rw-r--r--doc/html/qradiotuner-members.html4
-rw-r--r--doc/html/qradiotuner.html4
-rw-r--r--doc/html/qradiotunercontrol-members.html4
-rw-r--r--doc/html/qradiotunercontrol.html4
-rw-r--r--doc/html/qrotationfilter-members.html4
-rw-r--r--doc/html/qrotationfilter.html4
-rw-r--r--doc/html/qrotationreading-members.html4
-rw-r--r--doc/html/qrotationreading.html4
-rw-r--r--doc/html/qrotationsensor-members.html6
-rw-r--r--doc/html/qrotationsensor.html4
-rw-r--r--doc/html/qsensor-members.html4
-rw-r--r--doc/html/qsensor.html14
-rw-r--r--doc/html/qsensorbackend-members.html4
-rw-r--r--doc/html/qsensorbackend.html4
-rw-r--r--doc/html/qsensorbackendfactory-members.html4
-rw-r--r--doc/html/qsensorbackendfactory.html4
-rw-r--r--doc/html/qsensorfilter-members.html4
-rw-r--r--doc/html/qsensorfilter.html4
-rw-r--r--doc/html/qsensormanager-members.html4
-rw-r--r--doc/html/qsensormanager.html4
-rw-r--r--doc/html/qsensorplugininterface-members.html4
-rw-r--r--doc/html/qsensorplugininterface.html4
-rw-r--r--doc/html/qsensorreading-members.html4
-rw-r--r--doc/html/qsensorreading.html4
-rw-r--r--doc/html/qservice.html4
-rw-r--r--doc/html/qservicecontext-members.html4
-rw-r--r--doc/html/qservicecontext.html4
-rw-r--r--doc/html/qservicefilter-members.html4
-rw-r--r--doc/html/qservicefilter.html4
-rw-r--r--doc/html/qserviceinterfacedescriptor-members.html4
-rw-r--r--doc/html/qserviceinterfacedescriptor.html4
-rw-r--r--doc/html/qservicemanager-members.html4
-rw-r--r--doc/html/qservicemanager.html4
-rw-r--r--doc/html/qserviceplugininterface-members.html4
-rw-r--r--doc/html/qserviceplugininterface.html4
-rw-r--r--doc/html/qsystemdeviceinfo-members.html4
-rw-r--r--doc/html/qsystemdeviceinfo.html10
-rw-r--r--doc/html/qsystemdisplayinfo-members.html4
-rw-r--r--doc/html/qsystemdisplayinfo.html6
-rw-r--r--doc/html/qsysteminfo-members.html4
-rw-r--r--doc/html/qsysteminfo.html4
-rw-r--r--doc/html/qsystemnetworkinfo-members.html4
-rw-r--r--doc/html/qsystemnetworkinfo.html20
-rw-r--r--doc/html/qsystemscreensaver-members.html4
-rw-r--r--doc/html/qsystemscreensaver.html9
-rw-r--r--doc/html/qsystemstorageinfo-members.html4
-rw-r--r--doc/html/qsystemstorageinfo.html6
-rw-r--r--doc/html/qt-mobility-project-library.index67
-rw-r--r--doc/html/qtapfilter-members.html4
-rw-r--r--doc/html/qtapfilter.html4
-rw-r--r--doc/html/qtapreading-members.html4
-rw-r--r--doc/html/qtapreading.html6
-rw-r--r--doc/html/qtapsensor-members.html6
-rw-r--r--doc/html/qtapsensor.html7
-rw-r--r--doc/html/qtmediaservices.html4
-rw-r--r--doc/html/qtmobility-known-issues.html9
-rw-r--r--doc/html/qtmobility.qhp36
-rw-r--r--doc/html/querymessages-main-cpp.html6
-rw-r--r--doc/html/querymessages-querymessages-pro.html4
-rw-r--r--doc/html/querymessages.html4
-rw-r--r--doc/html/quickstart-main-cpp.html6
-rw-r--r--doc/html/quickstart-quickstart-pro.html6
-rw-r--r--doc/html/quickstart.html26
-rw-r--r--doc/html/qvaluespace.html4
-rw-r--r--doc/html/qvaluespacepublisher-members.html4
-rw-r--r--doc/html/qvaluespacepublisher.html4
-rw-r--r--doc/html/qvaluespacesubscriber-members.html4
-rw-r--r--doc/html/qvaluespacesubscriber.html4
-rw-r--r--doc/html/qversitcontactexporter-members.html4
-rw-r--r--doc/html/qversitcontactexporter.html47
-rw-r--r--doc/html/qversitcontactexporterdetailhandler-members.html4
-rw-r--r--doc/html/qversitcontactexporterdetailhandler.html4
-rw-r--r--doc/html/qversitcontactimporter-members.html4
-rw-r--r--doc/html/qversitcontactimporter.html61
-rw-r--r--doc/html/qversitcontactimporterpropertyhandler-members.html4
-rw-r--r--doc/html/qversitcontactimporterpropertyhandler.html4
-rw-r--r--doc/html/qversitdefaultresourcehandler-members.html4
-rw-r--r--doc/html/qversitdefaultresourcehandler.html4
-rw-r--r--doc/html/qversitdocument-members.html4
-rw-r--r--doc/html/qversitdocument.html4
-rw-r--r--doc/html/qversitproperty-members.html4
-rw-r--r--doc/html/qversitproperty.html4
-rw-r--r--doc/html/qversitreader-members.html4
-rw-r--r--doc/html/qversitreader.html4
-rw-r--r--doc/html/qversitresourcehandler-members.html4
-rw-r--r--doc/html/qversitresourcehandler.html4
-rw-r--r--doc/html/qversitwriter-members.html4
-rw-r--r--doc/html/qversitwriter.html4
-rw-r--r--doc/html/qvideodevicecontrol-members.html4
-rw-r--r--doc/html/qvideodevicecontrol.html4
-rw-r--r--doc/html/qvideoencodercontrol-members.html4
-rw-r--r--doc/html/qvideoencodercontrol.html4
-rw-r--r--doc/html/qvideoencodersettings-members.html4
-rw-r--r--doc/html/qvideoencodersettings.html4
-rw-r--r--doc/html/qvideooutputcontrol-members.html4
-rw-r--r--doc/html/qvideooutputcontrol.html4
-rw-r--r--doc/html/qvideorenderercontrol-members.html4
-rw-r--r--doc/html/qvideorenderercontrol.html4
-rw-r--r--doc/html/qvideowidget-members.html4
-rw-r--r--doc/html/qvideowidget.html4
-rw-r--r--doc/html/qvideowidgetcontrol-members.html4
-rw-r--r--doc/html/qvideowidgetcontrol.html4
-rw-r--r--doc/html/qvideowindowcontrol-members.html4
-rw-r--r--doc/html/qvideowindowcontrol.html4
-rw-r--r--doc/html/radio-main-cpp.html6
-rw-r--r--doc/html/radio-radio-cpp.html6
-rw-r--r--doc/html/radio-radio-h.html6
-rw-r--r--doc/html/radio-radio-pro.html4
-rw-r--r--doc/html/radio.html4
-rw-r--r--doc/html/recorder.html4
-rw-r--r--doc/html/samplephonebook-contacteditor-cpp.html9
-rw-r--r--doc/html/samplephonebook-contacteditor-h.html6
-rw-r--r--doc/html/samplephonebook-contactlistpage-cpp.html6
-rw-r--r--doc/html/samplephonebook-contactlistpage-h.html6
-rw-r--r--doc/html/samplephonebook-filterpage-cpp.html6
-rw-r--r--doc/html/samplephonebook-filterpage-h.html6
-rw-r--r--doc/html/samplephonebook-main-cpp.html6
-rw-r--r--doc/html/samplephonebook-phonebook-cpp.html6
-rw-r--r--doc/html/samplephonebook-phonebook-h.html6
-rw-r--r--doc/html/samplephonebook-samplephonebook-pro.html4
-rw-r--r--doc/html/samplephonebook.html4
-rw-r--r--doc/html/sensors-api.html5
-rw-r--r--doc/html/sensors-backend.html4
-rw-r--r--doc/html/service-framework-on-symbian.html4
-rw-r--r--doc/html/service-frameworks.html4
-rw-r--r--doc/html/serviceactions-attachmentlistwidget-cpp.html6
-rw-r--r--doc/html/serviceactions-attachmentlistwidget-h.html6
-rw-r--r--doc/html/serviceactions-main-cpp.html6
-rw-r--r--doc/html/serviceactions-mainwindow-cpp.html6
-rw-r--r--doc/html/serviceactions-mainwindow-h.html6
-rw-r--r--doc/html/serviceactions-serviceactions-pro.html4
-rw-r--r--doc/html/serviceactions.html4
-rw-r--r--doc/html/servicebrowser-main-cpp.html6
-rw-r--r--doc/html/servicebrowser-servicebrowser-cpp.html6
-rw-r--r--doc/html/servicebrowser-servicebrowser-h.html6
-rw-r--r--doc/html/servicebrowser-servicebrowser-pro.html4
-rw-r--r--doc/html/servicebrowser.html4
-rw-r--r--doc/html/servicefw.html4
-rw-r--r--doc/html/sfw-notes-main-cpp.html6
-rw-r--r--doc/html/sfw-notes-sfw-notes-pro.html4
-rw-r--r--doc/html/sfw-notes-sfwnotes-cpp.html6
-rw-r--r--doc/html/sfw-notes-sfwnotes-h.html6
-rw-r--r--doc/html/sfw-notes-sfwnotes-qrc.html4
-rw-r--r--doc/html/sfw-notes.html4
-rw-r--r--doc/html/slideshow-main-cpp.html6
-rw-r--r--doc/html/slideshow-slideshow-cpp.html6
-rw-r--r--doc/html/slideshow-slideshow-h.html6
-rw-r--r--doc/html/slideshow-slideshow-pro.html4
-rw-r--r--doc/html/slideshow.html4
-rw-r--r--doc/html/sysinfo-dialog-cpp.html6
-rw-r--r--doc/html/sysinfo-dialog-h.html6
-rw-r--r--doc/html/sysinfo-examples-qrc.html4
-rw-r--r--doc/html/sysinfo-main-cpp.html6
-rw-r--r--doc/html/sysinfo-sysinfo-pro.html6
-rw-r--r--doc/html/sysinfo.html4
-rw-r--r--doc/html/systeminfo.html4
-rw-r--r--doc/html/trademarks.html4
-rw-r--r--doc/html/versit.html97
-rw-r--r--doc/html/weatherinfo-icons-weather-few-clouds-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-fog-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-haze-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-icy-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-overcast-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-showers-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-sleet-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-snow-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-storm-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-sunny-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-sunny-very-few-clouds-svg.html4
-rw-r--r--doc/html/weatherinfo-icons-weather-thundershower-svg.html4
-rw-r--r--doc/html/weatherinfo-weatherinfo-cpp.html6
-rw-r--r--doc/html/weatherinfo-weatherinfo-pro.html4
-rw-r--r--doc/html/weatherinfo-weatherinfo-qrc.html4
-rw-r--r--doc/html/weatherinfo.html4
-rw-r--r--doc/html/writemessage-main-cpp.html6
-rw-r--r--doc/html/writemessage-messagesender-cpp.html6
-rw-r--r--doc/html/writemessage-messagesender-h.html6
-rw-r--r--doc/html/writemessage-writemessage-pro.html4
-rw-r--r--doc/html/writemessage.html4
-rw-r--r--doc/src/bearermanagement.qdoc32
-rw-r--r--doc/src/classes.qdoc2
-rw-r--r--doc/src/contacts.qdoc2
-rw-r--r--doc/src/contactsasync.qdoc2
-rw-r--r--doc/src/contactsengines.qdoc2
-rw-r--r--doc/src/contactsschema.qdoc2
-rw-r--r--doc/src/contactssync.qdoc2
-rw-r--r--doc/src/contactsusage.qdoc2
-rw-r--r--doc/src/examples.qdoc2
-rw-r--r--doc/src/examples/audiorecorder.qdoc2
-rw-r--r--doc/src/examples/battery-charge.qdoc24
-rw-r--r--doc/src/examples/bearercloud.qdoc2
-rw-r--r--doc/src/examples/bearermonitor.qdoc2
-rw-r--r--doc/src/examples/bluetoothtransferplugin.qdoc2
-rw-r--r--doc/src/examples/declarative-sfw-dialer.qdoc89
-rw-r--r--doc/src/examples/declarative-sfw-notes.qdoc30
-rw-r--r--doc/src/examples/filemanagerplugin.qdoc2
-rw-r--r--doc/src/examples/flickrdemo.qdoc2
-rw-r--r--doc/src/examples/keepintouch.qdoc2
-rw-r--r--doc/src/examples/lightmaps.qdoc2
-rw-r--r--doc/src/examples/notesmanagerplugin.qdoc2
-rw-r--r--doc/src/examples/player.qdoc2
-rw-r--r--doc/src/examples/publish-subscribe.qdoc26
-rw-r--r--doc/src/examples/qmlcontacts.qdoc2
-rw-r--r--doc/src/examples/querymessages.qdoc2
-rw-r--r--doc/src/examples/quickstart.qdoc33
-rw-r--r--doc/src/examples/samplephonebook.qdoc2
-rw-r--r--doc/src/examples/serviceactions.qdoc2
-rw-r--r--doc/src/examples/servicebrowser.qdoc2
-rw-r--r--doc/src/examples/sfw-notes.qdoc2
-rw-r--r--doc/src/examples/slideshow.qdoc2
-rw-r--r--doc/src/examples/sysinfo.qdoc2
-rw-r--r--doc/src/examples/undocumented.qdoc2
-rw-r--r--doc/src/examples/weatherinfo.qdoc2
-rw-r--r--doc/src/examples/writemessage.qdoc2
-rw-r--r--doc/src/future.qdoc12
-rw-r--r--doc/src/images/publish-subscribe-publisher.pngbin15641 -> 21721 bytes
-rw-r--r--doc/src/images/publish-subscribe-subscriber.pngbin16174 -> 20696 bytes
-rw-r--r--doc/src/index.qdoc52
-rw-r--r--doc/src/installation.qdoc4
-rw-r--r--doc/src/legal/3rdparty.qdoc2
-rw-r--r--doc/src/legal/editions.qdoc2
-rw-r--r--doc/src/legal/gpl.qdoc4
-rw-r--r--doc/src/legal/opensourceedition.qdoc2
-rw-r--r--doc/src/legal/trademarks.qdoc2
-rw-r--r--doc/src/location.qdoc2
-rw-r--r--doc/src/messaging.qdoc2
-rw-r--r--doc/src/multimedia.qdoc180
-rw-r--r--doc/src/preview.qdoc2
-rw-r--r--doc/src/publ-subs.qdoc2
-rw-r--r--doc/src/qtmobility-known-issues.qdoc7
-rw-r--r--doc/src/qtmobility.qdocconf8
-rw-r--r--doc/src/sensors.qdoc5
-rw-r--r--doc/src/sf.qdoc2
-rw-r--r--doc/src/sfw_s60.qdoc2
-rw-r--r--doc/src/si.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_lgpl.qdoc2
-rw-r--r--doc/src/snippets/multimedia-snippets/audiorecorder.cpp2
-rw-r--r--doc/src/snippets/multimedia-snippets/player.cpp2
-rw-r--r--doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp13
-rw-r--r--doc/src/snippets/qtcontactsdocsample/qtcontactsdocsampleasync.cpp2
-rw-r--r--doc/src/snippets/qtcontactsdocsample/requestexample.h2
-rw-r--r--doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp98
-rw-r--r--doc/src/snippets/sensors/creating.cpp2
-rw-r--r--doc/src/snippets/sensors/main.cpp2
-rw-r--r--doc/src/snippets/sensors/mybackend.h2
-rw-r--r--doc/src/snippets/sensors/plugin.cpp2
-rw-r--r--doc/src/snippets/sensors/start.cpp2
-rw-r--r--doc/src/versit.qdoc12
-rw-r--r--examples/audiorecorder/audiorecorder.cpp2
-rw-r--r--examples/audiorecorder/audiorecorder.h2
-rw-r--r--examples/audiorecorder/main.cpp2
-rw-r--r--examples/battery-charge/battery-charge.pro2
-rw-r--r--examples/battery-charge/battery-publisher/batterypublisher.cpp2
-rw-r--r--examples/battery-charge/battery-publisher/batterypublisher.h2
-rw-r--r--examples/battery-charge/battery-publisher/main.cpp2
-rw-r--r--examples/battery-charge/battery-subscriber/battery-meter.qml92
-rw-r--r--examples/battery-charge/battery-subscriber/battery-subscriber.pro11
-rw-r--r--examples/battery-charge/battery-subscriber/battery-subscriber.qml139
-rw-r--r--examples/battery-charge/battery-subscriber/battery-subscriber.qrc6
-rw-r--r--examples/battery-charge/battery-subscriber/content/bubble.png (renamed from examples/battery-charge/battery-subscriber/bubble.png)bin871 -> 871 bytes
-rw-r--r--examples/bearercloud/bearercloud.cpp2
-rw-r--r--examples/bearercloud/bearercloud.h2
-rw-r--r--examples/bearercloud/cloud.cpp2
-rw-r--r--examples/bearercloud/cloud.h2
-rw-r--r--examples/bearercloud/main.cpp2
-rw-r--r--examples/bearermonitor/bearermonitor.cpp2
-rw-r--r--examples/bearermonitor/bearermonitor.h2
-rw-r--r--examples/bearermonitor/main.cpp2
-rw-r--r--examples/bluetoothtransferplugin/bluetoothtransfer.cpp2
-rw-r--r--examples/bluetoothtransferplugin/bluetoothtransfer.h2
-rw-r--r--examples/bluetoothtransferplugin/bluetoothtransferplugin.cpp2
-rw-r--r--examples/bluetoothtransferplugin/bluetoothtransferplugin.h2
-rw-r--r--examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialButton.qml40
-rw-r--r--examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml40
-rw-r--r--examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml40
-rw-r--r--examples/declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml40
-rw-r--r--examples/declarative-sfw-dialer/landlinedialer/landlinedialer.cpp2
-rw-r--r--examples/declarative-sfw-dialer/landlinedialer/landlinedialer.h2
-rw-r--r--examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp2
-rw-r--r--examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h2
-rw-r--r--examples/declarative-sfw-dialer/voipdialer/voipdialer.cpp2
-rw-r--r--examples/declarative-sfw-dialer/voipdialer/voipdialer.h2
-rw-r--r--examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp2
-rw-r--r--examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.h2
-rw-r--r--examples/declarative-sfw-notes/content/Button.qml40
-rw-r--r--examples/declarative-sfw-notes/content/Dialog.qml40
-rw-r--r--examples/declarative-sfw-notes/content/InputDialog.qml40
-rw-r--r--examples/declarative-sfw-notes/declarative-sfw-notes.qml40
-rw-r--r--examples/examples.pro6
-rw-r--r--examples/fetchgooglemaps/fetchgooglemaps.pro3
-rw-r--r--examples/fetchgooglemaps/main.cpp2
-rw-r--r--examples/fetchgooglemaps/mapwindow.cpp8
-rw-r--r--examples/fetchgooglemaps/mapwindow.h6
-rw-r--r--examples/filemanagerplugin/filemanagerplugin.cpp2
-rw-r--r--examples/filemanagerplugin/filemanagerplugin.h2
-rw-r--r--examples/filemanagerplugin/filemanagerstorage.cpp2
-rw-r--r--examples/filemanagerplugin/filemanagerstorage.h2
-rw-r--r--examples/filemanagerplugin/filemanagertransfer.cpp2
-rw-r--r--examples/filemanagerplugin/filemanagertransfer.h2
-rw-r--r--examples/flickrdemo/connectivityhelper.cpp4
-rw-r--r--examples/flickrdemo/connectivityhelper.h8
-rw-r--r--examples/flickrdemo/flickrdemo.cpp8
-rw-r--r--examples/flickrdemo/flickrdemo.h2
-rw-r--r--examples/flickrdemo/main.cpp2
-rw-r--r--examples/flickrdemo/xqlistwidget.cpp2
-rw-r--r--examples/flickrdemo/xqlistwidget.h2
-rw-r--r--examples/keepintouch/addressfinder.cpp2
-rw-r--r--examples/keepintouch/addressfinder.h2
-rw-r--r--examples/keepintouch/main.cpp2
-rw-r--r--examples/lightmaps/lightmaps.cpp11
-rw-r--r--examples/logfilepositionsource/clientapplication.cpp2
-rw-r--r--examples/logfilepositionsource/clientapplication.h2
-rw-r--r--examples/logfilepositionsource/logfilepositionsource.cpp2
-rw-r--r--examples/logfilepositionsource/logfilepositionsource.h2
-rw-r--r--examples/logfilepositionsource/main.cpp2
-rw-r--r--examples/notesmanagerplugin/note.h2
-rw-r--r--examples/notesmanagerplugin/notesmanager.cpp2
-rw-r--r--examples/notesmanagerplugin/notesmanager.h2
-rw-r--r--examples/notesmanagerplugin/notesmanagerplugin.cpp2
-rw-r--r--examples/notesmanagerplugin/notesmanagerplugin.h2
-rw-r--r--examples/player/main.cpp2
-rw-r--r--examples/player/mediakeysobserver.cpp2
-rw-r--r--examples/player/mediakeysobserver.h2
-rw-r--r--examples/player/player.cpp9
-rw-r--r--examples/player/player.h2
-rw-r--r--examples/player/playercontrols.cpp2
-rw-r--r--examples/player/playercontrols.h2
-rw-r--r--examples/player/playlistmodel.cpp2
-rw-r--r--examples/player/playlistmodel.h2
-rw-r--r--examples/player/videowidget.cpp2
-rw-r--r--examples/player/videowidget.h2
-rw-r--r--examples/publish-subscribe/main.cpp2
-rw-r--r--examples/publish-subscribe/publisherdialog.cpp16
-rw-r--r--examples/publish-subscribe/publisherdialog.h2
-rw-r--r--examples/publish-subscribe/publisherdialog.ui265
-rw-r--r--examples/publish-subscribe/publisherdialog_hor.ui272
-rw-r--r--examples/publish-subscribe/subscriberdialog.cpp9
-rw-r--r--examples/publish-subscribe/subscriberdialog.h2
-rw-r--r--examples/publish-subscribe/subscriberdialog.ui5
-rw-r--r--examples/publish-subscribe/subscriberdialog_hor.ui8
-rw-r--r--examples/qmlcontacts/ScrollBar.qml40
-rw-r--r--examples/qmlcontacts/contents/MediaButton.qml47
-rw-r--r--examples/qmlcontacts/contents/pics/button-pressed.pngbin0 -> 571 bytes
-rw-r--r--examples/qmlcontacts/contents/pics/button.pngbin0 -> 564 bytes
-rw-r--r--examples/qmlcontacts/example.qml249
-rw-r--r--examples/qmlcontacts/main.cpp13
-rw-r--r--examples/qmlcontacts/qmlcontact.cpp192
-rw-r--r--examples/qmlcontacts/qmlcontactmodel.cpp226
-rw-r--r--examples/qmlcontacts/qmlcontactmodel.h (renamed from examples/qmlcontacts/qmlcontact.h)86
-rw-r--r--examples/qmlcontacts/qmlcontacts.cpp182
-rw-r--r--examples/qmlcontacts/qmlcontacts.pro40
-rw-r--r--examples/qmlcontacts/qmlcontacts.qrc2
-rw-r--r--examples/querymessages/main.cpp2
-rw-r--r--examples/quickstart/main.cpp2
-rw-r--r--examples/quickstart/quickstart.pro2
-rw-r--r--examples/radio/main.cpp2
-rw-r--r--examples/radio/radio.cpp2
-rw-r--r--examples/radio/radio.h2
-rw-r--r--examples/samplephonebook/contacteditor.cpp5
-rw-r--r--examples/samplephonebook/contacteditor.h2
-rw-r--r--examples/samplephonebook/contactlistpage.cpp2
-rw-r--r--examples/samplephonebook/contactlistpage.h2
-rw-r--r--examples/samplephonebook/filterpage.cpp2
-rw-r--r--examples/samplephonebook/filterpage.h2
-rw-r--r--examples/samplephonebook/main.cpp2
-rw-r--r--examples/samplephonebook/phonebook.cpp2
-rw-r--r--examples/samplephonebook/phonebook.h2
-rw-r--r--examples/satellitedialog/main.cpp2
-rw-r--r--examples/satellitedialog/satellitedialog.cpp2
-rw-r--r--examples/satellitedialog/satellitedialog.h2
-rw-r--r--examples/sensors/accel/main.cpp2
-rw-r--r--examples/sensors/arrowkeys/arrowkeys.pro3
-rw-r--r--examples/sensors/arrowkeys/main.cpp98
-rw-r--r--examples/sensors/grueapp/main.cpp2
-rw-r--r--examples/sensors/grueplugin/grueplugin.pro8
-rw-r--r--examples/sensors/grueplugin/gruesensor.cpp4
-rw-r--r--examples/sensors/grueplugin/gruesensor.h4
-rw-r--r--examples/sensors/grueplugin/gruesensor_p.h6
-rw-r--r--examples/sensors/grueplugin/gruesensorimpl.cpp4
-rw-r--r--examples/sensors/grueplugin/gruesensorimpl.h4
-rw-r--r--examples/sensors/grueplugin/main.cpp2
-rw-r--r--examples/sensors/metadata/main.cpp145
-rw-r--r--examples/sensors/metadata/metadata.pro3
-rw-r--r--examples/sensors/orientation/main.cpp2
-rw-r--r--examples/sensors/orientation/orientation.qml2
-rw-r--r--examples/sensors/panorama/accelerometercontroller.cpp34
-rw-r--r--examples/sensors/panorama/accelerometercontroller.h32
-rw-r--r--examples/sensors/panorama/compasscontroller.cpp27
-rw-r--r--examples/sensors/panorama/compasscontroller.h28
-rw-r--r--examples/sensors/panorama/images/foreshore_final.jpgbin0 -> 75166 bytes
-rw-r--r--examples/sensors/panorama/images/koskipuisto_pieni.jpgbin0 -> 291903 bytes
-rw-r--r--examples/sensors/panorama/inputcontroller.cpp28
-rw-r--r--examples/sensors/panorama/inputcontroller.h37
-rw-r--r--examples/sensors/panorama/keycontroller.cpp42
-rw-r--r--examples/sensors/panorama/keycontroller.h27
-rw-r--r--examples/sensors/panorama/magnetometercontroller.cpp34
-rw-r--r--examples/sensors/panorama/magnetometercontroller.h29
-rw-r--r--examples/sensors/panorama/main.cpp79
-rw-r--r--examples/sensors/panorama/orientationcontroller.cpp52
-rw-r--r--examples/sensors/panorama/orientationcontroller.h32
-rw-r--r--examples/sensors/panorama/panorama.pro29
-rw-r--r--examples/sensors/panorama/panorama.qrc6
-rw-r--r--examples/sensors/panorama/rotationcontroller.cpp38
-rw-r--r--examples/sensors/panorama/rotationcontroller.h34
-rw-r--r--examples/sensors/panorama/rotationsensorcontroller.h4
-rw-r--r--examples/sensors/panorama/tapcontroller.cpp132
-rw-r--r--examples/sensors/panorama/tapcontroller.h37
-rw-r--r--examples/sensors/panorama/timedcontroller.cpp31
-rw-r--r--examples/sensors/panorama/timedcontroller.h30
-rw-r--r--examples/sensors/panorama/view.cpp402
-rw-r--r--examples/sensors/panorama/view.h86
-rw-r--r--examples/sensors/reading_perf/main.cpp2
-rw-r--r--examples/sensors/sensor_explorer/explorer.cpp2
-rw-r--r--examples/sensors/sensor_explorer/explorer.h2
-rw-r--r--examples/sensors/sensor_explorer/main.cpp2
-rw-r--r--examples/sensors/sensors.pri6
-rw-r--r--examples/sensors/sensors.pro3
-rw-r--r--examples/sensors/show_acceleration/main.cpp84
-rw-r--r--examples/sensors/show_acceleration/show_acceleration.pro3
-rw-r--r--examples/sensors/show_als/main.cpp92
-rw-r--r--examples/sensors/show_als/show_als.pro3
-rw-r--r--examples/sensors/show_compass/main.cpp (renamed from examples/battery-charge/battery-subscriber/main.cpp)87
-rw-r--r--examples/sensors/show_compass/show_compass.pro3
-rw-r--r--examples/sensors/show_magneticflux/main.cpp119
-rw-r--r--examples/sensors/show_magneticflux/show_magneticflux.pro3
-rw-r--r--examples/sensors/show_orientation/main.cpp (renamed from examples/qmlcontacts/qmlcontactsa.h)113
-rw-r--r--examples/sensors/show_orientation/show_orientation.pro3
-rw-r--r--examples/sensors/show_proximity/main.cpp86
-rw-r--r--examples/sensors/show_proximity/show_proximity.pro3
-rw-r--r--examples/sensors/show_rotation/main.cpp92
-rw-r--r--examples/sensors/show_rotation/show_rotation.pro3
-rw-r--r--examples/sensors/show_tap/main.cpp112
-rw-r--r--examples/sensors/show_tap/show_tap.pro3
-rw-r--r--examples/sensors/small_screen_sensors/accelerationform.cpp2
-rw-r--r--examples/sensors/small_screen_sensors/accelerationform.h2
-rw-r--r--examples/sensors/small_screen_sensors/freefallform.cpp2
-rw-r--r--examples/sensors/small_screen_sensors/freefallform.h2
-rw-r--r--examples/sensors/small_screen_sensors/main.cpp2
-rw-r--r--examples/sensors/small_screen_sensors/orientationform.cpp2
-rw-r--r--examples/sensors/small_screen_sensors/orientationform.h2
-rw-r--r--examples/sensors/small_screen_sensors/sensorswindow.cpp2
-rw-r--r--examples/sensors/small_screen_sensors/sensorswindow.h2
-rw-r--r--examples/serviceactions/attachmentlistwidget.cpp2
-rw-r--r--examples/serviceactions/attachmentlistwidget.h2
-rw-r--r--examples/serviceactions/main.cpp2
-rw-r--r--examples/serviceactions/mainwindow.cpp2
-rw-r--r--examples/serviceactions/mainwindow.h2
-rw-r--r--examples/servicebrowser/main.cpp2
-rw-r--r--examples/servicebrowser/servicebrowser.cpp2
-rw-r--r--examples/servicebrowser/servicebrowser.h2
-rw-r--r--examples/serviceinstaller_sfw_symbian/exampleinstaller/exampleinstaller.cpp2
-rw-r--r--examples/sfw-notes/main.cpp2
-rw-r--r--examples/sfw-notes/sfwnotes.cpp2
-rw-r--r--examples/sfw-notes/sfwnotes.h2
-rw-r--r--examples/slideshow/main.cpp2
-rw-r--r--examples/slideshow/slideshow.cpp2
-rw-r--r--examples/slideshow/slideshow.h2
-rw-r--r--examples/sysinfo/dialog.cpp2
-rw-r--r--examples/sysinfo/dialog.h2
-rw-r--r--examples/sysinfo/main.cpp2
-rw-r--r--examples/sysinfo/sysinfo.pro2
-rw-r--r--examples/weatherinfo/weatherinfo.cpp2
-rw-r--r--examples/writemessage/main.cpp2
-rw-r--r--examples/writemessage/messagesender.cpp2
-rw-r--r--examples/writemessage/messagesender.h2
-rw-r--r--features/deploy.pri2
-rw-r--r--features/mobility.prf.template6
-rw-r--r--plugins/contacts/contacts.pro5
-rw-r--r--plugins/contacts/maemo5/qcontactabook.cpp120
-rw-r--r--plugins/contacts/maemo5/qcontactabook_p.h4
-rw-r--r--plugins/contacts/maemo5/qcontactidshash.h2
-rw-r--r--plugins/contacts/maemo5/qcontactmaemo5backend.cpp18
-rw-r--r--plugins/contacts/maemo5/qcontactmaemo5backend_p.h2
-rw-r--r--plugins/contacts/maemo5/qcontactmaemo5debug_p.h2
-rw-r--r--plugins/contacts/qtcontacts-tracker/.gitignore21
-rw-r--r--plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend.cpp609
-rw-r--r--plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend_p.h195
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtcontacts-tracker.pro44
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.cpp1090
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.h142
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.cpp80
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.h72
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.cpp540
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.h104
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactslive.cpp98
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackercontactslive.h113
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.cpp130
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.h73
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.cpp163
-rw-r--r--plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.h78
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/tests.pro8
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.cpp262
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.h103
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.pro49
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.cpp286
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.h92
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.pri13
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.cpp174
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.pro11
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.cpp209
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.h76
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.pro11
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/.gitignore1
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.cpp59
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.h72
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.cpp1820
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.h146
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.pro46
-rwxr-xr-xplugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/insertTpContact.sparql42
-rwxr-xr-xplugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/updateTpStatus.sparql11
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.cpp483
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.h126
-rw-r--r--plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.pro11
-rw-r--r--plugins/contacts/qtcontacts-tracker/trackerchangelistener.cpp161
-rw-r--r--plugins/contacts/qtcontacts-tracker/trackerchangelistener.h91
-rw-r--r--plugins/contacts/qtcontacts-tracker/version.pri2
-rw-r--r--plugins/contacts/symbian/inc/cntabstractrelationship.h2
-rw-r--r--plugins/contacts/symbian/inc/cntdisplaylabel.h3
-rw-r--r--plugins/contacts/symbian/inc/cntrelationship.h2
-rw-r--r--plugins/contacts/symbian/inc/cntrelationshipgroup.h2
-rw-r--r--plugins/contacts/symbian/inc/cntsymbiandatabase.h2
-rw-r--r--plugins/contacts/symbian/inc/cntsymbianengine.h4
-rw-r--r--plugins/contacts/symbian/inc/cntsymbiantransformerror.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntabstractcontactfilter.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntabstractcontactsorter.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntdbinfo.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntdisplaylabelsqlfilter.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterabstract.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterchangelog.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterdefault.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterdetail.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterdetaildisplaylabel.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterdetailrange.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterintersection.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterinvalid.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterlocalid.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterrelationship.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntfilterunion.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntsqlsearch.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntsymbianfilterdbms.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntsymbianfiltersql.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntsymbiansorterdbms.h2
-rw-r--r--plugins/contacts/symbian/inc/filtering/cntsymbiansrvconnection.h2
-rw-r--r--plugins/contacts/symbian/inc/transform/cntthumbnailcreator.h2
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformaddress.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformanniversary.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformanniversarysimple.h6
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformavatar.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformbirthday.h6
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformcontact.h8
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformcontactdata.h10
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformemail.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformempty.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformfamily.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformgender.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformgeolocation.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformname.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformnickname.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformnote.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformonlineaccount.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformonlineaccountsimple.h (renamed from plugins/contacts/qtcontacts-tracker/qtrackercontactasyncrequest.h)32
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformorganisation.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformphonenumber.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformringtone.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformsynctarget.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformthumbnail.h4
-rw-r--r--plugins/contacts/symbian/inc/transform/cnttransformurl.h4
-rw-r--r--plugins/contacts/symbian/rss/cntmodel.rss2
-rw-r--r--plugins/contacts/symbian/rss/cntmodelextuids.h2
-rw-r--r--plugins/contacts/symbian/rss/cntmodelextuids.hrh2
-rw-r--r--plugins/contacts/symbian/rss/fieldnames.loc2
-rw-r--r--plugins/contacts/symbian/src/cntabstractrelationship.cpp2
-rw-r--r--plugins/contacts/symbian/src/cntdisplaylabel.cpp19
-rw-r--r--plugins/contacts/symbian/src/cntrelationship.cpp2
-rw-r--r--plugins/contacts/symbian/src/cntrelationshipgroup.cpp2
-rw-r--r--plugins/contacts/symbian/src/cntsymbiandatabase.cpp2
-rw-r--r--plugins/contacts/symbian/src/cntsymbianengine.cpp26
-rw-r--r--plugins/contacts/symbian/src/cntsymbiantransformerror.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntdbinfo.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntdisplaylabelsqlfilter.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterchangelog.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterdefault.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterdetaildisplaylabel.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterdetailrange.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterintersection.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterinvalid.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterlocalid.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterrelationship.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntfilterunion.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntsqlsearch.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntsymbianfilterdbms.cpp8
-rw-r--r--plugins/contacts/symbian/src/filtering/cntsymbianfiltersql.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntsymbiansorterdbms.cpp2
-rw-r--r--plugins/contacts/symbian/src/filtering/cntsymbiansrvconnection.cpp2
-rw-r--r--plugins/contacts/symbian/src/transform/cntthumbnailcreator.cpp2
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformaddress.cpp33
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformanniversary.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformanniversarysimple.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformavatar.cpp16
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformbirthday.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformcontact.cpp71
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformcontactdata.cpp2
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformemail.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformempty.cpp14
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformfamily.cpp17
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformgender.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformgeolocation.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformname.cpp25
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformnickname.cpp17
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformnote.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp24
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformonlineaccountsimple.cpp205
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformorganisation.cpp21
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformphonenumber.cpp19
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformringtone.cpp17
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformsynctarget.cpp15
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformthumbnail.cpp19
-rw-r--r--plugins/contacts/symbian/src/transform/cnttransformurl.cpp15
-rw-r--r--plugins/contacts/symbian/symbian.pro10
-rw-r--r--plugins/contacts/symbian/tsrc/performance/performance.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/performance/performance.h2
-rw-r--r--plugins/contacts/symbian/tsrc/tsrc.pri2
-rw-r--r--plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.pro5
-rw-r--r--plugins/contacts/symbian/tsrc/tst_details/tst_details.pro3
-rw-r--r--plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.cpp207
-rw-r--r--plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.pro6
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/main.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/testrunner.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/testrunner.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.cpp4
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.h2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.cpp2
-rw-r--r--plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.h2
-rw-r--r--plugins/contacts/symbiansim/inc/cntsimstore.h24
-rw-r--r--plugins/contacts/symbiansim/inc/cntsimstoreprivate.h14
-rw-r--r--plugins/contacts/symbiansim/inc/cntsymbiansimengine.h6
-rw-r--r--plugins/contacts/symbiansim/src/cntsimcontactfetchrequest.cpp4
-rw-r--r--plugins/contacts/symbiansim/src/cntsimcontactlocalidfetchrequest.cpp4
-rw-r--r--plugins/contacts/symbiansim/src/cntsimstore.cpp7
-rw-r--r--plugins/contacts/symbiansim/src/cntsimstoreeventlistener.cpp1
-rw-r--r--plugins/contacts/symbiansim/src/cntsimstoreprivate.cpp354
-rw-r--r--plugins/contacts/symbiansim/src/cntsymbiansimengine.cpp105
-rw-r--r--plugins/contacts/symbiansim/src/cntsymbiansimtransformerror.cpp9
-rw-r--r--plugins/contacts/symbiansim/symbiansim.pro3
-rw-r--r--plugins/contacts/symbiansim/symbiansim_defines.pri16
-rw-r--r--plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.cpp684
-rw-r--r--plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.pro5
-rw-r--r--plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.cpp2
-rw-r--r--plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.pro5
-rw-r--r--plugins/contacts/wince/contactconversions.cpp2
-rw-r--r--plugins/contacts/wince/qcontactrequestworker.cpp2
-rw-r--r--plugins/contacts/wince/qcontactrequestworker.h2
-rw-r--r--plugins/contacts/wince/qcontactrequestworker_p.h2
-rw-r--r--plugins/contacts/wince/qcontactwincebackend.cpp2
-rw-r--r--plugins/contacts/wince/qcontactwincebackend_p.h2
-rw-r--r--plugins/declarative/declarative.pro1
-rw-r--r--plugins/declarative/publishsubscribe/publishsubscribe.cpp (renamed from plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.h)40
-rw-r--r--plugins/declarative/publishsubscribe/publishsubscribe.pro24
-rw-r--r--plugins/declarative/publishsubscribe/qmldir1
-rw-r--r--plugins/declarative/serviceframework/qdeclarativeservice.cpp42
-rw-r--r--plugins/declarative/serviceframework/qdeclarativeservice.h26
-rw-r--r--plugins/declarative/serviceframework/serviceframework.cpp8
-rw-r--r--plugins/declarative/serviceframework/serviceframework.pro2
-rw-r--r--plugins/multimedia/audiocapture/audiocaptureservice.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audiocaptureservice.h2
-rw-r--r--plugins/multimedia/audiocapture/audiocaptureserviceplugin.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audiocaptureserviceplugin.h2
-rw-r--r--plugins/multimedia/audiocapture/audiocapturesession.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audiocapturesession.h2
-rw-r--r--plugins/multimedia/audiocapture/audiocontainercontrol.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audiocontainercontrol.h2
-rw-r--r--plugins/multimedia/audiocapture/audioencodercontrol.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audioencodercontrol.h2
-rw-r--r--plugins/multimedia/audiocapture/audioendpointselector.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audioendpointselector.h2
-rw-r--r--plugins/multimedia/audiocapture/audiomediarecordercontrol.cpp2
-rw-r--r--plugins/multimedia/audiocapture/audiomediarecordercontrol.h2
-rw-r--r--plugins/multimedia/directshow/dsserviceplugin.cpp2
-rw-r--r--plugins/multimedia/directshow/dsserviceplugin.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowaudioendpointcontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowaudioendpointcontrol.h2
-rw-r--r--plugins/multimedia/directshow/player/directshoweventloop.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshoweventloop.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowglobal.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowioreader.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowioreader.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowiosource.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowiosource.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowmediatype.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowmediatype.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowmediatypelist.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowmediatypelist.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowmetadatacontrol.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowpinenum.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowpinenum.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowplayercontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowplayercontrol.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowplayerservice.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowplayerservice.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowsamplescheduler.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowsamplescheduler.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowvideooutputcontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowvideooutputcontrol.h2
-rw-r--r--plugins/multimedia/directshow/player/directshowvideorenderercontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/directshowvideorenderercontrol.h2
-rw-r--r--plugins/multimedia/directshow/player/mediasamplevideobuffer.cpp2
-rw-r--r--plugins/multimedia/directshow/player/mediasamplevideobuffer.h2
-rw-r--r--plugins/multimedia/directshow/player/videosurfacefilter.cpp2
-rw-r--r--plugins/multimedia/directshow/player/videosurfacefilter.h2
-rw-r--r--plugins/multimedia/directshow/player/vmr9videowindowcontrol.cpp2
-rw-r--r--plugins/multimedia/directshow/player/vmr9videowindowcontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.h2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.h2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.h2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.h2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamerbushelper.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamerbushelper.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamermessage.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamermessage.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamerserviceplugin.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamerserviceplugin.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideooverlay.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideooverlay.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideorenderer.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideorenderer.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideorendererinterface.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideorendererinterface.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideowidget.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstreamervideowidget.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstvideobuffer.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstvideobuffer.h2
-rw-r--r--plugins/multimedia/gstreamer/qgstxvimagebuffer.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qgstxvimagebuffer.h2
-rw-r--r--plugins/multimedia/gstreamer/qvideosurfacegstsink.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qvideosurfacegstsink.h2
-rw-r--r--plugins/multimedia/gstreamer/qx11videosurface.cpp2
-rw-r--r--plugins/multimedia/gstreamer/qx11videosurface.h2
-rw-r--r--plugins/multimedia/m3u/main.cpp2
-rw-r--r--plugins/multimedia/m3u/qm3uhandler.cpp2
-rw-r--r--plugins/multimedia/m3u/qm3uhandler.h2
-rw-r--r--plugins/multimedia/qt7/qcvdisplaylink.h2
-rw-r--r--plugins/multimedia/qt7/qcvdisplaylink.mm2
-rw-r--r--plugins/multimedia/qt7/qt7backend.h2
-rw-r--r--plugins/multimedia/qt7/qt7backend.mm2
-rw-r--r--plugins/multimedia/qt7/qt7movierenderer.h2
-rw-r--r--plugins/multimedia/qt7/qt7movierenderer.mm2
-rw-r--r--plugins/multimedia/qt7/qt7movievideowidget.h2
-rw-r--r--plugins/multimedia/qt7/qt7movievideowidget.mm2
-rw-r--r--plugins/multimedia/qt7/qt7movieviewoutput.h2
-rw-r--r--plugins/multimedia/qt7/qt7movieviewoutput.mm2
-rw-r--r--plugins/multimedia/qt7/qt7movieviewrenderer.h2
-rw-r--r--plugins/multimedia/qt7/qt7movieviewrenderer.mm2
-rw-r--r--plugins/multimedia/qt7/qt7playercontrol.h2
-rw-r--r--plugins/multimedia/qt7/qt7playercontrol.mm2
-rw-r--r--plugins/multimedia/qt7/qt7playermetadata.h2
-rw-r--r--plugins/multimedia/qt7/qt7playermetadata.mm2
-rw-r--r--plugins/multimedia/qt7/qt7playerservice.h2
-rw-r--r--plugins/multimedia/qt7/qt7playerservice.mm2
-rw-r--r--plugins/multimedia/qt7/qt7playersession.h2
-rw-r--r--plugins/multimedia/qt7/qt7playersession.mm2
-rw-r--r--plugins/multimedia/qt7/qt7serviceplugin.h2
-rw-r--r--plugins/multimedia/qt7/qt7serviceplugin.mm2
-rw-r--r--plugins/multimedia/qt7/qt7videooutputcontrol.h2
-rw-r--r--plugins/multimedia/qt7/qt7videooutputcontrol.mm2
-rw-r--r--plugins/multimedia/symbian/common/s60videooutputcontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/common/s60videooutputcontrol.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.h2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/ms60mediaplayerresolver.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp34
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h4
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.h2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.h2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.h2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.h2
-rw-r--r--plugins/multimedia/symbian/mmf/s60mediaserviceplugin.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/s60mediaserviceplugin.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxacommon.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp6
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessioncommon.h2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.cpp2
-rw-r--r--plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.h2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradiocontrol.cpp2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradiocontrol.h2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.cpp2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.h2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradioservice.cpp2
-rw-r--r--plugins/multimedia/v4l/radio/v4lradioservice.h2
-rw-r--r--plugins/multimedia/v4l/v4lserviceplugin.cpp2
-rw-r--r--plugins/multimedia/v4l/v4lserviceplugin.h2
-rw-r--r--plugins/multimedia/wmp/qevrvideooverlay.cpp2
-rw-r--r--plugins/multimedia/wmp/qevrvideooverlay.h2
-rw-r--r--plugins/multimedia/wmp/qmfactivate.cpp2
-rw-r--r--plugins/multimedia/wmp/qmfactivate.h2
-rw-r--r--plugins/multimedia/wmp/qwmpevents.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpevents.h2
-rw-r--r--plugins/multimedia/wmp/qwmpglobal.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpglobal.h2
-rw-r--r--plugins/multimedia/wmp/qwmpmetadata.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpmetadata.h2
-rw-r--r--plugins/multimedia/wmp/qwmpplayercontrol.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpplayercontrol.h2
-rw-r--r--plugins/multimedia/wmp/qwmpplayerservice.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpplayerservice.h2
-rw-r--r--plugins/multimedia/wmp/qwmpplaylist.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpplaylist.h2
-rw-r--r--plugins/multimedia/wmp/qwmpplaylistcontrol.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpplaylistcontrol.h2
-rw-r--r--plugins/multimedia/wmp/qwmpserviceprovider.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpserviceprovider.h2
-rw-r--r--plugins/multimedia/wmp/qwmpvideooutputcontrol.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpvideooutputcontrol.h2
-rw-r--r--plugins/multimedia/wmp/qwmpvideooverlay.cpp2
-rw-r--r--plugins/multimedia/wmp/qwmpvideooverlay.h2
-rw-r--r--plugins/sensors/dummy/dummy.pro1
-rw-r--r--plugins/sensors/dummy/dummyaccelerometer.cpp5
-rw-r--r--plugins/sensors/dummy/dummyaccelerometer.h4
-rw-r--r--plugins/sensors/dummy/dummycommon.cpp15
-rw-r--r--plugins/sensors/dummy/dummycommon.h2
-rw-r--r--plugins/sensors/dummy/dummylightsensor.cpp5
-rw-r--r--plugins/sensors/dummy/dummylightsensor.h4
-rw-r--r--plugins/sensors/dummy/main.cpp2
-rw-r--r--plugins/sensors/generic/generic.pro12
-rw-r--r--plugins/sensors/generic/genericorientationsensor.cpp4
-rw-r--r--plugins/sensors/generic/genericorientationsensor.h4
-rw-r--r--plugins/sensors/generic/genericrotationsensor.cpp4
-rw-r--r--plugins/sensors/generic/genericrotationsensor.h4
-rw-r--r--plugins/sensors/generic/main.cpp2
-rw-r--r--plugins/sensors/generic/plugin_commonU.def16
-rw-r--r--plugins/sensors/maemo6/maemo6.pro3
-rw-r--r--plugins/sensors/maemo6/maemo6accelerometer.cpp44
-rw-r--r--plugins/sensors/maemo6/maemo6accelerometer.h8
-rw-r--r--plugins/sensors/maemo6/maemo6als.cpp46
-rw-r--r--plugins/sensors/maemo6/maemo6als.h8
-rw-r--r--plugins/sensors/maemo6/maemo6compass.cpp54
-rw-r--r--plugins/sensors/maemo6/maemo6compass.h9
-rw-r--r--plugins/sensors/maemo6/maemo6magnetometer.cpp46
-rw-r--r--plugins/sensors/maemo6/maemo6magnetometer.h12
-rw-r--r--plugins/sensors/maemo6/maemo6orientationsensor.cpp42
-rw-r--r--plugins/sensors/maemo6/maemo6orientationsensor.h9
-rw-r--r--plugins/sensors/maemo6/maemo6proximitysensor.cpp44
-rw-r--r--plugins/sensors/maemo6/maemo6proximitysensor.h8
-rw-r--r--plugins/sensors/maemo6/maemo6rotationsensor.cpp36
-rw-r--r--plugins/sensors/maemo6/maemo6rotationsensor.h8
-rw-r--r--plugins/sensors/maemo6/maemo6sensorbase.cpp42
-rw-r--r--plugins/sensors/maemo6/maemo6sensorbase.h30
-rw-r--r--plugins/sensors/maemo6/maemo6tapsensor.cpp64
-rw-r--r--plugins/sensors/maemo6/maemo6tapsensor.h13
-rw-r--r--plugins/sensors/maemo6/main.cpp4
-rw-r--r--plugins/sensors/n900/main.cpp2
-rw-r--r--plugins/sensors/n900/n900accelerometer.cpp37
-rw-r--r--plugins/sensors/n900/n900accelerometer.h10
-rw-r--r--plugins/sensors/n900/n900filebasedsensor.cpp16
-rw-r--r--plugins/sensors/n900/n900filebasedsensor.h2
-rw-r--r--plugins/sensors/n900/n900lightsensor.cpp7
-rw-r--r--plugins/sensors/n900/n900lightsensor.h6
-rw-r--r--plugins/sensors/n900/n900proximitysensor.cpp7
-rw-r--r--plugins/sensors/n900/n900proximitysensor.h6
-rw-r--r--plugins/sensors/s60_sensor_api/main.cpp6
-rw-r--r--plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.cpp8
-rw-r--r--plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.h8
-rw-r--r--plugins/sensors/s60_sensor_api/s60_sensor_api.pri12
-rw-r--r--plugins/sensors/symbian/accelerometersym.cpp4
-rw-r--r--plugins/sensors/symbian/accelerometersym.h4
-rw-r--r--plugins/sensors/symbian/ambientlightsensorsym.cpp4
-rw-r--r--plugins/sensors/symbian/ambientlightsensorsym.h4
-rw-r--r--plugins/sensors/symbian/compasssym.cpp4
-rw-r--r--plugins/sensors/symbian/compasssym.h4
-rw-r--r--plugins/sensors/symbian/magnetometersensorsym.cpp4
-rw-r--r--plugins/sensors/symbian/magnetometersensorsym.h4
-rw-r--r--plugins/sensors/symbian/main.cpp2
-rw-r--r--plugins/sensors/symbian/orientationsym.cpp4
-rw-r--r--plugins/sensors/symbian/orientationsym.h4
-rw-r--r--plugins/sensors/symbian/proximitysensorsym.cpp4
-rw-r--r--plugins/sensors/symbian/proximitysensorsym.h4
-rw-r--r--plugins/sensors/symbian/rotationsensorsym.cpp4
-rw-r--r--plugins/sensors/symbian/rotationsensorsym.h4
-rw-r--r--plugins/sensors/symbian/sensorbackenddatasym.h2
-rw-r--r--plugins/sensors/symbian/sensorbackendsym.cpp15
-rw-r--r--plugins/sensors/symbian/sensorbackendsym.h2
-rw-r--r--plugins/sensors/symbian/symbian.pri2
-rw-r--r--plugins/sensors/symbian/symbian.pro26
-rw-r--r--plugins/sensors/symbian/tapsensorsym.cpp4
-rw-r--r--plugins/sensors/symbian/tapsensorsym.h4
-rw-r--r--qtmobility.pro13
-rw-r--r--src/bearer/qcorewlanengine_mac.mm693
-rw-r--r--src/bearer/qcorewlanengine_mac_p.h56
-rw-r--r--src/bearer/qgenericengine.cpp2
-rw-r--r--src/bearer/qgenericengine_p.h2
-rw-r--r--src/bearer/qnativewifiengine_win.cpp2
-rw-r--r--src/bearer/qnativewifiengine_win_p.h2
-rw-r--r--src/bearer/qnetworkconfigmanager_maemo_p.h1
-rw-r--r--src/bearer/qnetworkconfigmanager_p.cpp2
-rw-r--r--src/bearer/qnetworkconfigmanager_p.h2
-rw-r--r--src/bearer/qnetworkconfigmanager_s60_p.cpp339
-rw-r--r--src/bearer/qnetworkconfigmanager_s60_p.h24
-rw-r--r--src/bearer/qnetworkconfiguration.cpp2
-rw-r--r--src/bearer/qnetworkconfiguration.h2
-rw-r--r--src/bearer/qnetworkconfiguration_maemo_p.h2
-rw-r--r--src/bearer/qnetworkconfiguration_p.h2
-rw-r--r--src/bearer/qnetworkconfiguration_s60_p.cpp2
-rw-r--r--src/bearer/qnetworkconfiguration_s60_p.h13
-rw-r--r--src/bearer/qnetworkmanagerservice_p.cpp2
-rw-r--r--src/bearer/qnetworkmanagerservice_p.h2
-rw-r--r--src/bearer/qnetworksession.cpp2
-rw-r--r--src/bearer/qnetworksession.h2
-rw-r--r--src/bearer/qnetworksession_maemo.cpp2
-rw-r--r--src/bearer/qnetworksession_maemo_p.h2
-rw-r--r--src/bearer/qnetworksession_p.cpp2
-rw-r--r--src/bearer/qnetworksession_p.h2
-rw-r--r--src/bearer/qnetworksession_s60_p.cpp406
-rw-r--r--src/bearer/qnetworksession_s60_p.h19
-rw-r--r--src/bearer/qnetworksessionengine.cpp2
-rw-r--r--src/bearer/qnetworksessionengine_p.h2
-rw-r--r--src/bearer/qnetworksessionengine_win_p.h2
-rw-r--r--src/bearer/qnlaengine_win.cpp2
-rw-r--r--src/bearer/qnlaengine_win_p.h2
-rw-r--r--src/bearer/qnmdbushelper.cpp2
-rw-r--r--src/bearer/qnmdbushelper_p.h2
-rw-r--r--src/bearer/qnmwifiengine_unix.cpp2
-rw-r--r--src/bearer/qnmwifiengine_unix_p.h2
-rw-r--r--src/contacts/details/qcontactaddress.h2
-rw-r--r--src/contacts/details/qcontactanniversary.h2
-rw-r--r--src/contacts/details/qcontactavatar.h2
-rw-r--r--src/contacts/details/qcontactbirthday.h2
-rw-r--r--src/contacts/details/qcontactdetails.cpp13
-rw-r--r--src/contacts/details/qcontactdetails.h2
-rw-r--r--src/contacts/details/qcontactdisplaylabel.h2
-rw-r--r--src/contacts/details/qcontactemailaddress.h2
-rw-r--r--src/contacts/details/qcontactfamily.h2
-rw-r--r--src/contacts/details/qcontactgender.h2
-rw-r--r--src/contacts/details/qcontactgeolocation.h2
-rw-r--r--src/contacts/details/qcontactglobalpresence.h2
-rw-r--r--src/contacts/details/qcontactguid.h2
-rw-r--r--src/contacts/details/qcontactname.h2
-rw-r--r--src/contacts/details/qcontactnickname.h2
-rw-r--r--src/contacts/details/qcontactnote.h2
-rw-r--r--src/contacts/details/qcontactonlineaccount.h2
-rw-r--r--src/contacts/details/qcontactorganization.h2
-rw-r--r--src/contacts/details/qcontactphonenumber.h2
-rw-r--r--src/contacts/details/qcontactpresence.h2
-rw-r--r--src/contacts/details/qcontactringtone.h2
-rw-r--r--src/contacts/details/qcontactsynctarget.h2
-rw-r--r--src/contacts/details/qcontactthumbnail.h2
-rw-r--r--src/contacts/details/qcontacttimestamp.h2
-rw-r--r--src/contacts/details/qcontacttype.h3
-rw-r--r--src/contacts/details/qcontacturl.h2
-rw-r--r--src/contacts/engines/qcontactinvalidbackend.cpp2
-rw-r--r--src/contacts/engines/qcontactinvalidbackend_p.h2
-rw-r--r--src/contacts/engines/qcontactmemorybackend.cpp4
-rw-r--r--src/contacts/engines/qcontactmemorybackend_p.h2
-rw-r--r--src/contacts/filters/qcontactchangelogfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactchangelogfilter.h2
-rw-r--r--src/contacts/filters/qcontactchangelogfilter_p.h2
-rw-r--r--src/contacts/filters/qcontactdetailfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactdetailfilter.h2
-rw-r--r--src/contacts/filters/qcontactdetailfilter_p.h2
-rw-r--r--src/contacts/filters/qcontactdetailrangefilter.cpp40
-rw-r--r--src/contacts/filters/qcontactdetailrangefilter.h2
-rw-r--r--src/contacts/filters/qcontactdetailrangefilter_p.h2
-rw-r--r--src/contacts/filters/qcontactfilters.h2
-rw-r--r--src/contacts/filters/qcontactintersectionfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactintersectionfilter.h2
-rw-r--r--src/contacts/filters/qcontactintersectionfilter_p.h2
-rw-r--r--src/contacts/filters/qcontactinvalidfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactinvalidfilter.h2
-rw-r--r--src/contacts/filters/qcontactlocalidfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactlocalidfilter.h2
-rw-r--r--src/contacts/filters/qcontactlocalidfilter_p.h2
-rw-r--r--src/contacts/filters/qcontactrelationshipfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactrelationshipfilter.h2
-rw-r--r--src/contacts/filters/qcontactrelationshipfilter_p.h2
-rw-r--r--src/contacts/filters/qcontactunionfilter.cpp2
-rw-r--r--src/contacts/filters/qcontactunionfilter.h2
-rw-r--r--src/contacts/filters/qcontactunionfilter_p.h2
-rw-r--r--src/contacts/qcontact.cpp2
-rw-r--r--src/contacts/qcontact.h2
-rw-r--r--src/contacts/qcontact_p.h2
-rw-r--r--src/contacts/qcontactabstractrequest.cpp32
-rw-r--r--src/contacts/qcontactabstractrequest.h2
-rw-r--r--src/contacts/qcontactabstractrequest_p.h4
-rw-r--r--src/contacts/qcontactchangeset.cpp2
-rw-r--r--src/contacts/qcontactchangeset.h2
-rw-r--r--src/contacts/qcontactchangeset_p.h2
-rw-r--r--src/contacts/qcontactdetail.cpp2
-rw-r--r--src/contacts/qcontactdetail.h2
-rw-r--r--src/contacts/qcontactdetail_p.h2
-rw-r--r--src/contacts/qcontactdetaildefinition.cpp2
-rw-r--r--src/contacts/qcontactdetaildefinition.h2
-rw-r--r--src/contacts/qcontactdetaildefinition_p.h2
-rw-r--r--src/contacts/qcontactdetailfielddefinition.cpp2
-rw-r--r--src/contacts/qcontactdetailfielddefinition.h2
-rw-r--r--src/contacts/qcontactdetailfielddefinition_p.h2
-rw-r--r--src/contacts/qcontactfetchhint.cpp2
-rw-r--r--src/contacts/qcontactfetchhint.h5
-rw-r--r--src/contacts/qcontactfetchhint_p.h2
-rw-r--r--src/contacts/qcontactfilter.cpp2
-rw-r--r--src/contacts/qcontactfilter.h4
-rw-r--r--src/contacts/qcontactfilter_p.h2
-rw-r--r--src/contacts/qcontactid.cpp2
-rw-r--r--src/contacts/qcontactid.h2
-rw-r--r--src/contacts/qcontactid_p.h2
-rw-r--r--src/contacts/qcontactmanager.cpp2
-rw-r--r--src/contacts/qcontactmanager.h2
-rw-r--r--src/contacts/qcontactmanager_p.cpp2
-rw-r--r--src/contacts/qcontactmanager_p.h2
-rw-r--r--src/contacts/qcontactmanagerengine.cpp399
-rw-r--r--src/contacts/qcontactmanagerengine.h2
-rw-r--r--src/contacts/qcontactmanagerenginefactory.cpp2
-rw-r--r--src/contacts/qcontactmanagerenginefactory.h2
-rw-r--r--src/contacts/qcontactrelationship.cpp2
-rw-r--r--src/contacts/qcontactrelationship.h2
-rw-r--r--src/contacts/qcontactrelationship_p.h2
-rw-r--r--src/contacts/qcontactsortorder.cpp2
-rw-r--r--src/contacts/qcontactsortorder.h2
-rw-r--r--src/contacts/qcontactsortorder_p.h2
-rw-r--r--src/contacts/qtcontacts.h2
-rw-r--r--src/contacts/qtcontactsglobal.h5
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionfetchrequest.cpp9
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionfetchrequest.h2
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionremoverequest.cpp8
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionremoverequest.h2
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionsaverequest.cpp8
-rw-r--r--src/contacts/requests/qcontactdetaildefinitionsaverequest.h2
-rw-r--r--src/contacts/requests/qcontactfetchrequest.cpp9
-rw-r--r--src/contacts/requests/qcontactfetchrequest.h2
-rw-r--r--src/contacts/requests/qcontactlocalidfetchrequest.cpp7
-rw-r--r--src/contacts/requests/qcontactlocalidfetchrequest.h2
-rw-r--r--src/contacts/requests/qcontactrelationshipfetchrequest.cpp9
-rw-r--r--src/contacts/requests/qcontactrelationshipfetchrequest.h2
-rw-r--r--src/contacts/requests/qcontactrelationshipremoverequest.cpp6
-rw-r--r--src/contacts/requests/qcontactrelationshipremoverequest.h2
-rw-r--r--src/contacts/requests/qcontactrelationshipsaverequest.cpp6
-rw-r--r--src/contacts/requests/qcontactrelationshipsaverequest.h2
-rw-r--r--src/contacts/requests/qcontactremoverequest.cpp6
-rw-r--r--src/contacts/requests/qcontactremoverequest.h2
-rw-r--r--src/contacts/requests/qcontactrequests.h2
-rw-r--r--src/contacts/requests/qcontactrequests_p.h2
-rw-r--r--src/contacts/requests/qcontactsaverequest.cpp6
-rw-r--r--src/contacts/requests/qcontactsaverequest.h2
-rw-r--r--src/global/qmobilityglobal.h8
-rw-r--r--src/global/qmobilitypluginsearch.h2
-rw-r--r--src/location/dbuscomm_maemo.cpp2
-rw-r--r--src/location/dbuscomm_maemo_p.h2
-rw-r--r--src/location/dbusserver_maemo.cpp2
-rw-r--r--src/location/dbusserver_maemo_p.h2
-rw-r--r--src/location/liblocationwrapper.cpp2
-rw-r--r--src/location/liblocationwrapper_p.h2
-rw-r--r--src/location/location.pro1
-rw-r--r--src/location/notificationcallback_s60_p.h2
-rw-r--r--src/location/notificationmonitorcallback_s60_p.h2
-rw-r--r--src/location/notificationsatellitecallback_s60_p.h2
-rw-r--r--src/location/qgeoareamonitor.cpp2
-rw-r--r--src/location/qgeoareamonitor.h2
-rw-r--r--src/location/qgeoareamonitor_maemo.cpp2
-rw-r--r--src/location/qgeoareamonitor_maemo_p.h2
-rw-r--r--src/location/qgeoareamonitor_s60.cpp2
-rw-r--r--src/location/qgeoareamonitor_s60_p.h2
-rw-r--r--src/location/qgeocoordinate.cpp2
-rw-r--r--src/location/qgeocoordinate.h2
-rw-r--r--src/location/qgeoinfothread_wince.cpp2
-rw-r--r--src/location/qgeoinfothread_wince_p.h2
-rw-r--r--src/location/qgeopositioninfo.cpp2
-rw-r--r--src/location/qgeopositioninfo.h2
-rw-r--r--src/location/qgeopositioninfosource.cpp2
-rw-r--r--src/location/qgeopositioninfosource.h2
-rw-r--r--src/location/qgeopositioninfosource_maemo.cpp2
-rw-r--r--src/location/qgeopositioninfosource_maemo5.cpp2
-rw-r--r--src/location/qgeopositioninfosource_maemo5_p.h2
-rw-r--r--src/location/qgeopositioninfosource_maemo_p.h2
-rw-r--r--src/location/qgeopositioninfosource_s60.cpp2
-rw-r--r--src/location/qgeopositioninfosource_s60_p.h2
-rw-r--r--src/location/qgeopositioninfosource_wince.cpp2
-rw-r--r--src/location/qgeopositioninfosource_wince_p.h2
-rw-r--r--src/location/qgeosatelliteinfo.cpp2
-rw-r--r--src/location/qgeosatelliteinfo.h2
-rw-r--r--src/location/qgeosatelliteinfosource.cpp2
-rw-r--r--src/location/qgeosatelliteinfosource.h2
-rw-r--r--src/location/qgeosatelliteinfosource_maemo.cpp2
-rw-r--r--src/location/qgeosatelliteinfosource_maemo5.cpp2
-rw-r--r--src/location/qgeosatelliteinfosource_maemo5_p.h2
-rw-r--r--src/location/qgeosatelliteinfosource_maemo_p.h2
-rw-r--r--src/location/qgeosatelliteinfosource_s60.cpp2
-rw-r--r--src/location/qgeosatelliteinfosource_s60_p.h2
-rw-r--r--src/location/qgeosatelliteinfosource_wince.cpp2
-rw-r--r--src/location/qgeosatelliteinfosource_wince_p.h2
-rw-r--r--src/location/qlocationutils.cpp2
-rw-r--r--src/location/qlocationutils_p.h2
-rw-r--r--src/location/qmlbackendao_s60.cpp2
-rw-r--r--src/location/qmlbackendao_s60_p.h2
-rw-r--r--src/location/qmlbackendmonitorao_s60.cpp2
-rw-r--r--src/location/qmlbackendmonitorao_s60_p.h2
-rw-r--r--src/location/qmlbackendmonitorcreatetriggerao_s60.cpp2
-rw-r--r--src/location/qmlbackendmonitorcreatetriggerao_s60_p.h3
-rw-r--r--src/location/qmlbackendmonitorinfo_s60.cpp2
-rw-r--r--src/location/qmlbackendmonitorinfo_s60_p.h2
-rw-r--r--src/location/qmlbackendtriggerchangeao_s60.cpp2
-rw-r--r--src/location/qmlbackendtriggerchangeao_s60_p.h4
-rw-r--r--src/location/qnmeapositioninfosource.cpp2
-rw-r--r--src/location/qnmeapositioninfosource.h2
-rw-r--r--src/location/qnmeapositioninfosource_p.h2
-rw-r--r--src/messaging/addresshelper.cpp2
-rw-r--r--src/messaging/addresshelper_p.h2
-rw-r--r--src/messaging/eventloggerengine_maemo.cpp39
-rw-r--r--src/messaging/eventloggerengine_maemo_p.h4
-rw-r--r--src/messaging/maemohelpers.cpp2
-rw-r--r--src/messaging/maemohelpers_p.h2
-rw-r--r--src/messaging/messaging.pro29
-rw-r--r--src/messaging/messagingutil.cpp2
-rw-r--r--src/messaging/messagingutil_p.h2
-rw-r--r--src/messaging/modestengine_maemo.cpp688
-rw-r--r--src/messaging/modestengine_maemo_p.h52
-rw-r--r--src/messaging/qfsengine_symbian.cpp2836
-rw-r--r--src/messaging/qfsengine_symbian_p.h315
-rw-r--r--src/messaging/qmessage.cpp2
-rw-r--r--src/messaging/qmessage.h2
-rw-r--r--src/messaging/qmessage_maemo.cpp2
-rw-r--r--src/messaging/qmessage_p.h2
-rw-r--r--src/messaging/qmessage_qmf.cpp2
-rw-r--r--src/messaging/qmessage_stub.cpp2
-rw-r--r--src/messaging/qmessage_symbian.cpp3
-rw-r--r--src/messaging/qmessage_symbian_p.h2
-rw-r--r--src/messaging/qmessage_win.cpp2
-rw-r--r--src/messaging/qmessageaccount.cpp2
-rw-r--r--src/messaging/qmessageaccount.h5
-rw-r--r--src/messaging/qmessageaccount_maemo.cpp8
-rw-r--r--src/messaging/qmessageaccount_p.h2
-rw-r--r--src/messaging/qmessageaccount_qmf.cpp2
-rw-r--r--src/messaging/qmessageaccount_stub.cpp2
-rw-r--r--src/messaging/qmessageaccount_symbian.cpp3
-rw-r--r--src/messaging/qmessageaccount_win.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter.h2
-rw-r--r--src/messaging/qmessageaccountfilter_maemo.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter_p.h2
-rw-r--r--src/messaging/qmessageaccountfilter_qmf.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter_stub.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter_symbian.cpp2
-rw-r--r--src/messaging/qmessageaccountfilter_win.cpp2
-rw-r--r--src/messaging/qmessageaccountid.cpp2
-rw-r--r--src/messaging/qmessageaccountid.h2
-rw-r--r--src/messaging/qmessageaccountid_maemo.cpp2
-rw-r--r--src/messaging/qmessageaccountid_p.h2
-rw-r--r--src/messaging/qmessageaccountid_qmf.cpp2
-rw-r--r--src/messaging/qmessageaccountid_stub.cpp2
-rw-r--r--src/messaging/qmessageaccountid_symbian.cpp4
-rw-r--r--src/messaging/qmessageaccountid_win.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder.h2
-rw-r--r--src/messaging/qmessageaccountsortorder_maemo.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder_p.h2
-rw-r--r--src/messaging/qmessageaccountsortorder_qmf.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder_stub.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder_symbian.cpp2
-rw-r--r--src/messaging/qmessageaccountsortorder_win.cpp2
-rw-r--r--src/messaging/qmessageaddress.cpp2
-rw-r--r--src/messaging/qmessageaddress.h2
-rw-r--r--src/messaging/qmessageaddress_p.h2
-rw-r--r--src/messaging/qmessagecontentcontainer.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainer.h2
-rw-r--r--src/messaging/qmessagecontentcontainer_maemo.cpp38
-rw-r--r--src/messaging/qmessagecontentcontainer_maemo_p.h2
-rw-r--r--src/messaging/qmessagecontentcontainer_p.h2
-rw-r--r--src/messaging/qmessagecontentcontainer_qmf.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainer_stub.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainer_symbian.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainer_symbian_p.h2
-rw-r--r--src/messaging/qmessagecontentcontainer_win.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid.h2
-rw-r--r--src/messaging/qmessagecontentcontainerid_maemo.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid_p.h2
-rw-r--r--src/messaging/qmessagecontentcontainerid_qmf.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid_stub.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid_symbian.cpp2
-rw-r--r--src/messaging/qmessagecontentcontainerid_win.cpp2
-rw-r--r--src/messaging/qmessagedatacomparator.cpp2
-rw-r--r--src/messaging/qmessagedatacomparator.h2
-rw-r--r--src/messaging/qmessagefilter.cpp2
-rw-r--r--src/messaging/qmessagefilter.h2
-rw-r--r--src/messaging/qmessagefilter_maemo.cpp2
-rw-r--r--src/messaging/qmessagefilter_p.h2
-rw-r--r--src/messaging/qmessagefilter_qmf.cpp2
-rw-r--r--src/messaging/qmessagefilter_stub.cpp2
-rw-r--r--src/messaging/qmessagefilter_symbian.cpp2
-rw-r--r--src/messaging/qmessagefilter_win.cpp2
-rw-r--r--src/messaging/qmessagefolder.cpp2
-rw-r--r--src/messaging/qmessagefolder.h2
-rw-r--r--src/messaging/qmessagefolder_maemo.cpp2
-rw-r--r--src/messaging/qmessagefolder_p.h2
-rw-r--r--src/messaging/qmessagefolder_qmf.cpp2
-rw-r--r--src/messaging/qmessagefolder_stub.cpp2
-rw-r--r--src/messaging/qmessagefolder_symbian.cpp2
-rw-r--r--src/messaging/qmessagefolder_win.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter.h2
-rw-r--r--src/messaging/qmessagefolderfilter_maemo.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter_p.h2
-rw-r--r--src/messaging/qmessagefolderfilter_qmf.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter_stub.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter_symbian.cpp2
-rw-r--r--src/messaging/qmessagefolderfilter_win.cpp2
-rw-r--r--src/messaging/qmessagefolderid.cpp2
-rw-r--r--src/messaging/qmessagefolderid.h2
-rw-r--r--src/messaging/qmessagefolderid_maemo.cpp2
-rw-r--r--src/messaging/qmessagefolderid_p.h2
-rw-r--r--src/messaging/qmessagefolderid_qmf.cpp2
-rw-r--r--src/messaging/qmessagefolderid_stub.cpp2
-rw-r--r--src/messaging/qmessagefolderid_symbian.cpp3
-rw-r--r--src/messaging/qmessagefolderid_win.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder.h2
-rw-r--r--src/messaging/qmessagefoldersortorder_maemo.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder_p.h2
-rw-r--r--src/messaging/qmessagefoldersortorder_qmf.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder_stub.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder_symbian.cpp2
-rw-r--r--src/messaging/qmessagefoldersortorder_win.cpp2
-rw-r--r--src/messaging/qmessageglobal.h2
-rw-r--r--src/messaging/qmessageid.cpp2
-rw-r--r--src/messaging/qmessageid.h2
-rw-r--r--src/messaging/qmessageid_maemo.cpp2
-rw-r--r--src/messaging/qmessageid_p.h2
-rw-r--r--src/messaging/qmessageid_qmf.cpp2
-rw-r--r--src/messaging/qmessageid_stub.cpp2
-rw-r--r--src/messaging/qmessageid_symbian.cpp4
-rw-r--r--src/messaging/qmessageid_win.cpp2
-rw-r--r--src/messaging/qmessagemanager.cpp2
-rw-r--r--src/messaging/qmessagemanager.h2
-rw-r--r--src/messaging/qmessageservice.cpp2
-rw-r--r--src/messaging/qmessageservice.h2
-rw-r--r--src/messaging/qmessageservice_maemo.cpp69
-rw-r--r--src/messaging/qmessageservice_maemo_p.h2
-rw-r--r--src/messaging/qmessageservice_qmf.cpp2
-rw-r--r--src/messaging/qmessageservice_stub.cpp2
-rw-r--r--src/messaging/qmessageservice_symbian.cpp224
-rw-r--r--src/messaging/qmessageservice_symbian_p.h19
-rw-r--r--src/messaging/qmessageservice_win.cpp2
-rw-r--r--src/messaging/qmessagesortorder.cpp2
-rw-r--r--src/messaging/qmessagesortorder.h2
-rw-r--r--src/messaging/qmessagesortorder_maemo.cpp2
-rw-r--r--src/messaging/qmessagesortorder_p.h2
-rw-r--r--src/messaging/qmessagesortorder_qmf.cpp2
-rw-r--r--src/messaging/qmessagesortorder_stub.cpp2
-rw-r--r--src/messaging/qmessagesortorder_symbian.cpp2
-rw-r--r--src/messaging/qmessagesortorder_win.cpp2
-rw-r--r--src/messaging/qmessagestore.cpp2
-rw-r--r--src/messaging/qmessagestore.h2
-rw-r--r--src/messaging/qmessagestore_maemo.cpp2
-rw-r--r--src/messaging/qmessagestore_p.h2
-rw-r--r--src/messaging/qmessagestore_qmf.cpp2
-rw-r--r--src/messaging/qmessagestore_qmf_p.h2
-rw-r--r--src/messaging/qmessagestore_stub.cpp2
-rw-r--r--src/messaging/qmessagestore_symbian.cpp172
-rw-r--r--src/messaging/qmessagestore_symbian_p.h9
-rw-r--r--src/messaging/qmessagestore_win.cpp2
-rw-r--r--src/messaging/qmfhelpers.cpp2
-rw-r--r--src/messaging/qmfhelpers_p.h2
-rw-r--r--src/messaging/qmtmengine_symbian.cpp578
-rw-r--r--src/messaging/qmtmengine_symbian_p.h17
-rw-r--r--src/messaging/qtmessaging.h2
-rw-r--r--src/messaging/telepathyengine_maemo.cpp36
-rw-r--r--src/messaging/telepathyengine_maemo_p.h11
-rw-r--r--src/messaging/win32wce/longstring.cpp2
-rw-r--r--src/messaging/win32wce/longstring_p.h2
-rw-r--r--src/messaging/win32wce/qmailaddress.cpp2
-rw-r--r--src/messaging/win32wce/qmailaddress.h2
-rw-r--r--src/messaging/win32wce/qmailcodec.cpp2
-rw-r--r--src/messaging/win32wce/qmailcodec.h2
-rw-r--r--src/messaging/win32wce/qmailfolderfwd.h2
-rw-r--r--src/messaging/win32wce/qmailglobal.h2
-rw-r--r--src/messaging/win32wce/qmailid.cpp2
-rw-r--r--src/messaging/win32wce/qmailid.h2
-rw-r--r--src/messaging/win32wce/qmailinstantiations.cpp2
-rw-r--r--src/messaging/win32wce/qmailipc.h2
-rw-r--r--src/messaging/win32wce/qmaillog.cpp2
-rw-r--r--src/messaging/win32wce/qmaillog.h2
-rw-r--r--src/messaging/win32wce/qmailmessage.cpp2
-rw-r--r--src/messaging/win32wce/qmailmessage.h2
-rw-r--r--src/messaging/win32wce/qmailmessage_p.h2
-rw-r--r--src/messaging/win32wce/qmailmessagefwd.cpp2
-rw-r--r--src/messaging/win32wce/qmailmessagefwd.h2
-rw-r--r--src/messaging/win32wce/qmailnamespace.cpp2
-rw-r--r--src/messaging/win32wce/qmailnamespace.h2
-rw-r--r--src/messaging/win32wce/qmailtimestamp.cpp2
-rw-r--r--src/messaging/win32wce/qmailtimestamp.h2
-rw-r--r--src/messaging/win32wce/qprivateimplementation.cpp2
-rw-r--r--src/messaging/win32wce/qprivateimplementation.h2
-rw-r--r--src/messaging/win32wce/qprivateimplementationdef.h2
-rw-r--r--src/messaging/winhelpers.cpp2
-rw-r--r--src/messaging/winhelpers_p.h2
-rw-r--r--src/multimedia/qaudiocapturesource.cpp2
-rw-r--r--src/multimedia/qaudiocapturesource.h2
-rw-r--r--src/multimedia/qaudioencodercontrol.cpp2
-rw-r--r--src/multimedia/qaudioencodercontrol.h2
-rw-r--r--src/multimedia/qaudioendpointselector.cpp2
-rw-r--r--src/multimedia/qaudioendpointselector.h2
-rw-r--r--src/multimedia/qgraphicsvideoitem.cpp2
-rw-r--r--src/multimedia/qgraphicsvideoitem.h2
-rw-r--r--src/multimedia/qgraphicsvideoitem_maemo5.cpp2
-rw-r--r--src/multimedia/qimageencodercontrol.cpp2
-rw-r--r--src/multimedia/qimageencodercontrol.h2
-rw-r--r--src/multimedia/qlocalmediaplaylistprovider.cpp2
-rw-r--r--src/multimedia/qlocalmediaplaylistprovider.h2
-rw-r--r--src/multimedia/qmediacontainercontrol.cpp2
-rw-r--r--src/multimedia/qmediacontainercontrol.h2
-rw-r--r--src/multimedia/qmediacontent.cpp2
-rw-r--r--src/multimedia/qmediacontent.h2
-rw-r--r--src/multimedia/qmediacontrol.cpp2
-rw-r--r--src/multimedia/qmediacontrol.h2
-rw-r--r--src/multimedia/qmediacontrol_p.h2
-rw-r--r--src/multimedia/qmediaencodersettings.cpp2
-rw-r--r--src/multimedia/qmediaencodersettings.h2
-rw-r--r--src/multimedia/qmediaimageviewer.cpp2
-rw-r--r--src/multimedia/qmediaimageviewer.h2
-rw-r--r--src/multimedia/qmediaimageviewerservice.cpp2
-rw-r--r--src/multimedia/qmediaimageviewerservice_p.h2
-rw-r--r--src/multimedia/qmediaobject.cpp2
-rw-r--r--src/multimedia/qmediaobject.h2
-rw-r--r--src/multimedia/qmediaobject_p.h2
-rw-r--r--src/multimedia/qmediaplayer.cpp2
-rw-r--r--src/multimedia/qmediaplayer.h2
-rw-r--r--src/multimedia/qmediaplayercontrol.cpp2
-rw-r--r--src/multimedia/qmediaplayercontrol.h2
-rw-r--r--src/multimedia/qmediaplaylist.cpp2
-rw-r--r--src/multimedia/qmediaplaylist.h2
-rw-r--r--src/multimedia/qmediaplaylist_p.h2
-rw-r--r--src/multimedia/qmediaplaylistcontrol.cpp2
-rw-r--r--src/multimedia/qmediaplaylistcontrol.h2
-rw-r--r--src/multimedia/qmediaplaylistioplugin.cpp2
-rw-r--r--src/multimedia/qmediaplaylistioplugin.h2
-rw-r--r--src/multimedia/qmediaplaylistnavigator.cpp2
-rw-r--r--src/multimedia/qmediaplaylistnavigator.h2
-rw-r--r--src/multimedia/qmediaplaylistprovider.cpp2
-rw-r--r--src/multimedia/qmediaplaylistprovider.h2
-rw-r--r--src/multimedia/qmediaplaylistprovider_p.h2
-rw-r--r--src/multimedia/qmediapluginloader.cpp2
-rw-r--r--src/multimedia/qmediapluginloader_p.h2
-rw-r--r--src/multimedia/qmediarecorder.cpp2
-rw-r--r--src/multimedia/qmediarecorder.h2
-rw-r--r--src/multimedia/qmediarecordercontrol.cpp2
-rw-r--r--src/multimedia/qmediarecordercontrol.h2
-rw-r--r--src/multimedia/qmediaresource.cpp2
-rw-r--r--src/multimedia/qmediaresource.h2
-rw-r--r--src/multimedia/qmediaservice.cpp2
-rw-r--r--src/multimedia/qmediaservice.h2
-rw-r--r--src/multimedia/qmediaservice_p.h2
-rw-r--r--src/multimedia/qmediaserviceprovider.cpp2
-rw-r--r--src/multimedia/qmediaserviceprovider.h2
-rw-r--r--src/multimedia/qmediaserviceproviderplugin.h2
-rw-r--r--src/multimedia/qmediastreamscontrol.cpp2
-rw-r--r--src/multimedia/qmediastreamscontrol.h2
-rw-r--r--src/multimedia/qmediatimerange.cpp2
-rw-r--r--src/multimedia/qmediatimerange.h2
-rw-r--r--src/multimedia/qmetadatacontrol.cpp2
-rw-r--r--src/multimedia/qmetadatacontrol.h2
-rw-r--r--src/multimedia/qpaintervideosurface.cpp2
-rw-r--r--src/multimedia/qpaintervideosurface_p.h2
-rw-r--r--src/multimedia/qradiotuner.cpp2
-rw-r--r--src/multimedia/qradiotuner.h2
-rw-r--r--src/multimedia/qradiotunercontrol.cpp2
-rw-r--r--src/multimedia/qradiotunercontrol.h2
-rw-r--r--src/multimedia/qsoundeffect_p.h2
-rw-r--r--src/multimedia/qtmedianamespace.h2
-rw-r--r--src/multimedia/qtmedianamespace.qdoc2
-rw-r--r--src/multimedia/qvideodevicecontrol.cpp2
-rw-r--r--src/multimedia/qvideodevicecontrol.h2
-rw-r--r--src/multimedia/qvideoencodercontrol.cpp2
-rw-r--r--src/multimedia/qvideoencodercontrol.h2
-rw-r--r--src/multimedia/qvideooutputcontrol.cpp2
-rw-r--r--src/multimedia/qvideooutputcontrol.h2
-rw-r--r--src/multimedia/qvideorenderercontrol.cpp2
-rw-r--r--src/multimedia/qvideorenderercontrol.h2
-rw-r--r--src/multimedia/qvideowidget.cpp2
-rw-r--r--src/multimedia/qvideowidget.h2
-rw-r--r--src/multimedia/qvideowidget_p.h2
-rw-r--r--src/multimedia/qvideowidgetcontrol.cpp2
-rw-r--r--src/multimedia/qvideowidgetcontrol.h2
-rw-r--r--src/multimedia/qvideowindowcontrol.cpp2
-rw-r--r--src/multimedia/qvideowindowcontrol.h2
-rw-r--r--src/multimedia/qxvideosurface_maemo5.cpp2
-rw-r--r--src/multimedia/qxvideosurface_maemo5_p.h2
-rw-r--r--src/publishsubscribe/contextkitlayer.cpp16
-rw-r--r--src/publishsubscribe/gconfitem.cpp2
-rw-r--r--src/publishsubscribe/gconfitem_p.h2
-rw-r--r--src/publishsubscribe/gconflayer_linux.cpp4
-rw-r--r--src/publishsubscribe/gconflayer_linux_p.h2
-rw-r--r--src/publishsubscribe/pathmapper_proxy_symbian.cpp2
-rw-r--r--src/publishsubscribe/pathmapper_proxy_symbian_p.h2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/clientservercommon.h2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian.cpp4
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian_p.h2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.cpp2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.h2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.pan2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmapperservermain.cpp2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmappersession.cpp2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/pspathmappersession.h2
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/qcrmlparser.cpp71
-rw-r--r--src/publishsubscribe/psmapperserver_symbian/qcrmlparser_p.h2
-rw-r--r--src/publishsubscribe/qmallocpool.cpp2
-rw-r--r--src/publishsubscribe/qmallocpool_p.h2
-rw-r--r--src/publishsubscribe/qpacketprotocol.cpp2
-rw-r--r--src/publishsubscribe/qpacketprotocol_p.h2
-rw-r--r--src/publishsubscribe/qsystemreadwritelock_p.h4
-rw-r--r--src/publishsubscribe/qsystemreadwritelock_unix.cpp83
-rw-r--r--src/publishsubscribe/qsystemreadwritelock_win.cpp2
-rw-r--r--src/publishsubscribe/qvaluespace.cpp2
-rw-r--r--src/publishsubscribe/qvaluespace.h2
-rw-r--r--src/publishsubscribe/qvaluespace_p.h2
-rw-r--r--src/publishsubscribe/qvaluespacemanager.cpp2
-rw-r--r--src/publishsubscribe/qvaluespacemanager_p.h2
-rw-r--r--src/publishsubscribe/qvaluespacepublisher.cpp2
-rw-r--r--src/publishsubscribe/qvaluespacepublisher.h2
-rw-r--r--src/publishsubscribe/qvaluespacesubscriber.cpp2
-rw-r--r--src/publishsubscribe/qvaluespacesubscriber.h2
-rw-r--r--src/publishsubscribe/registrylayer_win.cpp17
-rw-r--r--src/publishsubscribe/settingslayer_symbian.cpp4
-rw-r--r--src/publishsubscribe/settingslayer_symbian_p.h2
-rw-r--r--src/publishsubscribe/sharedmemorylayer.cpp45
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/settingsmanager_global.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.h4
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.cpp14
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.h4
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.cpp8
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.h4
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.cpp10
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.h2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.cpp2
-rw-r--r--src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.h2
-rw-r--r--src/s60installs/bwins/QtContactsu.def71
-rw-r--r--src/s60installs/eabi/QtContactsu.def63
-rw-r--r--src/s60installs/eabi/QtSensorsu.def7
-rw-r--r--src/s60installs/s60installs.pro25
-rwxr-xr-xsrc/sensors/make_sensor.pl10
-rw-r--r--src/sensors/qaccelerometer.cpp4
-rw-r--r--src/sensors/qaccelerometer.h4
-rw-r--r--src/sensors/qaccelerometer_p.h6
-rw-r--r--src/sensors/qambientlightsensor.cpp4
-rw-r--r--src/sensors/qambientlightsensor.h4
-rw-r--r--src/sensors/qambientlightsensor_p.h6
-rw-r--r--src/sensors/qcompass.cpp4
-rw-r--r--src/sensors/qcompass.h4
-rw-r--r--src/sensors/qcompass_p.h6
-rw-r--r--src/sensors/qmagnetometer.cpp4
-rw-r--r--src/sensors/qmagnetometer.h4
-rw-r--r--src/sensors/qmagnetometer_p.h6
-rw-r--r--src/sensors/qorientationsensor.cpp4
-rw-r--r--src/sensors/qorientationsensor.h4
-rw-r--r--src/sensors/qorientationsensor_p.h6
-rw-r--r--src/sensors/qproximitysensor.cpp4
-rw-r--r--src/sensors/qproximitysensor.h4
-rw-r--r--src/sensors/qproximitysensor_p.h6
-rw-r--r--src/sensors/qrotationsensor.cpp4
-rw-r--r--src/sensors/qrotationsensor.h4
-rw-r--r--src/sensors/qrotationsensor_p.h6
-rw-r--r--src/sensors/qsensor.cpp53
-rw-r--r--src/sensors/qsensor.h35
-rw-r--r--src/sensors/qsensor_p.h4
-rw-r--r--src/sensors/qsensorbackend.cpp2
-rw-r--r--src/sensors/qsensorbackend.h2
-rw-r--r--src/sensors/qsensormanager.cpp14
-rw-r--r--src/sensors/qsensormanager.h2
-rw-r--r--src/sensors/qsensorplugin.cpp2
-rw-r--r--src/sensors/qsensorplugin.h2
-rw-r--r--src/sensors/qsensorpluginloader.cpp2
-rw-r--r--src/sensors/qsensorpluginloader_p.h2
-rw-r--r--src/sensors/qtapsensor.cpp13
-rw-r--r--src/sensors/qtapsensor.h4
-rw-r--r--src/sensors/qtapsensor_p.h6
-rw-r--r--src/sensors/sensorlog_p.h2
-rw-r--r--src/serviceframework/databasemanager.cpp2
-rw-r--r--src/serviceframework/databasemanager_p.h2
-rw-r--r--src/serviceframework/databasemanager_symbian.cpp2
-rw-r--r--src/serviceframework/databasemanager_symbian_p.h2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/clientservercommon.h2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.cpp2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.h2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.pan2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagerservermain.cpp2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagersession.cpp2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagersession.h2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.cpp2
-rw-r--r--src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.h2
-rw-r--r--src/serviceframework/dberror.cpp2
-rw-r--r--src/serviceframework/dberror_p.h2
-rw-r--r--src/serviceframework/qabstractsecuritysession.cpp2
-rw-r--r--src/serviceframework/qabstractsecuritysession.h2
-rw-r--r--src/serviceframework/qservice.h2
-rw-r--r--src/serviceframework/qservice.qdoc2
-rw-r--r--src/serviceframework/qservicecontext.cpp2
-rw-r--r--src/serviceframework/qservicecontext.h2
-rw-r--r--src/serviceframework/qservicefilter.cpp2
-rw-r--r--src/serviceframework/qservicefilter.h2
-rw-r--r--src/serviceframework/qserviceinterfacedescriptor.cpp2
-rw-r--r--src/serviceframework/qserviceinterfacedescriptor.h2
-rw-r--r--src/serviceframework/qserviceinterfacedescriptor_p.h2
-rw-r--r--src/serviceframework/qservicemanager.cpp2
-rw-r--r--src/serviceframework/qservicemanager.h2
-rw-r--r--src/serviceframework/qserviceplugininterface.cpp2
-rw-r--r--src/serviceframework/qserviceplugininterface.h2
-rw-r--r--src/serviceframework/servicedatabase.cpp2
-rw-r--r--src/serviceframework/servicedatabase_p.h2
-rw-r--r--src/serviceframework/servicemetadata.cpp2
-rw-r--r--src/serviceframework/servicemetadata_p.h2
-rw-r--r--src/src.pro2
-rw-r--r--src/systeminfo/qhalservice_linux.cpp2
-rw-r--r--src/systeminfo/qhalservice_linux_p.h2
-rw-r--r--src/systeminfo/qnetworkmanagerservice_linux.cpp2
-rw-r--r--src/systeminfo/qnetworkmanagerservice_linux_p.h2
-rw-r--r--src/systeminfo/qnmdbushelper.cpp2
-rw-r--r--src/systeminfo/qnmdbushelper_p.h2
-rw-r--r--src/systeminfo/qsysteminfo.cpp41
-rw-r--r--src/systeminfo/qsysteminfo.h2
-rw-r--r--src/systeminfo/qsysteminfo_linux.cpp2
-rw-r--r--src/systeminfo/qsysteminfo_linux_common.cpp24
-rw-r--r--src/systeminfo/qsysteminfo_linux_common_p.h4
-rw-r--r--src/systeminfo/qsysteminfo_linux_p.h2
-rw-r--r--src/systeminfo/qsysteminfo_mac.mm236
-rw-r--r--src/systeminfo/qsysteminfo_mac_p.h47
-rw-r--r--src/systeminfo/qsysteminfo_maemo.cpp114
-rw-r--r--src/systeminfo/qsysteminfo_maemo_p.h4
-rw-r--r--src/systeminfo/qsysteminfo_s60.cpp12
-rw-r--r--src/systeminfo/qsysteminfo_s60_p.h4
-rw-r--r--src/systeminfo/qsysteminfo_win.cpp2
-rw-r--r--src/systeminfo/qsysteminfo_win_p.h2
-rw-r--r--src/systeminfo/qwmihelper_win.cpp2
-rw-r--r--src/systeminfo/qwmihelper_win_p.h2
-rw-r--r--src/systeminfo/symbian/chargingstatus_s60.cpp2
-rw-r--r--src/systeminfo/symbian/chargingstatus_s60.h2
-rw-r--r--src/systeminfo/symbian/telephonyinfo_s60.cpp2
-rw-r--r--src/systeminfo/symbian/telephonyinfo_s60.h2
-rw-r--r--src/systeminfo/systeminfo.pro7
-rw-r--r--src/versit/qvcard21writer.cpp2
-rw-r--r--src/versit/qvcard21writer_p.h2
-rw-r--r--src/versit/qvcard30writer.cpp2
-rw-r--r--src/versit/qvcard30writer_p.h2
-rw-r--r--src/versit/qversitcontactexporter.cpp4
-rw-r--r--src/versit/qversitcontactexporter.h2
-rw-r--r--src/versit/qversitcontactexporter_p.cpp2
-rw-r--r--src/versit/qversitcontactexporter_p.h2
-rw-r--r--src/versit/qversitcontactimporter.cpp4
-rw-r--r--src/versit/qversitcontactimporter.h2
-rw-r--r--src/versit/qversitcontactimporter_p.cpp62
-rw-r--r--src/versit/qversitcontactimporter_p.h2
-rw-r--r--src/versit/qversitdefs_p.h2
-rw-r--r--src/versit/qversitdocument.cpp2
-rw-r--r--src/versit/qversitdocument.h2
-rw-r--r--src/versit/qversitdocument_p.h2
-rw-r--r--src/versit/qversitdocumentwriter_p.cpp2
-rw-r--r--src/versit/qversitproperty.cpp6
-rw-r--r--src/versit/qversitproperty.h2
-rw-r--r--src/versit/qversitproperty_p.h2
-rw-r--r--src/versit/qversitreader.cpp2
-rw-r--r--src/versit/qversitreader.h2
-rw-r--r--src/versit/qversitreader_p.cpp90
-rw-r--r--src/versit/qversitreader_p.h7
-rw-r--r--src/versit/qversitwriter.cpp2
-rw-r--r--src/versit/qversitwriter.h2
-rw-r--r--src/versit/qversitwriter_p.cpp2
-rw-r--r--src/versit/qversitwriter_p.h2
-rw-r--r--src/versit/versitutils.cpp2
-rw-r--r--src/versit/versitutils_p.h2
-rw-r--r--tests/auto/databasemanager/tst_databasemanager.cpp2
-rw-r--r--tests/auto/databasemanager/tst_databasemanager_symbian.cpp2
-rw-r--r--tests/auto/qabstractsecuritysession/tst_qabstractsecuritysession.cpp2
-rw-r--r--tests/auto/qaudiocapturesource/tst_qaudiocapturesource.cpp2
-rw-r--r--tests/auto/qbearertestcommon.h2
-rw-r--r--tests/auto/qcontact/qcontact.pro3
-rw-r--r--tests/auto/qcontact/tst_qcontact.cpp2
-rw-r--r--tests/auto/qcontactasync/maliciousplugin/maliciousplugin.cpp141
-rw-r--r--tests/auto/qcontactasync/maliciousplugin/maliciousplugin_p.h13
-rw-r--r--tests/auto/qcontactasync/unittest/tst_qcontactasync.cpp91
-rw-r--r--tests/auto/qcontactasync/unittest/unittest.pro3
-rw-r--r--tests/auto/qcontactdetail/qcontactdetail.pro3
-rw-r--r--tests/auto/qcontactdetail/tst_qcontactdetail.cpp2
-rw-r--r--tests/auto/qcontactdetaildefinition/qcontactdetaildefinition.pro3
-rw-r--r--tests/auto/qcontactdetaildefinition/tst_qcontactdetaildefinition.cpp2
-rw-r--r--tests/auto/qcontactdetails/qcontactdetails.pro3
-rw-r--r--tests/auto/qcontactdetails/tst_qcontactdetails.cpp2
-rw-r--r--tests/auto/qcontactfilter/qcontactfilter.pro3
-rw-r--r--tests/auto/qcontactfilter/tst_qcontactfilter.cpp74
-rw-r--r--tests/auto/qcontactmanager/qcontactmanager.pro3
-rw-r--r--tests/auto/qcontactmanager/tst_qcontactmanager.cpp22
-rw-r--r--tests/auto/qcontactmanagerdataholder.h2
-rw-r--r--tests/auto/qcontactmanagerfiltering/qcontactmanagerfiltering.pro3
-rw-r--r--tests/auto/qcontactmanagerfiltering/tst_qcontactmanagerfiltering.cpp202
-rw-r--r--tests/auto/qcontactmanagerplugins/dummyotherplugin/dummyotherplugin.cpp2
-rw-r--r--tests/auto/qcontactmanagerplugins/dummyplugin/dummyplugin.cpp2
-rw-r--r--tests/auto/qcontactmanagerplugins/unittest/tst_qcontactmanagerplugins.cpp2
-rw-r--r--tests/auto/qcontactmanagerplugins/unittest/unittest.pro3
-rw-r--r--tests/auto/qcontactmemusage/tst_qcontactmemusage.cpp2
-rw-r--r--tests/auto/qcontactrelationship/qcontactrelationship.pro3
-rw-r--r--tests/auto/qcontactrelationship/tst_qcontactrelationship.cpp2
-rw-r--r--tests/auto/qcrmlparser/tst_qcrmlparser.cpp2
-rw-r--r--tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp2
-rw-r--r--tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp2
-rw-r--r--tests/auto/qgeoinfosources_wince/tst_qgeoinfosources_wince.cpp2
-rw-r--r--tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp2
-rw-r--r--tests/auto/qgeopositioninfosource/tst_qgeopositioninfosource.cpp2
-rw-r--r--tests/auto/qgeosatelliteinfo/tst_qgeosatelliteinfo.cpp2
-rw-r--r--tests/auto/qgeosatelliteinfosource/tst_qgeosatelliteinfosource.cpp2
-rw-r--r--tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp2
-rw-r--r--tests/auto/qlatin1constant/tst_qlatin1constant.cpp2
-rw-r--r--tests/auto/qlocationtestutils.cpp2
-rw-r--r--tests/auto/qlocationtestutils_p.h2
-rw-r--r--tests/auto/qlocationutils/tst_qlocationutils.cpp2
-rw-r--r--tests/auto/qmallocpool/tst_qmallocpool.cpp2
-rw-r--r--tests/auto/qmediacontent/tst_qmediacontent.cpp2
-rw-r--r--tests/auto/qmediaimageviewer/tst_qmediaimageviewer.cpp2
-rw-r--r--tests/auto/qmediaobject/tst_qmediaobject.cpp2
-rw-r--r--tests/auto/qmediaplayer/tst_qmediaplayer.cpp2
-rw-r--r--tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp2
-rw-r--r--tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp2
-rw-r--r--tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp2
-rw-r--r--tests/auto/qmediarecorder/tst_qmediarecorder.cpp2
-rw-r--r--tests/auto/qmediaresource/tst_qmediaresource.cpp2
-rw-r--r--tests/auto/qmediaservice/tst_qmediaservice.cpp2
-rw-r--r--tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp2
-rw-r--r--tests/auto/qmediatimerange/tst_qmediatimerange.cpp2
-rw-r--r--tests/auto/qmessage/tst_qmessage.cpp2
-rw-r--r--tests/auto/qmessageservice/tst_qmessageservice.cpp2
-rw-r--r--tests/auto/qmessagestore/tst_qmessagestore.cpp2
-rw-r--r--tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp13
-rw-r--r--tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp9
-rw-r--r--tests/auto/qnetworksession/lackey/main.cpp12
-rw-r--r--tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp383
-rw-r--r--tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.h2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_dummynmeapositioninfosource.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime_generic.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation.cpp2
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation_generic.cpp2
-rw-r--r--tests/auto/qpacket/tst_qpacket.cpp2
-rw-r--r--tests/auto/qpacketprotocol/tst_qpacketprotocol.cpp2
-rw-r--r--tests/auto/qpaintervideosurface/tst_qpaintervideosurface.cpp2
-rw-r--r--tests/auto/qradioplayer/tst_qradioplayer.cpp2
-rw-r--r--tests/auto/qradiotuner/tst_qradiotuner.cpp2
-rw-r--r--tests/auto/qsensor/main.cpp2
-rw-r--r--tests/auto/qsensor/qsensor.pro1
-rw-r--r--tests/auto/qsensor/test_sensor.cpp2
-rw-r--r--tests/auto/qsensor/test_sensor.h2
-rw-r--r--tests/auto/qsensor/test_sensor_p.h2
-rw-r--r--tests/auto/qsensor/test_sensorimpl.cpp2
-rw-r--r--tests/auto/qsensor/test_sensorimpl.h2
-rw-r--r--tests/auto/qsensor/test_sensorplugin.cpp2
-rw-r--r--tests/auto/qsensor/tst_qsensor.cpp2
-rw-r--r--tests/auto/qservicecontext/tst_qservicecontext.cpp2
-rw-r--r--tests/auto/qservicefilter/tst_qservicefilter.cpp2
-rw-r--r--tests/auto/qserviceinterfacedescriptor/tst_qserviceinterfacedescriptor.cpp2
-rw-r--r--tests/auto/qservicemanager/tst_qservicemanager.cpp2
-rw-r--r--tests/auto/qsfwtestutil.cpp2
-rw-r--r--tests/auto/qsfwtestutil.h2
-rw-r--r--tests/auto/qsystemdeviceinfo/tst_qsystemdeviceinfo.cpp2
-rw-r--r--tests/auto/qsystemdisplayinfo/tst_qsystemdisplayinfo.cpp2
-rw-r--r--tests/auto/qsysteminfo/tst_qsysteminfo.cpp2
-rw-r--r--tests/auto/qsysteminfotestcommon.h2
-rw-r--r--tests/auto/qsystemnetworkinfo/tst_qsystemnetworkinfo.cpp2
-rw-r--r--tests/auto/qsystemreadwritelock/tst_qsystemreadwritelock.cpp2
-rw-r--r--tests/auto/qsystemreadwritelock_oop/common.h2
-rw-r--r--tests/auto/qsystemreadwritelock_oop/lackey/main.cpp2
-rw-r--r--tests/auto/qsystemreadwritelock_oop/tst_qsystemreadwritelock_oop.cpp2
-rw-r--r--tests/auto/qsystemscreensaver/tst_qsystemscreensaver.cpp2
-rw-r--r--tests/auto/qsystemstorageinfo/tst_qsystemstorageinfo.cpp2
-rw-r--r--tests/auto/qvaluespace/tst_qvaluespace.cpp2
-rw-r--r--tests/auto/qvaluespacepublisher/tst_qvaluespacepublisher.cpp2
-rw-r--r--tests/auto/qvaluespacesubscriber/lackey/main.cpp2
-rw-r--r--tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber/tst_qvaluespacesubscriber.cpp2
-rw-r--r--tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber_oop/tst_qvaluespacesubscriber_oop.cpp4
-rw-r--r--tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.cpp2
-rw-r--r--tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.h2
-rw-r--r--tests/auto/qvcard21writer/tst_qvcard21writer.cpp2
-rw-r--r--tests/auto/qvcard21writer/tst_qvcard21writer.h2
-rw-r--r--tests/auto/qvcard30writer/tst_qvcard30writer.cpp4
-rw-r--r--tests/auto/qvcard30writer/tst_qvcard30writer.h2
-rw-r--r--tests/auto/qversit/tst_qversit.cpp157
-rw-r--r--tests/auto/qversit/tst_qversit.h4
-rw-r--r--tests/auto/qversitcontactexporter/tst_qversitcontactexporter.cpp2
-rw-r--r--tests/auto/qversitcontactexporter/tst_qversitcontactexporter.h2
-rw-r--r--tests/auto/qversitcontactimporter/tst_qversitcontactimporter.cpp2
-rw-r--r--tests/auto/qversitcontactimporter/tst_qversitcontactimporter.h2
-rw-r--r--tests/auto/qversitdocument/tst_qversitdocument.cpp2
-rw-r--r--tests/auto/qversitdocument/tst_qversitdocument.h2
-rw-r--r--tests/auto/qversitproperty/tst_qversitproperty.cpp10
-rw-r--r--tests/auto/qversitproperty/tst_qversitproperty.h2
-rw-r--r--tests/auto/qversitreader/tst_qversitreader.cpp102
-rw-r--r--tests/auto/qversitreader/tst_qversitreader.h2
-rw-r--r--tests/auto/qversitwriter/tst_qversitwriter.cpp2
-rw-r--r--tests/auto/qversitwriter/tst_qversitwriter.h2
-rw-r--r--tests/auto/qvideowidget/tst_qvideowidget.cpp2
-rw-r--r--tests/auto/servicedatabase/tst_servicedatabase.cpp2
-rw-r--r--tests/auto/servicemetadata/tst_servicemetadata.cpp2
-rw-r--r--tests/auto/support/support.h2
-rw-r--r--tests/auto/support/support_maemo5.cpp2
-rw-r--r--tests/auto/support/support_qmf.cpp2
-rw-r--r--tests/auto/support/support_stub.cpp2
-rw-r--r--tests/auto/support/support_symbian.cpp16
-rw-r--r--tests/auto/support/support_win.cpp2
-rw-r--r--tests/auto/symbian/qmediaobject_s60/tst_qmediaobject_s60.cpp2
-rw-r--r--tests/auto/symbian/qmediaplayer_s60/tst_qmediaplayer_s60.cpp2
-rw-r--r--tests/auto/symbian/qmediaplaylist_s60/tst_qmediaplaylist_s60.cpp2
-rw-r--r--tests/auto/symbian/qmediarecorder_s60/tst_qmediarecorder_s60.cpp2
-rw-r--r--tests/auto/symbian/qradiotuner_s60/tst_qradiotuner_s60.cpp2
-rw-r--r--tests/auto/testqgeopositioninfosource.cpp2
-rw-r--r--tests/auto/testqgeopositioninfosource_p.h2
-rw-r--r--tests/auto/testqgeosatelliteinfosource.cpp2
-rw-r--r--tests/auto/testqgeosatelliteinfosource_p.h2
-rw-r--r--tests/bearerex/bearerex.cpp98
-rw-r--r--tests/bearerex/bearerex.h17
-rw-r--r--tests/bearerex/bearerex.pro6
-rw-r--r--tests/bearerex/datatransferer.cpp179
-rw-r--r--tests/bearerex/datatransferer.h89
-rw-r--r--tests/bearerex/main.cpp2
-rw-r--r--tests/bearerex/sessiondialog.ui326
-rw-r--r--tests/bearerex/xqlistwidget.cpp2
-rw-r--r--tests/bearerex/xqlistwidget.h2
-rw-r--r--tests/benchmarks/contacts/contacts.pro9
-rw-r--r--tests/benchmarks/contacts/tst_bm_contacts.cpp818
-rw-r--r--tests/benchmarks/location/location.pro25
-rw-r--r--tests/benchmarks/location/tst_bm_location.cpp379
-rw-r--r--tests/benchmarks/messaging/tst_messaging.cpp14
-rw-r--r--tests/benchmarks/qsysteminfo/tst_qsysteminfo.cpp2
-rw-r--r--tests/benchmarks/sampleserviceplugin/sampleserviceplugin.cpp2
-rw-r--r--tests/benchmarks/sampleserviceplugin/sampleserviceplugin.h2
-rw-r--r--tests/benchmarks/serviceframework/tst_serviceframework.cpp2
-rw-r--r--tests/messagingex/main.cpp2
-rw-r--r--tests/messagingex/messagingex.cpp46
-rw-r--r--tests/messagingex/messagingex.h2
-rw-r--r--tests/messagingex/messagingex.pro3
-rw-r--r--tests/messagingex/messagingex.ui643
-rw-r--r--tests/networkmanager/README2
-rw-r--r--tests/networkmanager/dialog.ui213
-rw-r--r--tests/networkmanager/networkmanager.pro20
-rw-r--r--tests/networkmanager/networkmanagertest.cpp287
-rw-r--r--tests/networkmanager/nmview.cpp1028
-rw-r--r--tests/networkmanager/nmview.h109
-rw-r--r--tests/networkmanager/startdlg.cpp95
-rw-r--r--tests/networkmanager/startdlg.h58
-rw-r--r--tests/publishsubscribeex/main.cpp2
-rw-r--r--tests/publishsubscribeex/publishsubscribemainwindow.cpp2
-rw-r--r--tests/publishsubscribeex/publishsubscribemainwindow.h2
-rw-r--r--tests/sampleserviceplugin/sampleserviceplugin.cpp2
-rw-r--r--tests/sampleserviceplugin/sampleserviceplugin.h2
-rw-r--r--tests/sampleserviceplugin2/sampleserviceplugin2.cpp2
-rw-r--r--tests/sampleserviceplugin2/sampleserviceplugin2.h2
-rw-r--r--tests/tests.pro3
-rw-r--r--tests/testservice2/testservice.h2
-rw-r--r--tests/testservice2/testserviceinterface.h2
-rw-r--r--tests/testservice2/testserviceplugin.cpp2
-rw-r--r--tests/testservice2/testserviceplugin.h2
-rw-r--r--tools/qcrmlgen/main.cpp2
-rw-r--r--tools/qcrmlgen/qcrmlgen.cpp52
-rw-r--r--tools/qcrmlgen/qcrmlgen.h2
-rw-r--r--tools/servicefw/servicefw.cpp2
-rw-r--r--tools/servicexmlgen/errorcollector.cpp2
-rw-r--r--tools/servicexmlgen/errorcollector.h2
-rw-r--r--tools/servicexmlgen/interfacestabwidget.cpp2
-rw-r--r--tools/servicexmlgen/interfacestabwidget.h2
-rw-r--r--tools/servicexmlgen/interfacewidget.cpp2
-rw-r--r--tools/servicexmlgen/interfacewidget.h2
-rw-r--r--tools/servicexmlgen/mandatorylineedit.cpp2
-rw-r--r--tools/servicexmlgen/mandatorylineedit.h2
-rw-r--r--tools/servicexmlgen/servicewidget.cpp2
-rw-r--r--tools/servicexmlgen/servicewidget.h2
-rw-r--r--tools/servicexmlgen/servicexmlgen.cpp2
-rw-r--r--tools/servicexmlgen/servicexmlgen.h2
-rw-r--r--tools/vsexplorer/vsexplorer.cpp128
-rw-r--r--translations/qtmobility_ar.ts407
-rw-r--r--translations/qtmobility_cs.ts407
-rw-r--r--translations/qtmobility_da.ts407
-rw-r--r--translations/qtmobility_de.ts407
-rw-r--r--translations/qtmobility_es.ts407
-rw-r--r--translations/qtmobility_fr.ts407
-rw-r--r--translations/qtmobility_he.ts407
-rw-r--r--translations/qtmobility_hu.ts407
-rw-r--r--translations/qtmobility_ja_JP.ts407
-rw-r--r--translations/qtmobility_pl.ts407
-rw-r--r--translations/qtmobility_pt.ts407
-rw-r--r--translations/qtmobility_ru.ts407
-rw-r--r--translations/qtmobility_sk.ts407
-rw-r--r--translations/qtmobility_sl.ts407
-rw-r--r--translations/qtmobility_sv.ts407
-rw-r--r--translations/qtmobility_uk.ts407
-rw-r--r--translations/qtmobility_zh_CN.ts407
-rw-r--r--translations/qtmobility_zh_TW.ts407
-rw-r--r--translations/translations.pri31
-rw-r--r--translations/translations.pro50
2389 files changed, 27035 insertions, 20843 deletions
diff --git a/.gitignore b/.gitignore
index 84c15a195a..0bdfce3d57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,20 +45,33 @@ examples/radio/radio
examples/samplephonebook/samplephonebook
examples/satellitedialog/satellitedialog
examples/sensors/accel/accel
+examples/sensors/arrowkeys/arrowkeys
examples/sensors/cubehouse/cubehouse
examples/sensors/grueapp/grueapp
+examples/sensors/metadata/metadata
examples/sensors/reading_perf/reading_perf
examples/sensors/sensor_explorer/sensor_explorer
+examples/sensors/show_acceleration/show_acceleration
+examples/sensors/show_als/show_als
+examples/sensors/show_compass/show_compass
+examples/sensors/show_magneticflux/show_magneticflux
+examples/sensors/show_orientation/show_orientation
+examples/sensors/show_proximity/show_proximity
+examples/sensors/show_rotation/show_rotation
+examples/sensors/show_tap/show_tap
examples/sensors/small_screen_sensors/SmallSensors
examples/servicebrowser/servicebrowser
examples/sfw-notes/sfw-notes
examples/slideshow/slideshow
examples/sysinfo/sysinfo
examples/weatherinfo/weatherinfo_with_location
+examples/qmlcontacts/qmlcontacts
*.app
config.tests/networkmanager/networkmanager
config.tests/qmf/qmf
+config.tests/maemo5-contacts/maemo5-contacts
.qmake.cache
+translations/qtmobility_*.qm
#Symbian specific
*.mmp
diff --git a/bin/pathhelper b/bin/pathhelper
new file mode 100755
index 0000000000..ba272d189f
--- /dev/null
+++ b/bin/pathhelper
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the Qt Mobility Components.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+use strict;
+use warnings;
+use Cwd;
+use Cwd "abs_path";
+
+my $path = shift(@ARGV) or usage();
+my $resolvedpath = abs_path($path);
+print "$resolvedpath\n";
+
+exit 0;
+
+sub usage
+{
+ warn " Usage: pathhelper <path>\n";
+ warn " Converts <path> to an absolute path and returns it to the caller\n";
+ exit 2;
+}
diff --git a/bin/purge.sh b/bin/purge.sh
index bdd6927a69..58aad74f94 100755
--- a/bin/purge.sh
+++ b/bin/purge.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#############################################################################
##
-## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
diff --git a/bin/rununittests.bat b/bin/rununittests.bat
index f875210c7a..c77d37b8b2 100644
--- a/bin/rununittests.bat
+++ b/bin/rununittests.bat
@@ -1,6 +1,6 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
-:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
diff --git a/bin/rununittests.sh b/bin/rununittests.sh
index 85acec1bf9..5b2c20f561 100755
--- a/bin/rununittests.sh
+++ b/bin/rununittests.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#############################################################################
##
-## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
diff --git a/bin/syncheaders b/bin/syncheaders
index 92aad67779..5f66cb6f9c 100755
--- a/bin/syncheaders
+++ b/bin/syncheaders
@@ -1,7 +1,7 @@
#!/usr/bin/perl
#############################################################################
##
-## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
diff --git a/bin/syncheaders.bat b/bin/syncheaders.bat
index 671686b408..742be362a8 100644
--- a/bin/syncheaders.bat
+++ b/bin/syncheaders.bat
@@ -1,6 +1,6 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
-:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
diff --git a/config.tests/corewlan/corewlantest.mm b/config.tests/corewlan/corewlantest.mm
index bcddf4432d..70edc2aa71 100644
--- a/config.tests/corewlan/corewlantest.mm
+++ b/config.tests/corewlan/corewlantest.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/lbt/lbt.pro b/config.tests/lbt/lbt.pro
index 048eddf42c..b73e21df6b 100644
--- a/config.tests/lbt/lbt.pro
+++ b/config.tests/lbt/lbt.pro
@@ -7,9 +7,10 @@ TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+INCLUDEPATH += $${EPOCROOT}epoc32\include\LBTHeaders
# Input
SOURCES += main.cpp
-INCLUDEPATH += $${EPOCROOT}epoc32\include\LBTHeaders
LIBS += -llbt
diff --git a/config.tests/lbt/main.cpp b/config.tests/lbt/main.cpp
index a5024774e3..4bc933175a 100644
--- a/config.tests/lbt/main.cpp
+++ b/config.tests/lbt/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/maemo5-contacts/maemo5-contacts.pro b/config.tests/maemo5-contacts/maemo5-contacts.pro
new file mode 100644
index 0000000000..a208c2b404
--- /dev/null
+++ b/config.tests/maemo5-contacts/maemo5-contacts.pro
@@ -0,0 +1,11 @@
+TEMPLATE = app
+TARGET =
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += main.cpp
+QT+=core
+
+CONFIG += link_pkgconfig
+PKGCONFIG += glib-2.0 libebook-1.2 libosso-abook-1.0
diff --git a/config.tests/maemo5-contacts/main.cpp b/config.tests/maemo5-contacts/main.cpp
new file mode 100644
index 0000000000..3dcde9de5e
--- /dev/null
+++ b/config.tests/maemo5-contacts/main.cpp
@@ -0,0 +1,8 @@
+#include <libosso-abook/osso-abook.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <libebook/e-book-util.h>
+
+int main(int, char**)
+{
+ return 0;
+}
diff --git a/config.tests/networkmanager/main.cpp b/config.tests/networkmanager/main.cpp
index 60c6dfce63..4c66a51c17 100644
--- a/config.tests/networkmanager/main.cpp
+++ b/config.tests/networkmanager/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/occ/main.cpp b/config.tests/occ/main.cpp
index 5ba226a00c..ff2388f78c 100644
--- a/config.tests/occ/main.cpp
+++ b/config.tests/occ/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/qmf/main.cpp b/config.tests/qmf/main.cpp
index e5891db0be..ebc7f267f1 100644
--- a/config.tests/qmf/main.cpp
+++ b/config.tests/qmf/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/sensors_s60_31/main.cpp b/config.tests/sensors_s60_31/main.cpp
index b8ac5cc58f..763b92453d 100644
--- a/config.tests/sensors_s60_31/main.cpp
+++ b/config.tests/sensors_s60_31/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/sensors_symbian/main.cpp b/config.tests/sensors_symbian/main.cpp
index b8ac5cc58f..763b92453d 100644
--- a/config.tests/sensors_symbian/main.cpp
+++ b/config.tests/sensors_symbian/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/snap/main.cpp b/config.tests/snap/main.cpp
index 64642a262e..37d65a4870 100644
--- a/config.tests/snap/main.cpp
+++ b/config.tests/snap/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/config.tests/symbiancntsim/main.cpp b/config.tests/symbiancntsim/main.cpp
index 06e6a92ea4..52149e3c80 100644
--- a/config.tests/symbiancntsim/main.cpp
+++ b/config.tests/symbiancntsim/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/configure b/configure
index 8a6e7a9598..b47457294a 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#!/bin/sh
#############################################################################
##
-## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
@@ -58,17 +58,16 @@ isAbsPath() {
# maemo we do not want to follow symbolic links that are
# introduced by scratchbox
absPath() {
-
if [ "$2" = "maemo5" -o "$2" = "maemo6" ]; then
if [ `isAbsPath $1` = '1' ]; then
echo $1;
else
- echo "Relative prefix paths are not supported for Maemo"
+ echo >&2 "Relative prefix/bin/lib/header/plugin paths are not supported for Maemo"
exit 1;
fi
else
- RESULT=`(cd "$1"; /bin/pwd)`
- echo $RESULT
+ PATH=`$relpath/bin/pathhelper $1`
+ echo $PATH
fi
}
@@ -312,24 +311,20 @@ if [ -n "$LINUX_TARGET" ]; then
fi
#process PREFIX
-if [ -d "$QT_MOBILITY_PREFIX" ]; then
- QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET`
-else
- mkdir -p "$QT_MOBILITY_PREFIX"
- QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET`
- rm -rf "$QT_MOBILITY_PREFIX"
+QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET`
+if [ "$?" -eq "1" ]; then
+ exit 1
fi
echo "QT_MOBILITY_PREFIX = $QT_MOBILITY_PREFIX" >> "$CONFIG_IN"
#process include path
if [ -z "$QT_MOBILITY_INCLUDE" ]; then
QT_MOBILITY_INCLUDE="$QT_MOBILITY_PREFIX/include"
-elif [ -d "$QT_MOBILITY_INCLUDE" ]; then
- QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET`
else
- mkdir -p "$QT_MOBILITY_INCLUDE"
QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET`
- rm -rf "$QT_MOBILITY_INCLUDE"
+ if [ "$?" -eq "1" ]; then
+ exit 1
+ fi
fi
echo "QT_MOBILITY_INCLUDE = $QT_MOBILITY_INCLUDE" >> "$CONFIG_IN"
@@ -337,36 +332,33 @@ echo "QT_MOBILITY_INCLUDE = $QT_MOBILITY_INCLUDE" >> "$CONFIG_IN"
#process library path
if [ -z "$QT_MOBILITY_LIB" ]; then
QT_MOBILITY_LIB="$QT_MOBILITY_PREFIX/$LIB_PATH"
-elif [ -d "$QT_MOBILITY_LIB" ]; then
- QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET`
else
- mkdir -p "$QT_MOBILITY_LIB"
QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET`
- rm -rf "$QT_MOBILITY_LIB"
+ if [ "$?" -eq "1" ]; then
+ exit 1
+ fi
fi
echo "QT_MOBILITY_LIB = $QT_MOBILITY_LIB" >> "$CONFIG_IN"
#process bin path
if [ -z "$QT_MOBILITY_BIN" ]; then
QT_MOBILITY_BIN="$QT_MOBILITY_PREFIX/$BIN_PATH"
-elif [ -d "$QT_MOBILITY_BIN" ]; then
- QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET`
else
- mkdir -p "$QT_MOBILITY_BIN"
QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET`
- rm -rf "$QT_MOBILITY_BIN"
+ if [ "$?" -eq "1" ]; then
+ exit 1
+ fi
fi
echo "QT_MOBILITY_BIN = $QT_MOBILITY_BIN" >> "$CONFIG_IN"
#process plugin path
if [ -z "$QT_MOBILITY_PLUGINS" ]; then
QT_MOBILITY_PLUGINS="$QT_MOBILITY_PREFIX/$PLUGIN_PATH"
-elif [ -d "$QT_MOBILITY_PLUGINS" ]; then
- QT_MOBILITY_PLUGINS=`absPath $QT_MOBILITY_PLUGINS $LINUX_TARGET`
else
- mkdir -p "$QT_MOBILITY_PLUGINS"
QT_MOBILITY_PLUGINS=`absPath $QT_MOBILITY_PLUGINS $LINUX_TARGET`
- rm -rf "$QT_MOBILITY_PLUGINS"
+ if [ "$?" -eq "1" ]; then
+ exit 1
+ fi
fi
echo "QT_MOBILITY_PLUGINS = $QT_MOBILITY_PLUGINS" >> "$CONFIG_IN"
@@ -469,6 +461,7 @@ compileTest NetworkManager networkmanager
compileTest "CoreWLAN (MacOS 10.6)" corewlan
compileTest "Maemo ICD" maemo-icd
compileTest "Maemo ICD WLAN" maemo-icd-network-wlan
+compileTest "Maemo5 contacts dependencies" maemo5-contacts
if [ "$LINUX_TARGET" = maemo6 ]; then
compileTest sensord sensord
else
diff --git a/configure.bat b/configure.bat
index 0a8bd969e4..9997e2cb40 100644
--- a/configure.bat
+++ b/configure.bat
@@ -1,6 +1,6 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
-:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
@@ -48,8 +48,8 @@ cd /D %SOURCE_PATH%
set SOURCE_PATH=%CD%
cd /D %BUILD_PATH%
-set PROJECT_CONFIG= %BUILD_PATH%\config.in
-set PROJECT_LOG= %BUILD_PATH%\config.log
+set PROJECT_CONFIG=%BUILD_PATH%\config.in
+set PROJECT_LOG=%BUILD_PATH%\config.log
set RELEASEMODE=release
set WIN32_RELEASEMODE=debug_and_release build_all
set QT_MOBILITY_LIB=
@@ -63,9 +63,9 @@ set VC_TEMPLATE_OPTION=
set QT_PATH=
set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
-if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
-if exist "%PROJECT_LOG%" del %PROJECT_LOG%
-if exist "%PROJECT_CONFIG%" del %PROJECT_CONFIG%
+if exist "%QMAKE_CACHE%" del /Q %QMAKE_CACHE%
+if exist "%PROJECT_LOG%" del /Q %PROJECT_LOG%
+if exist "%PROJECT_CONFIG%" del /Q %PROJECT_CONFIG%
echo QT_MOBILITY_SOURCE_TREE = %SOURCE_PATH% > %QMAKE_CACHE%
echo QT_MOBILITY_BUILD_TREE = %BUILD_PATH% >> %QMAKE_CACHE%
@@ -427,6 +427,7 @@ goto errorTag
:compileTest
setlocal
+ @echo off
echo Checking %1
set CURRENT_PWD=%CD%
@@ -440,16 +441,24 @@ setlocal
)
call %QT_PATH%qmake %SOURCE_PATH%\config.tests\%2\%2.pro >> %PROJECT_LOG% 2>&1
- call %MOBILITY_MAKE% clean >> %PROJECT_LOG% 2>&1
- call %MOBILITY_MAKE% >> %PROJECT_LOG% 2>&1
set FAILED=0
if %MOBILITY_BUILDSYSTEM% == symbian-sbsv2 (
- for /f "tokens=2" %%i in ('%MOBILITY_MAKE% SBS^="@sbs --check"') do set FAILED=1
+ call %MOBILITY_MAKE% clean release-gcce >> %PROJECT_LOG% 2>&1
+ call %MOBILITY_MAKE% release-armv5 >> %PROJECT_LOG% 2>&1
+ for /f "tokens=2" %%i in ('%MOBILITY_MAKE% release-armv5 SBS^="@sbs --check"') do set FAILED=1
) else if %MOBILITY_BUILDSYSTEM% == symbian-abld (
- for /f "tokens=2" %%i in ('%MOBILITY_MAKE% ABLD^="@ABLD.BAT -c" 2^>^&1') do if not %%i == bldfiles set FAILED=1
- ) else if errorlevel 1 (
- set FAILED=1
+ call %MOBILITY_MAKE% clean release-gcce >> %PROJECT_LOG% 2>&1
+ call %MOBILITY_MAKE% release-gcce >> %PROJECT_LOG% 2>&1
+ for /f "tokens=2" %%i in ('%MOBILITY_MAKE% release-gcce ABLD^="@ABLD.BAT -c" 2^>^&1') do if not %%i == bldfiles set FAILED=1
+ ) else (
+ REM Make for other builds
+ call %MOBILITY_MAKE% clean >> %PROJECT_LOG% 2>&1
+ call %MOBILITY_MAKE% >> %PROJECT_LOG% 2>&1
+ REM have to check error level for windows / other builds to be sure.
+ if errorlevel 1 (
+ set FAILED=1
+ )
)
if %FAILED% == 0 (
diff --git a/dist/changes-1.0.0-beta1 b/dist/changes-1.0.0-beta1
index 04aa63206c..774f27d1b6 100644
--- a/dist/changes-1.0.0-beta1
+++ b/dist/changes-1.0.0-beta1
@@ -385,11 +385,6 @@ Qt Mobility for Windows CE
-
-<<<<<<< HEAD:dist/changes-1.0.0-beta1
-Qt Mobility for Symbian
-------
-
-=======
Qt Mobility for Maemo5
------
diff --git a/dist/changes-1.0.1 b/dist/changes-1.0.1
new file mode 100644
index 0000000000..61383d531d
--- /dev/null
+++ b/dist/changes-1.0.1
@@ -0,0 +1,152 @@
+Qt Mobility 1.0.1 is a patch release. It contains a number of
+improvements and bug fixes since the Qt Mobility 1.0.0 release. For
+more details, please refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ http://qt.nokia.com/doc/qtmobility-1.0
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker or the Merge Request queue
+of the public source repository.
+
+Qt Bug Tracker: http://bugreports.qt.nokia.com
+Merge Request: http://qt.gitorious.org
+
+
+****************************************************************************
+* General *
+****************************************************************************
+
+New features
+------
+
+ - MOBILITY-991: Translation file support added
+
+Other changes/optimizations
+------
+
+ - QTMOBILITY-50, QTMOBILITY-264, MOBILITY-971 fixed: various configure -prefix bugs fixed
+ - configure tests on Symbian are based on arm builds (rather than winscw)
+ - MOBILITY-908 fixed: -plugindir parameter added to configure.[sh|bat]
+ - plugin project files simplified
+ - MOBILITY-717 fixed: plug-in loading across all API's using plug-ins unified
+ and fixed. This includes addition of PREFIX/plugins to standard plugin
+ path lookup.
+ - QTMOBILITY-129 fixed: namespace related documentation improved
+ - MOBILITY-625 fixed: RPATH support for examples and third party code
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - building of Mobility requires "make install" step as binaries
+ such as plug-ins and examples are not automatically deployed to BUILDDIR/plugins,
+ BUILDDIR/bin or BUILDDIR/bin/examples anymore. Rpath values have been
+ adjusted accordingly.
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtBearer
+------
+
+ - tests/networkmanager test application has been removed
+ - MOBILITY-810 fixed: crash in bearermonitor example fixed
+
+QtContacts
+------
+
+ - foo
+ * bar
+
+QtLocation
+------
+
+ - MOBILITY-858 fixed: Crash in lightmaps example fixed
+ * bar
+
+QtMessaging
+------
+
+ - foo
+ * bar
+
+QtMedia
+------
+
+ - foo
+ * bar
+
+QtPublishSubscribe
+------
+
+ - foo
+ * bar
+
+QtServiceFramework
+------
+
+ - MOBILITY-873 fixed: default interface documentation improved
+
+QtSystemInfo
+------
+
+ - foo
+ * bar
+
+Qt Mobility Plugins
+------
+
+ - foo
+ * bar
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Qt Mobility for Embedded Linux
+------
+
+ -
+
+Qt Mobility for Unix (X11 and Mac OS X)
+------
+
+ -
+
+Qt Mobility for Linux/X11
+------
+
+ -
+
+Qt Mobility for Windows
+------
+
+ -
+
+Qt Mobility for Mac OS X
+------
+
+ -
+
+
+Qt Mobility for Windows CE
+------
+
+ -
+
+Qt Mobility for Symbian
+------
+
+ - Symbian capability documentation improved
+ - QTMOBILITY-30 fixed: convenience headers supported on Symbian
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+ - tool
+ * foo
diff --git a/doc/html/3rdparty.html b/doc/html/3rdparty.html
index 25f9343f66..f368de7ed3 100644
--- a/doc/html/3rdparty.html
+++ b/doc/html/3rdparty.html
@@ -106,8 +106,8 @@
<p>See <tt>src/3rdparty/zlib/README</tt> for license details.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
index 749184f700..c787574f76 100644
--- a/doc/html/annotated.html
+++ b/doc/html/annotated.html
@@ -207,8 +207,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/audiorecorder-audiorecorder-cpp.html b/doc/html/audiorecorder-audiorecorder-cpp.html
index daace6603e..820b4a4904 100644
--- a/doc/html/audiorecorder-audiorecorder-cpp.html
+++ b/doc/html/audiorecorder-audiorecorder-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -429,8 +429,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/audiorecorder-audiorecorder-h.html b/doc/html/audiorecorder-audiorecorder-h.html
index 242e2008aa..cb256ebdf6 100644
--- a/doc/html/audiorecorder-audiorecorder-h.html
+++ b/doc/html/audiorecorder-audiorecorder-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -119,8 +119,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/audiorecorder-audiorecorder-pro.html b/doc/html/audiorecorder-audiorecorder-pro.html
index 367986d90f..bb4e8e39f9 100644
--- a/doc/html/audiorecorder-audiorecorder-pro.html
+++ b/doc/html/audiorecorder-audiorecorder-pro.html
@@ -38,8 +38,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/audiorecorder-main-cpp.html b/doc/html/audiorecorder-main-cpp.html
index 149d97d6e6..83bc4bddce 100644
--- a/doc/html/audiorecorder-main-cpp.html
+++ b/doc/html/audiorecorder-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,8 +72,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/audiorecorder.html b/doc/html/audiorecorder.html
index 6773d501f8..e409c5541f 100644
--- a/doc/html/audiorecorder.html
+++ b/doc/html/audiorecorder.html
@@ -56,8 +56,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-charge-pro.html b/doc/html/battery-charge-battery-charge-pro.html
index 88264b3b63..98b7315eaa 100644
--- a/doc/html/battery-charge-battery-charge-pro.html
+++ b/doc/html/battery-charge-battery-charge-pro.html
@@ -14,11 +14,11 @@
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">battery-charge.pro Example File<br /><span class="small-subtitle">battery-charge/battery-charge.pro</span>
</h1>
<pre> TEMPLATE = subdirs
- SUBDIRS = battery-subscriber battery-publisher</pre>
+ SUBDIRS = battery-publisher</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-publisher-battery-publisher-pro.html b/doc/html/battery-charge-battery-publisher-battery-publisher-pro.html
index 72bf8eab77..96b51b1b58 100644
--- a/doc/html/battery-charge-battery-publisher-battery-publisher-pro.html
+++ b/doc/html/battery-charge-battery-publisher-battery-publisher-pro.html
@@ -30,8 +30,8 @@
MOBILITY = publishsubscribe</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-publisher-batterypublisher-cpp.html b/doc/html/battery-charge-battery-publisher-batterypublisher-cpp.html
index 5df7216d27..642ff8f6f8 100644
--- a/doc/html/battery-charge-battery-publisher-batterypublisher-cpp.html
+++ b/doc/html/battery-charge-battery-publisher-batterypublisher-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -119,8 +119,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-publisher-batterypublisher-h.html b/doc/html/battery-charge-battery-publisher-batterypublisher-h.html
index 9acf68d045..c2d580f09f 100644
--- a/doc/html/battery-charge-battery-publisher-batterypublisher-h.html
+++ b/doc/html/battery-charge-battery-publisher-batterypublisher-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -94,8 +94,8 @@
#endif <span class="comment">// BATTERYPUBLISHER_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-publisher-main-cpp.html b/doc/html/battery-charge-battery-publisher-main-cpp.html
index 19e0cc28f2..756259ae31 100644
--- a/doc/html/battery-charge-battery-publisher-main-cpp.html
+++ b/doc/html/battery-charge-battery-publisher-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -70,8 +70,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/battery-charge-battery-subscriber-battery-subscriber-pro.html b/doc/html/battery-charge-battery-subscriber-battery-subscriber-pro.html
deleted file mode 100644
index 93249d6e80..0000000000
--- a/doc/html/battery-charge-battery-subscriber-battery-subscriber-pro.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: battery-subscriber.pro Example File (battery-charge/battery-subscriber/battery-subscriber.pro)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">battery-subscriber.pro Example File<br /><span class="small-subtitle">battery-charge/battery-subscriber/battery-subscriber.pro</span>
-</h1>
-<pre> TEMPLATE = app
- TARGET = battery-subscriber
- QT += declarative
- INCLUDEPATH += ../../../src/publishsubscribe
- DEPENDPATH += ../../../src/publishsubscribe
- include(../../examples.pri)
- CONFIG += mobility
- MOBILITY = publishsubscribe
- SOURCES = main.cpp
- RESOURCES = battery-subscriber.qrc
- OTHER_FILES += battery-meter.qml</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/battery-charge-battery-subscriber-battery-subscriber-qrc.html b/doc/html/battery-charge-battery-subscriber-battery-subscriber-qrc.html
deleted file mode 100644
index 69fdaf181f..0000000000
--- a/doc/html/battery-charge-battery-subscriber-battery-subscriber-qrc.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: battery-subscriber.qrc Example File (battery-charge/battery-subscriber/battery-subscriber.qrc)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">battery-subscriber.qrc Example File<br /><span class="small-subtitle">battery-charge/battery-subscriber/battery-subscriber.qrc</span>
-</h1>
-<pre> &lt;RCC&gt;
- &lt;qresource prefix=&quot;/&quot; &gt;
- &lt;file&gt;battery-meter.qml&lt;/file&gt;
- &lt;file&gt;bubble.png&lt;/file&gt;
- &lt;/qresource&gt;
- &lt;/RCC&gt;</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/battery-charge.html b/doc/html/battery-charge.html
index 0e61d830c3..69bcee2e1c 100644
--- a/doc/html/battery-charge.html
+++ b/doc/html/battery-charge.html
@@ -21,21 +21,20 @@
<li><a href="battery-charge-battery-publisher-main-cpp.html">battery-charge/battery-publisher/main.cpp</a></li>
<li><a href="battery-charge-battery-charge-pro.html">battery-charge/battery-charge.pro</a></li>
<li><a href="battery-charge-battery-publisher-battery-publisher-pro.html">battery-charge/battery-publisher/battery-publisher.pro</a></li>
-<li><a href="battery-charge-battery-subscriber-battery-subscriber-pro.html">battery-charge/battery-subscriber/battery-subscriber.pro</a></li>
-<li><a href="battery-charge-battery-subscriber-battery-subscriber-qrc.html">battery-charge/battery-subscriber/battery-subscriber.qrc</a></li>
</ul>
<p>This examples shows how to access published context values from within QML. The example consists of two programs. The first, battery-publisher, is a standard Qt GUI application that is used to emulate a battery for the sole purpose of demonstrating the second program. It publishes the keys</p>
<pre> /power/battery/charge
/power/battery/charging</pre>
<p>and provides controls for modifying their values.</p>
-<p align="center"><img src="images/battery-publisher.png" /></p><p>The second program, battery-subscriber, is implemented in QML with some C++ code to display the QML and make <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> available from within QML.</p>
+<p align="center"><img src="images/battery-publisher.png" /></p><p>The second program, battery-subscriber, is implemented in QML with some C++ code to display the QML and makes <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> available from within QML.</p>
<p>The user interface of the battery subscriber program is described in QML. It has the following features: A rectangular area representing the percent charge of the battery. It indicates a low battery state by changing the color to red, it is green otherwise. An animation is shown to indicate that the battery is being recharged.</p>
<p align="center"><img src="images/battery-subscriber.png" /></p><a name="battery-subscriber"></a>
<h2>Battery Subscriber</h2>
-<p>The first step is to make <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> available from within QML so that our QML code can access the keys published by the battery-publisher. This is achieved by using the QML_DECLARE_TYPE() and QML_DEFINE_TYPE() macros. The following code makes <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> available from within QML as ValueSpaceSubscriber.</p>
-<pre> QML_DECLARE_TYPE(QValueSpaceSubscriber);</pre>
+<p>The <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> class is available from within QML through the use of a plugin which is parsed by the QML engine. This means that simply using the QML element 'ValueSpaceSubscriber' allows access to the valuespace, which is demonstrated below.</p>
<a name="qml"></a>
<h3>QML</h3>
+<p>Firstly, import the plugin library that provides the ValueSpaceSubscriber QML element.</p>
+<pre> import QtMobility.publishsubscribe 1.0</pre>
<p>Two ValueSpaceSubscriber instances are created, one for each of the battery values. We give each object a unique id so that we can reference it from elsewhere in the QML. We set the <i>path</i> properties to the Value Space path of the keys. Finally we set the <i>notify</i> properties to true to enable the emission of change notification signals.</p>
<pre> ValueSpaceSubscriber {
id: batteryCharge
@@ -75,8 +74,8 @@
},</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearer-management.html b/doc/html/bearer-management.html
index 6ad034f5e6..5a685e0a42 100644
--- a/doc/html/bearer-management.html
+++ b/doc/html/bearer-management.html
@@ -15,9 +15,9 @@
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">Bearer Management<br /><span class="subtitle"></span>
</h1>
<p>Bearer Management controls the connectivity state of the system so that the user can start or stop interfaces or roam transparently between access points.</p>
-<ul><li><a href="#namespace">Namespace</a></li>
-<li><a href="#overview">Overview</a></li>
-<ul><li><a href="#the-api-in-detail">The API in Detail</a></li>
+<ul><li><a href="#overview">Overview</a></li>
+<ul><li><a href="#migration-to-qt-4-7-or-higher">Migration to Qt 4.7 or higher</a></li>
+<li><a href="#the-api-in-detail">The API in Detail</a></li>
<ul><li><a href="#service-networks">Service networks</a></li>
<li><a href="#managing-network-sessions">Managing network sessions</a></li>
<li><a href="#roaming">Roaming</a></li>
@@ -33,14 +33,16 @@
</ul>
<li><a href="#classes">Classes</a></li>
</ul>
-<a name="namespace"></a>
-<h3>Namespace</h3>
-<p>The QtMobility API's are placed into the <i>QtMobility</i> namespace. This is done to facilitate the future migration of Mobility API's into Qt. See the <a href="quickstart.html">Quickstart guide</a> for an example on how the namespace impacts on application development.</p>
<a name="overview"></a>
<h3>Overview</h3>
<p>The Bearer Management API controls the system's connectivity state. This incorporates simple information such as whether the device is online and how many interfaces there are as well as enables the application developer to start, stop network interfaces and influences other connection specific details. Depending on the platform's capabilities it may even provide session management so that a network interface remains up for as long as clients have a registered interest in them while at the same time optimizes the interface's uptime.</p>
-<p>This API is a key enabler for HTTP level roaming in <a href="http://qt.nokia.com/doc/4.6/qnetworkaccessmanager.html">QNetworkAccessManager</a>.</p>
<p>This API does not provide support for management of network configurations themselves. It is up to the platform to provide infrastructure which enables to user to create, edit or delete network configurations.</p>
+<a name="migration-to-qt-4-7-or-higher"></a>
+<h4>Migration to Qt 4.7 or higher</h4>
+<p>The Bearer API has been migrated to the Qt 4.7 <a href="http://qt.nokia.com/doc/4.6/qtnetwork.html">QtNetwork</a> library. This enables connection manager and roaming support for <a href="http://qt.nokia.com/doc/4.6/qnetworkaccessmanager.html">QNetworkAccessManager</a>. Starting with Qt 4.7 the Mobility version has been deprecated in favor of Qt's Bearer API. Furthermore the roaming enabled <a href="http://qt.nokia.com/doc/4.6/qnetworkaccessmanager.html">QNetworkAccessManager</a> cannot be used in connection with Mobility's Bearer API.</p>
+<p>The porting effort from Mobility Bearer to Qt Bearer is minimal as the relevant classes are source compatible. The only exception is the removal of the QtMobility namespace. Already deployed applications will continue to work but cannot make use of the new features in Qt 4.7 and <a href="http://qt.nokia.com/doc/4.6/qnetworkaccessmanager.html">QNetworkAccessManager</a>.</p>
+<p>An application can select the Bearer API to be used via its project file. As long as the MOBILITY variable contains the <tt>bearer</tt> string the project will link Mobility's bearer library (even if the project links against <a href="http://qt.nokia.com/doc/4.6/qtnetwork.html">QtNetwork</a> at the same time).</p>
+<pre> MOBILITY+=bearer #choose Mobility bearer</pre>
<a name="the-api-in-detail"></a>
<h4>The API in Detail</h4>
<p>Computer systems manage their network interfaces via a set of configurations. Each configuration describes a set of parameters which instruct the system how a particular network interface is started. One of the most simplistic examples might be an Ethernet configuration that links a network card to a DHCP server. A more complex example might be a Wireless LAN configuration which may comprise of hardware details such as the WLAN card address, WLAN access point details (e.g ESSID, encryption details) and user specific information (for example username and password). Once the network interface was configured and started according to the configuration blue print, multiple applications are free to use this link layer connection/session for their own socket operations. Note that the <a href="qnetworkconfiguration.html">QNetworkConfiguration</a> object only provides limited information about the configuration details themselves. It's main purpose is to act as a configuration identifier through which link layer connections can be created, destroyed and monitored.</p>
@@ -133,8 +135,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearer.html b/doc/html/bearer.html
index 8d70dbae68..50e248ef8f 100644
--- a/doc/html/bearer.html
+++ b/doc/html/bearer.html
@@ -22,8 +22,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-bearercloud-cpp.html b/doc/html/bearercloud-bearercloud-cpp.html
index e7a7408d78..b3bce0adc8 100644
--- a/doc/html/bearercloud-bearercloud-cpp.html
+++ b/doc/html/bearercloud-bearercloud-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -200,8 +200,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-bearercloud-h.html b/doc/html/bearercloud-bearercloud-h.html
index 3372a3249d..74d90a9e0e 100644
--- a/doc/html/bearercloud-bearercloud-h.html
+++ b/doc/html/bearercloud-bearercloud-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -94,8 +94,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-bearercloud-pro.html b/doc/html/bearercloud-bearercloud-pro.html
index 535b851dc3..f5ed4e5e65 100644
--- a/doc/html/bearercloud-bearercloud-pro.html
+++ b/doc/html/bearercloud-bearercloud-pro.html
@@ -38,8 +38,8 @@
symbian:TARGET.CAPABILITY = NetworkServices ReadUserData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-cloud-cpp.html b/doc/html/bearercloud-cloud-cpp.html
index cf48a5100d..045141e399 100644
--- a/doc/html/bearercloud-cloud-cpp.html
+++ b/doc/html/bearercloud-cloud-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -364,8 +364,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-cloud-h.html b/doc/html/bearercloud-cloud-h.html
index f0d80ffbfd..79dfcbcdb1 100644
--- a/doc/html/bearercloud-cloud-h.html
+++ b/doc/html/bearercloud-cloud-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -110,8 +110,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-icons-qrc.html b/doc/html/bearercloud-icons-qrc.html
index 6f59d99748..09f00516ff 100644
--- a/doc/html/bearercloud-icons-qrc.html
+++ b/doc/html/bearercloud-icons-qrc.html
@@ -22,8 +22,8 @@
&lt;/RCC&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-lan-svg.html b/doc/html/bearercloud-lan-svg.html
index 6684b83522..65be2ee27f 100644
--- a/doc/html/bearercloud-lan-svg.html
+++ b/doc/html/bearercloud-lan-svg.html
@@ -91,8 +91,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-main-cpp.html b/doc/html/bearercloud-main-cpp.html
index 8ec7c4d9ce..0dcbf1c95b 100644
--- a/doc/html/bearercloud-main-cpp.html
+++ b/doc/html/bearercloud-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -102,8 +102,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-unknown-svg.html b/doc/html/bearercloud-unknown-svg.html
index 39344f0156..c1de1fcb0c 100644
--- a/doc/html/bearercloud-unknown-svg.html
+++ b/doc/html/bearercloud-unknown-svg.html
@@ -91,8 +91,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud-wlan-svg.html b/doc/html/bearercloud-wlan-svg.html
index 37f6be14da..6efbdfe4a0 100644
--- a/doc/html/bearercloud-wlan-svg.html
+++ b/doc/html/bearercloud-wlan-svg.html
@@ -166,8 +166,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearercloud.html b/doc/html/bearercloud.html
index 8b589ad6f0..34b7c920c0 100644
--- a/doc/html/bearercloud.html
+++ b/doc/html/bearercloud.html
@@ -307,8 +307,8 @@
<p>The remainder of the code for the Cloud object implements the animations. The calculateForces() function calculates the new position of the Cloud object based on the position of all the other Cloud objects in the scene. The new position is set when the advance() function is called to update the Cloud object for the current animation frame.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-bearermonitor-cpp.html b/doc/html/bearermonitor-bearermonitor-cpp.html
index 07a12a5b6c..3038799991 100644
--- a/doc/html/bearermonitor-bearermonitor-cpp.html
+++ b/doc/html/bearermonitor-bearermonitor-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -428,8 +428,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-bearermonitor-h.html b/doc/html/bearermonitor-bearermonitor-h.html
index 5bce2a8fdd..9d4e9ac8cb 100644
--- a/doc/html/bearermonitor-bearermonitor-h.html
+++ b/doc/html/bearermonitor-bearermonitor-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -109,8 +109,8 @@
#endif <span class="comment">//BEARERMONITOR_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-bearermonitor-pro.html b/doc/html/bearermonitor-bearermonitor-pro.html
index f41d8f87f5..7220adb2ca 100644
--- a/doc/html/bearermonitor-bearermonitor-pro.html
+++ b/doc/html/bearermonitor-bearermonitor-pro.html
@@ -46,8 +46,8 @@
symbian:TARGET.CAPABILITY = NetworkServices ReadUserData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-main-cpp.html b/doc/html/bearermonitor-main-cpp.html
index 87e4e96e30..7e935852dc 100644
--- a/doc/html/bearermonitor-main-cpp.html
+++ b/doc/html/bearermonitor-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -68,8 +68,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-sessionwidget-cpp.html b/doc/html/bearermonitor-sessionwidget-cpp.html
index 959d93771f..402c703f3a 100644
--- a/doc/html/bearermonitor-sessionwidget-cpp.html
+++ b/doc/html/bearermonitor-sessionwidget-cpp.html
@@ -196,8 +196,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor-sessionwidget-h.html b/doc/html/bearermonitor-sessionwidget-h.html
index 6494d92c8d..929bf662a3 100644
--- a/doc/html/bearermonitor-sessionwidget-h.html
+++ b/doc/html/bearermonitor-sessionwidget-h.html
@@ -95,8 +95,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bearermonitor.html b/doc/html/bearermonitor.html
index c146ae46da..7322b90ec9 100644
--- a/doc/html/bearermonitor.html
+++ b/doc/html/bearermonitor.html
@@ -26,8 +26,8 @@
<p>The Bearer Monitor example shows how to use the Bearer Management API.</p>
<p align="center"><img src="images/bearermonitor-example.png" /></p><p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin-bluetoothtransfer-cpp.html b/doc/html/bluetoothtransferplugin-bluetoothtransfer-cpp.html
index 25051cd4d4..4f54a013ac 100644
--- a/doc/html/bluetoothtransferplugin-bluetoothtransfer-cpp.html
+++ b/doc/html/bluetoothtransferplugin-bluetoothtransfer-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -68,8 +68,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin-bluetoothtransfer-h.html b/doc/html/bluetoothtransferplugin-bluetoothtransfer-h.html
index dcb206bc3b..dc60d99f5e 100644
--- a/doc/html/bluetoothtransferplugin-bluetoothtransfer-h.html
+++ b/doc/html/bluetoothtransferplugin-bluetoothtransfer-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-cpp.html b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-cpp.html
index 6f795aabab..97c4f3fbfc 100644
--- a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-cpp.html
+++ b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,8 +73,8 @@
Q_EXPORT_PLUGIN2(serviceframework_bluetoothtransferplugin, BluetoothTransferPlugin)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-h.html b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-h.html
index 61b7d690a5..ef510ae408 100644
--- a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-h.html
+++ b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,8 +76,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-pro.html b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-pro.html
index bc3a55f9e0..e0b875df66 100644
--- a/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-pro.html
+++ b/doc/html/bluetoothtransferplugin-bluetoothtransferplugin-pro.html
@@ -44,8 +44,8 @@
INSTALLS += xml</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/bluetoothtransferplugin.html b/doc/html/bluetoothtransferplugin.html
index dec54b066c..85fbe4dd44 100644
--- a/doc/html/bluetoothtransferplugin.html
+++ b/doc/html/bluetoothtransferplugin.html
@@ -37,8 +37,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/classes.html b/doc/html/classes.html
index 1f86482abb..77945c3fa4 100644
--- a/doc/html/classes.html
+++ b/doc/html/classes.html
@@ -489,8 +489,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/classlists.html b/doc/html/classlists.html
index ad70c4417f..cc48a6c962 100644
--- a/doc/html/classlists.html
+++ b/doc/html/classlists.html
@@ -31,8 +31,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contacts.html b/doc/html/contacts.html
index 151552a413..bfed2a9703 100644
--- a/doc/html/contacts.html
+++ b/doc/html/contacts.html
@@ -220,8 +220,8 @@
<p>See also: <a href="contactsusagehtml.html">Contacts API Usage</a></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contactsasync.html b/doc/html/contactsasync.html
index 64b27e03fc..66090f0f57 100644
--- a/doc/html/contactsasync.html
+++ b/doc/html/contactsasync.html
@@ -146,8 +146,8 @@
<p>All other asynchronous operations are performed in a similar manner to the previous example. A request of the desired type (which is derived from <a href="qcontactabstractrequest.html">QContactAbstractRequest</a>) is created, certain criteria are set which determine the intent of the request, and the signals of the request are connected to slots which deals with the results. The request can then be started.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contactsengines.html b/doc/html/contactsengines.html
index df3a57395d..1949b286c9 100644
--- a/doc/html/contactsengines.html
+++ b/doc/html/contactsengines.html
@@ -242,8 +242,8 @@
<p>There are several implementations of <a href="qcontactmanagerengine.html">QContactManagerEngine</a> available in the Qt Mobility source code repository. In particular, the &quot;memory&quot; engine provides an implementation of an in-memory, anonymous datastore which supports every feature in the API, and therefore is useful for demonstration purposes. Be aware, however, that the implementation of all functionality in the &quot;memory&quot; engine is naive and not performant, and should not be copied in any real engine implementation (e.g&#x2e;, to perform filtering, it reads all contacts from the (in-memory) database, and checks one by one for matches; a real engine, on the other hand, might perform a database query to return the results directly, rather than performing n-reads).</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contactsschema.html b/doc/html/contactsschema.html
index 0d7cc64819..ab4e2923d5 100644
--- a/doc/html/contactsschema.html
+++ b/doc/html/contactsschema.html
@@ -92,8 +92,8 @@
<p>Precisely which details are backend-provided is backend specific; some backends provide more details than others.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contactssync.html b/doc/html/contactssync.html
index 395ed918a3..75425ef758 100644
--- a/doc/html/contactssync.html
+++ b/doc/html/contactssync.html
@@ -221,8 +221,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/contactsusagehtml.html b/doc/html/contactsusagehtml.html
index 0d50e5305a..0513aeaa9d 100644
--- a/doc/html/contactsusagehtml.html
+++ b/doc/html/contactsusagehtml.html
@@ -500,8 +500,8 @@
<p>Note that some managers do not support mutable definitions, and hence attempting to modify or remove detail definitions in those managers will fail.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/creating-a-sensor-plugin.html b/doc/html/creating-a-sensor-plugin.html
index aad6f615e6..f28de6149c 100644
--- a/doc/html/creating-a-sensor-plugin.html
+++ b/doc/html/creating-a-sensor-plugin.html
@@ -39,8 +39,8 @@
<p>If you woud like to build a backend into a library or application you can use the <a href="qsensormanager.html#REGISTER_STATIC_PLUGIN">REGISTER_STATIC_PLUGIN</a>() macro although it may not work in all situations as it uses static initialization.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-declarative-sfw-dialer-pro.html b/doc/html/declarative-sfw-dialer-declarative-sfw-dialer-pro.html
index 2c3de99c42..98136ff52b 100644
--- a/doc/html/declarative-sfw-dialer-declarative-sfw-dialer-pro.html
+++ b/doc/html/declarative-sfw-dialer-declarative-sfw-dialer-pro.html
@@ -14,14 +14,12 @@
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">declarative-sfw-dialer.pro Example File<br /><span class="small-subtitle">declarative-sfw-dialer/declarative-sfw-dialer.pro</span>
</h1>
<pre> TEMPLATE = subdirs
- SUBDIRS += sfwexample \
- voipdialer \
- landlinedialer
- #gsmdialer</pre>
+ SUBDIRS += voipdialer \
+ landlinedialer</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-cpp.html b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-cpp.html
index 5efd35b4d0..cc287e3d8c 100644
--- a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-cpp.html
+++ b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-cpp.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -119,8 +120,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-h.html b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-h.html
index ba93d295c0..a4a5df9c03 100644
--- a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-h.html
+++ b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-h.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -93,8 +94,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html
index 6b717230bd..51e5be4bf4 100644
--- a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html
+++ b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html
@@ -16,6 +16,7 @@
<pre> TEMPLATE = lib
CONFIG += plugin
INCLUDEPATH += ../../../src/serviceframework
+ PLUGIN_TYPE = serviceframework
TARGET = serviceframework_landlinedialerservice
include(../../examples.pri)
@@ -32,15 +33,13 @@
TARGET.CAPABILITY = ALL -TCB
}
- xml.path = $$DESTDIR/xmldata
+ xml.path = $$QT_MOBILITY_PREFIX/bin/xmldata
xml.files = landlinedialerservice.xml
- xml.CONFIG = no_link no_dependencies explicit_dependencies no_build combine ignore_no_exist no_clean
- INSTALLS += xml
- build_pass:ALL_DEPS+=install_xml</pre>
+ INSTALLS += xml</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html
index f18e339bd6..b9d9ee00d7 100644
--- a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html
+++ b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -74,8 +75,8 @@
Q_EXPORT_PLUGIN2(serviceframework_landlinedialerservice, LandlineDialerPlugin)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html
index 526e47e584..2f15064cbb 100644
--- a/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html
+++ b/doc/html/declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -76,8 +77,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-main-cpp.html b/doc/html/declarative-sfw-dialer-sfwexample-main-cpp.html
deleted file mode 100644
index b7a2b66886..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-main-cpp.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: main.cpp Example File (declarative-sfw-dialer/sfwexample/main.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">main.cpp Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/main.cpp</span>
-</h1>
-<pre><span class="comment"> /***************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &lt;QApplication&gt;
- #include &lt;QUrl&gt;
- #include &lt;QtCore&gt;
-
-<span class="comment"> //Includes for using the declarative viewer</span>
- #include &lt;QDeclarativeView&gt;
-
-<span class="comment"> //Includes for using the service framework wrapper</span>
- #include &quot;qdeclarativeservice.h&quot;
-
- #include &quot;sfwexample.h&quot;
-
- int main(int argc, char* argv[])
- {
- //! [1]
- qmlRegisterType&lt;QServiceWrapper&gt;(&quot;QtMobility.serviceframework&quot;, 1, 0, &quot;Service&quot;);
- qmlRegisterType&lt;QServiceListWrapper&gt;(&quot;QtMobility.serviceframework&quot;, 1, 0, &quot;ServiceList&quot;);
- //! [1]
-
- QApplication app(argc, argv);
-
- DialerServices *ds = new DialerServices();
-
- //! [2]
- QDeclarativeView canvas;
- canvas.setSource(QUrl(&quot;qrc:/sfwexample.qml&quot;));
- canvas.show();
- //! [2]
-
- return app.exec();
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html b/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html
deleted file mode 100644
index 38591fcd00..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qdeclarativeservice.cpp Example File (declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qdeclarativeservice.cpp Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &quot;qdeclarativeservice.h&quot;
-
- QServiceWrapper::QServiceWrapper()
- : serviceInstance(0)
- {
- serviceManager = new QServiceManager();
- }
-
- QServiceWrapper::~QServiceWrapper()
- {
- delete serviceInstance;
- }
-
- bool QServiceWrapper::isValid() const
- {
- return m_descriptor.isValid();
- }
-
- void QServiceWrapper::setInterfaceDesc(const QServiceInterfaceDescriptor &amp;desc)
- {
- if (desc == m_descriptor)
- return;
-
- m_descriptor = desc;
-
- if (serviceInstance)
- delete serviceInstance;
-
- serviceInstance = 0;
- }
-
- QServiceInterfaceDescriptor QServiceWrapper::interfaceDesc() const
- {
- return m_descriptor;
- }
-
- void QServiceWrapper::setInterfaceName(const QString &amp;interface)
- {
- m_descriptor = serviceManager-&gt;interfaceDefault(interface);
-
- if (!isValid())
- qWarning() &lt;&lt; &quot;WARNING: No default service found for interface name: &quot; &lt;&lt; interface;
- }
-
- QString QServiceWrapper::interfaceName() const
- {
- if (isValid())
- return m_descriptor.interfaceName();
- else
- return &quot;No Interface&quot;;
- }
-
- QString QServiceWrapper::serviceName() const
- {
- if (isValid())
- return m_descriptor.serviceName();
- else
- return &quot;No Service&quot;;
- }
-
- QString QServiceWrapper::versionNumber() const
- {
- if (isValid())
- return (QString::number(m_descriptor.majorVersion())+&quot;.&quot;+QString::number(m_descriptor.minorVersion()));
- else
- return &quot;0.0&quot;;
- }
-
- QObject* QServiceWrapper::serviceObject()
- {
- if (serviceInstance) {
- return serviceInstance;
- }
-
- if (isValid()) {
- QServiceManager manager;
- serviceInstance = manager.loadInterface(m_descriptor);
- return serviceInstance;
- } else {
- return 0;
- }
- }
-
- QServiceListWrapper::QServiceListWrapper()
- {
- serviceManager = new QServiceManager();
- }
-
- QServiceListWrapper::~QServiceListWrapper()
- {
- }
-
- void QServiceListWrapper::setInterfaceName(const QString &amp;interface)
- {
- m_interface = interface;
-
- <span class="comment">// </span>![0]
- QServiceWrapper *service;
- QServiceFilter filter(m_interface, m_version);
- QList&lt;QServiceInterfaceDescriptor&gt; list = serviceManager-&gt;findInterfaces(filter);
- for (int i = 0; i &lt; list.size(); i++) {
- service = new QServiceWrapper();
- service-&gt;setInterfaceDesc(list.at(i));
- m_services.append(service);
- }
- <span class="comment">// </span>![0]
- }
-
- QString QServiceListWrapper::interfaceName() const
- {
- return m_interface;
- }
-
- void QServiceListWrapper::setMinVersion(const QString &amp;version)
- {
- m_version = version;
- }
-
- QString QServiceListWrapper::minVersion() const
- {
- return m_version;
- }
-
- QDeclarativeListProperty&lt;QServiceWrapper&gt; QServiceListWrapper::services()
- {
- return QDeclarativeListProperty&lt;QServiceWrapper&gt;(this, m_services);
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html b/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html
deleted file mode 100644
index 0ccada60dd..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qdeclarativeservice.h Example File (declarative-sfw-dialer/sfwexample/qdeclarativeservice.h)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qdeclarativeservice.h Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/qdeclarativeservice.h</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ***************************************************************************/</span>
-
- #ifndef QDECLARATIVESERVICE_H
- #define QDECLARATIVESERVICE_H
-
- #include &lt;QtCore&gt;
- #include &lt;qserviceinterfacedescriptor.h&gt;
- #include &lt;qservicemanager.h&gt;
- #include &lt;qdeclarative.h&gt;
- #include &lt;qdeclarativelist.h&gt;
-
- QTM_USE_NAMESPACE
-
- Q_DECLARE_METATYPE(QServiceInterfaceDescriptor)
-
- class QServiceWrapper : public QObject {
- Q_OBJECT
- <span class="comment">// </span>![0]
- Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString serviceName READ serviceName);
- Q_PROPERTY(QString versionNumber READ versionNumber);
- Q_PROPERTY(bool valid READ isValid NOTIFY validChanged);
- Q_PROPERTY(QObject* serviceObject READ serviceObject NOTIFY serviceObjectChanged);
- <span class="comment">// </span>![0]
-
- public:
- QServiceWrapper();
- ~QServiceWrapper();
-
- void setInterfaceDesc(const QServiceInterfaceDescriptor&amp; desc);
- QServiceInterfaceDescriptor interfaceDesc() const;
-
- void setInterfaceName(const QString&amp; interface);
- QString interfaceName() const;
- QString serviceName() const;
- QString versionNumber() const;
-
- bool isValid() const;
- QObject* serviceObject();
-
- Q_SIGNALS:
- void validChanged();
- void serviceObjectChanged();
-
- private:
- QServiceManager* serviceManager;
-
- QServiceInterfaceDescriptor m_descriptor;
- QObject* serviceInstance;
- };
-
- QML_DECLARE_TYPE(QServiceWrapper);
-
- class QServiceListWrapper : public QObject {
- Q_OBJECT
- <span class="comment">// </span>![1]
- Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString minVersion READ minVersion WRITE setMinVersion);
- Q_PROPERTY(QDeclarativeListProperty&lt;QServiceWrapper&gt; services READ services NOTIFY servicesChanged);
- <span class="comment">// </span>![1]
-
- public:
- QServiceListWrapper();
- ~QServiceListWrapper();
-
- QDeclarativeListProperty&lt;QServiceWrapper&gt; services();
-
- void setInterfaceName(const QString&amp; interface);
- QString interfaceName() const;
-
- void setMinVersion(const QString&amp; interface);
- QString minVersion() const;
-
- private:
- QServiceManager* serviceManager;
- QList&lt;QServiceWrapper *&gt; m_services;
- QString m_interface;
- QString m_version;
-
- Q_SIGNALS:
- void servicesChanged(const QDeclarativeListProperty&lt;QServiceWrapper&gt;&amp;);
- };
-
- QML_DECLARE_TYPE(QServiceListWrapper)
-
- #endif</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-resource-qrc.html b/doc/html/declarative-sfw-dialer-sfwexample-resource-qrc.html
deleted file mode 100644
index a6b5bf38e0..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-resource-qrc.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: resource.qrc Example File (declarative-sfw-dialer/sfwexample/resource.qrc)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">resource.qrc Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/resource.qrc</span>
-</h1>
-<pre> &lt;RCC&gt;
- &lt;qresource prefix=&quot;/&quot; &gt;
- &lt;file&gt;sfwexample.qml&lt;/file&gt;
- &lt;file&gt;content/DialScreen.qml&lt;/file&gt;
- &lt;file&gt;content/DialButton.qml&lt;/file&gt;
- &lt;file&gt;content/DialerList.qml&lt;/file&gt;
- &lt;file&gt;content/call.png&lt;/file&gt;
- &lt;file&gt;content/hangup.png&lt;/file&gt;
- &lt;/qresource&gt;
- &lt;/RCC&gt;</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-cpp.html b/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-cpp.html
deleted file mode 100644
index ce3f51dfdc..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-cpp.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: sfwexample.cpp Example File (declarative-sfw-dialer/sfwexample/sfwexample.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwexample.cpp Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/sfwexample.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &quot;sfwexample.h&quot;
-
- DialerServices::DialerServices()
- {
- serviceManager = new QServiceManager();
-
- registerExampleServices();
- }
-
- DialerServices::~DialerServices()
- {
- unregisterExampleServices();
- }
-
- void DialerServices::registerExampleServices()
- {
- <span class="comment">// </span>![0]
- QStringList exampleXmlFiles;
- exampleXmlFiles &lt;&lt; &quot;landlinedialerservice.xml&quot; &lt;&lt; &quot;voipdialerservice.xml&quot;;
- foreach (const QString &amp;fileName, exampleXmlFiles) {
- QString path = QCoreApplication::applicationDirPath() + &quot;/xmldata/&quot; + fileName;
- serviceManager-&gt;addService(path);
- }
- <span class="comment">// </span>![0]
- }
-
- void DialerServices::unregisterExampleServices()
- {
- serviceManager-&gt;removeService(&quot;LandlineDialer&quot;);
- serviceManager-&gt;removeService(&quot;VoipDialer&quot;);
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-h.html b/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-h.html
deleted file mode 100644
index ed60e14e39..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-h.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: sfwexample.h Example File (declarative-sfw-dialer/sfwexample/sfwexample.h)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwexample.h Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/sfwexample.h</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ***************************************************************************/</span>
-
- #ifndef SFWEXAMPLE_H
- #define SFWEXAMPLE_H
-
- #include &lt;QtCore&gt;
- #include &lt;qserviceinterfacedescriptor.h&gt;
- #include &lt;qservicemanager.h&gt;
-
- QTM_USE_NAMESPACE
-
- class DialerServices : public QObject {
- Q_OBJECT
-
- public:
- DialerServices();
- ~DialerServices();
-
- private:
- void registerExampleServices();
- void unregisterExampleServices();
-
- QServiceManager* serviceManager;
- };
-
- #endif</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-pro.html b/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-pro.html
deleted file mode 100644
index a5ee8942d8..0000000000
--- a/doc/html/declarative-sfw-dialer-sfwexample-sfwexample-pro.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: sfwexample.pro Example File (declarative-sfw-dialer/sfwexample/sfwexample.pro)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwexample.pro Example File<br /><span class="small-subtitle">declarative-sfw-dialer/sfwexample/sfwexample.pro</span>
-</h1>
-<pre> TEMPLATE = app
- TARGET = declarative-sfw-dialer
- INCLUDEPATH += ../../../src/serviceframework
-
- include(../../examples.pri)
-
- QT += gui declarative
-
- HEADERS += sfwexample.h \
- qdeclarativeservice.h
- SOURCES += sfwexample.cpp \
- qdeclarativeservice.cpp \
- main.cpp
-
- CONFIG += mobility
- MOBILITY = serviceframework
-
- RESOURCES += resource.qrc
-
- symbian {
- TARGET.CAPABILITY = ALL -TCB
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-cpp.html b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-cpp.html
index b2659aebaf..a87be2d30d 100644
--- a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-cpp.html
+++ b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-cpp.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -119,8 +120,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-h.html b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-h.html
index 9530b1be83..68f2fd0ecf 100644
--- a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-h.html
+++ b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-h.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -95,8 +96,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-pro.html b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-pro.html
index 761c687b80..3a77e43dbf 100644
--- a/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-pro.html
+++ b/doc/html/declarative-sfw-dialer-voipdialer-voipdialer-pro.html
@@ -16,6 +16,8 @@
<pre> TEMPLATE = lib
CONFIG += plugin
INCLUDEPATH += ../../../src/serviceframework
+ PLUGIN_TYPE = serviceframework
+
HEADERS += voipdialer.h \
voipdialerplugin.h
SOURCES += voipdialer.cpp \
@@ -32,15 +34,13 @@
TARGET.CAPABILITY = ALL -TCB
}
- xml.path = $$DESTDIR/xmldata
+ xml.path = $$QT_MOBILITY_PREFIX/bin/xmldata
xml.files = voipdialerservice.xml
- xml.CONFIG = no_link no_dependencies explicit_dependencies no_build combine ignore_no_exist no_clean
- INSTALLS += xml
- build_pass:ALL_DEPS+=install_xml</pre>
+ INSTALLS += xml</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html b/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html
index 68d6b68ed7..eb60461cb0 100644
--- a/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html
+++ b/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -71,8 +72,8 @@
Q_EXPORT_PLUGIN2(serviceframework_voipdialerservice, VoipDialerPlugin)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html b/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html
index 7a350a6cfc..46c90b1355 100644
--- a/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html
+++ b/doc/html/declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html
@@ -15,40 +15,41 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
+ ** $QT_BEGIN_LICENSE:LGPL$
+ ** No Commercial Usage
+ ** This file contains pre-release code and may not be distributed.
+ ** You may use this file in accordance with the terms and conditions
+ ** contained in the Technology Preview License Agreement accompanying
+ ** this package.
+ **
+ ** GNU Lesser General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU Lesser
+ ** General Public License version 2.1 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.LGPL included in the
+ ** packaging of this file. Please review the following information to
+ ** ensure the GNU Lesser General Public License version 2.1 requirements
+ ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at qt-info@nokia.com.
+ **
+ **
+ **
+ **
+ **
+ **
**
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
**
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
****************************************************************************/</span>
@@ -77,8 +78,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-dialer.html b/doc/html/declarative-sfw-dialer.html
index c192c162df..f4ad278940 100644
--- a/doc/html/declarative-sfw-dialer.html
+++ b/doc/html/declarative-sfw-dialer.html
@@ -20,58 +20,27 @@
<li><a href="declarative-sfw-dialer-landlinedialer-landlinedialer-h.html">declarative-sfw-dialer/landlinedialer/landlinedialer.h</a></li>
<li><a href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html">declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp</a></li>
<li><a href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html">declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html">declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html">declarative-sfw-dialer/sfwexample/qdeclarativeservice.h</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-sfwexample-cpp.html">declarative-sfw-dialer/sfwexample/sfwexample.cpp</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-sfwexample-h.html">declarative-sfw-dialer/sfwexample/sfwexample.h</a></li>
<li><a href="declarative-sfw-dialer-voipdialer-voipdialer-cpp.html">declarative-sfw-dialer/voipdialer/voipdialer.cpp</a></li>
<li><a href="declarative-sfw-dialer-voipdialer-voipdialer-h.html">declarative-sfw-dialer/voipdialer/voipdialer.h</a></li>
<li><a href="declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html">declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp</a></li>
<li><a href="declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html">declarative-sfw-dialer/voipdialer/voipdialerplugin.h</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-main-cpp.html">declarative-sfw-dialer/sfwexample/main.cpp</a></li>
<li><a href="declarative-sfw-dialer-declarative-sfw-dialer-pro.html">declarative-sfw-dialer/declarative-sfw-dialer.pro</a></li>
<li><a href="declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html">declarative-sfw-dialer/landlinedialer/landlinedialer.pro</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-resource-qrc.html">declarative-sfw-dialer/sfwexample/resource.qrc</a></li>
-<li><a href="declarative-sfw-dialer-sfwexample-sfwexample-pro.html">declarative-sfw-dialer/sfwexample/sfwexample.pro</a></li>
<li><a href="declarative-sfw-dialer-voipdialer-voipdialer-pro.html">declarative-sfw-dialer/voipdialer/voipdialer.pro</a></li>
</ul>
<p><b>Explanation:</b></p>
-<p>This example should demonstrate how to use the Service Framework and access the services in a QMLContext. Currently there is a wrapper class which provides functionality for a single service as well as a list of services. In future releases this will be included as a plugin. Another example that demonstrates how to connect to a single service object to implement a simple note taking application can be found <a href="declarative-sfw-notes.html">here</a>.</p>
+<p>This example should demonstrate how to use the Service Framework to access a list of services in a QML context. A library plugin provides QML with elements that can reference a single service or a list of services, called 'Service' and 'ServiceList' respectively.</p>
+<p>An example that demonstrates how to connect to a single service object to implement a simple note taking application can be found <a href="declarative-sfw-notes.html">here</a>.</p>
<a name="guidesign"></a><p>The GUI looks like following picture:</p>
<p align="center"><img src="images/DialerServiceGUI.png" alt="&quot;GUI&quot;" /></p><p>The following steps outline how to make a QML based application using the Service Framework technology. It is assumed that Qt Mobility has been successfully built and environment variables have been set as per <a href="installation.html">Installation Guide</a>.</p>
-<p><b>The main function:</b></p>
-<p>For the usage of several Qml objects and Service Framework we need to prepare our main.cpp:</p>
-<ol type="1">
-<li>Include the appropriate headers</li>
-<li>Include the neccessary service framework type registrations</li>
-<li>Include the QML canvas to be displayed</li>
-</ol>
-<p>Step is shown below:</p>
-<pre><span class="comment"> //Includes for using the declarative viewer</span>
- #include &lt;QDeclarativeView&gt;
-
-<span class="comment"> //Includes for using the service framework wrapper</span>
- #include &quot;qdeclarativeservice.h&quot;</pre>
-<p>Now to make our service framework wrappers known to QML as registered types we need the following inline method:</p>
-<pre> qmlRegisterType&lt;QServiceWrapper&gt;(&quot;QtMobility.serviceframework&quot;, 1, 0, &quot;Service&quot;);
- qmlRegisterType&lt;QServiceListWrapper&gt;(&quot;QtMobility.serviceframework&quot;, 1, 0, &quot;ServiceList&quot;);</pre>
-<p>This allows us to import our new types in QML by:</p>
+<p><b>Service Framework in QML:</b></p>
+<p>To included the Service Framework QML plugin to our QML file we need to import it as follows:</p>
<pre> import QtMobility.serviceframework 1.0</pre>
-<p>We are using QDeclarativeView to load and show our QML content</p>
-<pre> QDeclarativeView canvas;
- canvas.setSource(QUrl(&quot;qrc:/sfwexample.qml&quot;));
- canvas.show();</pre>
<p><b>The Services:</b></p>
<p>The services are implemented in a shared library and can be register in the service framework. After the service is registered it can be used in different applications. In our case we'll access the services over an application that is based on QML scripting. We will be able to change between different services and call their properties, receiving their signals and so forth.</p>
<p>In this example we've implemented 2 services called Landdialer and Voipdialer. You can find the projects for those services in:</p>
<p>declarative-sfw-dialer\landlinedialer and declarative-sfw-dialer\voipdialer. Those projects will create a shared library in each case.</p>
-<p>If the library needs to be available over the Service Framework, we need to register the library. You can do this by using the <a href="qservicemanager.html">QServiceManager</a> function addService(..&#x2e;)&#x2e; In our example this will be done in the function registerExampleServices in the registration class accompanying the main function:</p>
-<pre> QStringList exampleXmlFiles;
- exampleXmlFiles &lt;&lt; &quot;landlinedialerservice.xml&quot; &lt;&lt; &quot;voipdialerservice.xml&quot;;
- foreach (const QString &amp;fileName, exampleXmlFiles) {
- QString path = QCoreApplication::applicationDirPath() + &quot;/xmldata/&quot; + fileName;
- serviceManager-&gt;addService(path);
- }</pre>
+<p>If the library needs to be available over the Service Framework, we need to register the library. In our example this will be done manually by using the servicefw tool. Refer to the project README for further details.</p>
<p>As you can see we register the services using a xml file. This xml file basically contains all information to register the shared library in the Service Framework enviroment. For more information please read more about the Qt Service Framework <a href="service-frameworks.html#adding-and-removing-of-services">XML Format</a></p>
<p>The <a href="qservicemanager.html">QServiceManager</a> creates an instance of a services over a <a href="qserviceplugininterface.html">QServicePluginInterface</a>. For each services we provide a Plugin.</p>
<pre> class VoipDialerPlugin : public QObject,
@@ -108,27 +77,6 @@
signals:
void stateChanged();</pre>
-<p><b>The ServiceWrapper:</b></p>
-<p>The ServiceWarpper is our object that is accessible in the QML script. Over the ServiceWrapper we can access several service details by calling the properties of the wrapper.</p>
-<pre> Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString serviceName READ serviceName);
- Q_PROPERTY(QString versionNumber READ versionNumber);
- Q_PROPERTY(bool valid READ isValid NOTIFY validChanged);
- Q_PROPERTY(QObject* serviceObject READ serviceObject NOTIFY serviceObjectChanged);</pre>
-<p>Additionally, there is a <a href="http://qt.nokia.com/doc/4.6/qlist.html">QList</a> of ServiceWrapper objects that is also available through QML which can be used to obtain a list of services and their details by supplying an interface with an optional minimum version number. QML can gain access to these details including the list using the QML-specific QDeclarativeListProperty with the following properties.</p>
-<pre> Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString minVersion READ minVersion WRITE setMinVersion);
- Q_PROPERTY(QDeclarativeListProperty&lt;QServiceWrapper&gt; services READ services NOTIFY servicesChanged);</pre>
-<p>The ServiceWrapperList contains a list of all available services that contain the com.nokia.qt.examples.Dialer interface. In the setInterfaceName(..) function which is QML accessible, a <a href="http://qt.nokia.com/doc/4.6/qlist.html">QList</a> of ServiceWrapper objects is populated for the dialer services (LandLineDialer and VoipDaler). Each ServiceWrapper object containts the <a href="qserviceinterfacedescriptor.html">QServiceInterfaceDescriptor</a> and properties which allow QML to access the service library functions. This is done by utilising the code below:</p>
-<pre> QServiceWrapper *service;
- QServiceFilter filter(m_interface, m_version);
- QList&lt;QServiceInterfaceDescriptor&gt; list = serviceManager-&gt;findInterfaces(filter);
- for (int i = 0; i &lt; list.size(); i++) {
- service = new QServiceWrapper();
- service-&gt;setInterfaceDesc(list.at(i));
- m_services.append(service);
- }</pre>
-<p>QML context requires a special declarative list when declaring the property, in this case the property services will provide QML with the list of ServiceWrappers which can call serviceObject(..) to reference the service library functions.</p>
<p><b>Service access on the QML site</b></p>
<p>The QML elements are implemented in 4 different qml scripting files <a href="#guidesign"> see GUI design</a>.</p>
<p>The first step is to use our ServiceWrapperList to specify the interface and minimum version (optional) through QML item context, which will produce a list of ServiceWrapper objects.</p>
@@ -207,7 +155,7 @@
<pre> DialScreen {
id: dialScreen
property bool activeCall : false
- property var currentDialer: 0;
+ property variant currentDialer: 0;
anchors.topMargin: 5
anchors.leftMargin: 5
anchors.rightMargin: 5
@@ -288,8 +236,8 @@
<p>The DialScreen.currentDialer is assigned during a ListView item click in the <a href="#dialerlist-qml-2"> ServiceList.qml file</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/declarative-sfw-notes-declarative-sfw-notes-pro.html b/doc/html/declarative-sfw-notes-declarative-sfw-notes-pro.html
deleted file mode 100644
index 6e541f8044..0000000000
--- a/doc/html/declarative-sfw-notes-declarative-sfw-notes-pro.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: declarative-sfw-notes.pro Example File (declarative-sfw-notes/declarative-sfw-notes.pro)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">declarative-sfw-notes.pro Example File<br /><span class="small-subtitle">declarative-sfw-notes/declarative-sfw-notes.pro</span>
-</h1>
-<pre> TEMPLATE = app
- TARGET = declarative-sfw-notes
- INCLUDEPATH += ../../src/serviceframework
-
- include(../examples.pri)
-
- QT += declarative
-
- HEADERS += sfwnotes.h \
- qdeclarativeservice.h
- SOURCES += sfwnotes.cpp \
- qdeclarativeservice.cpp \
- main.cpp
-
- CONFIG += mobility
- MOBILITY = serviceframework
-
- RESOURCES += sfwnotes.qrc
-
- OTHER_FILES = declarative-sfw-notes.qml</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes-main-cpp.html b/doc/html/declarative-sfw-notes-main-cpp.html
deleted file mode 100644
index 0b719ecd92..0000000000
--- a/doc/html/declarative-sfw-notes-main-cpp.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: main.cpp Example File (declarative-sfw-notes/main.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">main.cpp Example File<br /><span class="small-subtitle">declarative-sfw-notes/main.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &lt;QApplication&gt;
- #include &lt;QUrl&gt;
- #include &lt;QtCore&gt;
-
- #include &lt;QDeclarativeView&gt;
- #include &lt;qdeclarative.h&gt;
-
- #include &quot;sfwnotes.h&quot;
- #include &quot;qdeclarativeservice.h&quot;
-
- int main(int argc, char* argv[])
- {
- qmlRegisterType&lt;QServiceWrapper&gt;(&quot;QtMobility.serviceframework&quot;, 1, 0, &quot;Service&quot;);
-
- QApplication app(argc, argv);
-
- ToDoTool *td = new ToDoTool();
-
- QDeclarativeView canvas;
- canvas.setSource(QUrl(&quot;qrc:/declarative-sfw-notes.qml&quot;));
- canvas.show();
-
- return app.exec();
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes-qdeclarativeservice-cpp.html b/doc/html/declarative-sfw-notes-qdeclarativeservice-cpp.html
deleted file mode 100644
index 181da4ae6c..0000000000
--- a/doc/html/declarative-sfw-notes-qdeclarativeservice-cpp.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qdeclarativeservice.cpp Example File (declarative-sfw-notes/qdeclarativeservice.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qdeclarativeservice.cpp Example File<br /><span class="small-subtitle">declarative-sfw-notes/qdeclarativeservice.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &quot;qdeclarativeservice.h&quot;
-
- QServiceWrapper::QServiceWrapper()
- : serviceInstance(0)
- {
- serviceManager = new QServiceManager();
- }
-
- QServiceWrapper::~QServiceWrapper()
- {
- delete serviceInstance;
- }
-
- bool QServiceWrapper::isValid() const
- {
- return m_descriptor.isValid();
- }
-
- void QServiceWrapper::setInterfaceDesc(const QServiceInterfaceDescriptor &amp;desc)
- {
- if (desc == m_descriptor)
- return;
-
- m_descriptor = desc;
-
- if (serviceInstance)
- delete serviceInstance;
-
- serviceInstance = 0;
- }
-
- QServiceInterfaceDescriptor QServiceWrapper::interfaceDesc() const
- {
- return m_descriptor;
- }
-
- void QServiceWrapper::setInterfaceName(const QString &amp;interface)
- {
- m_descriptor = serviceManager-&gt;interfaceDefault(interface);
-
- if (!isValid())
- qWarning() &lt;&lt; &quot;WARNING: No default service found for interface name: &quot; &lt;&lt; interface;
- }
-
- QString QServiceWrapper::interfaceName() const
- {
- if (isValid())
- return m_descriptor.interfaceName();
- else
- return &quot;No Interface&quot;;
- }
-
- QString QServiceWrapper::serviceName() const
- {
- if (isValid())
- return m_descriptor.serviceName();
- else
- return &quot;No Service&quot;;
- }
-
- QString QServiceWrapper::versionNumber() const
- {
- if (isValid())
- return (QString::number(m_descriptor.majorVersion())+&quot;.&quot;+QString::number(m_descriptor.minorVersion()));
- else
- return &quot;0.0&quot;;
- }
-
- QObject* QServiceWrapper::serviceObject()
- {
- if (serviceInstance) {
- return serviceInstance;
- }
-
- if (isValid()) {
- QServiceManager manager;
- serviceInstance = manager.loadInterface(m_descriptor);
- return serviceInstance;
- } else {
- return 0;
- }
- }
-
- QServiceListWrapper::QServiceListWrapper()
- {
- serviceManager = new QServiceManager();
- }
-
- QServiceListWrapper::~QServiceListWrapper()
- {
- }
-
- void QServiceListWrapper::setInterfaceName(const QString &amp;interface)
- {
- m_interface = interface;
-
- QServiceWrapper *service;
- QServiceFilter filter(m_interface, m_version);
- QList&lt;QServiceInterfaceDescriptor&gt; list = serviceManager-&gt;findInterfaces(filter);
- for (int i = 0; i &lt; list.size(); i++) {
- service = new QServiceWrapper();
- service-&gt;setInterfaceDesc(list.at(i));
- m_services.append(service);
- }
- }
-
- QString QServiceListWrapper::interfaceName() const
- {
- return m_interface;
- }
-
- void QServiceListWrapper::setMinVersion(const QString &amp;version)
- {
- m_version = version;
- }
-
- QString QServiceListWrapper::minVersion() const
- {
- return m_version;
- }
-
- QDeclarativeListProperty&lt;QServiceWrapper&gt; QServiceListWrapper::services()
- {
- return QDeclarativeListProperty&lt;QServiceWrapper&gt;(this, m_services);
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes-qdeclarativeservice-h.html b/doc/html/declarative-sfw-notes-qdeclarativeservice-h.html
deleted file mode 100644
index 3edc036f23..0000000000
--- a/doc/html/declarative-sfw-notes-qdeclarativeservice-h.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qdeclarativeservice.h Example File (declarative-sfw-notes/qdeclarativeservice.h)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qdeclarativeservice.h Example File<br /><span class="small-subtitle">declarative-sfw-notes/qdeclarativeservice.h</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ***************************************************************************/</span>
-
- #ifndef QDECLARATIVESERVICE_H
- #define QDECLARATIVESERVICE_H
-
- #include &lt;QtCore&gt;
- #include &lt;qserviceinterfacedescriptor.h&gt;
- #include &lt;qservicemanager.h&gt;
- #include &lt;qdeclarative.h&gt;
- #include &lt;qdeclarativelist.h&gt;
-
- QTM_USE_NAMESPACE
-
- Q_DECLARE_METATYPE(QServiceInterfaceDescriptor)
-
- class QServiceWrapper : public QObject {
- Q_OBJECT
- Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString serviceName READ serviceName);
- Q_PROPERTY(QString versionNumber READ versionNumber);
- Q_PROPERTY(bool valid READ isValid NOTIFY validChanged);
- Q_PROPERTY(QObject* serviceObject READ serviceObject NOTIFY serviceObjectChanged);
-
- public:
- QServiceWrapper();
- ~QServiceWrapper();
-
- void setInterfaceDesc(const QServiceInterfaceDescriptor&amp; desc);
- QServiceInterfaceDescriptor interfaceDesc() const;
-
- void setInterfaceName(const QString&amp; interface);
- QString interfaceName() const;
- QString serviceName() const;
- QString versionNumber() const;
-
- bool isValid() const;
- QObject* serviceObject();
-
- Q_SIGNALS:
- void validChanged();
- void serviceObjectChanged();
-
- private:
- QServiceManager* serviceManager;
-
- QServiceInterfaceDescriptor m_descriptor;
- QObject* serviceInstance;
- };
-
- QML_DECLARE_TYPE(QServiceWrapper);
-
- class QServiceListWrapper : public QObject {
- Q_OBJECT
- Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
- Q_PROPERTY(QString minVersion READ minVersion WRITE setMinVersion);
- Q_PROPERTY(QDeclarativeListProperty&lt;QServiceWrapper&gt; services READ services NOTIFY servicesChanged);
-
- public:
- QServiceListWrapper();
- ~QServiceListWrapper();
-
- QDeclarativeListProperty&lt;QServiceWrapper&gt; services();
-
- void setInterfaceName(const QString&amp; interface);
- QString interfaceName() const;
-
- void setMinVersion(const QString&amp; interface);
- QString minVersion() const;
-
- private:
- QServiceManager* serviceManager;
- QList&lt;QServiceWrapper *&gt; m_services;
- QString m_interface;
- QString m_version;
-
- Q_SIGNALS:
- void servicesChanged(const QDeclarativeListProperty&lt;QServiceWrapper&gt;&amp;);
- };
-
- QML_DECLARE_TYPE(QServiceListWrapper)
-
- #endif</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes-sfwnotes-cpp.html b/doc/html/declarative-sfw-notes-sfwnotes-cpp.html
deleted file mode 100644
index 9413806fa6..0000000000
--- a/doc/html/declarative-sfw-notes-sfwnotes-cpp.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: sfwnotes.cpp Example File (declarative-sfw-notes/sfwnotes.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwnotes.cpp Example File<br /><span class="small-subtitle">declarative-sfw-notes/sfwnotes.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &quot;sfwnotes.h&quot;
-
- ToDoTool::ToDoTool()
- {
- serviceManager = new QServiceManager();
-
- registerExampleServices();
- }
-
- ToDoTool::~ToDoTool()
- {
- unregisterExampleServices();
- }
-
- void ToDoTool::registerExampleServices()
- {
- QStringList exampleXmlFiles;
- exampleXmlFiles &lt;&lt; &quot;notesmanagerservice.xml&quot;;
- foreach (const QString &amp;fileName, exampleXmlFiles) {
- QString path = QCoreApplication::applicationDirPath() + &quot;/xmldata/&quot; + fileName;
- serviceManager-&gt;addService(path);
- }
- }
-
- void ToDoTool::unregisterExampleServices()
- {
- serviceManager-&gt;removeService(&quot;NotesManagerService&quot;);
- }</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes-sfwnotes-qrc.html b/doc/html/declarative-sfw-notes-sfwnotes-qrc.html
deleted file mode 100644
index 86d757f10c..0000000000
--- a/doc/html/declarative-sfw-notes-sfwnotes-qrc.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: sfwnotes.qrc Example File (declarative-sfw-notes/sfwnotes.qrc)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwnotes.qrc Example File<br /><span class="small-subtitle">declarative-sfw-notes/sfwnotes.qrc</span>
-</h1>
-<pre> &lt;RCC&gt;
- &lt;qresource prefix=&quot;/&quot; &gt;
- &lt;file&gt;declarative-sfw-notes.qml&lt;/file&gt;
- &lt;file&gt;content/Button.qml&lt;/file&gt;
- &lt;file&gt;content/Dialog.qml&lt;/file&gt;
- &lt;file&gt;content/InputDialog.qml&lt;/file&gt;
- &lt;file&gt;content/icons/addIcon.png&lt;/file&gt;
- &lt;file&gt;content/icons/deleteIcon.png&lt;/file&gt;
- &lt;file&gt;content/icons/searchIcon.png&lt;/file&gt;
- &lt;file&gt;content/icons/nextIcon.png&lt;/file&gt;
- &lt;file&gt;content/icons/prevIcon.png&lt;/file&gt;
- &lt;/qresource&gt;
- &lt;/RCC&gt;</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/declarative-sfw-notes.html b/doc/html/declarative-sfw-notes.html
index 818dc697af..7e2671d129 100644
--- a/doc/html/declarative-sfw-notes.html
+++ b/doc/html/declarative-sfw-notes.html
@@ -14,22 +14,12 @@
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">Declarative Service Framework Notes Manager<br /><span class="subtitle"></span>
</h1>
-<p>Files:</p>
-<ul>
-<li><a href="declarative-sfw-notes-qdeclarativeservice-cpp.html">declarative-sfw-notes/qdeclarativeservice.cpp</a></li>
-<li><a href="declarative-sfw-notes-qdeclarativeservice-h.html">declarative-sfw-notes/qdeclarativeservice.h</a></li>
-<li><a href="declarative-sfw-notes-sfwnotes-cpp.html">declarative-sfw-notes/sfwnotes.cpp</a></li>
-<li><a href="declarative-sfw-notes-sfwnotes-h.html">declarative-sfw-notes/sfwnotes.h</a></li>
-<li><a href="declarative-sfw-notes-main-cpp.html">declarative-sfw-notes/main.cpp</a></li>
-<li><a href="declarative-sfw-notes-declarative-sfw-notes-pro.html">declarative-sfw-notes/declarative-sfw-notes.pro</a></li>
-<li><a href="declarative-sfw-notes-sfwnotes-qrc.html">declarative-sfw-notes/sfwnotes.qrc</a></li>
-</ul>
-<p>This example demonstrates how to use the <a href="notesmanagerplugin.html">Notes Manager service plugin</a> to implement a notes managing application with QML as the declarative user-interface. There is also a non-QML counterpart which demonstrates an identical application using standard Qt user-interface tool. See <a href="sfw-notes.html">Service Framework Notes Manager</a> for more details.</p>
+<p>This example demonstrates how to use the <a href="notesmanagerplugin.html">Notes Manager service plugin</a> to implement a notes managing application with QML as the declarative user-interface. There is also a non-QML counterpart which demonstrates an identical application using standard Qt user-interface tools. See <a href="sfw-notes.html">Service Framework Notes Manager</a> for more details.</p>
<p><b>Explanation</b></p>
-<p>In general, QML requires external types and registrations to be provided via a plugin-based system, which the service framework does not currently provide. Instead, we have a wrapper class which provides access to the <a href="qservicemanager.html">QServiceManager</a> and <a href="qserviceinterfacedescriptor.html">QServiceInterfaceDescriptor</a> API that needs to be included in the project and declared in the main funciton of the application. The wrapper is referred to as QDeclarativeService.</p>
-<p>This example demonstrates how QML can be used to completely control the logic of the application, using a combination of declarative elements and Javascript in the QML file. The main function is used to produce an application binary but once service framework supports a QML plugin, only the QML file will be needed. Also contained is a class that registers our Notes Manager service to supply the plugin library, which can also be done using the servicefw tool.</p>
-<p>There is another service framework example that demonstrates how to use the wrapper to browse a list of services to select for dialing usage. See <a href="declarative-sfw-dialer.html">Declarative Service Framework Dialer</a> for a detailed explanation.</p>
-<p>The secion belows explains how QML can be used to emulate to exact functionality of the alternate Qt/C++ example.</p>
+<p>The <a href="qservicemanager.html">QServiceManager</a> and <a href="qserviceinterfacedescriptor.html">QServiceInterfaceDescriptor</a> API are provided to QML through the use of a plugin-based system. The resulting class is referred to as QDeclarativeService, which provides users with the ability of accessing services by loading the interfaces specified using the QML element 'Service'.</p>
+<p>This example demonstrates how QML can be used to completely control the logic of the application, using a combination of declarative elements and Javascript in the QML file. To run the application refer to the README file supplied which includes instructions on how to setup and run the QML file demonstrating service framework capabilities.</p>
+<p>There is also another service framework example that demonstrates how to use the QML library plugin browse a list of services to select for dialing usage. See <a href="declarative-sfw-dialer.html">Declarative Service Framework Dialer</a> for a detailed explanation.</p>
+<p>The section belows explains how QML can be used to emulate to exact functionality of the alternate Qt/C++ example.</p>
<p><b>QML File</b></p>
<p>The very first step is to import our registered types with the following:</p>
<pre> import QtMobility.serviceframework 1.0</pre>
@@ -39,7 +29,7 @@
interfaceName: &quot;com.nokia.qt.examples.NotesManager&quot;
}</pre>
<p>In most cases we will need the service to be avaiable to all parts of the QML file, meaning the actual <a href="http://qt.nokia.com/doc/4.6/qobject.html">QObject</a> returned from the service wrapper needs to be a global property.</p>
-<pre> property var notesManager: notesService.serviceObject</pre>
+<pre> property variant notesManager: notesService.serviceObject</pre>
<p>The interfaceName property of the Service item has READ and WRITE methods which can be used to obtain a new service instance and check if there was a valid default service.</p>
<pre> notesService.interfaceName = input;
@@ -59,8 +49,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/editions.html b/doc/html/editions.html
index f14cfa27b4..76e26daa2a 100644
--- a/doc/html/editions.html
+++ b/doc/html/editions.html
@@ -23,8 +23,8 @@
<p>On the Qt web site, you can find a <a href="http://qt.nokia.com/doc/4.6/http-qt-nokia-com-products-licensing.html">Qt Licensing Overview</a> and information on <a href="http://qt.nokia.com/doc/4.6/http-qt-nokia-com-products-pricing.html">Qt License Pricing</a> for commercial editions of Qt and other Qt-related products.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/examples.html b/doc/html/examples.html
index a9d2ff0942..9a4b0c0917 100644
--- a/doc/html/examples.html
+++ b/doc/html/examples.html
@@ -72,8 +72,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/fetchgooglemaps-fetchgooglemaps-pro.html b/doc/html/fetchgooglemaps-fetchgooglemaps-pro.html
index b37f9b44f6..938f322f7a 100644
--- a/doc/html/fetchgooglemaps-fetchgooglemaps-pro.html
+++ b/doc/html/fetchgooglemaps-fetchgooglemaps-pro.html
@@ -30,25 +30,29 @@
include(../examples.pri)
CONFIG += mobility
- MOBILITY = location
- !maemo5:MOBILITY += bearer
+ MOBILITY = location bearer
- symbian: {
- addFiles.sources = nmealog.txt
- DEPLOYMENT += addFiles
-
- TARGET.CAPABILITY = Location NetworkServices
+ symbian|wince* {
+ symbian {
+ addFiles.sources = nmealog.txt
+ DEPLOYMENT += addFiles
+ TARGET.CAPABILITY += Location \
+ NetworkServices
+ }
+ wince* {
+ addFiles.sources = ./nmealog.txt
+ addFiles.path = .
+ DEPLOYMENT += addFiles
+ }
} else {
- logfile.path = $$DESTDIR
+ logfile.path = $$QT_MOBILITY_PREFIX/bin
logfile.files = nmealog.txt
- logfile.CONFIG = no_link no_dependencies explicit_dependencies no_build combine ignore_no_exist no_clean
INSTALLS += logfile
- build_pass:ALL_DEPS+=install_logfile
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/fetchgooglemaps-main-cpp.html b/doc/html/fetchgooglemaps-main-cpp.html
index ab819ef949..6858ac700d 100644
--- a/doc/html/fetchgooglemaps-main-cpp.html
+++ b/doc/html/fetchgooglemaps-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -69,8 +69,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/fetchgooglemaps-mapwindow-cpp.html b/doc/html/fetchgooglemaps-mapwindow-cpp.html
index 2b481ab711..902a0deec2 100644
--- a/doc/html/fetchgooglemaps-mapwindow-cpp.html
+++ b/doc/html/fetchgooglemaps-mapwindow-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -59,10 +59,8 @@
#include &lt;qgeopositioninfosource.h&gt;
#include &lt;qnmeapositioninfosource.h&gt;
#include &lt;qgeosatelliteinfosource.h&gt;
- #ifndef Q_WS_MAEMO_5
#include &lt;qnetworksession.h&gt;
#include &lt;qnetworkconfigmanager.h&gt;
- #endif
#include &quot;satellitedialog.h&quot;
@@ -150,9 +148,7 @@
MapWindow::~MapWindow()
{
location-&gt;stopUpdates();
- #ifndef Q_WS_MAEMO_5
session-&gt;close();
- #endif
}
void MapWindow::delayedInit()
@@ -165,7 +161,6 @@
location-&gt;stopUpdates();
}
- #ifndef Q_WS_MAEMO_5
<span class="comment">// Set Internet Access Point</span>
QNetworkConfigurationManager manager;
const bool canStartIAP = (manager.capabilities()
@@ -181,7 +176,6 @@
session = new QTM_PREPEND_NAMESPACE(QNetworkSession)(cfg, this);
session-&gt;open();
session-&gt;waitForOpened(-1);
- #endif
connect(location, SIGNAL(updateTimeout()), this, SLOT(waitForFix()));
location-&gt;startUpdates();
@@ -269,8 +263,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/fetchgooglemaps-mapwindow-h.html b/doc/html/fetchgooglemaps-mapwindow-h.html
index 6f534462ab..6c062b32ea 100644
--- a/doc/html/fetchgooglemaps-mapwindow-h.html
+++ b/doc/html/fetchgooglemaps-mapwindow-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -66,9 +66,7 @@
QTM_BEGIN_NAMESPACE
class QGeoPositionInfo;
class QGeoPositionInfoSource;
- #ifndef Q_WS_MAEMO_5
class QNetworkSession;
- #endif
QTM_END_NAMESPACE
QTM_USE_NAMESPACE
@@ -94,9 +92,7 @@
QLabel *headingAndSpeedLabel;
QLabel *dateTimeLabel;
bool loading;
- #ifndef Q_WS_MAEMO_5
QTM_PREPEND_NAMESPACE(QNetworkSession) *session;
- #endif
bool usingLogFile;
QGeoPositionInfoSource *location;
bool waitingForFix;
@@ -105,8 +101,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/fetchgooglemaps.html b/doc/html/fetchgooglemaps.html
index a35a75496f..1b49ff32d8 100644
--- a/doc/html/fetchgooglemaps.html
+++ b/doc/html/fetchgooglemaps.html
@@ -23,8 +23,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagerplugin-cpp.html b/doc/html/filemanagerplugin-filemanagerplugin-cpp.html
index 6369d43b7e..507e14fb68 100644
--- a/doc/html/filemanagerplugin-filemanagerplugin-cpp.html
+++ b/doc/html/filemanagerplugin-filemanagerplugin-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,8 +77,8 @@
Q_EXPORT_PLUGIN2(serviceframework_filemanagerplugin, FileManagerPlugin)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagerplugin-h.html b/doc/html/filemanagerplugin-filemanagerplugin-h.html
index 099cb33ff5..0d6ed1cafa 100644
--- a/doc/html/filemanagerplugin-filemanagerplugin-h.html
+++ b/doc/html/filemanagerplugin-filemanagerplugin-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,8 +76,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagerplugin-pro.html b/doc/html/filemanagerplugin-filemanagerplugin-pro.html
index 96e2400d29..2b881541ab 100644
--- a/doc/html/filemanagerplugin-filemanagerplugin-pro.html
+++ b/doc/html/filemanagerplugin-filemanagerplugin-pro.html
@@ -45,8 +45,8 @@
INSTALLS += xml</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagerstorage-cpp.html b/doc/html/filemanagerplugin-filemanagerstorage-cpp.html
index a4fa0a0485..9f59d697b4 100644
--- a/doc/html/filemanagerplugin-filemanagerstorage-cpp.html
+++ b/doc/html/filemanagerplugin-filemanagerstorage-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -80,8 +80,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagerstorage-h.html b/doc/html/filemanagerplugin-filemanagerstorage-h.html
index 3163535fd5..3e53dd7abe 100644
--- a/doc/html/filemanagerplugin-filemanagerstorage-h.html
+++ b/doc/html/filemanagerplugin-filemanagerstorage-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -82,8 +82,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagertransfer-cpp.html b/doc/html/filemanagerplugin-filemanagertransfer-cpp.html
index fcb4be4777..eae8d0769d 100644
--- a/doc/html/filemanagerplugin-filemanagertransfer-cpp.html
+++ b/doc/html/filemanagerplugin-filemanagertransfer-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,8 +73,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin-filemanagertransfer-h.html b/doc/html/filemanagerplugin-filemanagertransfer-h.html
index dc2c2f4092..2763a3810b 100644
--- a/doc/html/filemanagerplugin-filemanagertransfer-h.html
+++ b/doc/html/filemanagerplugin-filemanagertransfer-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,8 +73,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/filemanagerplugin.html b/doc/html/filemanagerplugin.html
index 4b7b1d3f0b..a56107bb93 100644
--- a/doc/html/filemanagerplugin.html
+++ b/doc/html/filemanagerplugin.html
@@ -41,8 +41,8 @@
<p>The functionality of the FileManager and the FileTransfer classes are in the separate classes FileManagerStorage and FileManagerTransfer respectively. The existing functions are merely test stubs to demonstrate the concept.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-connectivityhelper-cpp.html b/doc/html/flickrdemo-connectivityhelper-cpp.html
index c3fc4bb412..6858fb82d7 100644
--- a/doc/html/flickrdemo-connectivityhelper-cpp.html
+++ b/doc/html/flickrdemo-connectivityhelper-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -59,7 +59,7 @@
#include &lt;QWidget&gt;
#include &lt;QTimer&gt;
- ConnectivityHelper::ConnectivityHelper(QtMobility::QNetworkSession *session, QWidget *parent) : QObject(parent),
+ ConnectivityHelper::ConnectivityHelper(QNetworkSession *session, QWidget *parent) : QObject(parent),
m_session(session)
{
connect(m_session,
@@ -102,8 +102,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-connectivityhelper-h.html b/doc/html/flickrdemo-connectivityhelper-h.html
index 6b7c70c8e7..7534594602 100644
--- a/doc/html/flickrdemo-connectivityhelper-h.html
+++ b/doc/html/flickrdemo-connectivityhelper-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -75,23 +75,23 @@
Q_OBJECT
public:
- ConnectivityHelper(QtMobility::QNetworkSession *session, QWidget *parent = 0);
+ ConnectivityHelper(QNetworkSession *session, QWidget *parent = 0);
signals:
void networkingCancelled();
private slots:
- void error(QtMobility::QNetworkSession::SessionError error);
+ void error(QNetworkSession::SessionError error);
private:
- QtMobility::QNetworkSession *m_session;
+ QNetworkSession *m_session;
};
#endif <span class="comment">// #ifndef CONNECTIVITYHELPER_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-flickr-icon-svg.html b/doc/html/flickrdemo-flickr-icon-svg.html
index 3ee031f9cb..a8569306f8 100644
--- a/doc/html/flickrdemo-flickr-icon-svg.html
+++ b/doc/html/flickrdemo-flickr-icon-svg.html
@@ -1065,8 +1065,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-flickrdemo-cpp.html b/doc/html/flickrdemo-flickrdemo-cpp.html
index 60529381c8..cc69e63ac3 100644
--- a/doc/html/flickrdemo-flickrdemo-cpp.html
+++ b/doc/html/flickrdemo-flickrdemo-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -471,7 +471,7 @@
QTimer::singleShot(0, this, SLOT(clearPictureListRequest()));
}
- void FlickrDemo::pictureListError(QNetworkReply::NetworkError code)
+ void FlickrDemo::pictureListError(QNetworkReply::NetworkError <span class="comment">/*code*/</span>)
{
if (m_shuttingDown)
return;
@@ -507,7 +507,7 @@
downloadNextThumbnail();
}
- void FlickrDemo::thumbnailError(QNetworkReply::NetworkError code)
+ void FlickrDemo::thumbnailError(QNetworkReply::NetworkError <span class="comment">/*code*/</span>)
{
if (m_shuttingDown)
return;
@@ -555,7 +555,7 @@
QTimer::singleShot(0, this, SLOT(clearPictureRequest()));
}
- void FlickrDemo::pictureError(QNetworkReply::NetworkError code)
+ void FlickrDemo::pictureError(QNetworkReply::NetworkError <span class="comment">/*code*/</span>)
{
if (m_shuttingDown)
return;
@@ -644,8 +644,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-flickrdemo-h.html b/doc/html/flickrdemo-flickrdemo-h.html
index 5282d33f63..e4298cafa3 100644
--- a/doc/html/flickrdemo-flickrdemo-h.html
+++ b/doc/html/flickrdemo-flickrdemo-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -198,8 +198,8 @@
#endif <span class="comment">// FLICKRDEMO_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-flickrdemo-pro.html b/doc/html/flickrdemo-flickrdemo-pro.html
index 518ae2310d..08dc8a18df 100644
--- a/doc/html/flickrdemo-flickrdemo-pro.html
+++ b/doc/html/flickrdemo-flickrdemo-pro.html
@@ -63,8 +63,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-main-cpp.html b/doc/html/flickrdemo-main-cpp.html
index bb52636bf4..02e0da1df9 100644
--- a/doc/html/flickrdemo-main-cpp.html
+++ b/doc/html/flickrdemo-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -69,8 +69,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-xqlistwidget-cpp.html b/doc/html/flickrdemo-xqlistwidget-cpp.html
index 2da0a7bb24..aa78caac51 100644
--- a/doc/html/flickrdemo-xqlistwidget-cpp.html
+++ b/doc/html/flickrdemo-xqlistwidget-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,8 +77,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo-xqlistwidget-h.html b/doc/html/flickrdemo-xqlistwidget-h.html
index b45d882ecb..f96232d4b2 100644
--- a/doc/html/flickrdemo-xqlistwidget-h.html
+++ b/doc/html/flickrdemo-xqlistwidget-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
#endif <span class="comment">// XQLISTWIDGET_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/flickrdemo.html b/doc/html/flickrdemo.html
index 3cb6cae759..3d65463b31 100644
--- a/doc/html/flickrdemo.html
+++ b/doc/html/flickrdemo.html
@@ -29,8 +29,8 @@
<p>The Flickr Demo example displays a list of flickr images relating to the current location of the device, or a hard-coded location if there is no GPS source.</p>
<p align="center"><img src="images/flickr-demo.png" /></p><p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/functions.html b/doc/html/functions.html
index b2df9818e3..8d9701af4e 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -1349,8 +1349,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/future.html b/doc/html/future.html
index 660a9ea1f4..55af697151 100644
--- a/doc/html/future.html
+++ b/doc/html/future.html
@@ -14,26 +14,10 @@
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">Future Additional APIs<br /><span class="subtitle"></span>
</h1>
-<a name="management-of-versit-documents"></a><a name="management-of-versit-documents"></a>
-<h3>Management of Versit Documents</h3>
-<p><a href="versit.html">Versit API Documentation</a></p>
-<p>Versit Classes. <p><table width="100%" class="annotated" cellpadding="2" cellspacing="1" border="0">
-<tr valign="top" class="odd"><th><a href="qversitcontactexporter.html">QVersitContactExporter</a></th><td>Converts QContacts into QVersitDocuments</td></tr>
-<tr valign="top" class="even"><th><a href="qversitcontactexporterdetailhandler.html">QVersitContactExporterDetailHandler</a></th><td>Interface for clients wishing to implement custom export behaviour for certain contact details</td></tr>
-<tr valign="top" class="odd"><th><a href="qversitcontactimporter.html">QVersitContactImporter</a></th><td>Creates QContacts from QVersitDocuments</td></tr>
-<tr valign="top" class="even"><th><a href="qversitcontactimporterpropertyhandler.html">QVersitContactImporterPropertyHandler</a></th><td>Interface for clients wishing to implement custom import behaviour for versit properties</td></tr>
-<tr valign="top" class="odd"><th><a href="qversitdefaultresourcehandler.html">QVersitDefaultResourceHandler</a></th><td>Default implementation of a Versit resource handler</td></tr>
-<tr valign="top" class="even"><th><a href="qversitdocument.html">QVersitDocument</a></th><td>Container for a list of versit properties</td></tr>
-<tr valign="top" class="odd"><th><a href="qversitproperty.html">QVersitProperty</a></th><td>Stores the name, value, groups and parameters of a Versit property</td></tr>
-<tr valign="top" class="even"><th><a href="qversitreader.html">QVersitReader</a></th><td>Reads Versit documents such as vCards from a device</td></tr>
-<tr valign="top" class="odd"><th><a href="qversitresourcehandler.html">QVersitResourceHandler</a></th><td>Interface for clients wishing to implement custom behaviour for loading and saving files to disk when exporting and importing</td></tr>
-<tr valign="top" class="even"><th><a href="qversitwriter.html">QVersitWriter</a></th><td>Writes Versit documents such as vCards to a device</td></tr>
-</table></p>
-</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
index ca9a7256bd..c2e8de3df0 100644
--- a/doc/html/hierarchy.html
+++ b/doc/html/hierarchy.html
@@ -128,8 +128,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/images/publish-subscribe-publisher.png b/doc/html/images/publish-subscribe-publisher.png
index 2f6e193b84..a8c3fc5305 100644
--- a/doc/html/images/publish-subscribe-publisher.png
+++ b/doc/html/images/publish-subscribe-publisher.png
Binary files differ
diff --git a/doc/html/images/publish-subscribe-subscriber.png b/doc/html/images/publish-subscribe-subscriber.png
index ed4eb432dd..ba56fd4474 100644
--- a/doc/html/images/publish-subscribe-subscriber.png
+++ b/doc/html/images/publish-subscribe-subscriber.png
Binary files differ
diff --git a/doc/html/index.html b/doc/html/index.html
index ff90ace066..8c2c454997 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -20,8 +20,10 @@
<p>Qt Mobility Project delivers a set of new APIs to Qt with features that are well known from the mobile device world, in particular phones. However, these APIs allow the developer to use these features with ease from one framework and apply them to phones, netbooks and non-mobile personal computers. The framework not only improves many aspects of a mobile experience, because it improves the use of these technologies, but has applicability beyond the mobile device arena.</p>
<ul><li><a href="#overview">Overview</a></li>
<ul><li><a href="#introducing-the-new-qt-apis">Introducing the New Qt APIs</a></li>
+</ul>
+<li><a href="#namespace">Namespace</a></li>
<li><a href="#getting-started">Getting Started</a></li>
-<li><a href="#known-issues">Known Issues</a></li>
+<ul><li><a href="#known-issues">Known Issues</a></li>
</ul>
<li><a href="#the-new-qt-apis">The New Qt APIs</a></li>
<ul><li><a href="#bearer-management">Bearer Management</a></li>
@@ -44,6 +46,7 @@
<h3>Overview</h3>
<a name="introducing-the-new-qt-apis"></a>
<h4>Introducing the New Qt APIs</h4>
+<p>Qt Mobility covers a wide range of features and technologies so it best to regard it not as a single API but as a collection of APIs or frameworks.</p>
<p>This release contains the following APIs:</p>
<p><table width="100%" class="annotated" cellpadding="2" cellspacing="1" border="0">
<tr valign="top" class="odd"><th><a href="bearer-management.html">Bearer Management</a></th><td>An API to control the system's connectivity state.</td></tr>
@@ -57,7 +60,7 @@
<tr valign="top" class="odd"><th><a href="systeminfo.html">System Information</a></th><td>A set of APIs to discover system related information and capabilities.</td></tr>
<tr valign="top" class="even"><th><a href="versit.html">Versit API</a></th><td>An API to manage Versit documents.</td></tr>
</table></p>
-<p>These APIs give the developer a wide range of desirable functions for a mobile platform, but these now become possible on platforms not traditionally associated with some of the features. A mobile device using the Qt Mobility Project API would be able to</p>
+<p>These APIs give the developer a range of desirable functions for a mobile platform, but now these functions become possible on platforms not traditionally associated with some of the features. A mobile device using the Qt Mobility Project API would be able to</p>
<ul>
<li>Locate services on-board or remotely. Find an optimal connection to the network for the particular service.</li>
<li>Services built on top of these APIs would include Internet applications such as email and web browsing.</li>
@@ -66,8 +69,12 @@
<li>Publish-Subscribe enables communication between separate objects whether local or remote to the device.</li>
</ul>
<p>The New Qt APIs deliver to developers an enabling package. It will be used by developers to build a variety of applications and services that are mobile capable or familiar to mobile users, irrespective of whether the platform is mobile or not. This means that there is the possibility of easy transfer of user experience from PC to phone or vice versa.</p>
+<a name="namespace"></a>
+<h3>Namespace</h3>
+<p>The QtMobility API's are placed into the <i>QtMobility</i> namespace, with the important exception of Multimedia. This is done to facilitate the future migration of Mobility API's into Qt.</p>
+<p>See the <a href="quickstart.html">Quickstart guide</a> for an example on how the namespace impacts on application development.</p>
<a name="getting-started"></a>
-<h4>Getting Started</h4>
+<h3>Getting Started</h3>
<p>To get started with Qt Mobility see the</p>
<ul>
<li><a href="installation.html">Installation Guide</a></li>
@@ -83,7 +90,7 @@
<h3>The New Qt APIs</h3>
<a name="bearer-management"></a>
<h4>Bearer Management</h4>
-<p>Although not a network manager, this component manages the connectivity state to the network. So it does not manage network configurations, which are the role of the platform provider, but it does allow the user to start or stop network interfaces. Some higher level management of the connection session may also be possible as well depending on the platform.</p>
+<p>Although not a network manager, this component manages the connectivity state of the device to the network. So it does not manage network configurations, which are the role of the platform provider, but it does allow the user to start or stop network interfaces. Some higher level management of the connection session may also be possible as well depending on the platform.</p>
<p>Some platforms can have a set of grouped access points perhaps based on a common purpose. Bearer Management allows comparison and prioritization of the access and use of these points.</p>
<p>The aim of Bearer Management is to reduce the need for the developer to be concerned about trying to locate the best connection from a list of possible IP bearers and 3G connections. The user can select the best or it can be selected transparently so that WLAN roaming can occur seemlessly.</p>
<p>Some examples of the Bearer Management functionality,</p>
@@ -253,10 +260,10 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Contacts*</td>
+ <td>Contacts</td>
<td>FINAL</td>
- <td bgcolor="yellow"></td>
+ <td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
@@ -281,8 +288,8 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Multimedia**</td>
- <td>BETA</td>
+ <td>Multimedia</td>
+ <td>FINAL</td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
@@ -309,12 +316,12 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Sensors*</td>
+ <td>Sensors</td>
<td>FINAL</td>
- <td bgcolor="yellow"></td>
- <td bgcolor="lightgray"></td>
- <td bgcolor="lightgray"></td>
- <td bgcolor="lightgray"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
@@ -342,10 +349,8 @@
</table>
<br>
- <p>[*] <i>These APIs are considered FINAL however there are some known issues with Symbian backends. These backend issues will be resolved in a future release. </i></p>
- <p>
- <p>[**] <i>These APIs are considered BETA pending final API reviews. We anticipate moving the status to Final in a future release.</i></p>
-<a name="feedback-and-bug-reports"></a>
+ <p>
+ <a name="feedback-and-bug-reports"></a>
<h3>Feedback and bug reports</h3>
<p>Email any inquiries and feedback about Qt Mobility to qt-mobility-feedback@trolltech.com</p>
<p>And please report any bugs you may find to <a href="http://bugreports.qt.nokia.com">http://bugreports.qt.nokia.com</a></p>
@@ -357,8 +362,8 @@
</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/installation.html b/doc/html/installation.html
index 4f496f541f..27144b94f9 100644
--- a/doc/html/installation.html
+++ b/doc/html/installation.html
@@ -80,7 +80,7 @@
<h2>Building</h2>
<p>Ensure that all compile time dependencies for your particular platform have been met before building.</p>
<p>If Qt is installed for multiple platforms it is also important to ensure that the correct version of <tt>qmake</tt> is being used.</p>
-<p>bold{Note:} Static builds of Qt are not supported by Qt Mobility.</p>
+<p><b>Note:</b> Static builds of Qt are not supported by Qt Mobility.</p>
<a name="building-on-unix"></a>
<h3>Building On Unix</h3>
<p>To configure the Qt Mobility libraries for your machine, run the <tt>./configure</tt> script in the package directory.</p>
@@ -161,8 +161,8 @@
<p>And now the installation is complete, we hope you enjoy using Qt Mobility.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/keepintouch-addressfinder-cpp.html b/doc/html/keepintouch-addressfinder-cpp.html
index c2c25c086b..6420444343 100644
--- a/doc/html/keepintouch-addressfinder-cpp.html
+++ b/doc/html/keepintouch-addressfinder-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -569,8 +569,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/keepintouch-addressfinder-h.html b/doc/html/keepintouch-addressfinder-h.html
index 77921c5239..388071c9a0 100644
--- a/doc/html/keepintouch-addressfinder-h.html
+++ b/doc/html/keepintouch-addressfinder-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -134,8 +134,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/keepintouch-keepintouch-pro.html b/doc/html/keepintouch-keepintouch-pro.html
index f514186675..91af1ba4e6 100644
--- a/doc/html/keepintouch-keepintouch-pro.html
+++ b/doc/html/keepintouch-keepintouch-pro.html
@@ -48,8 +48,8 @@
WriteDeviceData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/keepintouch-main-cpp.html b/doc/html/keepintouch-main-cpp.html
index e4e8a37cea..7bf2148526 100644
--- a/doc/html/keepintouch-main-cpp.html
+++ b/doc/html/keepintouch-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,8 +76,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/keepintouch.html b/doc/html/keepintouch.html
index 0bf54bf784..cb2abfd94d 100644
--- a/doc/html/keepintouch.html
+++ b/doc/html/keepintouch.html
@@ -249,8 +249,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/lgpl.html b/doc/html/lgpl.html
index 37e60d4139..70bf49394b 100644
--- a/doc/html/lgpl.html
+++ b/doc/html/lgpl.html
@@ -14,7 +14,7 @@
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">GNU Lesser General Public License (LGPL)<br /><span class="subtitle"></span>
</h1>
-<p>The Qt GUI Toolkit is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/> Contact: Nokia Corporation (qt-info@nokia.com)</p>
+<p>The Qt GUI Toolkit is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).<br/> Contact: Nokia Corporation (qt-info@nokia.com)</p>
<p>Qt is available under the LGPL.</p>
<a name="the-gnu-lesser-general-public-license-version-2-1"></a>
<h3>The GNU Lesser General Public License (Version 2.1)</h3>
@@ -526,8 +526,8 @@
<p>As a special exception to the GNU Lesser General Public License version 2.1, the object code form of a &quot;work that uses the Library&quot; may incorporate material from a header file that is part of the Library. You may distribute such object code under terms of your choice, provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/lightmaps-lightmaps-cpp.html b/doc/html/lightmaps-lightmaps-cpp.html
index f50e9a0a3f..124e8f01b8 100644
--- a/doc/html/lightmaps-lightmaps-cpp.html
+++ b/doc/html/lightmaps-lightmaps-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -346,15 +346,18 @@
~LightMaps() {
m_session-&gt;close();
- m_location-&gt;stopUpdates();
+ if (m_location)
+ m_location-&gt;stopUpdates();
}
void stopPositioning() {
- m_location-&gt;stopUpdates();
+ if (m_location)
+ m_location-&gt;stopUpdates();
}
void startPositioning() {
- m_location-&gt;startUpdates();
+ if (m_location)
+ m_location-&gt;startUpdates();
}
void setCenter(qreal lat, qreal lng) {
@@ -808,8 +811,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/lightmaps-lightmaps-pro.html b/doc/html/lightmaps-lightmaps-pro.html
index 9a8a7ea25c..b9a3913cbe 100644
--- a/doc/html/lightmaps-lightmaps-pro.html
+++ b/doc/html/lightmaps-lightmaps-pro.html
@@ -54,8 +54,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/lightmaps.html b/doc/html/lightmaps.html
index e6a1f95fc5..498a523f01 100644
--- a/doc/html/lightmaps.html
+++ b/doc/html/lightmaps.html
@@ -22,8 +22,8 @@
<p>This demo shows a lookup of the local street map based on the users location as determined by GPS. If no GPS is detected a default location is selected. Also from the Options menu the user can select a sample city. There is also an option to select night view.</p>
<p align="center"><img src="images/lightmaps-oslo.png" /></p><p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/location-overview.html b/doc/html/location-overview.html
index 5283b12659..571237b344 100644
--- a/doc/html/location-overview.html
+++ b/doc/html/location-overview.html
@@ -207,8 +207,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/location.html b/doc/html/location.html
index a15e4ebc74..bcaedc67e3 100644
--- a/doc/html/location.html
+++ b/doc/html/location.html
@@ -26,8 +26,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-clientapplication-cpp.html b/doc/html/logfilepositionsource-clientapplication-cpp.html
index e67d82de85..d7c753b0dd 100644
--- a/doc/html/logfilepositionsource-clientapplication-cpp.html
+++ b/doc/html/logfilepositionsource-clientapplication-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,8 +77,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-clientapplication-h.html b/doc/html/logfilepositionsource-clientapplication-h.html
index ba9bd253a9..882aad06a3 100644
--- a/doc/html/logfilepositionsource-clientapplication-h.html
+++ b/doc/html/logfilepositionsource-clientapplication-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -81,8 +81,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-logfilepositionsource-cpp.html b/doc/html/logfilepositionsource-logfilepositionsource-cpp.html
index 8954fe5db6..0624e7cca4 100644
--- a/doc/html/logfilepositionsource-logfilepositionsource-cpp.html
+++ b/doc/html/logfilepositionsource-logfilepositionsource-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -133,8 +133,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-logfilepositionsource-h.html b/doc/html/logfilepositionsource-logfilepositionsource-h.html
index 6326fe9620..b804a49595 100644
--- a/doc/html/logfilepositionsource-logfilepositionsource-h.html
+++ b/doc/html/logfilepositionsource-logfilepositionsource-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -91,8 +91,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-logfilepositionsource-pro.html b/doc/html/logfilepositionsource-logfilepositionsource-pro.html
index 08c97e813f..359ebd0b94 100644
--- a/doc/html/logfilepositionsource-logfilepositionsource-pro.html
+++ b/doc/html/logfilepositionsource-logfilepositionsource-pro.html
@@ -48,8 +48,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource-main-cpp.html b/doc/html/logfilepositionsource-main-cpp.html
index 5e929f92c0..010780fefe 100644
--- a/doc/html/logfilepositionsource-main-cpp.html
+++ b/doc/html/logfilepositionsource-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/logfilepositionsource.html b/doc/html/logfilepositionsource.html
index a4092add84..1610190302 100644
--- a/doc/html/logfilepositionsource.html
+++ b/doc/html/logfilepositionsource.html
@@ -25,8 +25,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/messaging.html b/doc/html/messaging.html
index e9046aa1cf..3696278a9f 100644
--- a/doc/html/messaging.html
+++ b/doc/html/messaging.html
@@ -151,8 +151,8 @@
<p>The <a href="serviceactions.html">Service Actions</a> example is a program to demonstrate how to compose, send, show, query and retrieve messages, and also react to message store events using the Qt Mobility Messaging API.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/mobility.html b/doc/html/mobility.html
index cccfa18235..c129024676 100644
--- a/doc/html/mobility.html
+++ b/doc/html/mobility.html
@@ -19,8 +19,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/multimedia.html b/doc/html/multimedia.html
index 71880aa8c5..56d966da39 100644
--- a/doc/html/multimedia.html
+++ b/doc/html/multimedia.html
@@ -15,12 +15,15 @@
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">Multimedia<br /><span class="subtitle"></span>
</h1>
<p>Multimedia provides a set of APIs that allow the developer to play, record and manage a collection of media content. It is dependent on the <a href="http://qt.nokia.com/doc/4.6/qtmultimedia.html">QtMultimedia</a> API. This API is planned to replace Phonon at a later stage.</p>
-<ul><li><a href="#namespace">Namespace</a></li>
+<ul><li><a href="#no-special-namespace">No Special Namespace</a></li>
<li><a href="#overview">Overview</a></li>
<ul><li><a href="#audio">Audio</a></li>
<li><a href="#video">Video</a></li>
<li><a href="#radio">Radio</a></li>
</ul>
+<li><a href="#extending-for-symbian-and-maemo">Extending for Symbian and Maemo</a></li>
+<ul><li><a href="#adding-a-media-service-provider">Adding a Media Service Provider</a></li>
+</ul>
<li><a href="#examples">Examples</a></li>
<ul><li><a href="#record-a-sound-source">Record a Sound Source</a></li>
<li><a href="#play-a-media-file">Play a Media File</a></li>
@@ -31,32 +34,101 @@
<li><a href="#classes-for-service-implementers">Classes for service implementers.</a></li>
</ul>
</ul>
-<a name="namespace"></a>
-<h3>Namespace</h3>
-<p>The QtMobility API's are placed into the <i>QtMobility</i> namespace. This is done to facilitate the future migration of Mobility API's into Qt. See the <a href="quickstart.html">Quickstart guide</a> for an example on how the namespace impacts on application development.</p>
+<a name="no-special-namespace"></a>
+<h3>No Special Namespace</h3>
+<p>Unlike the other APIs in Qt Mobility, the Multimedia API is <i>not</i> in the <i>QtMobility</i> namespace.</p>
<a name="overview"></a>
<h3>Overview</h3>
<p>This library will require Qt 4.6&#x2e;</p>
-<p>This API delivers an easy to use interface to multimedia functions whether the developer wants to show an image, a video, record sound or play a multimedia stream.</p>
-<p>There are several benefits from that this API brings to Qt. Firstly, the developer can now implement fundamental multimedia functions with minimal code, mostly because they are already implemented. Also there is a great deal of flexibility with the source or generated multimedia. The source file does not need to be local to the device, it could be streamed from a remote location and identified by a URL. Many different codecs are supported 'out of the box'.</p>
-<p>The supplied examples give a good idea at the ease of use of the API. When the supporting user interface code is ignored we can see that functionality is immediately available with minimal code.</p>
+<p>This API delivers an easy to use interface to multimedia functions. The developer can use the API to display an image, or a video, record sound or play a multimedia stream.</p>
+<p>There are several benefits this API brings to Qt. Firstly, the developer can now implement fundamental multimedia functions with minimal code, mostly because they are already implemented. Also there is a great deal of flexibility with the media source or the generated multimedia. The source file does not need to be local to the device, it could be streamed from a remote location and identified by a URL. Finally, many different codecs are supported 'out of the box'.</p>
+<p>The supplied examples give a good idea at the ease of use of the API. When the supporting user interface code is ignored we can see that functionality is immediately available with minimal effort.</p>
<a name="audio"></a>
<h4>Audio</h4>
-<p>Looking at the Audio Recorder example we see that by creating a <a href="qmediarecorder.html">QMediaRecorder</a> object that is initialized with a newly created <a href="qaudiocapturesource.html">QAudioCaptureSource</a> object we can now perform all the core actions necessary to record a sound source.</p>
-<p>To initialize the objects we create a <a href="qaudiocapturesource.html">QAudioCaptureSource</a> object. This will have a list of available devices to choose from so that we can identify the origin of the audio data. We then use the capture source object to initialize a <a href="qmediarecorder.html">QMediaRecorder</a> object</p>
-<pre> audiosource = new QAudioCaptureSource;
- capture = new QMediaRecorder(audiosource);</pre>
-<p>The API now allows us to discover available devices and codecs as shown in the example. To actually do the recording we merely have to call the <a href="qmediarecorder.html#record">record()</a> function, and to stop call the <a href="qmediarecorder.html#stop">stop()</a> function. Saving to a file is done simply by calling <a href="qmediarecorder.html#outputLocation-prop">QMediaRecorder::setOutputLocation</a>() before starting to record.</p>
-<p>With a handful of functions and two classes we can implement a sound recording application, excluding the supporting user interface code.</p>
+<p>The Audio Recorder example is a good introduction to the basic use of the API. We will use snippets from this example to illustrate how to use the API to quickly build functionality.</p>
+<p>The first step is to demonstrate recording audio to a file. When recording from an audio source there are a number of things we may want to control beyond the essential user interface. We may want a particular encoding of the file, MP3 or Ogg Vorbis for instance, or select a different input source. The user may modify the bitrate, number of channels, quality and sample rate. Here the example will only modify the codec and the source device, since they are essential.</p>
+<p>To begin, the developer sets up a source and a recorder object. A <a href="qaudiocapturesource.html">QAudioCaptureSource</a> object is created and used to initialize a <a href="qmediarecorder.html">QMediaRecorder</a> object. The output file name is then set for the <a href="qmediarecorder.html">QMediaRecorder</a> object.</p>
+<pre> audiosource = new QAudioCaptureSource;
+ capture = new QMediaRecorder(audiosource);
+
+ capture-&gt;setOutputLocation(QUrl(&quot;test.raw&quot;));</pre>
+<p>A list of devices is needed so that an input can be selected in the user interface</p>
+<pre> for(int i = 0; i &lt; audiosource-&gt;deviceCount(); i++)
+ deviceBox-&gt;addItem(audiosource-&gt;name(i));</pre>
+<p>and a list of the supported codecs for the user to select a codec,</p>
+<pre> QStringList codecs = capture-&gt;supportedAudioCodecs();
+ for(int i = 0; i &lt; codecs.count(); i++)
+ codecsBox-&gt;addItem(codecs.at(i));</pre>
+<p>To set the selected device or codec just use the index of the device or codec by calling the setter in <i>audiosource</i> or <i>capture</i> as appropriate, for example,</p>
+<pre> audiosource-&gt;setSelectedDevice(i);
+ ...
+ capture-&gt;setAudioCodec(codecIdx);</pre>
+<p>Now start recording by using the <a href="qmediarecorder.html">record()</a> function from the new <a href="qmediarecorder.html">QMediaRecorder</a> object</p>
+<pre> capture-&gt;record();</pre>
+<p>And stop recording by calling the matching function <a href="qmediarecorder.html#stop">stop()</a> in <a href="qmediarecorder.html">QMediaRecorder</a>.</p>
+<pre> capture-&gt;stop();</pre>
+<p>How then would this audio file be played? The <a href="qmediaplayer.html">QMediaPlayer</a> class will be used as a generic player. Since the player can play both video and audio files the interface will be more complex, but for now the example will concentrate on the audio aspect.</p>
+<p>Playing the file is simple: create a player object, pass in the filename, set the volume or other parameters, then play. Not forgetting that the code will need to be hooked up to the user interface.</p>
+<pre> QMediaPlayer *player = new QMediaPlayer;
+ ...
+ player-&gt;setMedia(QUrl::fromLocalFile(&quot;test.raw&quot;));
+ player-&gt;setVolume(50);
+ player-&gt;play();</pre>
+<p>The filename does not have to be a local file. It could be a URL to a remote resource. Also by using the <a href="qmediaplaylist.html">QMediaPlaylist</a> class from this API we can play a list of local or remote files. The <a href="qmediaplaylist.html">QMediaPlaylist</a> class supports constructing, managing and playing playlists.</p>
+<pre> player = new QMediaPlayer;
+
+ playlist = new QMediaPlaylist(player);
+ playlist-&gt;append(QUrl(&quot;http:<span class="comment">//example.com/myfile1.mp3&quot;));</span>
+ playlist-&gt;append(QUrl(&quot;http:<span class="comment">//example.com/myfile2.mp3&quot;));</span>
+ ...
+ playlist-&gt;setCurrentPosition(1);
+ player-&gt;play();</pre>
+<p>To manipulate the playlist there are the usual management functions (which are in fact slots): previous, next, setCurrentPosition and shuffle. Playlists can be built, saved and loaded using the API.</p>
<a name="video"></a>
<h4>Video</h4>
-<p>For playing and manipulating video sources the API enables us to easily implement a player application. If we examine the <a href="player.html">Player</a> example we see that the implementation of a simple media player requires a <a href="qmediaplayer.html">QMediaPlayer</a> object, which is used to initialize a <a href="qmediaplaylist.html">QMediaPlaylist</a> object.</p>
-<pre> player = new QMediaPlayer;
- playlist = new QMediaPlaylist(player);</pre>
-<p>To display the playing video file we need a <a href="qvideowidget.html">QVideoWidget</a> object. However, instead of using a <a href="qvideowidget.html">QVideoWidget</a> object directly the Player example has a VideoWidget class that inherits from <a href="qvideowidget.html">QVideoWidget</a> so that functions can be added to go to full screen display, either on a double click or on a particular keypress.</p>
+<p>Continuing with the example discussed for an Audio recorder/player, we can use this to show how to play video files with little change to the code.</p>
+<p>Moving from audio to video requires few changes in the sample code. To play a video playlist the code can be changed to include another new Mobility Project class: <a href="qvideowidget.html">QVideoWidget</a>. This class enables control of a video resource with signals and slots for the control of brightness, contrast, hue, saturation and full screen mode.</p>
+<pre> player = new QMediaPlayer;
+
+ playlist = new QMediaPlaylist(player);
+ playlist-&gt;append(QUrl(&quot;http:<span class="comment">//example.com/myclip1.mp4&quot;));</span>
+ playlist-&gt;append(QUrl(&quot;http:<span class="comment">//example.com/myclip2.mp4&quot;));</span>
+ ...
+ widget = new QVideoWidget(player);
+ widget-&gt;show();
+
+ playlist-&gt;setCurrentPosition(1);
+ player-&gt;play();</pre>
+<p>The <a href="player.html">Player</a> example does things a bit differently to our sample code. instead of using a <a href="qvideowidget.html">QVideoWidget</a> object directly, the Player example has a <i>VideoWidget</i> class that inherits from <a href="qvideowidget.html">QVideoWidget</a>. This means that functions can be added to provide functions such as full screen display, either on a double click or on a particular keypress.</p>
+<pre> videoWidget = new VideoWidget(this);
+ videoWidget-&gt;setMediaObject(player);
+
+ playlistModel = new PlaylistModel(this);
+ playlistModel-&gt;setPlaylist(playlist);</pre>
<a name="radio"></a>
<h4>Radio</h4>
<p><a href="qradiotunercontrol.html">QRadioTunerControl</a> is a pure virtual base class that will be the basis for any platform specific radio device control. When the functions are implemented the developer will be able to quickly produce an application that supports the typical uses of an FM radio including tuning, volume, start, stop and various other controls.</p>
+<a name="extending-for-symbian-and-maemo"></a>
+<h3>Extending for Symbian and Maemo</h3>
+<a name="adding-a-media-service-provider"></a>
+<h4>Adding a Media Service Provider</h4>
+<p>The base class for creating new service providers is <a href="qmediaserviceprovider.html">QMediaServiceProvider</a>. The user must implement the <a href="qmediaserviceprovider.html#requestService">requestService()</a> function</p>
+<pre> QMediaService* requestService(const QByteArray &amp;type, const QMediaServiceProviderHint &amp;hint);</pre>
+<p>The details of implementation will depend on the provider. Looking at the class <a href="qmediaserviceproviderplugin.html">QMediaServiceProviderPlugin</a> for the default implementation. Notice that requestService() uses the <a href="qmediaserviceproviderhint.html">QMediaServiceProviderHint</a> to look for the appropriate plugin and then to insert it into the plugin map. However, for a specific service provider there is probably no need for this approach, it will simply depend on what the developer wants to implement.</p>
+<p>Other methods that may be overloaded</p>
+<pre> void releaseService(QMediaService *service);
+
+ QtMediaServices::SupportEstimate hasSupport(const QByteArray &amp;serviceType,
+ const QString &amp;mimeType,
+ const QStringList&amp; codecs,
+ int flags) const;
+
+ QStringList supportedMimeTypes(const QByteArray &amp;serviceType, int flags) const;
+
+ QList&lt;QByteArray&gt; devices(const QByteArray &amp;serviceType) const;
+
+ QString deviceDescription(const QByteArray &amp;serviceType, const QByteArray &amp;device);</pre>
+<p>The choice of what needs to be done depends on what the developer wishes to do with the service.</p>
<a name="examples"></a>
<h3>Examples</h3>
<a name="record-a-sound-source"></a>
@@ -115,8 +187,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-note-h.html b/doc/html/notesmanagerplugin-note-h.html
index 50c9f634f5..47893f45d9 100644
--- a/doc/html/notesmanagerplugin-note-h.html
+++ b/doc/html/notesmanagerplugin-note-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -89,8 +89,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-notesmanager-cpp.html b/doc/html/notesmanagerplugin-notesmanager-cpp.html
index 3c5c85ee00..c47aa60762 100644
--- a/doc/html/notesmanagerplugin-notesmanager-cpp.html
+++ b/doc/html/notesmanagerplugin-notesmanager-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -164,8 +164,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-notesmanager-h.html b/doc/html/notesmanagerplugin-notesmanager-h.html
index b62ee106f3..cfb4b21186 100644
--- a/doc/html/notesmanagerplugin-notesmanager-h.html
+++ b/doc/html/notesmanagerplugin-notesmanager-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -115,8 +115,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-notesmanagerplugin-cpp.html b/doc/html/notesmanagerplugin-notesmanagerplugin-cpp.html
index ee01c761b1..37cdf52e69 100644
--- a/doc/html/notesmanagerplugin-notesmanagerplugin-cpp.html
+++ b/doc/html/notesmanagerplugin-notesmanagerplugin-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
Q_EXPORT_PLUGIN2(serviceframework_notesmanagerplugin, NotesManagerPlugin)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-notesmanagerplugin-h.html b/doc/html/notesmanagerplugin-notesmanagerplugin-h.html
index f73f009321..cc2a40f04e 100644
--- a/doc/html/notesmanagerplugin-notesmanagerplugin-h.html
+++ b/doc/html/notesmanagerplugin-notesmanagerplugin-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,8 +76,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin-notesmanagerplugin-pro.html b/doc/html/notesmanagerplugin-notesmanagerplugin-pro.html
index 3a71e92db2..6581a823c7 100644
--- a/doc/html/notesmanagerplugin-notesmanagerplugin-pro.html
+++ b/doc/html/notesmanagerplugin-notesmanagerplugin-pro.html
@@ -16,7 +16,7 @@
<pre> TEMPLATE = lib
CONFIG += plugin
INCLUDEPATH += ../../src/serviceframework
- PLUGIN_TYPE=serviceframework
+ PLUGIN_TYPE = serviceframework
HEADERS += note.h \
notesmanagerplugin.h \
notesmanager.h
@@ -46,8 +46,8 @@
INSTALLS += xml</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/notesmanagerplugin.html b/doc/html/notesmanagerplugin.html
index 7ec8550472..b8807d451a 100644
--- a/doc/html/notesmanagerplugin.html
+++ b/doc/html/notesmanagerplugin.html
@@ -26,8 +26,8 @@
<p>This example shows how to write a service plugin that manages textual notes by using a database to add, delete and store note objects. This plugin is QML compatible and is therefore used in the example <a href="declarative-sfw-notes.html">Declarative Notes Manager</a> as well as its non-QML counterpart <a href="sfw-notes.html">Notes Manager</a> which uses standard user-interface files (*.ui).</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/opensourceedition.html b/doc/html/opensourceedition.html
index 2ee1b3730a..3fbba29a04 100644
--- a/doc/html/opensourceedition.html
+++ b/doc/html/opensourceedition.html
@@ -29,8 +29,8 @@
<p>If you are in doubt what edition of Qt is right for your project, please contact <a href="mailto:qt-info@nokia.com">qt-info@nokia.com</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-main-cpp.html b/doc/html/player-main-cpp.html
index 48bcdb7114..df71c41c5c 100644
--- a/doc/html/player-main-cpp.html
+++ b/doc/html/player-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,8 +74,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-mediakeysobserver-cpp.html b/doc/html/player-mediakeysobserver-cpp.html
index 79922cc33c..690e64f23e 100644
--- a/doc/html/player-mediakeysobserver-cpp.html
+++ b/doc/html/player-mediakeysobserver-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -147,8 +147,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-mediakeysobserver-h.html b/doc/html/player-mediakeysobserver-h.html
index 899c2f1fd2..e42de613d9 100644
--- a/doc/html/player-mediakeysobserver-h.html
+++ b/doc/html/player-mediakeysobserver-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -99,8 +99,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-player-cpp.html b/doc/html/player-player-cpp.html
index 25682562d1..aff9f9c6d0 100644
--- a/doc/html/player-player-cpp.html
+++ b/doc/html/player-player-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -92,7 +92,8 @@
#endif
{
player = new QMediaPlayer(this);
- <span class="comment">// owerd by PlaylistModel</span>
+
+ <span class="comment">// owned by PlaylistModel</span>
playlist = new QMediaPlaylist();
playlist-&gt;setMediaObject(player);
@@ -771,8 +772,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-player-h.html b/doc/html/player-player-h.html
index 57ad11d95e..861900ac50 100644
--- a/doc/html/player-player-h.html
+++ b/doc/html/player-player-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -173,8 +173,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-player-pro.html b/doc/html/player-player-pro.html
index cc8ca5adfa..a42c8f1292 100644
--- a/doc/html/player-player-pro.html
+++ b/doc/html/player-player-pro.html
@@ -44,8 +44,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-playercontrols-cpp.html b/doc/html/player-playercontrols-cpp.html
index d06fe58c54..baae8fed98 100644
--- a/doc/html/player-playercontrols-cpp.html
+++ b/doc/html/player-playercontrols-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -287,8 +287,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-playercontrols-h.html b/doc/html/player-playercontrols-h.html
index 7258fbe3ae..97678cf42a 100644
--- a/doc/html/player-playercontrols-h.html
+++ b/doc/html/player-playercontrols-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -125,8 +125,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-playlistmodel-cpp.html b/doc/html/player-playlistmodel-cpp.html
index 1584ad6b93..5731dce97a 100644
--- a/doc/html/player-playlistmodel-cpp.html
+++ b/doc/html/player-playlistmodel-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -171,8 +171,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-playlistmodel-h.html b/doc/html/player-playlistmodel-h.html
index 26c880908a..a1a736593d 100644
--- a/doc/html/player-playlistmodel-h.html
+++ b/doc/html/player-playlistmodel-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,8 +103,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-videowidget-cpp.html b/doc/html/player-videowidget-cpp.html
index ff344cad94..3b6997f328 100644
--- a/doc/html/player-videowidget-cpp.html
+++ b/doc/html/player-videowidget-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -109,8 +109,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player-videowidget-h.html b/doc/html/player-videowidget-h.html
index 2d1c1f36ef..50a94ddd3c 100644
--- a/doc/html/player-videowidget-h.html
+++ b/doc/html/player-videowidget-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,8 +74,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/player.html b/doc/html/player.html
index 181085aa13..d2039f0f7e 100644
--- a/doc/html/player.html
+++ b/doc/html/player.html
@@ -61,8 +61,8 @@
saturationSlider, SLOT(setValue(int)));</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/preview.html b/doc/html/preview.html
index cf461b2230..36d658a131 100644
--- a/doc/html/preview.html
+++ b/doc/html/preview.html
@@ -55,8 +55,8 @@
</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publ-subs.html b/doc/html/publ-subs.html
index ffe79ca52a..89ead9392e 100644
--- a/doc/html/publ-subs.html
+++ b/doc/html/publ-subs.html
@@ -130,8 +130,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-main-cpp.html b/doc/html/publish-subscribe-main-cpp.html
index 7808f6b56b..c814de4c8c 100644
--- a/doc/html/publish-subscribe-main-cpp.html
+++ b/doc/html/publish-subscribe-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -121,8 +121,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-publish-subscribe-pro.html b/doc/html/publish-subscribe-publish-subscribe-pro.html
index 2cf56575ba..d3b416ea8f 100644
--- a/doc/html/publish-subscribe-publish-subscribe-pro.html
+++ b/doc/html/publish-subscribe-publish-subscribe-pro.html
@@ -49,8 +49,8 @@
MOBILITY = publishsubscribe</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-publisherdialog-cpp.html b/doc/html/publish-subscribe-publisherdialog-cpp.html
index f66275e394..a2f3b86686 100644
--- a/doc/html/publish-subscribe-publisherdialog-cpp.html
+++ b/doc/html/publish-subscribe-publisherdialog-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -130,21 +130,25 @@
publisher-&gt;setValue(&quot;byteArrayValue&quot;, ui-&gt;byteArrayValue-&gt;text().toAscii());
}
-
void PublisherDialog::createNewObject()
{
if (publisher)
delete publisher;
- publisher = new QValueSpacePublisher(ui-&gt;basePath-&gt;text());
- intValueChanged(ui-&gt;intValue-&gt;value());
- setStringValue();
- setByteArrayValue();
+ publisher = new QValueSpacePublisher(QValueSpace::WritableLayer, ui-&gt;basePath-&gt;text());
+ if (publisher-&gt;isConnected()) {
+ ui-&gt;setters-&gt;setEnabled(true);
+ intValueChanged(ui-&gt;intValue-&gt;value());
+ setStringValue();
+ setByteArrayValue();
+ } else {
+ ui-&gt;setters-&gt;setEnabled(false);
+ }
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-publisherdialog-h.html b/doc/html/publish-subscribe-publisherdialog-h.html
index 5f6e0072cd..9872a9d2b7 100644
--- a/doc/html/publish-subscribe-publisherdialog-h.html
+++ b/doc/html/publish-subscribe-publisherdialog-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -100,8 +100,8 @@
#endif <span class="comment">// PUBLISHERDIALOG_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-subscriberdialog-cpp.html b/doc/html/publish-subscribe-subscriberdialog-cpp.html
index d00dd48221..5244820b3f 100644
--- a/doc/html/publish-subscribe-subscriberdialog-cpp.html
+++ b/doc/html/publish-subscribe-subscriberdialog-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -118,6 +118,13 @@
#endif
connect(ui-&gt;connectButton, SIGNAL(clicked()), this, SLOT(changeSubscriberPath()));
changeSubscriberPath();
+
+ <span class="comment">// if the default path does not exist reset it to /</span>
+ QVariant value = subscriber-&gt;value();
+ if (!subscriber-&gt;value().isValid() &amp;&amp; subscriber-&gt;subPaths().isEmpty()) {
+ ui-&gt;basePath-&gt;setText(QLatin1String(&quot;/&quot;));
+ changeSubscriberPath();
+ }
}
SubscriberDialog::~SubscriberDialog()
@@ -191,8 +198,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe-subscriberdialog-h.html b/doc/html/publish-subscribe-subscriberdialog-h.html
index b54340e873..9e975ebc88 100644
--- a/doc/html/publish-subscribe-subscriberdialog-h.html
+++ b/doc/html/publish-subscribe-subscriberdialog-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,8 +103,8 @@
#endif <span class="comment">// SUBSCRIBERDIALOG_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/publish-subscribe.html b/doc/html/publish-subscribe.html
index 0e158dc6e2..08719585e5 100644
--- a/doc/html/publish-subscribe.html
+++ b/doc/html/publish-subscribe.html
@@ -24,7 +24,7 @@
<li><a href="publish-subscribe-publish-subscribe-pro.html">publish-subscribe/publish-subscribe.pro</a></li>
</ul>
<p>The Publish and Subscribe example shows how to use the Qt Publish and Subscribe API to publish and retrieve values from the platforms Publish and Subscribe system.</p>
-<p>This example program can act either a publisher of Value Space content, a subscriber of a Value Space content or both. It can also optionally act as the Value Space Manager. The behavior is selected by passing a combination of three optional command line parameters when starting the program. If no parameters are supplied the program defaults to acting as both a publisher and subscriber.</p>
+<p>This example program can act as either a publisher of Value Space content, a subscriber of Value Space content or both. It can also optionally act as the Value Space Manager. The behavior is selected by passing a combination of three optional command line parameters when starting the program. If no parameters are supplied the program defaults to acting as both a publisher and a subscriber.</p>
<p><table class="generic" align="center" cellpadding="2" cellspacing="1" border="0">
<thead><tr valign="top" class="qt-style"><th>Parameter</th><th>Description</th></tr></thead>
<tr valign="top" class="odd"><td>-server</td><td>Starts the Value Space Server. Only one instance should be started with the this parameter. This parameter is only needed if the Value Space will use a layer that has a client-server architecture and a server needs to be started.</td></tr>
@@ -33,8 +33,8 @@
</table></p>
<a name="publisher"></a>
<h2>Publisher</h2>
-<p>When acting as a publisher of Value Space content the program creates a PublisherDialog. This dialog contains a widget for setting the base path of the <a href="qvaluespacepublisher.html">QValueSpacePublisher</a> and widgets for setting the value of the two fixed attributes 'intValue' and 'stringValue'.</p>
-<p align="center"><img src="images/publish-subscribe-publisher.png" /></p><p>We declare three slots which we will use to respond to user input in the dialog.</p>
+<p>When acting as a publisher of Value Space content the program creates a PublisherDialog. This dialog contains a widget for setting the base path of the <a href="qvaluespacepublisher.html">QValueSpacePublisher</a> and widgets for setting the value of the three fixed attributes 'intValue', 'stringValue' and 'byteArrayValue'.</p>
+<p align="center"><img src="images/publish-subscribe-publisher.png" /></p><p>We declare the slots which we will use to respond to user input in the dialog.</p>
<pre> private slots:
void createNewObject();
void intValueChanged(int value);
@@ -47,16 +47,21 @@
connect(ui-&gt;unsetIntButton, SIGNAL(clicked()), this, SLOT(unsetIntValue()));
connect(ui-&gt;setStringButton, SIGNAL(clicked()), this, SLOT(setStringValue()));
connect(ui-&gt;setByteArrayButton, SIGNAL(clicked()), this, SLOT(setByteArrayValue()));</pre>
-<p>To publish values in the Value Space we first need to create a <a href="qvaluespacepublisher.html">QValueSpacePublisher</a>. We do this in the <tt>createNewObject()</tt> slot, which is also used to handle changes in the base path. After the object is constructed we publish the initial values by explicitly calling the other two slots.</p>
+<p>To publish values in the Value Space we first need to create a <a href="qvaluespacepublisher.html">QValueSpacePublisher</a>. This is done in the <tt>createNewObject()</tt> slot, which is also used to handle changes in the base path. After the object is constructed we publish the initial values by explicitly calling the other slots.</p>
<pre> void PublisherDialog::createNewObject()
{
if (publisher)
delete publisher;
- publisher = new QValueSpacePublisher(ui-&gt;basePath-&gt;text());
- intValueChanged(ui-&gt;intValue-&gt;value());
- setStringValue();
- setByteArrayValue();
+ publisher = new QValueSpacePublisher(QValueSpace::WritableLayer, ui-&gt;basePath-&gt;text());
+ if (publisher-&gt;isConnected()) {
+ ui-&gt;setters-&gt;setEnabled(true);
+ intValueChanged(ui-&gt;intValue-&gt;value());
+ setStringValue();
+ setByteArrayValue();
+ } else {
+ ui-&gt;setters-&gt;setEnabled(false);
+ }
}</pre>
<p>We use <a href="qvaluespacepublisher.html#setValue">QValueSpacePublisher::setValue</a>() to set the values in response to dialog input.</p>
<pre> void PublisherDialog::intValueChanged(int value)
@@ -88,7 +93,7 @@
void changeSubscriberPath();
void subscriberChanged();</pre>
<p>To read values from the Value Space we first create a <a href="qvaluespacesubscriber.html">QValueSpaceSubscriber</a> and connect to the <tt>contentsChanged()</tt> signal.</p>
-<p>We explicitly call our <tt>itemChanged()</tt> slot to populate the table with the initial values.</p>
+<p>We explicitly call our <tt>subscriberChanged()</tt> slot to populate the table with the initial values.</p>
<pre> void SubscriberDialog::changeSubscriberPath()
{
if (listWidget)
@@ -143,8 +148,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qabstractsecuritysession-members.html b/doc/html/qabstractsecuritysession-members.html
index 95c1da2941..13dd82e470 100644
--- a/doc/html/qabstractsecuritysession-members.html
+++ b/doc/html/qabstractsecuritysession-members.html
@@ -70,8 +70,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qabstractsecuritysession.html b/doc/html/qabstractsecuritysession.html
index 8a5cf3e50a..1ca61c9ef0 100644
--- a/doc/html/qabstractsecuritysession.html
+++ b/doc/html/qabstractsecuritysession.html
@@ -63,8 +63,8 @@
<p>Returns true if the security session has sufficient rights to access the required service <i>capabilities</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qabstractvaluespacelayer-members.html b/doc/html/qabstractvaluespacelayer-members.html
index b69304b19f..7d039f77c5 100644
--- a/doc/html/qabstractvaluespacelayer-members.html
+++ b/doc/html/qabstractvaluespacelayer-members.html
@@ -89,8 +89,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qabstractvaluespacelayer.html b/doc/html/qabstractvaluespacelayer.html
index 52600d74b6..042c7bba1d 100644
--- a/doc/html/qabstractvaluespacelayer.html
+++ b/doc/html/qabstractvaluespacelayer.html
@@ -203,8 +203,8 @@
<p>This macro can only be used once for any given class and it should be used where the implementation is written rather than in a header file.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometer-members.html b/doc/html/qaccelerometer-members.html
index 799a9c5ae8..7cdb45b306 100644
--- a/doc/html/qaccelerometer-members.html
+++ b/doc/html/qaccelerometer-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qaccelerometer.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qaccelerometer.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometer.html b/doc/html/qaccelerometer.html
index b0c7b2c359..3437aa2ada 100644
--- a/doc/html/qaccelerometer.html
+++ b/doc/html/qaccelerometer.html
@@ -67,8 +67,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometerfilter-members.html b/doc/html/qaccelerometerfilter-members.html
index 95eae912ea..1dcc9d6ef6 100644
--- a/doc/html/qaccelerometerfilter-members.html
+++ b/doc/html/qaccelerometerfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometerfilter.html b/doc/html/qaccelerometerfilter.html
index 76ad2ce10d..b8fd9ab665 100644
--- a/doc/html/qaccelerometerfilter.html
+++ b/doc/html/qaccelerometerfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometerreading-members.html b/doc/html/qaccelerometerreading-members.html
index c1c02e7136..6a27f928f8 100644
--- a/doc/html/qaccelerometerreading-members.html
+++ b/doc/html/qaccelerometerreading-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaccelerometerreading.html b/doc/html/qaccelerometerreading.html
index 66032dd40c..1544c6df3a 100644
--- a/doc/html/qaccelerometerreading.html
+++ b/doc/html/qaccelerometerreading.html
@@ -108,8 +108,8 @@
<p>See also <a href="qaccelerometerreading.html#z-prop">z</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightfilter-members.html b/doc/html/qambientlightfilter-members.html
index 4b6bbcfa28..fabf6736b7 100644
--- a/doc/html/qambientlightfilter-members.html
+++ b/doc/html/qambientlightfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightfilter.html b/doc/html/qambientlightfilter.html
index d07dea8642..888850a9e6 100644
--- a/doc/html/qambientlightfilter.html
+++ b/doc/html/qambientlightfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightreading-members.html b/doc/html/qambientlightreading-members.html
index ebaec79fcc..7d4804e90f 100644
--- a/doc/html/qambientlightreading-members.html
+++ b/doc/html/qambientlightreading-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightreading.html b/doc/html/qambientlightreading.html
index 6913a517a2..e9efa4f9a4 100644
--- a/doc/html/qambientlightreading.html
+++ b/doc/html/qambientlightreading.html
@@ -101,8 +101,8 @@
<p>See also <a href="qambientlightreading.html#lightLevel-prop">lightLevel</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightsensor-members.html b/doc/html/qambientlightsensor-members.html
index 18fed6ff81..f532299e9b 100644
--- a/doc/html/qambientlightsensor-members.html
+++ b/doc/html/qambientlightsensor-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qambientlightsensor.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qambientlightsensor.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qambientlightsensor.html b/doc/html/qambientlightsensor.html
index 7123f8c279..f13ace742d 100644
--- a/doc/html/qambientlightsensor.html
+++ b/doc/html/qambientlightsensor.html
@@ -67,8 +67,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudiocapturesource-members.html b/doc/html/qaudiocapturesource-members.html
index f9471b54ea..e705815f77 100644
--- a/doc/html/qaudiocapturesource-members.html
+++ b/doc/html/qaudiocapturesource-members.html
@@ -97,8 +97,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudiocapturesource.html b/doc/html/qaudiocapturesource.html
index 6daabcec4b..c64c0d7d20 100644
--- a/doc/html/qaudiocapturesource.html
+++ b/doc/html/qaudiocapturesource.html
@@ -130,8 +130,8 @@
<p>Set the active audio input to <i>name</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioencodercontrol-members.html b/doc/html/qaudioencodercontrol-members.html
index e4295f99cd..48c61f9c5f 100644
--- a/doc/html/qaudioencodercontrol-members.html
+++ b/doc/html/qaudioencodercontrol-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioencodercontrol.html b/doc/html/qaudioencodercontrol.html
index 711a367c38..f3edbd0d58 100644
--- a/doc/html/qaudioencodercontrol.html
+++ b/doc/html/qaudioencodercontrol.html
@@ -116,8 +116,8 @@
<p>Defines the interface name of the <a href="qaudioencodercontrol.html">QAudioEncoderControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioencodersettings-members.html b/doc/html/qaudioencodersettings-members.html
index ef12e4051c..56bb39dca2 100644
--- a/doc/html/qaudioencodersettings-members.html
+++ b/doc/html/qaudioencodersettings-members.html
@@ -41,8 +41,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioencodersettings.html b/doc/html/qaudioencodersettings.html
index de6f607cec..4bace0935b 100644
--- a/doc/html/qaudioencodersettings.html
+++ b/doc/html/qaudioencodersettings.html
@@ -135,8 +135,8 @@
<p>Returns true if the settings objects are of equal value, and true if they are not of equal value.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioendpointselector-members.html b/doc/html/qaudioendpointselector-members.html
index c871ac5557..d09ca21491 100644
--- a/doc/html/qaudioendpointselector-members.html
+++ b/doc/html/qaudioendpointselector-members.html
@@ -76,8 +76,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qaudioendpointselector.html b/doc/html/qaudioendpointselector.html
index 0f95bcd7e5..3ffd123ed5 100644
--- a/doc/html/qaudioendpointselector.html
+++ b/doc/html/qaudioendpointselector.html
@@ -120,8 +120,8 @@
<p>Defines the interface name of the <a href="qaudioendpointselector.html">QAudioEndpointSelector</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompass-members.html b/doc/html/qcompass-members.html
index 3a02f45f4c..5399c7804a 100644
--- a/doc/html/qcompass-members.html
+++ b/doc/html/qcompass-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qcompass.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qcompass.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompass.html b/doc/html/qcompass.html
index 5d57db76ba..920bc9fd97 100644
--- a/doc/html/qcompass.html
+++ b/doc/html/qcompass.html
@@ -67,8 +67,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompassfilter-members.html b/doc/html/qcompassfilter-members.html
index f054c43bd2..e08081b5b4 100644
--- a/doc/html/qcompassfilter-members.html
+++ b/doc/html/qcompassfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompassfilter.html b/doc/html/qcompassfilter.html
index b692b27660..3895455d18 100644
--- a/doc/html/qcompassfilter.html
+++ b/doc/html/qcompassfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompassreading-members.html b/doc/html/qcompassreading-members.html
index 67c678fd64..44cca63766 100644
--- a/doc/html/qcompassreading-members.html
+++ b/doc/html/qcompassreading-members.html
@@ -75,8 +75,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcompassreading.html b/doc/html/qcompassreading.html
index 22ed4d5ecf..c0ff0c7cd9 100644
--- a/doc/html/qcompassreading.html
+++ b/doc/html/qcompassreading.html
@@ -93,8 +93,8 @@
<p>See also <a href="qcompassreading.html#calibrationLevel-prop">calibrationLevel</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontact-members.html b/doc/html/qcontact-members.html
index ddb38ccc0b..f08892653c 100644
--- a/doc/html/qcontact-members.html
+++ b/doc/html/qcontact-members.html
@@ -50,8 +50,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontact.html b/doc/html/qcontact.html
index be2877c6c5..a62965138d 100644
--- a/doc/html/qcontact.html
+++ b/doc/html/qcontact.html
@@ -213,8 +213,8 @@
<p>Returns true if this contact is equal to the <i>other</i> contact, false if either the id or stored details are not the same</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactabstractrequest-members.html b/doc/html/qcontactabstractrequest-members.html
index 7f5857a3ff..0635b5bcaf 100644
--- a/doc/html/qcontactabstractrequest-members.html
+++ b/doc/html/qcontactabstractrequest-members.html
@@ -84,8 +84,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactabstractrequest.html b/doc/html/qcontactabstractrequest.html
index e06cf45a17..8b38a7a9dc 100644
--- a/doc/html/qcontactabstractrequest.html
+++ b/doc/html/qcontactabstractrequest.html
@@ -163,6 +163,7 @@
<a name="//apple_ref/cpp/instm/QContactAbstractRequest/setManager"></a>
<h3 class="fn"><a name="setManager"></a>void QContactAbstractRequest::setManager ( <a href="qcontactmanager.html">QContactManager</a> * <i>manager</i> )</h3>
<p>Sets the manager of which this request instance requests operations to <i>manager</i></p>
+<p>If the request is currently active, this function will return without updating the <i>manager</i> object.</p>
<p>See also <a href="qcontactabstractrequest.html#manager">manager</a>().</p>
<a name="//apple_ref/cpp/instm/QContactAbstractRequest/start"></a>
<h3 class="fn"><a name="start"></a>bool QContactAbstractRequest::start ()&nbsp;&nbsp;<tt> [slot]</tt></h3>
@@ -181,8 +182,8 @@
<p>Blocks until the request has been completed by the manager engine, or until <i>msecs</i> milliseconds has elapsed. If <i>msecs</i> is zero, this function will block indefinitely. Returns true if the request was cancelled or completed successfully within the given period, otherwise false. Some backends are unable to support this operation safely, and will return false immediately.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactaddress-members.html b/doc/html/qcontactaddress-members.html
index 21191670a1..5f479eb7e1 100644
--- a/doc/html/qcontactaddress-members.html
+++ b/doc/html/qcontactaddress-members.html
@@ -86,8 +86,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactaddress.html b/doc/html/qcontactaddress.html
index 7775dafc38..3c803be6cd 100644
--- a/doc/html/qcontactaddress.html
+++ b/doc/html/qcontactaddress.html
@@ -174,8 +174,8 @@
<p>See also <a href="qcontactaddress.html#subTypes">subTypes</a>() and <a href="qcontactaddress.html#setSubTypes">setSubTypes</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactanniversary-members.html b/doc/html/qcontactanniversary-members.html
index 8afddc6725..f44ddc5b78 100644
--- a/doc/html/qcontactanniversary-members.html
+++ b/doc/html/qcontactanniversary-members.html
@@ -76,8 +76,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactanniversary.html b/doc/html/qcontactanniversary.html
index 91b6117aeb..20c7f9ad1c 100644
--- a/doc/html/qcontactanniversary.html
+++ b/doc/html/qcontactanniversary.html
@@ -126,8 +126,8 @@
<p>See also <a href="qcontactanniversary.html#subType">subType</a>() and <a href="qcontactanniversary.html#setSubType">setSubType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactavatar-members.html b/doc/html/qcontactavatar-members.html
index df47cdbb3f..2559cd9714 100644
--- a/doc/html/qcontactavatar-members.html
+++ b/doc/html/qcontactavatar-members.html
@@ -66,8 +66,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactavatar.html b/doc/html/qcontactavatar.html
index 160ece2c3d..987c3d3be1 100644
--- a/doc/html/qcontactavatar.html
+++ b/doc/html/qcontactavatar.html
@@ -76,8 +76,8 @@
<p>See also <a href="qcontactavatar.html#videoUrl">videoUrl</a>() and <a href="qcontactavatar.html#setVideoUrl">setVideoUrl</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactbirthday-members.html b/doc/html/qcontactbirthday-members.html
index b00f8a7999..be106a03d1 100644
--- a/doc/html/qcontactbirthday-members.html
+++ b/doc/html/qcontactbirthday-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactbirthday.html b/doc/html/qcontactbirthday.html
index b4d1498772..9dd7cc04b3 100644
--- a/doc/html/qcontactbirthday.html
+++ b/doc/html/qcontactbirthday.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactbirthday.html#date">date</a>() and <a href="qcontactbirthday.html#setDate">setDate</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactchangelogfilter-members.html b/doc/html/qcontactchangelogfilter-members.html
index 7971749712..7d641dd717 100644
--- a/doc/html/qcontactchangelogfilter-members.html
+++ b/doc/html/qcontactchangelogfilter-members.html
@@ -33,8 +33,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactchangelogfilter.html b/doc/html/qcontactchangelogfilter.html
index c0d7438783..69fefc1225 100644
--- a/doc/html/qcontactchangelogfilter.html
+++ b/doc/html/qcontactchangelogfilter.html
@@ -83,8 +83,8 @@
<p>See also <a href="qcontactchangelogfilter.html#setSince">setSince</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactchangeset-members.html b/doc/html/qcontactchangeset-members.html
index 073355932b..9b6769cff4 100644
--- a/doc/html/qcontactchangeset-members.html
+++ b/doc/html/qcontactchangeset-members.html
@@ -52,8 +52,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactchangeset.html b/doc/html/qcontactchangeset.html
index eec0d21a6c..0e2cd4c719 100644
--- a/doc/html/qcontactchangeset.html
+++ b/doc/html/qcontactchangeset.html
@@ -156,8 +156,8 @@
<p>Assigns this change set to be equal to <i>other</i></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetail-members.html b/doc/html/qcontactdetail-members.html
index 159d451285..bd1005db6e 100644
--- a/doc/html/qcontactdetail-members.html
+++ b/doc/html/qcontactdetail-members.html
@@ -64,8 +64,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetail.html b/doc/html/qcontactdetail.html
index f8cab30a0e..c7005ae340 100644
--- a/doc/html/qcontactdetail.html
+++ b/doc/html/qcontactdetail.html
@@ -304,8 +304,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinition-members.html b/doc/html/qcontactdetaildefinition-members.html
index 372d3a4dbb..9addc32d65 100644
--- a/doc/html/qcontactdetaildefinition-members.html
+++ b/doc/html/qcontactdetaildefinition-members.html
@@ -33,8 +33,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinition.html b/doc/html/qcontactdetaildefinition.html
index 4f8378b893..e3198462d4 100644
--- a/doc/html/qcontactdetaildefinition.html
+++ b/doc/html/qcontactdetaildefinition.html
@@ -94,8 +94,8 @@
<p>Returns true if the definition has the same type, uniqueness and allowable value datatypes as <i>other</i></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionfetchrequest-members.html b/doc/html/qcontactdetaildefinitionfetchrequest-members.html
index b6a7fd6707..d38015c487 100644
--- a/doc/html/qcontactdetaildefinitionfetchrequest-members.html
+++ b/doc/html/qcontactdetaildefinitionfetchrequest-members.html
@@ -91,8 +91,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionfetchrequest.html b/doc/html/qcontactdetaildefinitionfetchrequest.html
index 6cd9b76417..b14574ad5f 100644
--- a/doc/html/qcontactdetaildefinitionfetchrequest.html
+++ b/doc/html/qcontactdetaildefinitionfetchrequest.html
@@ -86,8 +86,8 @@
<p>See also <a href="qcontactdetaildefinitionfetchrequest.html#definitionNames">definitionNames</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionremoverequest-members.html b/doc/html/qcontactdetaildefinitionremoverequest-members.html
index 6b0639370c..85196920e1 100644
--- a/doc/html/qcontactdetaildefinitionremoverequest-members.html
+++ b/doc/html/qcontactdetaildefinitionremoverequest-members.html
@@ -90,8 +90,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionremoverequest.html b/doc/html/qcontactdetaildefinitionremoverequest.html
index 6b6667347e..074e9a52cf 100644
--- a/doc/html/qcontactdetaildefinitionremoverequest.html
+++ b/doc/html/qcontactdetaildefinitionremoverequest.html
@@ -83,8 +83,8 @@
<p>See also <a href="qcontactdetaildefinitionremoverequest.html#definitionNames">definitionNames</a>() and <a href="qcontactdetaildefinitionremoverequest.html#setContactType">setContactType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionsaverequest-members.html b/doc/html/qcontactdetaildefinitionsaverequest-members.html
index d3667959a9..d0217184f7 100644
--- a/doc/html/qcontactdetaildefinitionsaverequest-members.html
+++ b/doc/html/qcontactdetaildefinitionsaverequest-members.html
@@ -90,8 +90,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetaildefinitionsaverequest.html b/doc/html/qcontactdetaildefinitionsaverequest.html
index 319d0c9379..2da312992c 100644
--- a/doc/html/qcontactdetaildefinitionsaverequest.html
+++ b/doc/html/qcontactdetaildefinitionsaverequest.html
@@ -82,8 +82,8 @@
<p>See also <a href="qcontactdetaildefinitionsaverequest.html#definitions">definitions</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailfielddefinition-members.html b/doc/html/qcontactdetailfielddefinition-members.html
index b9ff2acd93..2ee68696d3 100644
--- a/doc/html/qcontactdetailfielddefinition-members.html
+++ b/doc/html/qcontactdetailfielddefinition-members.html
@@ -28,8 +28,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailfielddefinition.html b/doc/html/qcontactdetailfielddefinition.html
index c1f82fd87d..a51fb289ff 100644
--- a/doc/html/qcontactdetailfielddefinition.html
+++ b/doc/html/qcontactdetailfielddefinition.html
@@ -75,8 +75,8 @@
<p>Returns true if the allowable values and data type of the <i>other</i> field are equal to those of this field</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailfilter-members.html b/doc/html/qcontactdetailfilter-members.html
index f058c7cc64..5498d6649b 100644
--- a/doc/html/qcontactdetailfilter-members.html
+++ b/doc/html/qcontactdetailfilter-members.html
@@ -39,8 +39,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailfilter.html b/doc/html/qcontactdetailfilter.html
index 0ec57da667..a3984d8a54 100644
--- a/doc/html/qcontactdetailfilter.html
+++ b/doc/html/qcontactdetailfilter.html
@@ -78,8 +78,8 @@
<p>See also <a href="qcontactdetailfilter.html#setValue">setValue</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailrangefilter-members.html b/doc/html/qcontactdetailrangefilter-members.html
index c3d12dac41..e71dc4f4b7 100644
--- a/doc/html/qcontactdetailrangefilter-members.html
+++ b/doc/html/qcontactdetailrangefilter-members.html
@@ -43,8 +43,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdetailrangefilter.html b/doc/html/qcontactdetailrangefilter.html
index 23053dc94a..0e49c837b8 100644
--- a/doc/html/qcontactdetailrangefilter.html
+++ b/doc/html/qcontactdetailrangefilter.html
@@ -49,7 +49,7 @@
<hr />
<h2>Detailed Description</h2>
<p>The QContactDetailRangeFilter class provides a filter based around a detail value range criterion.</p>
-<p>It may be used to select contacts which contain a detail of a particular definition with a particular value</p>
+<p>It may be used to select contacts which contain a detail of a particular definition with a particular value that lies in a range (either open or closed).</p>
<hr />
<h2>Member Type Documentation</h2>
<a name="//apple_ref/cpp/tag/QContactDetailRangeFilter/RangeFlag"></a>
@@ -60,12 +60,12 @@
<a name="//apple_ref/cpp/tdef/QContactDetailRangeFilter/RangeFlags"></a>
<h3 class="flags"><a name="RangeFlag-enum"></a>enum QContactDetailRangeFilter::RangeFlag<br />flags QContactDetailRangeFilter::RangeFlags</h3>
<p>Enumerates the semantics of the boundary conditions of the detail range filter</p>
-<p><table class="valuelist" border="1" cellpadding="2" cellspacing="1" width="40%">
-<tr><th width="60%">Constant</th><th width="40%">Value</th></tr>
-<tr><td valign="top"><tt>QContactDetailRangeFilter::IncludeLower</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
-<tr><td valign="top"><tt>QContactDetailRangeFilter::IncludeUpper</tt></td><td align="center" valign="top"><tt>1</tt></td></tr>
-<tr><td valign="top"><tt>QContactDetailRangeFilter::ExcludeLower</tt></td><td align="center" valign="top"><tt>2</tt></td></tr>
-<tr><td valign="top"><tt>QContactDetailRangeFilter::ExcludeUpper</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
+<p><table class="valuelist" border="1" cellpadding="2" cellspacing="1" width="100%">
+<tr><th width="25%">Constant</th><th width="15%">Value</th><th width="60%">Description</th></tr>
+<tr><td valign="top"><tt>QContactDetailRangeFilter::IncludeLower</tt></td><td align="center" valign="top"><tt>0</tt></td><td valign="top">The filter will match if the field value is equal to or greater than the minimum value</td></tr>
+<tr><td valign="top"><tt>QContactDetailRangeFilter::IncludeUpper</tt></td><td align="center" valign="top"><tt>1</tt></td><td valign="top">The filter will match if the field value is equal to or less than the maximum value</td></tr>
+<tr><td valign="top"><tt>QContactDetailRangeFilter::ExcludeLower</tt></td><td align="center" valign="top"><tt>2</tt></td><td valign="top">The filter will match if the field value is greater than the minimum value (but not equal)</td></tr>
+<tr><td valign="top"><tt>QContactDetailRangeFilter::ExcludeUpper</tt></td><td align="center" valign="top"><tt>0</tt></td><td valign="top">The filter will match if the field value is less than the maximum value (but not equal)</td></tr>
</table></p>
<p>The RangeFlags type is a typedef for <a href="qflags.html">QFlags</a>&lt;RangeFlag&gt;. It stores an OR combination of RangeFlag values.</p>
<hr />
@@ -85,15 +85,15 @@
<p>See also <a href="qcontactdetailrangefilter.html#setDetailDefinitionName">setDetailDefinitionName</a>().</p>
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/matchFlags"></a>
<h3 class="fn"><a name="matchFlags"></a><a href="qcontactfilter.html#MatchFlag-enum">QContactFilter::MatchFlags</a> QContactDetailRangeFilter::matchFlags () const</h3>
-<p>Returns the match flags of the criterion, which define semantics such as case sensitivity, prefix matching, exact matching, etc.</p>
+<p>Returns the match flags of the criterion, which define semantics such as case sensitivity, and exact matching.</p>
<p>See also <a href="qcontactdetailrangefilter.html#setMatchFlags">setMatchFlags</a>().</p>
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/maxValue"></a>
<h3 class="fn"><a name="maxValue"></a><a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> QContactDetailRangeFilter::maxValue () const</h3>
-<p>Returns the upper bound of the value range criterion</p>
+<p>Returns the upper bound of the value range criterion If this value is null, there is no upper bound. If it is valid, the <a href="qcontactdetailrangefilter.html#rangeFlags">rangeFlags</a>() determines whether this value is included in the valid values.</p>
<p>See also <a href="qcontactdetailrangefilter.html#setRange">setRange</a>().</p>
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/minValue"></a>
<h3 class="fn"><a name="minValue"></a><a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> QContactDetailRangeFilter::minValue () const</h3>
-<p>Returns the lower bound of the value range criterion</p>
+<p>Returns the lower bound of the value range criterion. If this value is null, there is no lower bound. If it is valid, the <a href="qcontactdetailrangefilter.html#rangeFlags">rangeFlags</a>() determines whether this value is included in the valid values.</p>
<p>See also <a href="qcontactdetailrangefilter.html#setRange">setRange</a>().</p>
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/rangeFlags"></a>
<h3 class="fn"><a name="rangeFlags"></a><a href="qcontactdetailrangefilter.html#RangeFlag-enum">RangeFlags</a> QContactDetailRangeFilter::rangeFlags () const</h3>
@@ -106,15 +106,23 @@
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/setMatchFlags"></a>
<h3 class="fn"><a name="setMatchFlags"></a>void QContactDetailRangeFilter::setMatchFlags ( <a href="qcontactfilter.html#MatchFlag-enum">QContactFilter::MatchFlags</a> <i>flags</i> )</h3>
<p>Sets the match flags of the filter criterion to <i>flags</i></p>
+<p>Not all flags are supported by a range filter. The supported flags include:</p>
+<ul>
+<li><a href="qcontactfilter.html#MatchFlag-enum">QContactFilter::MatchExactly</a></li>
+<li><a href="qcontactfilter.html#MatchFlag-enum">QContactFilter::MatchFixedString</a></li>
+<li><a href="qcontactfilter.html#MatchFlag-enum">QContactFilter::MatchCaseSensitive</a></li>
+</ul>
+<p>Unsupported flags will be ignored.</p>
<p>See also <a href="qcontactdetailrangefilter.html#matchFlags">matchFlags</a>().</p>
<a name="//apple_ref/cpp/instm/QContactDetailRangeFilter/setRange"></a>
<h3 class="fn"><a name="setRange"></a>void QContactDetailRangeFilter::setRange ( const <a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> &amp; <i>min</i>, const <a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> &amp; <i>max</i>, <a href="qcontactdetailrangefilter.html#RangeFlag-enum">RangeFlags</a> <i>flags</i> = 0 )</h3>
-<p>Sets the value range criterion of the filter to within <i>min</i> and <i>max</i>, with boundary conditions specified in the given <i>flags</i></p>
+<p>Sets the value range criterion of the filter to within <i>min</i> and <i>max</i>, with boundary conditions specified in the given <i>flags</i>. If <i>min</i> or <i>max</i> is a null variant, that condition will not be checked. For example, to check for fields with a value greater than 7, you would specify:</p>
+<pre> filter.setRange(7, QVariant(), QContactDetailRangeFilter::ExcludeLower);</pre>
<p>See also <a href="qcontactdetailrangefilter.html#minValue">minValue</a>() and <a href="qcontactdetailrangefilter.html#maxValue">maxValue</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdisplaylabel-members.html b/doc/html/qcontactdisplaylabel-members.html
index 1f2ed78796..8e20d1a6e9 100644
--- a/doc/html/qcontactdisplaylabel-members.html
+++ b/doc/html/qcontactdisplaylabel-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactdisplaylabel.html b/doc/html/qcontactdisplaylabel.html
index bbb844f99f..53b3ebb525 100644
--- a/doc/html/qcontactdisplaylabel.html
+++ b/doc/html/qcontactdisplaylabel.html
@@ -59,8 +59,8 @@
<p>See also <a href="qcontactdisplaylabel.html#label">label</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactemailaddress-members.html b/doc/html/qcontactemailaddress-members.html
index 70ede415d8..ed93076750 100644
--- a/doc/html/qcontactemailaddress-members.html
+++ b/doc/html/qcontactemailaddress-members.html
@@ -64,8 +64,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactemailaddress.html b/doc/html/qcontactemailaddress.html
index 52ee9d88c8..e9a15d994a 100644
--- a/doc/html/qcontactemailaddress.html
+++ b/doc/html/qcontactemailaddress.html
@@ -65,8 +65,8 @@
<p>See also <a href="qcontactemailaddress.html#emailAddress">emailAddress</a>() and <a href="qcontactemailaddress.html#setEmailAddress">setEmailAddress</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfamily-members.html b/doc/html/qcontactfamily-members.html
index c3f3f7b666..328f0cd185 100644
--- a/doc/html/qcontactfamily-members.html
+++ b/doc/html/qcontactfamily-members.html
@@ -66,8 +66,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfamily.html b/doc/html/qcontactfamily.html
index f79e84bd4a..85376bcc74 100644
--- a/doc/html/qcontactfamily.html
+++ b/doc/html/qcontactfamily.html
@@ -76,8 +76,8 @@
<p>See also <a href="qcontactfamily.html#spouse">spouse</a>() and <a href="qcontactfamily.html#setSpouse">setSpouse</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfetchhint-members.html b/doc/html/qcontactfetchhint-members.html
index 0c6b715670..c8e16cf771 100644
--- a/doc/html/qcontactfetchhint-members.html
+++ b/doc/html/qcontactfetchhint-members.html
@@ -30,8 +30,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfetchhint.html b/doc/html/qcontactfetchhint.html
index 6a8f9d51e0..a3a9f722c2 100644
--- a/doc/html/qcontactfetchhint.html
+++ b/doc/html/qcontactfetchhint.html
@@ -108,8 +108,8 @@
<p>Assigns this fetch hint to be equal to the <i>other</i> fetch hint</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfetchrequest-members.html b/doc/html/qcontactfetchrequest-members.html
index 11c053668e..a9bfde19d8 100644
--- a/doc/html/qcontactfetchrequest-members.html
+++ b/doc/html/qcontactfetchrequest-members.html
@@ -91,8 +91,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfetchrequest.html b/doc/html/qcontactfetchrequest.html
index 2622199e58..071713218b 100644
--- a/doc/html/qcontactfetchrequest.html
+++ b/doc/html/qcontactfetchrequest.html
@@ -87,8 +87,8 @@
<p>See also <a href="qcontactfetchrequest.html#setSorting">setSorting</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfilter-members.html b/doc/html/qcontactfilter-members.html
index 7d6751228b..3159215cbc 100644
--- a/doc/html/qcontactfilter-members.html
+++ b/doc/html/qcontactfilter-members.html
@@ -29,8 +29,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactfilter.html b/doc/html/qcontactfilter.html
index 652e72c350..c431dfccc9 100644
--- a/doc/html/qcontactfilter.html
+++ b/doc/html/qcontactfilter.html
@@ -135,8 +135,8 @@
<p>See also <a href="qcontactunionfilter.html">QContactUnionFilter</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactgender-members.html b/doc/html/qcontactgender-members.html
index b4aa0e65c6..a2ea489f56 100644
--- a/doc/html/qcontactgender-members.html
+++ b/doc/html/qcontactgender-members.html
@@ -66,8 +66,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactgender.html b/doc/html/qcontactgender.html
index c501442dbc..cc8602908c 100644
--- a/doc/html/qcontactgender.html
+++ b/doc/html/qcontactgender.html
@@ -73,8 +73,8 @@
<p>The value that identifies this contact as being of unspecified gender.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactgeolocation-members.html b/doc/html/qcontactgeolocation-members.html
index 8f1a066415..679bd900de 100644
--- a/doc/html/qcontactgeolocation-members.html
+++ b/doc/html/qcontactgeolocation-members.html
@@ -87,8 +87,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactgeolocation.html b/doc/html/qcontactgeolocation.html
index 828c21daf5..4ca6f91284 100644
--- a/doc/html/qcontactgeolocation.html
+++ b/doc/html/qcontactgeolocation.html
@@ -181,8 +181,8 @@
<p>See also <a href="qcontactgeolocation.html#timestamp">timestamp</a>() and <a href="qcontactgeolocation.html#setTimestamp">setTimestamp</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactglobalpresence-members.html b/doc/html/qcontactglobalpresence-members.html
index 33923109b1..8bc8d4d3f4 100644
--- a/doc/html/qcontactglobalpresence-members.html
+++ b/doc/html/qcontactglobalpresence-members.html
@@ -78,8 +78,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactglobalpresence.html b/doc/html/qcontactglobalpresence.html
index e7995673b4..f1748dcb6e 100644
--- a/doc/html/qcontactglobalpresence.html
+++ b/doc/html/qcontactglobalpresence.html
@@ -136,8 +136,8 @@
<p>See also <a href="qcontactglobalpresence.html#setTimestamp">setTimestamp</a>() and <a href="qcontactglobalpresence.html#timestamp">timestamp</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactguid-members.html b/doc/html/qcontactguid-members.html
index e19c22137e..601b3dff65 100644
--- a/doc/html/qcontactguid-members.html
+++ b/doc/html/qcontactguid-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactguid.html b/doc/html/qcontactguid.html
index 8256d41054..a9d147e166 100644
--- a/doc/html/qcontactguid.html
+++ b/doc/html/qcontactguid.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactguid.html#guid">guid</a>() and <a href="qcontactguid.html#setGuid">setGuid</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactid-members.html b/doc/html/qcontactid-members.html
index e4298df2a3..dacbc34507 100644
--- a/doc/html/qcontactid-members.html
+++ b/doc/html/qcontactid-members.html
@@ -29,8 +29,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactid.html b/doc/html/qcontactid.html
index 2e4b8973c8..63bfb010ac 100644
--- a/doc/html/qcontactid.html
+++ b/doc/html/qcontactid.html
@@ -97,8 +97,8 @@
<p>See also <a href="qcontactid.html">QContactId</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactintersectionfilter-members.html b/doc/html/qcontactintersectionfilter-members.html
index df46645cc8..b3ccedc93a 100644
--- a/doc/html/qcontactintersectionfilter-members.html
+++ b/doc/html/qcontactintersectionfilter-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactintersectionfilter.html b/doc/html/qcontactintersectionfilter.html
index 5c0857905e..d368729732 100644
--- a/doc/html/qcontactintersectionfilter.html
+++ b/doc/html/qcontactintersectionfilter.html
@@ -73,8 +73,8 @@
<p>See also <a href="qcontactintersectionfilter.html#append">append</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactinvalidengine-members.html b/doc/html/qcontactinvalidengine-members.html
index a4b5e63dc2..bb51a673f6 100644
--- a/doc/html/qcontactinvalidengine-members.html
+++ b/doc/html/qcontactinvalidengine-members.html
@@ -131,8 +131,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactinvalidengine.html b/doc/html/qcontactinvalidengine.html
index 2f7f800bc2..db6799d866 100644
--- a/doc/html/qcontactinvalidengine.html
+++ b/doc/html/qcontactinvalidengine.html
@@ -62,8 +62,8 @@
<p>Reimplemented from <a href="qcontactmanagerengine.html#managerName">QContactManagerEngine::managerName</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactinvalidfilter-members.html b/doc/html/qcontactinvalidfilter-members.html
index f12e6f24fc..31c01609a6 100644
--- a/doc/html/qcontactinvalidfilter-members.html
+++ b/doc/html/qcontactinvalidfilter-members.html
@@ -28,8 +28,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactinvalidfilter.html b/doc/html/qcontactinvalidfilter.html
index 5006a54952..dc7cc3488b 100644
--- a/doc/html/qcontactinvalidfilter.html
+++ b/doc/html/qcontactinvalidfilter.html
@@ -43,8 +43,8 @@
<p>Constructs a new invalid filter, ignoring the <i>other</i> filter</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactlocalidfetchrequest-members.html b/doc/html/qcontactlocalidfetchrequest-members.html
index 25569f21b2..652a930255 100644
--- a/doc/html/qcontactlocalidfetchrequest-members.html
+++ b/doc/html/qcontactlocalidfetchrequest-members.html
@@ -89,8 +89,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactlocalidfetchrequest.html b/doc/html/qcontactlocalidfetchrequest.html
index 0f97b77ea3..f74c995183 100644
--- a/doc/html/qcontactlocalidfetchrequest.html
+++ b/doc/html/qcontactlocalidfetchrequest.html
@@ -77,8 +77,8 @@
<p>See also <a href="qcontactlocalidfetchrequest.html#setSorting">setSorting</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactlocalidfilter-members.html b/doc/html/qcontactlocalidfilter-members.html
index 2ab72c8ca5..24abb92a87 100644
--- a/doc/html/qcontactlocalidfilter-members.html
+++ b/doc/html/qcontactlocalidfilter-members.html
@@ -30,8 +30,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactlocalidfilter.html b/doc/html/qcontactlocalidfilter.html
index 6b5230914e..a396f703de 100644
--- a/doc/html/qcontactlocalidfilter.html
+++ b/doc/html/qcontactlocalidfilter.html
@@ -53,8 +53,8 @@
<p>See also <a href="qcontactlocalidfilter.html#ids">ids</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanager-members.html b/doc/html/qcontactmanager-members.html
index 2e371b237e..6b54246202 100644
--- a/doc/html/qcontactmanager-members.html
+++ b/doc/html/qcontactmanager-members.html
@@ -118,8 +118,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanager.html b/doc/html/qcontactmanager.html
index 05cf0c671b..217e7886c0 100644
--- a/doc/html/qcontactmanager.html
+++ b/doc/html/qcontactmanager.html
@@ -371,8 +371,8 @@
<p>See also <a href="qcontactmanager.html#synthesizeContactDisplayLabel">synthesizeContactDisplayLabel</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanagerengine-members.html b/doc/html/qcontactmanagerengine-members.html
index 380f208734..f2569e185a 100644
--- a/doc/html/qcontactmanagerengine-members.html
+++ b/doc/html/qcontactmanagerengine-members.html
@@ -131,8 +131,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanagerengine.html b/doc/html/qcontactmanagerengine.html
index 77ba4eb627..e7faee3dd0 100644
--- a/doc/html/qcontactmanagerengine.html
+++ b/doc/html/qcontactmanagerengine.html
@@ -131,7 +131,8 @@
<p>A default, empty constructor.</p>
<a name="//apple_ref/cpp/clm/QContactManagerEngine/addSorted"></a>
<h3 class="fn"><a name="addSorted"></a>void QContactManagerEngine::addSorted ( <a href="http://qt.nokia.com/doc/4.6/qlist.html">QList</a>&lt;<a href="qcontact.html">QContact</a>&gt; * <i>sorted</i>, const <a href="qcontact.html">QContact</a> &amp; <i>toAdd</i>, const <a href="http://qt.nokia.com/doc/4.6/qlist.html">QList</a>&lt;<a href="qcontactsortorder.html">QContactSortOrder</a>&gt; &amp; <i>sortOrders</i> )&nbsp;&nbsp;<tt> [static]</tt></h3>
-<p>Performs insertion sort of the contact <i>toAdd</i> into the <i>sorted</i> list, according to the provided <i>sortOrders</i> list. The first <a href="qcontactsortorder.html">QContactSortOrder</a> in the list has the highest priority; if the contact <i>toAdd</i> is deemed equal to another in the <i>sorted</i> list, the second <a href="qcontactsortorder.html">QContactSortOrder</a> in the list is used (and so on until either the contact is inserted or there are no more sort order objects in the list).</p>
+<p>Performs insertion sort of the contact <i>toAdd</i> into the <i>sorted</i> list, according to the provided <i>sortOrders</i> list. The first <a href="qcontactsortorder.html">QContactSortOrder</a> in the list has the highest priority: if the contact <i>toAdd</i> is deemed equal to another in the <i>sorted</i> list according to the first <a href="qcontactsortorder.html">QContactSortOrder</a>, the second <a href="qcontactsortorder.html">QContactSortOrder</a> in the list is used (and so on until either the contact is inserted or there are no more sort order objects in the list).</p>
+<p>If a contact is equal to another contact according to all sort orders, it is inserted after the previously-added contact.</p>
<a name="//apple_ref/cpp/instm/QContactManagerEngine/cancelRequest"></a>
<h3 class="fn"><a name="cancelRequest"></a>bool QContactManagerEngine::cancelRequest ( <a href="qcontactabstractrequest.html">QContactAbstractRequest</a> * <i>req</i> )&nbsp;&nbsp;<tt> [virtual]</tt></h3>
<p>Asks the manager engine to cancel the given request <i>req</i> which was previously started and is currently in a cancellable state. Returns true if cancellation of the request was started successfully, otherwise returns false.</p>
@@ -157,7 +158,11 @@
<p>Compares two contacts (<i>a</i> and <i>b</i>) using the given list of <i>sortOrders</i>. Returns a negative number if <i>a</i> should appear before <i>b</i> according to the sort order, a positive number if <i>a</i> should appear after <i>b</i> according to the sort order, and zero if the two are unable to be sorted.</p>
<a name="//apple_ref/cpp/clm/QContactManagerEngine/compareVariant"></a>
<h3 class="fn"><a name="compareVariant"></a>int QContactManagerEngine::compareVariant ( const <a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> &amp; <i>first</i>, const <a href="http://qt.nokia.com/doc/4.6/qvariant.html">QVariant</a> &amp; <i>second</i>, <a href="http://qt.nokia.com/doc/4.6/qt.html#CaseSensitivity-enum">Qt::CaseSensitivity</a> <i>sensitivity</i> )&nbsp;&nbsp;<tt> [static]</tt></h3>
-<p>Compares <i>first</i> against <i>second</i>. If the types are strings (<a href="http://qt.nokia.com/doc/4.6/qvariant.html#Type-enum">QVariant::String</a>), the <i>sensitivity</i> argument controls case sensitivity when comparing.</p>
+<p>Compares <i>first</i> against <i>second</i>. If the types are strings (<a href="http://qt.nokia.com/doc/4.6/qvariant.html#Type-enum">QVariant::String</a>), the <i>sensitivity</i> argument controls case sensitivity when comparing. Also, when comparing strings, a locale aware comparison is used, and if the sensitivity is CaseSensitive, strings that are identical under a case insensitive sort are then sorted case sensitively within that context.</p>
+<p>For example:</p>
+<p>aaron Bob Aaron aAron Carol</p>
+<p>would sort as:</p>
+<p>aaron aAron Aaron Bob Carol</p>
<p>Returns: &lt;0 if <i>first</i> is less than <i>second</i> 0 if <i>first</i> is equal to <i>second</i> &gt;0 if <i>first</i> is greater than <i>second</i>.</p>
<p>The results are undefined if the variants are different types, or cannot be compared.</p>
<a name="//apple_ref/cpp/instm/QContactManagerEngine/compatibleContact"></a>
@@ -418,8 +423,8 @@
<p>See also <a href="qcontactmanagerengine.html#startRequest">startRequest</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanagerenginefactory-members.html b/doc/html/qcontactmanagerenginefactory-members.html
index 10662aa114..c7f5162e12 100644
--- a/doc/html/qcontactmanagerenginefactory-members.html
+++ b/doc/html/qcontactmanagerenginefactory-members.html
@@ -22,8 +22,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmanagerenginefactory.html b/doc/html/qcontactmanagerenginefactory.html
index 3e97dfd65c..0d6d05eec2 100644
--- a/doc/html/qcontactmanagerenginefactory.html
+++ b/doc/html/qcontactmanagerenginefactory.html
@@ -53,8 +53,8 @@
<p>This function should return a list of versions of the engine which this factory can instantiate.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmemoryengine-members.html b/doc/html/qcontactmemoryengine-members.html
index f730491047..b03e8414e7 100644
--- a/doc/html/qcontactmemoryengine-members.html
+++ b/doc/html/qcontactmemoryengine-members.html
@@ -133,8 +133,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactmemoryengine.html b/doc/html/qcontactmemoryengine.html
index 5decf3896b..3af9f967bb 100644
--- a/doc/html/qcontactmemoryengine.html
+++ b/doc/html/qcontactmemoryengine.html
@@ -161,8 +161,8 @@
<p>Reimplemented from <a href="qcontactmanagerengine.html#waitForRequestFinished">QContactManagerEngine::waitForRequestFinished</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactname-members.html b/doc/html/qcontactname-members.html
index b1c449b3d8..f81e13d56e 100644
--- a/doc/html/qcontactname-members.html
+++ b/doc/html/qcontactname-members.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactname.html b/doc/html/qcontactname.html
index 25fac82cf6..ce05a51ae3 100644
--- a/doc/html/qcontactname.html
+++ b/doc/html/qcontactname.html
@@ -143,8 +143,8 @@
<p>See also <a href="qcontactname.html#suffix">suffix</a>() and <a href="qcontactname.html#setSuffix">setSuffix</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactnickname-members.html b/doc/html/qcontactnickname-members.html
index d53d7a1544..e99ee85c84 100644
--- a/doc/html/qcontactnickname-members.html
+++ b/doc/html/qcontactnickname-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactnickname.html b/doc/html/qcontactnickname.html
index 94e4dc7d60..7911a78b31 100644
--- a/doc/html/qcontactnickname.html
+++ b/doc/html/qcontactnickname.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactnickname.html#nickname">nickname</a>() and <a href="qcontactnickname.html#setNickname">setNickname</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactnote-members.html b/doc/html/qcontactnote-members.html
index 8def1f3f7a..c185aa5c1e 100644
--- a/doc/html/qcontactnote-members.html
+++ b/doc/html/qcontactnote-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactnote.html b/doc/html/qcontactnote.html
index 8953c85812..a6ee694fdc 100644
--- a/doc/html/qcontactnote.html
+++ b/doc/html/qcontactnote.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactnote.html#note">note</a>() and <a href="qcontactnote.html#setNote">setNote</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactonlineaccount-members.html b/doc/html/qcontactonlineaccount-members.html
index 8c1b4e10fe..e864f080e6 100644
--- a/doc/html/qcontactonlineaccount-members.html
+++ b/doc/html/qcontactonlineaccount-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactonlineaccount.html b/doc/html/qcontactonlineaccount.html
index e0406f756f..0736db4488 100644
--- a/doc/html/qcontactonlineaccount.html
+++ b/doc/html/qcontactonlineaccount.html
@@ -132,8 +132,8 @@
<p>See also <a href="qcontactonlineaccount.html#subTypes">subTypes</a>() and <a href="qcontactonlineaccount.html#setSubTypes">setSubTypes</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactorganization-members.html b/doc/html/qcontactorganization-members.html
index 496d516756..887a3aafc8 100644
--- a/doc/html/qcontactorganization-members.html
+++ b/doc/html/qcontactorganization-members.html
@@ -81,8 +81,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactorganization.html b/doc/html/qcontactorganization.html
index 541fa956af..6f3b4f9823 100644
--- a/doc/html/qcontactorganization.html
+++ b/doc/html/qcontactorganization.html
@@ -151,8 +151,8 @@
<p>See also <a href="qcontactorganization.html#title">title</a>() and <a href="qcontactorganization.html#setTitle">setTitle</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactphonenumber-members.html b/doc/html/qcontactphonenumber-members.html
index cef09b3055..26ad1457a9 100644
--- a/doc/html/qcontactphonenumber-members.html
+++ b/doc/html/qcontactphonenumber-members.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactphonenumber.html b/doc/html/qcontactphonenumber.html
index 517ce63afc..092e8429fd 100644
--- a/doc/html/qcontactphonenumber.html
+++ b/doc/html/qcontactphonenumber.html
@@ -143,8 +143,8 @@
<p>See also <a href="qcontactphonenumber.html#subTypes">subTypes</a>() and <a href="qcontactphonenumber.html#setSubTypes">setSubTypes</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactpresence-members.html b/doc/html/qcontactpresence-members.html
index 7e2ac1e3cb..500ceccb64 100644
--- a/doc/html/qcontactpresence-members.html
+++ b/doc/html/qcontactpresence-members.html
@@ -79,8 +79,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactpresence.html b/doc/html/qcontactpresence.html
index 65af8a9dab..8058a41e2d 100644
--- a/doc/html/qcontactpresence.html
+++ b/doc/html/qcontactpresence.html
@@ -167,8 +167,8 @@
<p>See also <a href="qcontactpresence.html#setTimestamp">setTimestamp</a>() and <a href="qcontactpresence.html#timestamp">timestamp</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationship-members.html b/doc/html/qcontactrelationship-members.html
index 307390c796..0de689622a 100644
--- a/doc/html/qcontactrelationship-members.html
+++ b/doc/html/qcontactrelationship-members.html
@@ -42,8 +42,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationship.html b/doc/html/qcontactrelationship.html
index 4cb17a0e6b..be8db44d00 100644
--- a/doc/html/qcontactrelationship.html
+++ b/doc/html/qcontactrelationship.html
@@ -139,8 +139,8 @@
<p>The relationship type which identifies the first contact as being the same contact as the second contact</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipfetchrequest-members.html b/doc/html/qcontactrelationshipfetchrequest-members.html
index 05b87b9a6c..7cf5ab772f 100644
--- a/doc/html/qcontactrelationshipfetchrequest-members.html
+++ b/doc/html/qcontactrelationshipfetchrequest-members.html
@@ -91,8 +91,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipfetchrequest.html b/doc/html/qcontactrelationshipfetchrequest.html
index cc7944b845..6c618cb096 100644
--- a/doc/html/qcontactrelationshipfetchrequest.html
+++ b/doc/html/qcontactrelationshipfetchrequest.html
@@ -87,8 +87,8 @@
<p>See also <a href="qcontactrelationshipfetchrequest.html#second">second</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipfilter-members.html b/doc/html/qcontactrelationshipfilter-members.html
index c8ecde6e29..8cc60c550e 100644
--- a/doc/html/qcontactrelationshipfilter-members.html
+++ b/doc/html/qcontactrelationshipfilter-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipfilter.html b/doc/html/qcontactrelationshipfilter.html
index e33a0f910b..6e91595b31 100644
--- a/doc/html/qcontactrelationshipfilter.html
+++ b/doc/html/qcontactrelationshipfilter.html
@@ -83,8 +83,8 @@
<p>See also <a href="qcontactrelationshipfilter.html#relationshipType">relationshipType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipremoverequest-members.html b/doc/html/qcontactrelationshipremoverequest-members.html
index 67e8464092..1399897c75 100644
--- a/doc/html/qcontactrelationshipremoverequest-members.html
+++ b/doc/html/qcontactrelationshipremoverequest-members.html
@@ -88,8 +88,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipremoverequest.html b/doc/html/qcontactrelationshipremoverequest.html
index f0e36dfe9f..462fd4587e 100644
--- a/doc/html/qcontactrelationshipremoverequest.html
+++ b/doc/html/qcontactrelationshipremoverequest.html
@@ -72,8 +72,8 @@
<p>See also <a href="qcontactrelationshipremoverequest.html#relationships">relationships</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipsaverequest-members.html b/doc/html/qcontactrelationshipsaverequest-members.html
index 935ef9c7b1..731337d566 100644
--- a/doc/html/qcontactrelationshipsaverequest-members.html
+++ b/doc/html/qcontactrelationshipsaverequest-members.html
@@ -88,8 +88,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactrelationshipsaverequest.html b/doc/html/qcontactrelationshipsaverequest.html
index 7bda55903d..03fc10d0f8 100644
--- a/doc/html/qcontactrelationshipsaverequest.html
+++ b/doc/html/qcontactrelationshipsaverequest.html
@@ -72,8 +72,8 @@
<p>See also <a href="qcontactrelationshipsaverequest.html#relationships">relationships</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactremoverequest-members.html b/doc/html/qcontactremoverequest-members.html
index 5990186669..91540455d9 100644
--- a/doc/html/qcontactremoverequest-members.html
+++ b/doc/html/qcontactremoverequest-members.html
@@ -88,8 +88,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactremoverequest.html b/doc/html/qcontactremoverequest.html
index fae26119a8..dc901c46ee 100644
--- a/doc/html/qcontactremoverequest.html
+++ b/doc/html/qcontactremoverequest.html
@@ -72,8 +72,8 @@
<p>See also <a href="qcontactremoverequest.html#contactIds">contactIds</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactringtone-members.html b/doc/html/qcontactringtone-members.html
index f939ca4c83..4362d95b22 100644
--- a/doc/html/qcontactringtone-members.html
+++ b/doc/html/qcontactringtone-members.html
@@ -69,8 +69,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactringtone.html b/doc/html/qcontactringtone.html
index b0c79a9619..a720e902cb 100644
--- a/doc/html/qcontactringtone.html
+++ b/doc/html/qcontactringtone.html
@@ -91,8 +91,8 @@
<p>See also <a href="qcontactringtone.html#setVideoRingtoneUrl">setVideoRingtoneUrl</a>() and <a href="qcontactringtone.html#videoRingtoneUrl">videoRingtoneUrl</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsaverequest-members.html b/doc/html/qcontactsaverequest-members.html
index f7c76de1e5..125b33fe8a 100644
--- a/doc/html/qcontactsaverequest-members.html
+++ b/doc/html/qcontactsaverequest-members.html
@@ -88,8 +88,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsaverequest.html b/doc/html/qcontactsaverequest.html
index cafb89d02f..3da9816ed8 100644
--- a/doc/html/qcontactsaverequest.html
+++ b/doc/html/qcontactsaverequest.html
@@ -72,8 +72,8 @@
<p>See also <a href="qcontactsaverequest.html#contacts">contacts</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsortorder-members.html b/doc/html/qcontactsortorder-members.html
index 6d368b087b..5889802b07 100644
--- a/doc/html/qcontactsortorder-members.html
+++ b/doc/html/qcontactsortorder-members.html
@@ -40,8 +40,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsortorder.html b/doc/html/qcontactsortorder.html
index 37319a2d25..a7db306d29 100644
--- a/doc/html/qcontactsortorder.html
+++ b/doc/html/qcontactsortorder.html
@@ -127,8 +127,8 @@
<p>See also <a href="qcontactsortorder.html#operator-not-eq">operator!=</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsynctarget-members.html b/doc/html/qcontactsynctarget-members.html
index 276efd6915..c41d5df05e 100644
--- a/doc/html/qcontactsynctarget-members.html
+++ b/doc/html/qcontactsynctarget-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactsynctarget.html b/doc/html/qcontactsynctarget.html
index 08a06cd24f..2484962bfb 100644
--- a/doc/html/qcontactsynctarget.html
+++ b/doc/html/qcontactsynctarget.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactsynctarget.html#syncTarget">syncTarget</a>() and <a href="qcontactsynctarget.html#setSyncTarget">setSyncTarget</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttag-members.html b/doc/html/qcontacttag-members.html
index 6f800c1012..6f633e8783 100644
--- a/doc/html/qcontacttag-members.html
+++ b/doc/html/qcontacttag-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttag.html b/doc/html/qcontacttag.html
index 4478eb0c99..c74ae1d30a 100644
--- a/doc/html/qcontacttag.html
+++ b/doc/html/qcontacttag.html
@@ -40,6 +40,16 @@
<hr />
<h2>Detailed Description</h2>
<p>The QContactTag class contains a tag associated with a contact.</p>
+<p>Typically the tags associated with a contact will be distinct, although this is usually only enforced when the contact is saved in the manager.</p>
+<p>Here is an example of retrieving all the tags for a contact:</p>
+<pre> QSet&lt;QString&gt; tags;
+ foreach(const QContactTag&amp; tag, contact.details&lt;QContactTag&gt;()) {
+ tags.insert(tag.tag());
+ }</pre>
+<p>Here is an example of checking for a specific tag value:</p>
+<pre> if (contact.details&lt;QContactTag&gt;(QContactTag::FieldTag, &quot;MyTag&quot;).count() &gt; 0) {
+ <span class="comment">// Do something with it</span>
+ }</pre>
<hr />
<h2>Member Function Documentation</h2>
<a name="//apple_ref/cpp/instm/QContactTag/setTag"></a>
@@ -61,8 +71,8 @@
<p>See also <a href="qcontacttag.html#tag">tag</a>() and <a href="qcontacttag.html#setTag">setTag</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactthumbnail-members.html b/doc/html/qcontactthumbnail-members.html
index c17a797393..bfd6f29c03 100644
--- a/doc/html/qcontactthumbnail-members.html
+++ b/doc/html/qcontactthumbnail-members.html
@@ -63,8 +63,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactthumbnail.html b/doc/html/qcontactthumbnail.html
index 98d3861b61..2f157b1b28 100644
--- a/doc/html/qcontactthumbnail.html
+++ b/doc/html/qcontactthumbnail.html
@@ -61,8 +61,8 @@
<p>See also <a href="qcontactthumbnail.html#thumbnail">thumbnail</a>() and <a href="qcontactthumbnail.html#setThumbnail">setThumbnail</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttimestamp-members.html b/doc/html/qcontacttimestamp-members.html
index 47216f5171..102c6aa423 100644
--- a/doc/html/qcontacttimestamp-members.html
+++ b/doc/html/qcontacttimestamp-members.html
@@ -66,8 +66,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttimestamp.html b/doc/html/qcontacttimestamp.html
index 9e6c3676c3..482a186a06 100644
--- a/doc/html/qcontacttimestamp.html
+++ b/doc/html/qcontacttimestamp.html
@@ -76,8 +76,8 @@
<p>See also <a href="qcontacttimestamp.html#lastModified">lastModified</a>() and <a href="qcontacttimestamp.html#setLastModified">setLastModified</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttype-members.html b/doc/html/qcontacttype-members.html
index afb79916fb..dbd1a86763 100644
--- a/doc/html/qcontacttype-members.html
+++ b/doc/html/qcontacttype-members.html
@@ -65,8 +65,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacttype.html b/doc/html/qcontacttype.html
index f9822a6ed5..a077dda808 100644
--- a/doc/html/qcontacttype.html
+++ b/doc/html/qcontacttype.html
@@ -72,8 +72,8 @@
<p>See also <a href="qcontacttype.html#setType">setType</a>() and <a href="qcontacttype.html#type">type</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactunionfilter-members.html b/doc/html/qcontactunionfilter-members.html
index 1adea5ffd8..016248c022 100644
--- a/doc/html/qcontactunionfilter-members.html
+++ b/doc/html/qcontactunionfilter-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontactunionfilter.html b/doc/html/qcontactunionfilter.html
index 30a134dc3c..0d31877f72 100644
--- a/doc/html/qcontactunionfilter.html
+++ b/doc/html/qcontactunionfilter.html
@@ -73,8 +73,8 @@
<p>See also <a href="qcontactunionfilter.html#append">append</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacturl-members.html b/doc/html/qcontacturl-members.html
index f42390f2fe..901974aee4 100644
--- a/doc/html/qcontacturl-members.html
+++ b/doc/html/qcontacturl-members.html
@@ -69,8 +69,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qcontacturl.html b/doc/html/qcontacturl.html
index 2969ddcc1e..32baad73dd 100644
--- a/doc/html/qcontacturl.html
+++ b/doc/html/qcontacturl.html
@@ -86,8 +86,8 @@
<p>See also <a href="qcontacturl.html#subType">subType</a>() and <a href="qcontacturl.html#setSubType">setSubType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeoareamonitor-members.html b/doc/html/qgeoareamonitor-members.html
index 30176bc414..30ec526817 100644
--- a/doc/html/qgeoareamonitor-members.html
+++ b/doc/html/qgeoareamonitor-members.html
@@ -76,8 +76,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeoareamonitor.html b/doc/html/qgeoareamonitor.html
index 1dc97e83c5..d29ae11198 100644
--- a/doc/html/qgeoareamonitor.html
+++ b/doc/html/qgeoareamonitor.html
@@ -148,8 +148,8 @@
<p>Returns 0 if the system has no support for position monitoring.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeocoordinate-members.html b/doc/html/qgeocoordinate-members.html
index 3488b090f8..cdef2d0c8a 100644
--- a/doc/html/qgeocoordinate-members.html
+++ b/doc/html/qgeocoordinate-members.html
@@ -43,8 +43,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeocoordinate.html b/doc/html/qgeocoordinate.html
index 4ba7414e33..1f949b0bc7 100644
--- a/doc/html/qgeocoordinate.html
+++ b/doc/html/qgeocoordinate.html
@@ -194,8 +194,8 @@
<p>See also <a href="http://qt.nokia.com/doc/4.6/datastreamformat.html">Format of the QDataStream Operators</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeopositioninfo-members.html b/doc/html/qgeopositioninfo-members.html
index e4c7c3ea11..1233e2ef87 100644
--- a/doc/html/qgeopositioninfo-members.html
+++ b/doc/html/qgeopositioninfo-members.html
@@ -39,8 +39,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeopositioninfo.html b/doc/html/qgeopositioninfo.html
index 3168ab66a8..af7f3038e8 100644
--- a/doc/html/qgeopositioninfo.html
+++ b/doc/html/qgeopositioninfo.html
@@ -149,8 +149,8 @@
<p>See also <a href="http://qt.nokia.com/doc/4.6/datastreamformat.html">Format of the QDataStream Operators</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeopositioninfosource-members.html b/doc/html/qgeopositioninfosource-members.html
index 5f163e59fe..a9eb66230b 100644
--- a/doc/html/qgeopositioninfosource-members.html
+++ b/doc/html/qgeopositioninfosource-members.html
@@ -84,8 +84,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeopositioninfosource.html b/doc/html/qgeopositioninfosource.html
index 7728075712..892d0458ae 100644
--- a/doc/html/qgeopositioninfosource.html
+++ b/doc/html/qgeopositioninfosource.html
@@ -199,8 +199,8 @@
<p>If <a href="qgeopositioninfosource.html#startUpdates">startUpdates</a>() has been called, this signal will be emitted if this <a href="qgeopositioninfosource.html">QGeoPositionInfoSource</a> subclass determines that it will not be able to provide further regular updates. This signal will not be emitted again until after the regular updates resume.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeosatelliteinfo-members.html b/doc/html/qgeosatelliteinfo-members.html
index 2a80c888a8..0fefc253f1 100644
--- a/doc/html/qgeosatelliteinfo-members.html
+++ b/doc/html/qgeosatelliteinfo-members.html
@@ -33,8 +33,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeosatelliteinfo.html b/doc/html/qgeosatelliteinfo.html
index 07c006a235..e64e8a2a87 100644
--- a/doc/html/qgeosatelliteinfo.html
+++ b/doc/html/qgeosatelliteinfo.html
@@ -128,8 +128,8 @@
<p>See also <a href="http://qt.nokia.com/doc/4.6/datastreamformat.html">Format of the QDataStream Operators</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeosatelliteinfosource-members.html b/doc/html/qgeosatelliteinfosource-members.html
index 33694d4bae..cfb0313817 100644
--- a/doc/html/qgeosatelliteinfosource-members.html
+++ b/doc/html/qgeosatelliteinfosource-members.html
@@ -75,8 +75,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgeosatelliteinfosource.html b/doc/html/qgeosatelliteinfosource.html
index ad007ac165..5bc8eaf4c8 100644
--- a/doc/html/qgeosatelliteinfosource.html
+++ b/doc/html/qgeosatelliteinfosource.html
@@ -108,8 +108,8 @@
<p>Stops emitting updates at regular intervals.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgraphicsvideoitem-members.html b/doc/html/qgraphicsvideoitem-members.html
index 3bf4bc1c95..0db37ca33d 100644
--- a/doc/html/qgraphicsvideoitem-members.html
+++ b/doc/html/qgraphicsvideoitem-members.html
@@ -284,8 +284,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qgraphicsvideoitem.html b/doc/html/qgraphicsvideoitem.html
index 4569d05ffa..66c1eceb46 100644
--- a/doc/html/qgraphicsvideoitem.html
+++ b/doc/html/qgraphicsvideoitem.html
@@ -185,8 +185,8 @@
<h3 class="fn"><a name="timerEvent"></a>void QGraphicsVideoItem::timerEvent ( <a href="http://qt.nokia.com/doc/4.6/qtimerevent.html">QTimerEvent</a> * <i>event</i> )&nbsp;&nbsp;<tt> [virtual protected]</tt></h3>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qimageencodercontrol-members.html b/doc/html/qimageencodercontrol-members.html
index 736fb0c6ac..1067b7d75b 100644
--- a/doc/html/qimageencodercontrol-members.html
+++ b/doc/html/qimageencodercontrol-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qimageencodercontrol.html b/doc/html/qimageencodercontrol.html
index 076bb1ed7c..2fc286dd14 100644
--- a/doc/html/qimageencodercontrol.html
+++ b/doc/html/qimageencodercontrol.html
@@ -100,8 +100,8 @@
<p>Defines the interface name of the <a href="qimageencodercontrol.html">QImageEncoderControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qimageencodersettings-members.html b/doc/html/qimageencodersettings-members.html
index fe8a0bebeb..ddab09208c 100644
--- a/doc/html/qimageencodersettings-members.html
+++ b/doc/html/qimageencodersettings-members.html
@@ -32,8 +32,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qimageencodersettings.html b/doc/html/qimageencodersettings.html
index c782c18870..763f3452c5 100644
--- a/doc/html/qimageencodersettings.html
+++ b/doc/html/qimageencodersettings.html
@@ -104,8 +104,8 @@
<p>Returns true if the settings objects are of equal value, and true if they are not of equal value.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qlatin1constant-members.html b/doc/html/qlatin1constant-members.html
index 2a1dd851cd..ad690b1c35 100644
--- a/doc/html/qlatin1constant-members.html
+++ b/doc/html/qlatin1constant-members.html
@@ -22,8 +22,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qlatin1constant.html b/doc/html/qlatin1constant.html
index 9a659b567d..78000bdf0c 100644
--- a/doc/html/qlatin1constant.html
+++ b/doc/html/qlatin1constant.html
@@ -75,8 +75,8 @@
<p>See also <a href="qlatin1constant.html#Q_DECLARE_LATIN1_CONSTANT">Q_DECLARE_LATIN1_CONSTANT</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometer-members.html b/doc/html/qmagnetometer-members.html
index 1361ace8cb..88ef0a7bce 100644
--- a/doc/html/qmagnetometer-members.html
+++ b/doc/html/qmagnetometer-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qmagnetometer.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qmagnetometer.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometer.html b/doc/html/qmagnetometer.html
index c7f57ca6f6..840ce9d3c6 100644
--- a/doc/html/qmagnetometer.html
+++ b/doc/html/qmagnetometer.html
@@ -81,8 +81,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometerfilter-members.html b/doc/html/qmagnetometerfilter-members.html
index 545779c9e4..b0da0e9054 100644
--- a/doc/html/qmagnetometerfilter-members.html
+++ b/doc/html/qmagnetometerfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometerfilter.html b/doc/html/qmagnetometerfilter.html
index 571fc7ee55..178b395aac 100644
--- a/doc/html/qmagnetometerfilter.html
+++ b/doc/html/qmagnetometerfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometerreading-members.html b/doc/html/qmagnetometerreading-members.html
index 52695ea5fb..1ed1fa6179 100644
--- a/doc/html/qmagnetometerreading-members.html
+++ b/doc/html/qmagnetometerreading-members.html
@@ -79,8 +79,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmagnetometerreading.html b/doc/html/qmagnetometerreading.html
index 12485e3e29..2a847690a6 100644
--- a/doc/html/qmagnetometerreading.html
+++ b/doc/html/qmagnetometerreading.html
@@ -128,8 +128,8 @@
<p>See also <a href="qmagnetometerreading.html#z-prop">z</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontainercontrol-members.html b/doc/html/qmediacontainercontrol-members.html
index c6b82cd5b0..a6a4a7a257 100644
--- a/doc/html/qmediacontainercontrol-members.html
+++ b/doc/html/qmediacontainercontrol-members.html
@@ -73,8 +73,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontainercontrol.html b/doc/html/qmediacontainercontrol.html
index 52a46b536a..4129f31112 100644
--- a/doc/html/qmediacontainercontrol.html
+++ b/doc/html/qmediacontainercontrol.html
@@ -95,8 +95,8 @@
<p>Defines the interface name of the <a href="qmediacontainercontrol.html">QMediaContainerControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontent-members.html b/doc/html/qmediacontent-members.html
index 23b07c0b9d..0f83c6eee3 100644
--- a/doc/html/qmediacontent-members.html
+++ b/doc/html/qmediacontent-members.html
@@ -33,8 +33,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontent.html b/doc/html/qmediacontent.html
index 9e1271fd05..f97ca11c2b 100644
--- a/doc/html/qmediacontent.html
+++ b/doc/html/qmediacontent.html
@@ -90,8 +90,8 @@
<p>Returns true if <i>other</i> is equivalent to this media content; false otherwise.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontrol-members.html b/doc/html/qmediacontrol-members.html
index dc61681df8..51729eabec 100644
--- a/doc/html/qmediacontrol-members.html
+++ b/doc/html/qmediacontrol-members.html
@@ -69,8 +69,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediacontrol.html b/doc/html/qmediacontrol.html
index d7ceb2cfe5..ad7a939708 100644
--- a/doc/html/qmediacontrol.html
+++ b/doc/html/qmediacontrol.html
@@ -84,8 +84,8 @@
<p>See also <a href="qmediaservice.html#control">QMediaService::control</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaimageviewer-members.html b/doc/html/qmediaimageviewer-members.html
index b358b3436e..85e1755f85 100644
--- a/doc/html/qmediaimageviewer-members.html
+++ b/doc/html/qmediaimageviewer-members.html
@@ -105,8 +105,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaimageviewer.html b/doc/html/qmediaimageviewer.html
index 41a8a253f0..71315a3366 100644
--- a/doc/html/qmediaimageviewer.html
+++ b/doc/html/qmediaimageviewer.html
@@ -243,8 +243,8 @@
<p>The current media is retained, but the elapsed time is discarded. If resumed, the current image will be displayed for the full time out period before the next image is loaded.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaobject-members.html b/doc/html/qmediaobject-members.html
index be572fd11d..513db9a3c4 100644
--- a/doc/html/qmediaobject-members.html
+++ b/doc/html/qmediaobject-members.html
@@ -89,8 +89,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaobject.html b/doc/html/qmediaobject.html
index 7be7d88fb9..aa5e585954 100644
--- a/doc/html/qmediaobject.html
+++ b/doc/html/qmediaobject.html
@@ -204,8 +204,8 @@
<p>See also <a href="qmediaobject.html#metaData">metaData</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplayer-members.html b/doc/html/qmediaplayer-members.html
index 4a44d16366..3d979de4db 100644
--- a/doc/html/qmediaplayer-members.html
+++ b/doc/html/qmediaplayer-members.html
@@ -132,8 +132,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplayer.html b/doc/html/qmediaplayer.html
index aad38a3ded..3cb91e56dd 100644
--- a/doc/html/qmediaplayer.html
+++ b/doc/html/qmediaplayer.html
@@ -490,8 +490,8 @@
<p>Signal the playback volume has changed to <i>volume</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplayercontrol-members.html b/doc/html/qmediaplayercontrol-members.html
index edcd3a0cbd..315b9c30fc 100644
--- a/doc/html/qmediaplayercontrol-members.html
+++ b/doc/html/qmediaplayercontrol-members.html
@@ -105,8 +105,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplayercontrol.html b/doc/html/qmediaplayercontrol.html
index 4d3339ca91..6107ec44c7 100644
--- a/doc/html/qmediaplayercontrol.html
+++ b/doc/html/qmediaplayercontrol.html
@@ -260,8 +260,8 @@
<p>Defines the interface name of the <a href="qmediaplayercontrol.html">QMediaPlayerControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylist-members.html b/doc/html/qmediaplaylist-members.html
index a46362d070..5d5a6e9b78 100644
--- a/doc/html/qmediaplaylist-members.html
+++ b/doc/html/qmediaplaylist-members.html
@@ -110,8 +110,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylist.html b/doc/html/qmediaplaylist.html
index 4f6775a251..a1db1b0e53 100644
--- a/doc/html/qmediaplaylist.html
+++ b/doc/html/qmediaplaylist.html
@@ -332,8 +332,8 @@
<p>Shuffle items in the playlist.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistcontrol-members.html b/doc/html/qmediaplaylistcontrol-members.html
index 97704be905..ea75fd7ea5 100644
--- a/doc/html/qmediaplaylistcontrol-members.html
+++ b/doc/html/qmediaplaylistcontrol-members.html
@@ -83,8 +83,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistcontrol.html b/doc/html/qmediaplaylistcontrol.html
index 5fa4831b62..3b457c8f9c 100644
--- a/doc/html/qmediaplaylistcontrol.html
+++ b/doc/html/qmediaplaylistcontrol.html
@@ -151,8 +151,8 @@
<p>Defines the interface name of the <a href="qmediaplaylistcontrol.html">QMediaPlaylistControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistioplugin-members.html b/doc/html/qmediaplaylistioplugin-members.html
index 58f3e15d1e..5e7099866b 100644
--- a/doc/html/qmediaplaylistioplugin-members.html
+++ b/doc/html/qmediaplaylistioplugin-members.html
@@ -76,8 +76,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistioplugin.html b/doc/html/qmediaplaylistioplugin.html
index 012d0b9f8d..a8cbae1193 100644
--- a/doc/html/qmediaplaylistioplugin.html
+++ b/doc/html/qmediaplaylistioplugin.html
@@ -90,8 +90,8 @@
<p>Returns a list of format keys supported by a plug-in.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistnavigator-members.html b/doc/html/qmediaplaylistnavigator-members.html
index 6c8f57db02..585595b366 100644
--- a/doc/html/qmediaplaylistnavigator-members.html
+++ b/doc/html/qmediaplaylistnavigator-members.html
@@ -87,8 +87,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistnavigator.html b/doc/html/qmediaplaylistnavigator.html
index 88c08d2964..ef8774522b 100644
--- a/doc/html/qmediaplaylistnavigator.html
+++ b/doc/html/qmediaplaylistnavigator.html
@@ -187,8 +187,8 @@
<p>Signals that media immediately surrounding the current position has changed.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistprovider-members.html b/doc/html/qmediaplaylistprovider-members.html
index d980f35427..742387c038 100644
--- a/doc/html/qmediaplaylistprovider-members.html
+++ b/doc/html/qmediaplaylistprovider-members.html
@@ -91,8 +91,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistprovider.html b/doc/html/qmediaplaylistprovider.html
index dc9cdfd2b8..e218562f30 100644
--- a/doc/html/qmediaplaylistprovider.html
+++ b/doc/html/qmediaplaylistprovider.html
@@ -166,8 +166,8 @@
<p>Shuffles the contents of a playlist.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistreader-members.html b/doc/html/qmediaplaylistreader-members.html
index 2b407dc9a4..b7eb6dedfa 100644
--- a/doc/html/qmediaplaylistreader-members.html
+++ b/doc/html/qmediaplaylistreader-members.html
@@ -22,8 +22,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistreader.html b/doc/html/qmediaplaylistreader.html
index bd03f2c7be..f3532a2a4f 100644
--- a/doc/html/qmediaplaylistreader.html
+++ b/doc/html/qmediaplaylistreader.html
@@ -51,8 +51,8 @@
<p>Returns the read media, or a null <a href="qmediacontent.html">QMediaContent</a> if no more media is available.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistwriter-members.html b/doc/html/qmediaplaylistwriter-members.html
index 56a28860bc..4ac3b64d94 100644
--- a/doc/html/qmediaplaylistwriter-members.html
+++ b/doc/html/qmediaplaylistwriter-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaplaylistwriter.html b/doc/html/qmediaplaylistwriter.html
index 3d2efc433e..85c3c34aca 100644
--- a/doc/html/qmediaplaylistwriter.html
+++ b/doc/html/qmediaplaylistwriter.html
@@ -46,8 +46,8 @@
<p>Returns true if the media was written succesfully; and false otherwise.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediarecorder-members.html b/doc/html/qmediarecorder-members.html
index c39a1f5ed2..62b486fa01 100644
--- a/doc/html/qmediarecorder-members.html
+++ b/doc/html/qmediarecorder-members.html
@@ -116,8 +116,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediarecorder.html b/doc/html/qmediarecorder.html
index a842e39c57..f81e3a2ad8 100644
--- a/doc/html/qmediarecorder.html
+++ b/doc/html/qmediarecorder.html
@@ -275,8 +275,8 @@
<p>See also <a href="qmediarecorder.html#setEncodingSettings">setEncodingSettings</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediarecordercontrol-members.html b/doc/html/qmediarecordercontrol-members.html
index af987370cc..8dec1537d0 100644
--- a/doc/html/qmediarecordercontrol-members.html
+++ b/doc/html/qmediarecordercontrol-members.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediarecordercontrol.html b/doc/html/qmediarecordercontrol.html
index cda85bca52..66acb96230 100644
--- a/doc/html/qmediarecordercontrol.html
+++ b/doc/html/qmediarecordercontrol.html
@@ -138,8 +138,8 @@
<p>Defines the interface name of the <a href="qmediarecordercontrol.html">QMediaRecorderControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaresource-members.html b/doc/html/qmediaresource-members.html
index 0d105204d6..88226a0ba5 100644
--- a/doc/html/qmediaresource-members.html
+++ b/doc/html/qmediaresource-members.html
@@ -53,8 +53,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaresource.html b/doc/html/qmediaresource.html
index 896df67055..48a6b0f83c 100644
--- a/doc/html/qmediaresource.html
+++ b/doc/html/qmediaresource.html
@@ -187,8 +187,8 @@
<p>Returns true if the resources are identical, and false otherwise.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservice-members.html b/doc/html/qmediaservice-members.html
index 2bb060737d..17c6bbb334 100644
--- a/doc/html/qmediaservice-members.html
+++ b/doc/html/qmediaservice-members.html
@@ -71,8 +71,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservice.html b/doc/html/qmediaservice.html
index 5f860c7b0a..cb50ee9567 100644
--- a/doc/html/qmediaservice.html
+++ b/doc/html/qmediaservice.html
@@ -77,8 +77,8 @@
<p>If the service does not implment the control a null pointer is returned instead.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicefeaturesinterface-members.html b/doc/html/qmediaservicefeaturesinterface-members.html
index 9244316265..aa09070f27 100644
--- a/doc/html/qmediaservicefeaturesinterface-members.html
+++ b/doc/html/qmediaservicefeaturesinterface-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicefeaturesinterface.html b/doc/html/qmediaservicefeaturesinterface.html
index 2664d09851..e6fc95facb 100644
--- a/doc/html/qmediaservicefeaturesinterface.html
+++ b/doc/html/qmediaservicefeaturesinterface.html
@@ -40,8 +40,8 @@
<p>Returns a set of features supported by a plug-in <i>service</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceprovider-members.html b/doc/html/qmediaserviceprovider-members.html
index 230d1ff3f4..76013c15b0 100644
--- a/doc/html/qmediaserviceprovider-members.html
+++ b/doc/html/qmediaserviceprovider-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceprovider.html b/doc/html/qmediaserviceprovider.html
index eec18ac4ac..fa068d25f7 100644
--- a/doc/html/qmediaserviceprovider.html
+++ b/doc/html/qmediaserviceprovider.html
@@ -84,8 +84,8 @@
<p>The resultant list is restricted to MIME types which can be supported given the constraints in <i>flags</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceproviderhint-members.html b/doc/html/qmediaserviceproviderhint-members.html
index a8f4345060..efbcb7d14e 100644
--- a/doc/html/qmediaserviceproviderhint-members.html
+++ b/doc/html/qmediaserviceproviderhint-members.html
@@ -40,8 +40,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceproviderhint.html b/doc/html/qmediaserviceproviderhint.html
index 1906234871..5e20cbe283 100644
--- a/doc/html/qmediaserviceproviderhint.html
+++ b/doc/html/qmediaserviceproviderhint.html
@@ -132,8 +132,8 @@
<p>Returns true if the hints are equal, and false if they are not.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceproviderplugin-members.html b/doc/html/qmediaserviceproviderplugin-members.html
index 73d15e95d6..612ad02694 100644
--- a/doc/html/qmediaserviceproviderplugin-members.html
+++ b/doc/html/qmediaserviceproviderplugin-members.html
@@ -70,8 +70,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaserviceproviderplugin.html b/doc/html/qmediaserviceproviderplugin.html
index 647c095bd0..233d2f7e6d 100644
--- a/doc/html/qmediaserviceproviderplugin.html
+++ b/doc/html/qmediaserviceproviderplugin.html
@@ -65,8 +65,8 @@
<p>Destroys a media <i>service</i> constructed with <a href="qmediaserviceproviderplugin.html#create">create</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicesupporteddevicesinterface-members.html b/doc/html/qmediaservicesupporteddevicesinterface-members.html
index 7ecdc1e7e2..ae41cf7cf4 100644
--- a/doc/html/qmediaservicesupporteddevicesinterface-members.html
+++ b/doc/html/qmediaservicesupporteddevicesinterface-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicesupporteddevicesinterface.html b/doc/html/qmediaservicesupporteddevicesinterface.html
index 42e2f3a9c9..e2aaa6f2cc 100644
--- a/doc/html/qmediaservicesupporteddevicesinterface.html
+++ b/doc/html/qmediaservicesupporteddevicesinterface.html
@@ -44,8 +44,8 @@
<p>Returns a list of devices supported by a plug-in <i>service</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicesupportedformatsinterface-members.html b/doc/html/qmediaservicesupportedformatsinterface-members.html
index ecdae1f44d..e9a13792ab 100644
--- a/doc/html/qmediaservicesupportedformatsinterface-members.html
+++ b/doc/html/qmediaservicesupportedformatsinterface-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediaservicesupportedformatsinterface.html b/doc/html/qmediaservicesupportedformatsinterface.html
index e82057f98d..791afb8771 100644
--- a/doc/html/qmediaservicesupportedformatsinterface.html
+++ b/doc/html/qmediaservicesupportedformatsinterface.html
@@ -44,8 +44,8 @@
<p>Returns a list of MIME types supported by the media service plug-in.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediastreamscontrol-members.html b/doc/html/qmediastreamscontrol-members.html
index a44b2fa485..43c0c83d52 100644
--- a/doc/html/qmediastreamscontrol-members.html
+++ b/doc/html/qmediastreamscontrol-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediastreamscontrol.html b/doc/html/qmediastreamscontrol.html
index fba559839d..2310150600 100644
--- a/doc/html/qmediastreamscontrol.html
+++ b/doc/html/qmediastreamscontrol.html
@@ -138,8 +138,8 @@
<p>Defines the interface name of the <a href="qmediastreamscontrol.html">QMediaStreamsControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediatimeinterval-members.html b/doc/html/qmediatimeinterval-members.html
index bfc66319df..4b13325c43 100644
--- a/doc/html/qmediatimeinterval-members.html
+++ b/doc/html/qmediatimeinterval-members.html
@@ -27,8 +27,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediatimeinterval.html b/doc/html/qmediatimeinterval.html
index 065f63c9c1..7221d5515a 100644
--- a/doc/html/qmediatimeinterval.html
+++ b/doc/html/qmediatimeinterval.html
@@ -74,8 +74,8 @@
<p>Returns a copy of this time interval, translated by a value of <i>offset</i>. An interval can be moved forward through time with a positive offset, or backward through time with a negative offset.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediatimerange-members.html b/doc/html/qmediatimerange-members.html
index 4482f61fa7..d60015ec84 100644
--- a/doc/html/qmediatimerange-members.html
+++ b/doc/html/qmediatimerange-members.html
@@ -46,8 +46,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmediatimerange.html b/doc/html/qmediatimerange.html
index d65eafe96e..3e97dd04b1 100644
--- a/doc/html/qmediatimerange.html
+++ b/doc/html/qmediatimerange.html
@@ -167,8 +167,8 @@
<p>Returns true if all intervals in <i>a</i> are present in <i>b</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessage-members.html b/doc/html/qmessage-members.html
index c83b3b9bff..a8a7137103 100644
--- a/doc/html/qmessage-members.html
+++ b/doc/html/qmessage-members.html
@@ -87,8 +87,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessage.html b/doc/html/qmessage.html
index 31e4c7ed62..a4ef570ff3 100644
--- a/doc/html/qmessage.html
+++ b/doc/html/qmessage.html
@@ -352,8 +352,8 @@
<p>See also <a href="qmessage.html#setType">setType</a>() and <a href="qmessagefilter.html#byType">QMessageFilter::byType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccount-members.html b/doc/html/qmessageaccount-members.html
index c91a86f456..086e000e44 100644
--- a/doc/html/qmessageaccount-members.html
+++ b/doc/html/qmessageaccount-members.html
@@ -26,8 +26,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccount.html b/doc/html/qmessageaccount.html
index eeb1e67c37..1045521107 100644
--- a/doc/html/qmessageaccount.html
+++ b/doc/html/qmessageaccount.html
@@ -70,8 +70,8 @@
<p>Returns the name of the account for display purposes.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountfilter-members.html b/doc/html/qmessageaccountfilter-members.html
index f2467abf05..031d2c9bbc 100644
--- a/doc/html/qmessageaccountfilter-members.html
+++ b/doc/html/qmessageaccountfilter-members.html
@@ -39,8 +39,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountfilter.html b/doc/html/qmessageaccountfilter.html
index 6131b672b1..a7453c5f07 100644
--- a/doc/html/qmessageaccountfilter.html
+++ b/doc/html/qmessageaccountfilter.html
@@ -118,8 +118,8 @@
<p>See also <a href="qmessageaccountfilter.html#isEmpty">isEmpty</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountid-members.html b/doc/html/qmessageaccountid-members.html
index bc8e06798b..bcd3cedf7d 100644
--- a/doc/html/qmessageaccountid-members.html
+++ b/doc/html/qmessageaccountid-members.html
@@ -25,8 +25,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountid.html b/doc/html/qmessageaccountid.html
index 45229d8c00..4d98c8e64f 100644
--- a/doc/html/qmessageaccountid.html
+++ b/doc/html/qmessageaccountid.html
@@ -64,8 +64,8 @@
<p>Returns true if this identifier is ordered before <i>other</i> using an implementation-defined ordering.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountsortorder-members.html b/doc/html/qmessageaccountsortorder-members.html
index e9aabe09aa..e8401a727f 100644
--- a/doc/html/qmessageaccountsortorder-members.html
+++ b/doc/html/qmessageaccountsortorder-members.html
@@ -24,8 +24,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaccountsortorder.html b/doc/html/qmessageaccountsortorder.html
index 65e6829afd..5cc46d5988 100644
--- a/doc/html/qmessageaccountsortorder.html
+++ b/doc/html/qmessageaccountsortorder.html
@@ -65,8 +65,8 @@
<p>Returns true if the sort order is supported on the current platform; otherwise returns false.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaddress-members.html b/doc/html/qmessageaddress-members.html
index 81498ffc78..fd83a187d7 100644
--- a/doc/html/qmessageaddress-members.html
+++ b/doc/html/qmessageaddress-members.html
@@ -28,8 +28,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageaddress.html b/doc/html/qmessageaddress.html
index 2fb3e1b927..8924bda8f6 100644
--- a/doc/html/qmessageaddress.html
+++ b/doc/html/qmessageaddress.html
@@ -102,8 +102,8 @@
<p>See also <a href="qmessageaddress.html#setType">setType</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagecontentcontainer-members.html b/doc/html/qmessagecontentcontainer-members.html
index fca7a45731..b0c7b02233 100644
--- a/doc/html/qmessagecontentcontainer-members.html
+++ b/doc/html/qmessagecontentcontainer-members.html
@@ -41,8 +41,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagecontentcontainer.html b/doc/html/qmessagecontentcontainer.html
index 30e73b58e7..e6a0492374 100644
--- a/doc/html/qmessagecontentcontainer.html
+++ b/doc/html/qmessagecontentcontainer.html
@@ -130,8 +130,8 @@
<p>For a non-multipart container, writes the content as returned by <a href="qmessagecontentcontainer.html#textContent">textContent</a>() to the stream <i>out</i>; otherwise does nothing.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagecontentcontainerid-members.html b/doc/html/qmessagecontentcontainerid-members.html
index 3dba263a6a..ba8bb848c8 100644
--- a/doc/html/qmessagecontentcontainerid-members.html
+++ b/doc/html/qmessagecontentcontainerid-members.html
@@ -24,8 +24,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagecontentcontainerid.html b/doc/html/qmessagecontentcontainerid.html
index 7f621e755f..037547acbf 100644
--- a/doc/html/qmessagecontentcontainerid.html
+++ b/doc/html/qmessagecontentcontainerid.html
@@ -62,8 +62,8 @@
<p>String representations of identifiers should not be used to test for equality, instead the equality operator should be used.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagedatacomparator.html b/doc/html/qmessagedatacomparator.html
index e38627c340..3b9c6f0f9b 100644
--- a/doc/html/qmessagedatacomparator.html
+++ b/doc/html/qmessagedatacomparator.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefilter-members.html b/doc/html/qmessagefilter-members.html
index d159963720..0ec1dfcd2a 100644
--- a/doc/html/qmessagefilter-members.html
+++ b/doc/html/qmessagefilter-members.html
@@ -60,8 +60,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefilter.html b/doc/html/qmessagefilter.html
index 89dc4ae287..43e4852e77 100644
--- a/doc/html/qmessagefilter.html
+++ b/doc/html/qmessagefilter.html
@@ -219,8 +219,8 @@
<p>See also <a href="qmessagefilter.html#isEmpty">isEmpty</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolder-members.html b/doc/html/qmessagefolder-members.html
index bedee2de2c..346f2245c9 100644
--- a/doc/html/qmessagefolder-members.html
+++ b/doc/html/qmessagefolder-members.html
@@ -27,8 +27,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolder.html b/doc/html/qmessagefolder.html
index 185c001b0b..4112d8ac3e 100644
--- a/doc/html/qmessagefolder.html
+++ b/doc/html/qmessagefolder.html
@@ -67,8 +67,8 @@
<p>Returns the path of the folder.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolderfilter-members.html b/doc/html/qmessagefolderfilter-members.html
index 23426ba9be..630e16a9fb 100644
--- a/doc/html/qmessagefolderfilter-members.html
+++ b/doc/html/qmessagefolderfilter-members.html
@@ -47,8 +47,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolderfilter.html b/doc/html/qmessagefolderfilter.html
index 92f9a291f0..f3ad57adff 100644
--- a/doc/html/qmessagefolderfilter.html
+++ b/doc/html/qmessagefolderfilter.html
@@ -154,8 +154,8 @@
<p>See also <a href="qmessagefolderfilter.html#isEmpty">isEmpty</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolderid-members.html b/doc/html/qmessagefolderid-members.html
index 988de1adc7..2b698ab460 100644
--- a/doc/html/qmessagefolderid-members.html
+++ b/doc/html/qmessagefolderid-members.html
@@ -25,8 +25,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefolderid.html b/doc/html/qmessagefolderid.html
index 6ef50819b0..a246c343d6 100644
--- a/doc/html/qmessagefolderid.html
+++ b/doc/html/qmessagefolderid.html
@@ -64,8 +64,8 @@
<p>Returns true if this identifier is ordered before <i>other</i> using an implementation-defined ordering.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefoldersortorder-members.html b/doc/html/qmessagefoldersortorder-members.html
index a80e43fd57..b58a143e15 100644
--- a/doc/html/qmessagefoldersortorder-members.html
+++ b/doc/html/qmessagefoldersortorder-members.html
@@ -27,8 +27,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagefoldersortorder.html b/doc/html/qmessagefoldersortorder.html
index f3e167a493..6e6c66cef1 100644
--- a/doc/html/qmessagefoldersortorder.html
+++ b/doc/html/qmessagefoldersortorder.html
@@ -80,8 +80,8 @@
<p>This function determines sorting precedence.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageid-members.html b/doc/html/qmessageid-members.html
index 67693ba408..32003f939c 100644
--- a/doc/html/qmessageid-members.html
+++ b/doc/html/qmessageid-members.html
@@ -25,8 +25,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageid.html b/doc/html/qmessageid.html
index bef0dc5d0b..d14fbf2c2e 100644
--- a/doc/html/qmessageid.html
+++ b/doc/html/qmessageid.html
@@ -65,8 +65,8 @@
<p>Returns true if this identifier is ordered before <i>other</i> using an implementation-defined ordering.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagemanager-members.html b/doc/html/qmessagemanager-members.html
index b3b436f211..0d5b9966f7 100644
--- a/doc/html/qmessagemanager-members.html
+++ b/doc/html/qmessagemanager-members.html
@@ -97,8 +97,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagemanager.html b/doc/html/qmessagemanager.html
index 69744e91be..d751edee31 100644
--- a/doc/html/qmessagemanager.html
+++ b/doc/html/qmessagemanager.html
@@ -262,8 +262,8 @@
<p>See also <a href="qmessagemanager.html#addMessage">addMessage</a>(), <a href="qmessagemanager.html#removeMessage">removeMessage</a>(), and <a href="qmessageservice.html#exportUpdates">QMessageService::exportUpdates</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageservice-members.html b/doc/html/qmessageservice-members.html
index 0c95d4c177..d0d41a0bf0 100644
--- a/doc/html/qmessageservice-members.html
+++ b/doc/html/qmessageservice-members.html
@@ -87,8 +87,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessageservice.html b/doc/html/qmessageservice.html
index c12d040b2f..3f8bd3f143 100644
--- a/doc/html/qmessageservice.html
+++ b/doc/html/qmessageservice.html
@@ -213,8 +213,8 @@
<p>See also <a href="qmessageservice.html#state">state</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagesortorder-members.html b/doc/html/qmessagesortorder-members.html
index cd42d1e02f..36000e83b9 100644
--- a/doc/html/qmessagesortorder-members.html
+++ b/doc/html/qmessagesortorder-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmessagesortorder.html b/doc/html/qmessagesortorder.html
index a25485408b..287ef9b82b 100644
--- a/doc/html/qmessagesortorder.html
+++ b/doc/html/qmessagesortorder.html
@@ -125,8 +125,8 @@
<p>On the Windows Mobile platform <a href="qmessagesortorder.html#bySubject">bySubject</a>() and <a href="qmessagesortorder.html#byReceptionTimeStamp">byReceptionTimeStamp</a>() sort orders can not be combined with each other.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmetadatacontrol-members.html b/doc/html/qmetadatacontrol-members.html
index 3c0234a8ee..db9f3a9dfe 100644
--- a/doc/html/qmetadatacontrol-members.html
+++ b/doc/html/qmetadatacontrol-members.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmetadatacontrol.html b/doc/html/qmetadatacontrol.html
index 622d9aa782..3eeae89967 100644
--- a/doc/html/qmetadatacontrol.html
+++ b/doc/html/qmetadatacontrol.html
@@ -136,8 +136,8 @@
<p>Defines the interface name of the <a href="qmetadatacontrol.html">QMetaDataControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-contents-default-svg.html b/doc/html/qmlcontacts-contents-default-svg.html
index d2ea735475..b9766bd0cc 100644
--- a/doc/html/qmlcontacts-contents-default-svg.html
+++ b/doc/html/qmlcontacts-contents-default-svg.html
@@ -97,8 +97,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-main-cpp.html b/doc/html/qmlcontacts-main-cpp.html
index 7bfc2d03d2..efae07b452 100644
--- a/doc/html/qmlcontacts-main-cpp.html
+++ b/doc/html/qmlcontacts-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -59,9 +59,9 @@
#include &lt;QDeclarativeComponent&gt;
#include &lt;QDebug&gt;
#include &lt;QDeclarativeView&gt;
- #include &lt;QContactManager&gt;
- #include &quot;qmlcontactsa.h&quot;
- #include &quot;qmlcontact.h&quot;
+ #include &lt;qcontactmanager.h&gt;
+ #include &quot;qmlcontactmodel.h&quot;
+
QT_USE_NAMESPACE
QTM_USE_NAMESPACE
@@ -70,10 +70,8 @@
QApplication app(argc, argv);
QDeclarativeEngine engine;
- QDeclarativeComponent component(&amp;engine, &quot;:example.qml&quot;);
- qmlRegisterType&lt;QmlContact&gt;(&quot;QmlContact&quot;, 1, 0, &quot;QmlContact&quot;);
- qmlRegisterType&lt;QMLContactManagerAsync&gt;(&quot;QMLContactManagerAsync&quot;, 1, 0, &quot;QMLContactManagerAsync&quot;);
+ qmlRegisterType&lt;QMLContactModel&gt;(&quot;QmlContactModel&quot;, 1, 0, &quot;QmlContactModel&quot;);
QWidget *b = new QWidget();
QVBoxLayout *vbox = new QVBoxLayout;
@@ -85,15 +83,14 @@
view-&gt;setSource(QUrl(&quot;qrc:/example.qml&quot;));
vbox-&gt;addWidget(view);
b-&gt;setLayout(vbox);
-<span class="comment"> // b-&gt;resize(800,480);</span>
b-&gt;show();
return app.exec();
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-qmlcontact-cpp.html b/doc/html/qmlcontacts-qmlcontact-cpp.html
deleted file mode 100644
index 6b189b52c1..0000000000
--- a/doc/html/qmlcontacts-qmlcontact-cpp.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qmlcontact.cpp Example File (qmlcontacts/qmlcontact.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontact.cpp Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontact.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #include &quot;qmlcontact.h&quot;
- #include &lt;qcontactdetails.h&gt;
- #include &lt;QtDebug&gt;
- #include &lt;QStringList&gt;
-
- #include &lt;QPixmap&gt;
- #include &lt;QImage&gt;
-
- QT_USE_NAMESPACE
- QTM_USE_NAMESPACE
-
- QmlContact::QmlContact(const QContact&amp; contact, QObject *parent)
- : QObject(parent), m_contact(contact)
- {
- }
-
- QmlContact::QmlContact()
- {
-
- }
-
- QmlContact::~QmlContact()
- {
-
- }
-
- QContact &amp;QmlContact::contact()
- {
- return m_contact;
- }
-
- void QmlContact::setContact(QContact&amp; contact)
- {
- m_contact = contact;
- emit contactChanged(this);
- }
-
- QString QmlContact::name() const
- {
- return m_contact.displayLabel();
- }
-
- void QmlContact::setName(QString name)
- {
- Q_UNUSED(name);
- qWarning() &lt;&lt; &quot;Not implemented yet&quot;;
- emit nameChanged(this);
- }
-
- QString QmlContact::email() const
- {
- QList&lt;QContactDetail&gt; allEmails = m_contact.details(QContactEmailAddress::DefinitionName);
-
- QStringList emails;
- foreach (const QContactDetail&amp; email, allEmails) {
- emails &lt;&lt; email.value(QContactEmailAddress::FieldEmailAddress);
- }
- return emails.join(QString::fromLatin1(&quot;,&quot;));
- }
-
- void QmlContact::setEmail(QString email)
- {
- Q_UNUSED(email);
- qWarning() &lt;&lt; &quot;Not implemented yet&quot;;
- emit emailChanged(this);
- }
-
- QString QmlContact::avatar() const
- {
- return m_contact.detail&lt;QContactAvatar&gt;().imageUrl().toString();
- }
-
- QPixmap QmlContact::thumbnail() const
- {
- return QPixmap::fromImage(m_contact.detail&lt;QContactThumbnail&gt;().thumbnail());
- }
-
- bool QmlContact::hasThumbnail() const
- {
- return !thumbnail().isNull();
- }
-
- QString QmlContact::interest() const
- {
- <span class="comment">// Try a phone number</span>
- QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber);
- if (!det.isEmpty())
- return det;
-
- det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress);
- if (!det.isEmpty())
- return det;
-
- det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri);
- if (!det.isEmpty())
- return det;
-
- <span class="comment">// Well, don't know.</span>
- return QString();
- }
-
- QString QmlContact::interestLabel() const
- {
- <span class="comment">// Try a phone number</span>
- QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber);
- if (!det.isEmpty())
- return tr(&quot;Phone number:&quot;);
-
- det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress);
- if (!det.isEmpty())
- return tr(&quot;Email:&quot;);
-
- det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri);
- if (!det.isEmpty())
- return QString(&quot;%1:&quot;).arg(m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldServiceProvider));
-
- <span class="comment">// Well, don't know.</span>
- return QString();
- }
-
- QStringList QmlContact::details()
- {
- QStringList dets;
- QList&lt;QContactDetail&gt; ld = m_contact.details();
- QContactDetail d;
- foreach(d, ld){
- dets += d.definitionName();
- }
- return dets;
- }
-
- QStringList QmlContact::contexts()
- {
- QStringList dets;
- QList&lt;QContactDetail&gt; ld = m_contact.details();
- QContactDetail d;
- foreach(d, ld){
- dets += d.contexts();
- }
- return dets;
- }
-
- QVariantMap QmlContact::values(QString definitionId)
- {
- QStringList strlist;
- QContactDetail detail = m_contact.detail(definitionId);
-
- QVariantMap map = detail.variantValues();
- return map;
- }
-
- #include &quot;moc_qmlcontact.cpp&quot;</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/qmlcontacts-qmlcontact-h.html b/doc/html/qmlcontacts-qmlcontact-h.html
deleted file mode 100644
index 3cacc6b9ab..0000000000
--- a/doc/html/qmlcontacts-qmlcontact-h.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qmlcontact.h Example File (qmlcontacts/qmlcontact.h)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontact.h Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontact.h</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #ifndef QMLCONTACT_H
- #define QMLCONTACT_H
-
- #include &lt;qmobilityglobal.h&gt;
- #include &lt;QObject&gt;
- #include &lt;QContact&gt;
- #include &lt;qdeclarative.h&gt;
-
- QTM_USE_NAMESPACE
-
- class QmlContact : public QObject {
- Q_OBJECT
- Q_PROPERTY(QContact contact READ contact WRITE setContact NOTIFY contactChanged)
- Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
- Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
- Q_PROPERTY(QString avatar READ avatar NOTIFY avatarChanged)
- Q_PROPERTY(QPixmap thumbnail READ thumbnail)
- Q_PROPERTY(bool hasThumbnail READ hasThumbnail)
- Q_PROPERTY(QStringList details READ details)
- Q_PROPERTY(QStringList contexts READ contexts)
- Q_PROPERTY(QString interest READ interest)
- Q_PROPERTY(QString interestLabel READ interestLabel)
- public:
- explicit QmlContact(const QContact&amp; contact, QObject *parent = 0);
- QmlContact();
- ~QmlContact();
-
- QContact&amp; contact();
- void setContact(QContact&amp; contact);
-
- QString name() const;
- void setName(QString name);
-
- QString email() const;
- void setEmail(QString email);
-
- bool hasThumbnail() const;
- QString avatar() const;
- QPixmap thumbnail() const;
-
- QString interest() const;
- QString interestLabel() const;
-
- QStringList details();
-
- QStringList contexts();
-
- Q_INVOKABLE QVariantMap values(QString definitionId);
-
- signals:
- void contactChanged(QmlContact* qmlcontact);
- void nameChanged(QmlContact* qmlcontact);
- void emailChanged(QmlContact* qmlcontact);
-
- private:
- QContact m_contact;
- };
-
- QML_DECLARE_TYPE(QmlContact)
-
- #endif <span class="comment">// QMLCONTACT_H</span></pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/qmlcontacts-qmlcontactmodel-cpp.html b/doc/html/qmlcontacts-qmlcontactmodel-cpp.html
new file mode 100644
index 0000000000..c47ae1f48d
--- /dev/null
+++ b/doc/html/qmlcontacts-qmlcontactmodel-cpp.html
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Qt Mobility Project 1.0: qmlcontactmodel.cpp Example File (qmlcontacts/qmlcontactmodel.cpp)</title>
+ <link href="classic.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr>
+<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
+<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
+<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontactmodel.cpp Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontactmodel.cpp</span>
+</h1>
+<pre><span class="comment"> /****************************************************************************
+ **
+ ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** All rights reserved.
+ ** Contact: Nokia Corporation (qt-info@nokia.com)
+ **
+ ** This file is part of the Qt Mobility Components.
+ **
+ ** $QT_BEGIN_LICENSE:BSD$
+ ** You may use this file under the terms of the BSD license as follows:
+ **
+ ** &quot;Redistribution and use in source and binary forms, with or without
+ ** modification, are permitted provided that the following conditions are
+ ** met:
+ ** * Redistributions of source code must retain the above copyright
+ ** notice, this list of conditions and the following disclaimer.
+ ** * Redistributions in binary form must reproduce the above copyright
+ ** notice, this list of conditions and the following disclaimer in
+ ** the documentation and/or other materials provided with the
+ ** distribution.
+ ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+ ** the names of its contributors may be used to endorse or promote
+ ** products derived from this software without specific prior written
+ ** permission.
+ **
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
+ ** $QT_END_LICENSE$
+ **
+ ****************************************************************************/</span>
+
+ #include &lt;qcontactdetails.h&gt;
+
+ #include &quot;qmlcontactmodel.h&quot;
+ #include &quot;qcontactmanager.h&quot;
+ #include &quot;qcontactdetailfilter.h&quot;
+ #include &quot;qversitreader.h&quot;
+ #include &quot;qversitcontactimporter.h&quot;
+
+ #include &lt;QColor&gt;
+ #include &lt;QHash&gt;
+ #include &lt;QDebug&gt;
+ #include &lt;QPixmap&gt;
+ #include &lt;QFile&gt;
+
+ QMLContactModel::QMLContactModel(QObject *parent) :
+ QAbstractListModel(parent),
+ m_manager(0)
+ {
+ QHash&lt;int, QByteArray&gt; roleNames;
+ roleNames = QAbstractItemModel::roleNames();
+ roleNames.insert(InterestLabelRole, &quot;interestLabel&quot;);
+ roleNames.insert(InterestRole, &quot;interest&quot;);
+ roleNames.insert(AvatarRole, &quot;avatar&quot;);
+ roleNames.insert(PresenceAvailableRole, &quot;presenceSupported&quot;);
+ roleNames.insert(PresenceTextRole, &quot;presenceText&quot;);
+ roleNames.insert(PresenceStateRole, &quot;presenceState&quot;);
+ roleNames.insert(PresenceMessageRole, &quot;presenceMessage&quot;);
+ setRoleNames(roleNames);
+
+ m_fetchHint.setOptimizationHints(QContactFetchHint::NoActionPreferences | QContactFetchHint::NoRelationships);
+ m_fetchHint.setDetailDefinitionsHint(QStringList()
+ &lt;&lt; QContactPhoneNumber::DefinitionName
+ &lt;&lt; QContactEmailAddress::DefinitionName
+ &lt;&lt; QContactThumbnail::DefinitionName
+ &lt;&lt; QContactAvatar::DefinitionName
+ &lt;&lt; QContactGlobalPresence::DefinitionName
+ &lt;&lt; QContactDisplayLabel::DefinitionName
+ &lt;&lt; QContactOnlineAccount::DefinitionName);
+ m_sortOrder.setDetailDefinitionName(QContactDisplayLabel::DefinitionName, QContactDisplayLabel::FieldLabel);
+ m_sortOrder.setCaseSensitivity(Qt::CaseSensitive);
+
+ connect(&amp;m_contactsRequest, SIGNAL(resultsAvailable()), this, SLOT(resultsReceived()));
+ m_contactsRequest.setFetchHint(m_fetchHint);
+ m_contactsRequest.setSorting(m_sortOrder);
+
+ QContactDetailFilter d;
+ d.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType);
+ d.setValue(QContactType::TypeContact);
+
+ m_contactsRequest.setFilter(d);
+
+ setManager(QString());
+ }
+
+ QStringList QMLContactModel::availableManagers() const
+ {
+ return QContactManager::availableManagers();
+ }
+
+ QString QMLContactModel::manager()
+ {
+ return m_manager-&gt;managerName();
+ }
+
+ void QMLContactModel::fillContactsIntoMemoryEngine(QContactManager* manager)
+ {
+ QVersitReader reader;
+ QFile file(&quot;:/contents/example.vcf&quot;);
+ bool ok = file.open(QIODevice::ReadOnly);
+ if (ok) {
+ reader.setDevice(&amp;file);
+ if (reader.startReading() &amp;&amp; reader.waitForFinished()) {
+ QVersitContactImporter importer;
+ importer.importDocuments(reader.results());
+ QList&lt;QContact&gt; contacts = importer.contacts();
+ manager-&gt;saveContacts(&amp;contacts, 0);
+ }
+ }
+ }
+
+ int QMLContactModel::rowCount(const QModelIndex &amp;parent) const
+ {
+ Q_UNUSED(parent);
+ return m_contacts.count();
+ }
+
+ void QMLContactModel::setManager(const QString&amp; managerName)
+ {
+ delete m_manager;
+ m_manager = new QContactManager(managerName);
+
+ if (managerName == &quot;memory&quot; &amp;&amp; m_manager-&gt;contactIds().isEmpty()) {
+ fillContactsIntoMemoryEngine(m_manager);
+ }
+
+ qWarning() &lt;&lt; &quot;Changed backend to: &quot; &lt;&lt; managerName;
+ m_contactsRequest.setManager(m_manager);
+ connect(m_manager, SIGNAL(dataChanged()), this, SLOT(fetchAgain()));
+ fetchAgain();
+ }
+
+ void QMLContactModel::resultsReceived()
+ {
+ int oldCount = m_contacts.count();
+ int newCount = m_contactsRequest.contacts().count();
+ if (newCount &gt; oldCount) {
+ <span class="comment">// Assuming the order is the same</span>
+ beginInsertRows(QModelIndex(), newCount - oldCount, newCount);
+ m_contacts = m_contactsRequest.contacts();
+ endInsertRows();
+ } else {
+ <span class="comment">// Hmm, shouldn't happen</span>
+ reset();
+ beginInsertRows(QModelIndex(), 0, m_contactsRequest.contacts().count());
+ m_contacts = m_contactsRequest.contacts();
+ endInsertRows();
+ }
+ }
+
+ void QMLContactModel::fetchAgain()
+ {
+ m_contacts.clear();
+ reset();
+ m_contactsRequest.start();
+ }
+
+ QPair&lt;QString, QString&gt; QMLContactModel::interestingDetail(const QContact&amp;c) const
+ {
+ <span class="comment">// Try a phone number, then email, then online account</span>
+ <span class="comment">// This does only check the first detail of each type</span>
+ QContactDetail p = c.details&lt;QContactPhoneNumber&gt;().value(0);
+ if (!p.isEmpty())
+ return qMakePair(tr(&quot;Phone&quot;), p.value(QContactPhoneNumber::FieldNumber));
+
+ p = c.details&lt;QContactEmailAddress&gt;().value(0);
+ if (!p.isEmpty())
+ return qMakePair(tr(&quot;Email&quot;), p.value(QContactEmailAddress::FieldEmailAddress));
+
+ p = c.details&lt;QContactOnlineAccount&gt;().value(0);
+ if (!p.isEmpty())
+ return qMakePair(p.value(QContactOnlineAccount::FieldServiceProvider), p.value(QContactOnlineAccount::FieldAccountUri));
+
+ <span class="comment">// Well, don't know.</span>
+ return qMakePair(QString(), QString());
+ }
+
+ QVariant QMLContactModel::data(const QModelIndex &amp;index, int role) const
+ {
+ QContact c = m_contacts.value(index.row());
+ switch(role) {
+ case Qt::DisplayRole:
+ return c.displayLabel();
+ case InterestLabelRole:
+ return interestingDetail(c).first;
+ case InterestRole:
+ return interestingDetail(c).second;
+ case AvatarRole:
+ if (c.detail&lt;QContactThumbnail&gt;().isEmpty()) {
+ QContactAvatar a = c.detail&lt;QContactAvatar&gt;();
+ if (!a.imageUrl().isEmpty())
+ return a.imageUrl();
+ else
+ return QString(&quot;qrc:/default.svg&quot;);
+ } else {
+ <span class="comment">// We have a thumbnail, so return empty</span>
+ return QString(&quot;&quot;);
+ }
+ case Qt::DecorationRole:
+ {
+ QContactThumbnail t = c.detail&lt;QContactThumbnail&gt;();
+ if (!t.thumbnail().isNull())
+ return QPixmap::fromImage(t.thumbnail());
+ }
+ return QPixmap();
+ case PresenceAvailableRole:
+ return !c.detail&lt;QContactGlobalPresence&gt;().isEmpty();
+ case PresenceMessageRole:
+ return c.detail&lt;QContactGlobalPresence&gt;().customMessage();
+ case PresenceTextRole:
+ return c.detail&lt;QContactGlobalPresence&gt;().presenceStateText();
+ case PresenceStateRole:
+ return c.detail&lt;QContactGlobalPresence&gt;().presenceState();
+ }
+ return QVariant();
+ }</pre>
+<p /><address><hr /><div align="center">
+<table width="100%" cellspacing="0" border="0"><tr class="address">
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
+</tr></table></div></address></body>
+</html>
diff --git a/doc/html/declarative-sfw-notes-sfwnotes-h.html b/doc/html/qmlcontacts-qmlcontactmodel-h.html
index 7f5773bce8..58052a1b43 100644
--- a/doc/html/declarative-sfw-notes-sfwnotes-h.html
+++ b/doc/html/qmlcontacts-qmlcontactmodel-h.html
@@ -3,7 +3,7 @@
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
- <title>Qt Mobility Project 1.0: sfwnotes.h Example File (declarative-sfw-notes/sfwnotes.h)</title>
+ <title>Qt Mobility Project 1.0: qmlcontactmodel.h Example File (qmlcontacts/qmlcontactmodel.h)</title>
<link href="classic.css" rel="stylesheet" type="text/css" />
</head>
<body>
@@ -11,7 +11,7 @@
<tr>
<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">sfwnotes.h Example File<br /><span class="small-subtitle">declarative-sfw-notes/sfwnotes.h</span>
+<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontactmodel.h Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontactmodel.h</span>
</h1>
<pre><span class="comment"> /****************************************************************************
**
@@ -51,36 +51,67 @@
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
** $QT_END_LICENSE$
**
- ***************************************************************************/</span>
+ ****************************************************************************/</span>
- #ifndef SFWNOTES_H
- #define SFWNOTES_H
+ #ifndef QMLCONTACTMODEL_H
+ #define QMLCONTACTMODEL_H
- #include &lt;QtCore&gt;
- #include &lt;qserviceinterfacedescriptor.h&gt;
- #include &lt;qservicemanager.h&gt;
+ #include &lt;QAbstractListModel&gt;
+ #include &quot;qcontact.h&quot;
+ #include &quot;qcontactmanager.h&quot;
+ #include &quot;qcontactfetchrequest.h&quot;
- QTM_USE_NAMESPACE
+ QTM_USE_NAMESPACE;
+ class QMLContactModel : public QAbstractListModel
+ {
+ Q_OBJECT
+ Q_PROPERTY(QStringList availableManagers READ availableManagers)
+ Q_PROPERTY(QString manager READ manager WRITE setManager)
+ public:
+ explicit QMLContactModel(QObject *parent = 0);
- class ToDoTool : public QObject {
- Q_OBJECT
+ enum {
+ InterestRole = Qt::UserRole + 500,
+ InterestLabelRole,
+ AvatarRole,
+ PresenceAvailableRole,
+ PresenceTextRole,
+ PresenceStateRole,
+ PresenceMessageRole
+ };
- public:
- ToDoTool();
- ~ToDoTool();
+ QStringList availableManagers() const;
+
+ QString manager();
+ void setManager(const QString&amp; manager);
+
+ int rowCount(const QModelIndex &amp;parent) const;
+ QVariant data(const QModelIndex &amp;index, int role) const;
+ signals:
+
+ public slots:
+
+ private slots:
+ void resultsReceived();
+ void fetchAgain();
private:
- void registerExampleServices();
- void unregisterExampleServices();
+ QPair&lt;QString, QString&gt; interestingDetail(const QContact&amp;c) const;
+
+ void fillContactsIntoMemoryEngine(QContactManager* manager);
- QServiceManager* serviceManager;
+ QList&lt;QContact&gt; m_contacts;
+ QContactManager* m_manager;
+ QContactFetchHint m_fetchHint;
+ QContactSortOrder m_sortOrder;
+ QContactFetchRequest m_contactsRequest;
};
- #endif</pre>
+ #endif <span class="comment">// QMLCONTACTMODEL_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-qmlcontacts-cpp.html b/doc/html/qmlcontacts-qmlcontacts-cpp.html
deleted file mode 100644
index a0c5d29c45..0000000000
--- a/doc/html/qmlcontacts-qmlcontacts-cpp.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qmlcontacts.cpp Example File (qmlcontacts/qmlcontacts.cpp)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontacts.cpp Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontacts.cpp</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
- #include &quot;qmlcontactsa.h&quot;
-
- #include &lt;QtDebug&gt;
- #include &lt;QFile&gt;
- #include &lt;QIODevice&gt;
- #include &lt;qcontactfetchrequest.h&gt;
- #include &lt;qcontactlocalidfilter.h&gt;
- #include &lt;qcontactdetails.h&gt;
- #include &lt;qversitreader.h&gt;
- #include &lt;qversitcontactimporter.h&gt;
-
- QT_USE_NAMESPACE
- QTM_USE_NAMESPACE
-
-<span class="comment"> // </span>![0]
- QMLContactManagerAsync::QMLContactManagerAsync(QObject *parent)
- : QObject(parent)
- {
- qc = new QContactManager();
- }
-
- QMLContactManagerAsync::~QMLContactManagerAsync()
- {
- delete qc;
- }
-
- QString QMLContactManagerAsync::availableManagers() const
- {
- return QContactManager::availableManagers().join(&quot; &quot;);
- }
-
- QString QMLContactManagerAsync::manager()
- {
- return qc-&gt;managerName();
- }
-
- void QMLContactManagerAsync::fillContactsIntoMemoryEngine(QContactManager* manager)
- {
- QVersitReader reader;
- QFile file(&quot;:/contents/example.vcf&quot;);
- bool ok = file.open(QIODevice::ReadOnly);
- if (ok) {
- reader.setDevice(&amp;file);
- if (reader.startReading() &amp;&amp; reader.waitForFinished()) {
- QVersitContactImporter importer;
- importer.importDocuments(reader.results());
- QList&lt;QContact&gt; contacts = importer.contacts();
- manager-&gt;saveContacts(&amp;contacts, 0);
- }
- }
- }
-
- void QMLContactManagerAsync::setManager(QString manager)
- {
- delete qc;
- qc = new QContactManager(manager);
- connect(qc, SIGNAL(contactsAdded(QList&lt;QContactLocalId&gt;)), this, SIGNAL(contactsAdded(QList&lt;QContactLocalId&gt;)));
- connect(qc, SIGNAL(contactsChanged(QList&lt;QContactLocalId&gt;)), this, SIGNAL(contactsChanged(QList&lt;QContactLocalId&gt;)));
- connect(qc, SIGNAL(contactsRemoved(QList&lt;QContactLocalId&gt;)), this, SIGNAL(contactsRemoved(QList&lt;QContactLocalId&gt;)));
- connect(qc, SIGNAL(relationshipsAdded(QList&lt;QContactLocalId&gt;)), this, SIGNAL(relationshipsAdded(QList&lt;QContactLocalId&gt;)));
- connect(qc, SIGNAL(relationshipsRemoved(QList&lt;QContactLocalId&gt;)), this, SIGNAL(relationshipsRemoved(QList&lt;QContactLocalId&gt;)));
-
- if (manager == &quot;memory&quot; &amp;&amp; qc-&gt;contactIds().isEmpty()) {
- fillContactsIntoMemoryEngine(qc);
- }
-
- qWarning() &lt;&lt; &quot;Changed backend to: &quot; &lt;&lt; manager;
- }
-
- QString QMLContactManagerAsync::contactListToQString(const QList&lt;QContactLocalId&gt;&amp; contactIds) const
- {
- QString list;
-
- for (int i = 0; i &lt; contactIds.count(); i++) {
- list += QString::number(contactIds.at(i)) + ' ';
- }
-
- return list;
- }
-
- QStringList QMLContactManagerAsync::contactListToQString(const QList&lt;QContact&gt;&amp; contact) const
- {
- QStringList list;
-
- for (int i = 0; i &lt; contact.count(); i++) {
- list += qc-&gt;synthesizedContactDisplayLabel(contact.at(i));
- }
-
- return list;
- }
-
- int QMLContactManagerAsync::numContacts()
- {
- return qc-&gt;contactIds().count();
- }
-
- void QMLContactManagerAsync::contacts()
- {
- m_contactIds.clear();
- QContactFetchRequest* req = new QContactFetchRequest;
- QContactLocalIdFilter idFil;
- idFil.setIds(qc-&gt;contactIds());
- req-&gt;setFilter(idFil);
- req-&gt;setManager(qc);
- connect(req, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(contactProgress(QContactAbstractRequest::State)));
- req-&gt;start();
- }
-
- void QMLContactManagerAsync::contactProgress(QContactAbstractRequest::State newState)
- {
- QContactFetchRequest *request = qobject_cast&lt;QContactFetchRequest*&gt;(sender());
-
- <span class="comment">// first, check to make sure that the request is still valid.</span>
- if (qc != request-&gt;manager() ||
- newState == QContactAbstractRequest::CanceledState) {
- request-&gt;deleteLater();
- return; <span class="comment">// ignore these results.</span>
- }
-
- if(request-&gt;contacts().count() &gt; 0) {
- foreach(const QContact&amp; c, request-&gt;contacts()) {
- QmlContact qmlc(c);
- emit contactsLoaded(&amp;qmlc);
- }
- }
-
- <span class="comment">// check to see if the request status is &quot;finished&quot; - clean up.</span>
- if (newState == QContactAbstractRequest::FinishedState) {
- request-&gt;deleteLater();
- emit contactsLoadedDone();
- }
- }
-
- QString QMLContactManagerAsync::idToName(QString name)
- {
- QContact c = qc-&gt;contact(name.toInt());
- return qc-&gt;synthesizedContactDisplayLabel(c);
- }
-
-<span class="comment"> // </span>![0]
-
- #include &quot;moc_qmlcontactsa.cpp&quot;</pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/qmlcontacts-qmlcontacts-pro.html b/doc/html/qmlcontacts-qmlcontacts-pro.html
index 485da9f746..9903a53450 100644
--- a/doc/html/qmlcontacts-qmlcontacts-pro.html
+++ b/doc/html/qmlcontacts-qmlcontacts-pro.html
@@ -15,46 +15,41 @@
</h1>
<pre> TEMPLATE = app
TARGET = qmlcontacts
-
CONFIG += mobility
- MOBILITY = contacts versit
-
+ MOBILITY = contacts \
+ versit
DEPENDPATH += .
INCLUDEPATH += . \
- ../../include \
- ../../src/contacts \
- ../../src/contacts/requests \
- ../../src/contacts/details \
- ../../src/contacts/filters \
- ../../src/versit
-
+ ../../include \
+ ../../src/contacts \
+ ../../src/contacts/requests \
+ ../../src/contacts/details \
+ ../../src/contacts/filters \
+ ../../src/versit
QT += declarative
QT += script
# Input
SOURCES += main.cpp \
- qmlcontacts.cpp \
- qmlcontact.cpp
- HEADERS += qmlcontactsa.h \
- qmlcontact.h
+ qmlcontactmodel.cpp
+
+ HEADERS += qmlcontactmodel.h
+
RESOURCES += qmlcontacts.qrc
OTHER_FILES += example.qml \
contents/example.vcf \
contents/MediaButton.qml \
ScrollBar.qml
-
- symbian: {
- TARGET.CAPABILITY = ReadUserData \
- WriteUserData \
- ReadDeviceData \
- WriteDeviceData \
- SwEvent
- }
+ symbian::TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData \
+ SwEvent
include(../examples.pri)</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-qmlcontacts-qrc.html b/doc/html/qmlcontacts-qmlcontacts-qrc.html
index 2bc72869ae..78b7c18e48 100644
--- a/doc/html/qmlcontacts-qmlcontacts-qrc.html
+++ b/doc/html/qmlcontacts-qmlcontacts-qrc.html
@@ -20,12 +20,14 @@
&lt;file&gt;ScrollBar.qml&lt;/file&gt;
&lt;file&gt;contents/example.vcf&lt;/file&gt;
&lt;file alias=&quot;default.svg&quot;&gt;contents/default.svg&lt;/file&gt;
+ &lt;file&gt;contents/pics/button-pressed.png&lt;/file&gt;
+ &lt;file&gt;contents/pics/button.png&lt;/file&gt;
&lt;/qresource&gt;
&lt;/RCC&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qmlcontacts-qmlcontactsa-h.html b/doc/html/qmlcontacts-qmlcontactsa-h.html
deleted file mode 100644
index 625f7192b4..0000000000
--- a/doc/html/qmlcontacts-qmlcontactsa-h.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Qt Mobility Project 1.0: qmlcontactsa.h Example File (qmlcontacts/qmlcontactsa.h)</title>
- <link href="classic.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qtlogo.png" align="left" border="0" /></a></td>
-<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
-<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">qmlcontactsa.h Example File<br /><span class="small-subtitle">qmlcontacts/qmlcontactsa.h</span>
-</h1>
-<pre><span class="comment"> /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- ** All rights reserved.
- ** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the Qt Mobility Components.
- **
- ** $QT_BEGIN_LICENSE:BSD$
- ** You may use this file under the terms of the BSD license as follows:
- **
- ** &quot;Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions are
- ** met:
- ** * Redistributions of source code must retain the above copyright
- ** notice, this list of conditions and the following disclaimer.
- ** * Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions and the following disclaimer in
- ** the documentation and/or other materials provided with the
- ** distribution.
- ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
- ** the names of its contributors may be used to endorse or promote
- ** products derived from this software without specific prior written
- ** permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ** &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&quot;
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/</span>
-
- #ifndef QMLCONTACTS_H
- #define QMLCONTACTS_H
-
- #include &lt;QObject&gt;
- #include &lt;qmobilityglobal.h&gt;
- #include &lt;QContactManager&gt;
- #include &lt;QContactAbstractRequest&gt;
-
- #include &quot;qmlcontact.h&quot;
-
- QTM_BEGIN_NAMESPACE
- class QContactFetchRequest;
- QTM_END_NAMESPACE
-
- QTM_USE_NAMESPACE
-
-<span class="comment"> // </span>![0]
- #include &lt;QtDeclarative&gt;
-
- class QMLContactManagerAsync : public QObject {
- Q_OBJECT
- Q_PROPERTY(QString availableManagers READ availableManagers)
- Q_PROPERTY(QString manager READ manager WRITE setManager)
- Q_PROPERTY(int numContacts READ numContacts)
- public:
- QMLContactManagerAsync(QObject *parent = 0);
- ~QMLContactManagerAsync();
-
- QString availableManagers() const;
-
- QString manager();
- void setManager(QString manager);
-
- Q_INVOKABLE void contacts();
-
- int numContacts();
-
- Q_INVOKABLE QString idToName(QString name);
-<span class="comment"> // void setName(const QString &amp;);</span>
-<span class="comment"> //</span>
-<span class="comment"> // int shoeSize() const;</span>
-<span class="comment"> // void setShoeSize(int);</span>
-
- Q_SIGNALS:
- void dataChanged();
- void contactsAdded(const QList&lt;QContactLocalId&gt;&amp; contactIds);
- void contactsChanged(const QList&lt;QContactLocalId&gt;&amp; contactIds);
- void contactsRemoved(const QList&lt;QContactLocalId&gt;&amp; contactIds);
- void relationshipsAdded(const QList&lt;QContactLocalId&gt;&amp; contactIds);
- void relationshipsRemoved(const QList&lt;QContactLocalId&gt;&amp; contactIds);
-
- void contactsLoaded(QmlContact *contact);
- void contactsLoadedDone();
-
- private slots:
-
- void contactProgress(QContactAbstractRequest::State newState);
-
- private:
- QContactManager *qc;
- <span class="comment">//QStringList m_contacts;</span>
- QList&lt;QContactLocalId&gt; m_contactIds;
- void fillContactsIntoMemoryEngine(QContactManager* manager);
- QString contactListToQString(const QList&lt;QContactLocalId&gt;&amp; contactIds) const;
- QStringList contactListToQString(const QList&lt;QContact&gt;&amp; contact) const;
- };
- QML_DECLARE_TYPE(QMLContactManagerAsync)
-<span class="comment"> // </span>![0]
-
- #endif <span class="comment">// QMLCONTACTS_H</span></pre>
-<p /><address><hr /><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
-<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
-</tr></table></div></address></body>
-</html>
diff --git a/doc/html/qmlcontacts.html b/doc/html/qmlcontacts.html
index 8fc8b0b6c8..60d93e495c 100644
--- a/doc/html/qmlcontacts.html
+++ b/doc/html/qmlcontacts.html
@@ -16,10 +16,8 @@
</h1>
<p>Files:</p>
<ul>
-<li><a href="qmlcontacts-qmlcontact-cpp.html">qmlcontacts/qmlcontact.cpp</a></li>
-<li><a href="qmlcontacts-qmlcontact-h.html">qmlcontacts/qmlcontact.h</a></li>
-<li><a href="qmlcontacts-qmlcontacts-cpp.html">qmlcontacts/qmlcontacts.cpp</a></li>
-<li><a href="qmlcontacts-qmlcontactsa-h.html">qmlcontacts/qmlcontactsa.h</a></li>
+<li><a href="qmlcontacts-qmlcontactmodel-cpp.html">qmlcontacts/qmlcontactmodel.cpp</a></li>
+<li><a href="qmlcontacts-qmlcontactmodel-h.html">qmlcontacts/qmlcontactmodel.h</a></li>
<li><a href="qmlcontacts-contents-default-svg.html">qmlcontacts/contents/default.svg</a></li>
<li><a href="qmlcontacts-main-cpp.html">qmlcontacts/main.cpp</a></li>
<li><a href="qmlcontacts-qmlcontacts-pro.html">qmlcontacts/qmlcontacts.pro</a></li>
@@ -45,8 +43,8 @@
<p>The example is not intended to be feature complete. Only a very limited subset of detail types are supported by the application. It exercises only a very small portion of the Qt Contacts API. The example is read-only and not performant.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworkconfiguration-members.html b/doc/html/qnetworkconfiguration-members.html
index 96618291bf..93e82759fa 100644
--- a/doc/html/qnetworkconfiguration-members.html
+++ b/doc/html/qnetworkconfiguration-members.html
@@ -41,8 +41,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworkconfiguration.html b/doc/html/qnetworkconfiguration.html
index 5d4e34d9d5..6a7f3b77a1 100644
--- a/doc/html/qnetworkconfiguration.html
+++ b/doc/html/qnetworkconfiguration.html
@@ -177,8 +177,8 @@
<p>Returns true, if this configuration is the same as the <i>other</i> configuration given; otherwise returns false.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworkconfigurationmanager-members.html b/doc/html/qnetworkconfigurationmanager-members.html
index b311fcb81f..55a9f25026 100644
--- a/doc/html/qnetworkconfigurationmanager-members.html
+++ b/doc/html/qnetworkconfigurationmanager-members.html
@@ -82,8 +82,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworkconfigurationmanager.html b/doc/html/qnetworkconfigurationmanager.html
index c3d6963708..42905bfb03 100644
--- a/doc/html/qnetworkconfigurationmanager.html
+++ b/doc/html/qnetworkconfigurationmanager.html
@@ -161,8 +161,8 @@
<p>See also <a href="qnetworkconfigurationmanager.html#allConfigurations">allConfigurations</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworksession-members.html b/doc/html/qnetworksession-members.html
index ce6e4756bf..65d22dce38 100644
--- a/doc/html/qnetworksession-members.html
+++ b/doc/html/qnetworksession-members.html
@@ -96,8 +96,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnetworksession.html b/doc/html/qnetworksession.html
index e108c1e784..2af7f5edd6 100644
--- a/doc/html/qnetworksession.html
+++ b/doc/html/qnetworksession.html
@@ -294,8 +294,8 @@
<p>See also <a href="qnetworksession.html#open">open</a>() and <a href="qnetworksession.html#error">error</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnmeapositioninfosource-members.html b/doc/html/qnmeapositioninfosource-members.html
index ee06554b5e..1bca0c7769 100644
--- a/doc/html/qnmeapositioninfosource-members.html
+++ b/doc/html/qnmeapositioninfosource-members.html
@@ -89,8 +89,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qnmeapositioninfosource.html b/doc/html/qnmeapositioninfosource.html
index c220e8d8a3..2896eee865 100644
--- a/doc/html/qnmeapositioninfosource.html
+++ b/doc/html/qnmeapositioninfosource.html
@@ -151,8 +151,8 @@
<p>Returns the update mode.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationfilter-members.html b/doc/html/qorientationfilter-members.html
index b936f67920..8b38680821 100644
--- a/doc/html/qorientationfilter-members.html
+++ b/doc/html/qorientationfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationfilter.html b/doc/html/qorientationfilter.html
index daac82aebf..a5140ed3ce 100644
--- a/doc/html/qorientationfilter.html
+++ b/doc/html/qorientationfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationreading-members.html b/doc/html/qorientationreading-members.html
index 54d56bdd6f..b9fec843f2 100644
--- a/doc/html/qorientationreading-members.html
+++ b/doc/html/qorientationreading-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationreading.html b/doc/html/qorientationreading.html
index 0054eb2b85..562ac23abe 100644
--- a/doc/html/qorientationreading.html
+++ b/doc/html/qorientationreading.html
@@ -105,8 +105,8 @@
<p>See also <a href="qorientationreading.html#orientation-prop">orientation</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationsensor-members.html b/doc/html/qorientationsensor-members.html
index f54f29535d..5532631c80 100644
--- a/doc/html/qorientationsensor-members.html
+++ b/doc/html/qorientationsensor-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qorientationsensor.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qorientationsensor.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qorientationsensor.html b/doc/html/qorientationsensor.html
index 471a7fc2af..b411ab38b8 100644
--- a/doc/html/qorientationsensor.html
+++ b/doc/html/qorientationsensor.html
@@ -67,8 +67,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximityfilter-members.html b/doc/html/qproximityfilter-members.html
index e0be760864..6a3e9f314a 100644
--- a/doc/html/qproximityfilter-members.html
+++ b/doc/html/qproximityfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximityfilter.html b/doc/html/qproximityfilter.html
index 2ac099c196..a569f2188a 100644
--- a/doc/html/qproximityfilter.html
+++ b/doc/html/qproximityfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximityreading-members.html b/doc/html/qproximityreading-members.html
index d18f251500..dfdf95ec41 100644
--- a/doc/html/qproximityreading-members.html
+++ b/doc/html/qproximityreading-members.html
@@ -73,8 +73,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximityreading.html b/doc/html/qproximityreading.html
index e88131f921..4ea8dcdbe1 100644
--- a/doc/html/qproximityreading.html
+++ b/doc/html/qproximityreading.html
@@ -74,8 +74,8 @@
<p>See also <a href="qproximityreading.html#close-prop">close</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximitysensor-members.html b/doc/html/qproximitysensor-members.html
index f904da7d78..02a8262c3a 100644
--- a/doc/html/qproximitysensor-members.html
+++ b/doc/html/qproximitysensor-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qproximitysensor.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qproximitysensor.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qproximitysensor.html b/doc/html/qproximitysensor.html
index ecb41ae8bc..0a2503e0f4 100644
--- a/doc/html/qproximitysensor.html
+++ b/doc/html/qproximitysensor.html
@@ -67,8 +67,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qradiotuner-members.html b/doc/html/qradiotuner-members.html
index 4622971a3d..08e8131267 100644
--- a/doc/html/qradiotuner-members.html
+++ b/doc/html/qradiotuner-members.html
@@ -126,8 +126,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qradiotuner.html b/doc/html/qradiotuner.html
index 4e3ddeed1a..3505392d49 100644
--- a/doc/html/qradiotuner.html
+++ b/doc/html/qradiotuner.html
@@ -394,8 +394,8 @@
<p>Signals that the <i>volume</i> of a radio tuner's audio output has changed.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qradiotunercontrol-members.html b/doc/html/qradiotunercontrol-members.html
index 056d80c367..88b6053e85 100644
--- a/doc/html/qradiotunercontrol-members.html
+++ b/doc/html/qradiotunercontrol-members.html
@@ -104,8 +104,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qradiotunercontrol.html b/doc/html/qradiotunercontrol.html
index 97b06b8473..72d85d9123 100644
--- a/doc/html/qradiotunercontrol.html
+++ b/doc/html/qradiotunercontrol.html
@@ -237,8 +237,8 @@
<p>Defines the interface name of the <a href="qradiotunercontrol.html">QRadioTunerControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationfilter-members.html b/doc/html/qrotationfilter-members.html
index 31e282975a..8e540e4f19 100644
--- a/doc/html/qrotationfilter-members.html
+++ b/doc/html/qrotationfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationfilter.html b/doc/html/qrotationfilter.html
index e2bc9f074b..7097e008e3 100644
--- a/doc/html/qrotationfilter.html
+++ b/doc/html/qrotationfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationreading-members.html b/doc/html/qrotationreading-members.html
index 673b2aca58..2f241a5078 100644
--- a/doc/html/qrotationreading-members.html
+++ b/doc/html/qrotationreading-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationreading.html b/doc/html/qrotationreading.html
index ede7d05252..a2ced554bd 100644
--- a/doc/html/qrotationreading.html
+++ b/doc/html/qrotationreading.html
@@ -119,8 +119,8 @@
<p>See also <a href="qrotationreading.html#z-prop">z</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationsensor-members.html b/doc/html/qrotationsensor-members.html
index f2fe39917f..de34d9cfea 100644
--- a/doc/html/qrotationsensor-members.html
+++ b/doc/html/qrotationsensor-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qrotationsensor.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qrotationsensor.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qrotationsensor.html b/doc/html/qrotationsensor.html
index c15562c253..82df4dde7b 100644
--- a/doc/html/qrotationsensor.html
+++ b/doc/html/qrotationsensor.html
@@ -80,8 +80,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensor-members.html b/doc/html/qsensor-members.html
index eedf03f222..a5c7d8d448 100644
--- a/doc/html/qsensor-members.html
+++ b/doc/html/qsensor-members.html
@@ -95,8 +95,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensor.html b/doc/html/qsensor.html
index 0ed60b941b..8daaa27065 100644
--- a/doc/html/qsensor.html
+++ b/doc/html/qsensor.html
@@ -174,8 +174,11 @@
<h3 class="fn"><a name="dataRate-prop"></a>dataRate : int</h3>
<p>This property holds the data rate that the sensor should be run at.</p>
<p>Measured in Hertz.</p>
-<p>The default value is determined by the backend.</p>
+<p>The data rate is the maximum frequency at which the sensor can detect changes.</p>
+<p>Setting this property is not portable and can cause conflicts with other applications. Check with the sensor backend and platform documentation for any policy regarding multiple applications requesting a data rate.</p>
+<p>The default value (0) means that the app does not care what the data rate is. Applications should consider using a timer-based poll of the current value or ensure that the code that processes values can run very quickly as the platform may provide updates hundreds of times each second.</p>
<p>This should be set before calling <a href="qsensor.html#start">start</a>() because the sensor may not notice changes to this value while it is running.</p>
+<p>Note that there is no mechanism to determine the current data rate in use by the platform.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><b>dataRate</b> () const</td></tr>
@@ -206,7 +209,10 @@
<a name="//apple_ref/cpp/instm/QSensor/setOutputRange"></a>
<h3 class="fn"><a name="outputRange-prop"></a>outputRange : int</h3>
<p>This property holds the output range in use by the sensor.</p>
-<p>A sensor may have more than one output range. Typically this is done to give a greater measurement range at the cost of lowering accuracy.</p>
+<p>This value represents the index in the <a href="qsensor.html#outputRanges-prop">QSensor::outputRanges</a> list to use.</p>
+<p>Setting this property is not portable and can cause conflicts with other applications. Check with the sensor backend and platform documentation for any policy regarding multiple applications requesting an output range.</p>
+<p>The default value (-1) means that the app does not care what the output range is.</p>
+<p>Note that there is no mechanism to determine the current output range in use by the platform.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><b>outputRange</b> () const</td></tr>
@@ -314,8 +320,8 @@
<p>Note that sensor timestamps from different sensors may not be directly comparable (as they may choose different fixed points for their reference).</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorbackend-members.html b/doc/html/qsensorbackend-members.html
index 8bb55767e7..2feee239d9 100644
--- a/doc/html/qsensorbackend-members.html
+++ b/doc/html/qsensorbackend-members.html
@@ -80,8 +80,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorbackend.html b/doc/html/qsensorbackend.html
index 7b6b8b0f36..eff5b3b2b5 100644
--- a/doc/html/qsensorbackend.html
+++ b/doc/html/qsensorbackend.html
@@ -150,8 +150,8 @@
<p>Stop reporting values.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorbackendfactory-members.html b/doc/html/qsensorbackendfactory-members.html
index e100018bb7..d64679bf09 100644
--- a/doc/html/qsensorbackendfactory-members.html
+++ b/doc/html/qsensorbackendfactory-members.html
@@ -19,8 +19,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorbackendfactory.html b/doc/html/qsensorbackendfactory.html
index c7fb8d3cbc..dba8bc4196 100644
--- a/doc/html/qsensorbackendfactory.html
+++ b/doc/html/qsensorbackendfactory.html
@@ -38,8 +38,8 @@
<p>If the factory cannot create a backend it should return 0.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorfilter-members.html b/doc/html/qsensorfilter-members.html
index 43b264500c..64659a4d29 100644
--- a/doc/html/qsensorfilter-members.html
+++ b/doc/html/qsensorfilter-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorfilter.html b/doc/html/qsensorfilter.html
index 31cdd2c75d..84c4282138 100644
--- a/doc/html/qsensorfilter.html
+++ b/doc/html/qsensorfilter.html
@@ -52,8 +52,8 @@
<p>Returns false to drop the reading.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensormanager-members.html b/doc/html/qsensormanager-members.html
index cbbd376148..6388eaaf33 100644
--- a/doc/html/qsensormanager-members.html
+++ b/doc/html/qsensormanager-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensormanager.html b/doc/html/qsensormanager.html
index 5b4c8143c8..d17df1b350 100644
--- a/doc/html/qsensormanager.html
+++ b/doc/html/qsensormanager.html
@@ -55,8 +55,8 @@
<p>See also <a href="creating-a-sensor-plugin.html">Creating a sensor plugin</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorplugininterface-members.html b/doc/html/qsensorplugininterface-members.html
index 5761d4533b..ec9b1ec293 100644
--- a/doc/html/qsensorplugininterface-members.html
+++ b/doc/html/qsensorplugininterface-members.html
@@ -19,8 +19,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorplugininterface.html b/doc/html/qsensorplugininterface.html
index 870240d60e..a755c6b855 100644
--- a/doc/html/qsensorplugininterface.html
+++ b/doc/html/qsensorplugininterface.html
@@ -38,8 +38,8 @@
<p>See also <a href="creating-a-sensor-plugin.html">Creating a sensor plugin</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorreading-members.html b/doc/html/qsensorreading-members.html
index 78f1ba23f6..38306d0a90 100644
--- a/doc/html/qsensorreading-members.html
+++ b/doc/html/qsensorreading-members.html
@@ -71,8 +71,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsensorreading.html b/doc/html/qsensorreading.html
index 9ce0cd1611..dd37005691 100644
--- a/doc/html/qsensorreading.html
+++ b/doc/html/qsensorreading.html
@@ -121,8 +121,8 @@
<p>See also <a href="qsensorreading.html#DECLARE_READING">DECLARE_READING</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservice.html b/doc/html/qservice.html
index f81d0c257f..9df5373a53 100644
--- a/doc/html/qservice.html
+++ b/doc/html/qservice.html
@@ -40,8 +40,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicecontext-members.html b/doc/html/qservicecontext-members.html
index b38d1af724..c28e1a71d4 100644
--- a/doc/html/qservicecontext-members.html
+++ b/doc/html/qservicecontext-members.html
@@ -75,8 +75,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicecontext.html b/doc/html/qservicecontext.html
index baee05ee72..fd956f736a 100644
--- a/doc/html/qservicecontext.html
+++ b/doc/html/qservicecontext.html
@@ -115,8 +115,8 @@
<p>Services may call this function to notify the service client about service related context information of the given <i>type</i>. The contextual information is stored in <i>data</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicefilter-members.html b/doc/html/qservicefilter-members.html
index 6375c30ab7..12c9effd57 100644
--- a/doc/html/qservicefilter-members.html
+++ b/doc/html/qservicefilter-members.html
@@ -43,8 +43,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicefilter.html b/doc/html/qservicefilter.html
index 296b13f0e0..126d6a2812 100644
--- a/doc/html/qservicefilter.html
+++ b/doc/html/qservicefilter.html
@@ -185,8 +185,8 @@
<p>Reads a service filter into <i>sf</i> from the stream <i>in</i> and returns a reference to the stream.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qserviceinterfacedescriptor-members.html b/doc/html/qserviceinterfacedescriptor-members.html
index 34703d3bc4..73a8fa9920 100644
--- a/doc/html/qserviceinterfacedescriptor-members.html
+++ b/doc/html/qserviceinterfacedescriptor-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qserviceinterfacedescriptor.html b/doc/html/qserviceinterfacedescriptor.html
index 4bc20ee087..b338efb320 100644
--- a/doc/html/qserviceinterfacedescriptor.html
+++ b/doc/html/qserviceinterfacedescriptor.html
@@ -135,8 +135,8 @@
<p>Reads a service interface descriptor into <i>dc</i> from the stream <i>in</i> and returns a reference to the stream.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicemanager-members.html b/doc/html/qservicemanager-members.html
index f0aab14989..6587017028 100644
--- a/doc/html/qservicemanager-members.html
+++ b/doc/html/qservicemanager-members.html
@@ -88,8 +88,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qservicemanager.html b/doc/html/qservicemanager.html
index 6ddcf8ccb0..c705b31de1 100644
--- a/doc/html/qservicemanager.html
+++ b/doc/html/qservicemanager.html
@@ -206,8 +206,8 @@
<p><b>Note:</b> When in system scope, the <i>descriptor</i> must refer to a system-wide service rather than a user-specific service; otherwise, this will fail.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qserviceplugininterface-members.html b/doc/html/qserviceplugininterface-members.html
index d0b0ba447b..d1c788d831 100644
--- a/doc/html/qserviceplugininterface-members.html
+++ b/doc/html/qserviceplugininterface-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qserviceplugininterface.html b/doc/html/qserviceplugininterface.html
index d66b8bef74..b326129c22 100644
--- a/doc/html/qserviceplugininterface.html
+++ b/doc/html/qserviceplugininterface.html
@@ -48,8 +48,8 @@
<p>See also <a href="qservicemanager.html#removeService">QServiceManager::removeService</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemdeviceinfo-members.html b/doc/html/qsystemdeviceinfo-members.html
index 44b7b9dffe..53dc01c954 100644
--- a/doc/html/qsystemdeviceinfo-members.html
+++ b/doc/html/qsystemdeviceinfo-members.html
@@ -92,8 +92,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemdeviceinfo.html b/doc/html/qsystemdeviceinfo.html
index 3d9843e28b..614b899882 100644
--- a/doc/html/qsystemdeviceinfo.html
+++ b/doc/html/qsystemdeviceinfo.html
@@ -293,7 +293,7 @@
<a name="//apple_ref/cpp/instm/QSystemDeviceInfo/productName"></a>
<h3 class="fn"><a name="productName-prop"></a>productName : const <a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a></h3>
<p>This property holds the product name.</p>
-<p>Returns the product name of the device. In the case where no product information is available,</p>
+<p>Returns the product name of the device. In the case where no product information is available, an empty string will be returned.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><b>productName</b> ()</td></tr>
@@ -324,14 +324,14 @@
<p>This signal is emitted whenever bluetooth state changes, specified by <i>on</i>.</p>
<a name="//apple_ref/cpp/instm/QSystemDeviceInfo/currentProfileChanged"></a>
<h3 class="fn"><a name="currentProfileChanged"></a>void QSystemDeviceInfo::currentProfileChanged ( <a href="qsystemdeviceinfo.html#Profile-enum">QSystemDeviceInfo::Profile</a> <i>profile</i> )&nbsp;&nbsp;<tt> [signal]</tt></h3>
-<p>This signal is emitted whenever the network profile changes, specified by <i>profile</i>.</p>
+<p>This signal is emitted whenever the users active profile changes, specified by <i>profile</i>.</p>
<a name="//apple_ref/cpp/instm/QSystemDeviceInfo/powerStateChanged"></a>
<h3 class="fn"><a name="powerStateChanged"></a>void QSystemDeviceInfo::powerStateChanged ( <a href="qsystemdeviceinfo.html#PowerState-enum">QSystemDeviceInfo::PowerState</a> <i>state</i> )&nbsp;&nbsp;<tt> [signal]</tt></h3>
-<p>This signal is emitted when the power state has changed, such as when a phone gets plugged qint32o the wall. <i>state</i> is the new power state.</p>
+<p>This signal is emitted when the power state has changed, such as when a phone gets plugged in to the wall. <i>state</i> is the new power state.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemdisplayinfo-members.html b/doc/html/qsystemdisplayinfo-members.html
index 3a14f2b828..ef21125de6 100644
--- a/doc/html/qsystemdisplayinfo-members.html
+++ b/doc/html/qsystemdisplayinfo-members.html
@@ -71,8 +71,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemdisplayinfo.html b/doc/html/qsystemdisplayinfo.html
index 03c0ba2ed0..b79033a76a 100644
--- a/doc/html/qsystemdisplayinfo.html
+++ b/doc/html/qsystemdisplayinfo.html
@@ -62,7 +62,7 @@
<p>Destroys the <a href="qsystemdisplayinfo.html">QSystemDisplayInfo</a> object.</p>
<a name="//apple_ref/cpp/clm/QSystemDisplayInfo/colorDepth"></a>
<h3 class="fn"><a name="colorDepth"></a>int QSystemDisplayInfo::colorDepth ( int <i>screenNumber</i> )&nbsp;&nbsp;<tt> [static]</tt></h3>
-<p>Returns the color depth of the screen with the index <i>screenNumber</i>, in bits per pixel.</p>
+<p>Returns the color depth of the screen with the index <i>screenNumber</i>, in bits per pixel, or 0 if the screen is not found.</p>
<p>See also <a href="http://qt.nokia.com/doc/4.6/qdesktopwidget.html#screenCount-prop">QDesktopWidget::screenCount</a>().</p>
<a name="//apple_ref/cpp/clm/QSystemDisplayInfo/displayBrightness"></a>
<h3 class="fn"><a name="displayBrightness"></a>int QSystemDisplayInfo::displayBrightness ( int <i>screenNumber</i> )&nbsp;&nbsp;<tt> [static]</tt></h3>
@@ -71,8 +71,8 @@
<p>See also <a href="http://qt.nokia.com/doc/4.6/qdesktopwidget.html#screenCount-prop">QDesktopWidget::screenCount</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsysteminfo-members.html b/doc/html/qsysteminfo-members.html
index 774dc85032..294518292a 100644
--- a/doc/html/qsysteminfo-members.html
+++ b/doc/html/qsysteminfo-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsysteminfo.html b/doc/html/qsysteminfo.html
index 5297166f49..d931d825c6 100644
--- a/doc/html/qsysteminfo.html
+++ b/doc/html/qsysteminfo.html
@@ -182,8 +182,8 @@
<p>In case a particular version does not use the &quot;build&quot; part, it is set to 0. If a particular element is not available at all, an error &quot;Not Installed&quot; will be returned by the API.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemnetworkinfo-members.html b/doc/html/qsystemnetworkinfo-members.html
index 9c4395bf69..9aca827cc9 100644
--- a/doc/html/qsystemnetworkinfo-members.html
+++ b/doc/html/qsystemnetworkinfo-members.html
@@ -90,8 +90,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemnetworkinfo.html b/doc/html/qsystemnetworkinfo.html
index e7bd17cea9..c164b55155 100644
--- a/doc/html/qsystemnetworkinfo.html
+++ b/doc/html/qsystemnetworkinfo.html
@@ -146,7 +146,7 @@
<tr><td valign="top"><tt>QSystemNetworkInfo::EmergencyOnly</tt></td><td align="center" valign="top"><tt>2</tt></td><td valign="top">Emergency calls only.</td></tr>
<tr><td valign="top"><tt>QSystemNetworkInfo::Searching</tt></td><td align="center" valign="top"><tt>3</tt></td><td valign="top">Searching for or connecting with the network.</td></tr>
<tr><td valign="top"><tt>QSystemNetworkInfo::Busy</tt></td><td align="center" valign="top"><tt>4</tt></td><td valign="top">Network is busy.</td></tr>
-<tr><td valign="top"><tt>QSystemNetworkInfo::Connected</tt></td><td align="center" valign="top"><tt>5</tt></td><td valign="top">Connected to newtwork.</td></tr>
+<tr><td valign="top"><tt>QSystemNetworkInfo::Connected</tt></td><td align="center" valign="top"><tt>5</tt></td><td valign="top">Connected to network.</td></tr>
<tr><td valign="top"><tt>QSystemNetworkInfo::HomeNetwork</tt></td><td align="center" valign="top"><tt>6</tt></td><td valign="top">On Home Network.</td></tr>
<tr><td valign="top"><tt>QSystemNetworkInfo::Denied</tt></td><td align="center" valign="top"><tt>7</tt></td><td valign="top">Network access denied.</td></tr>
<tr><td valign="top"><tt>QSystemNetworkInfo::Roaming</tt></td><td align="center" valign="top"><tt>8</tt></td><td valign="top">On Roaming network.</td></tr>
@@ -155,7 +155,7 @@
<h2>Property Documentation</h2>
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/cellId"></a>
<h3 class="fn"><a name="cellId-prop"></a>cellId : const int</h3>
-<p>This property holds the devices Cell ID Returns the Cell ID of the connected tower or based station.</p>
+<p>This property holds the devices Cell ID Returns the Cell ID of the connected tower or based station, or 0 if not connected.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><b>cellId</b> ()</td></tr>
@@ -164,7 +164,7 @@
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/currentMobileCountryCodeChanged"></a>
<h3 class="fn"><a name="currentMobileCountryCode-prop"></a>currentMobileCountryCode : const <a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a></h3>
<p>This property holds the current MCC.</p>
-<p>Returns the current Mobile Country Code. In the case of none such as a Desktop, an empty string. /</p>
+<p>Returns the current Mobile Country Code. In the case of a Desktop computer, an empty string is returned.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><b>currentMobileCountryCode</b> ()</td></tr>
@@ -177,7 +177,7 @@
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/currentMobileNetworkCodeChanged"></a>
<h3 class="fn"><a name="currentMobileNetworkCode-prop"></a>currentMobileNetworkCode : const <a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a></h3>
<p>This property holds the current MNC.</p>
-<p>Returns the current Mobile Network Code. In the case of none such as a Desktop, an empty string.</p>
+<p>Returns the current Mobile Network Code. In the case of a Desktop computer, an empty string is returned.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><b>currentMobileNetworkCode</b> ()</td></tr>
@@ -195,7 +195,7 @@
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/homeMobileCountryCode"></a>
<h3 class="fn"><a name="homeMobileCountryCode-prop"></a>homeMobileCountryCode : const <a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a></h3>
<p>This property holds the home MNC.</p>
-<p>Returns the home Mobile Country Code. In the case of none such as a Desktop, an empty string.</p>
+<p>Returns the home Mobile Country Code. In the case of a Desktop computer, an empty string is returned.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><b>homeMobileCountryCode</b> ()</td></tr>
@@ -203,7 +203,7 @@
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/homeMobileNetworkCode"></a>
<h3 class="fn"><a name="homeMobileNetworkCode-prop"></a>homeMobileNetworkCode : const <a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a></h3>
<p>This property holds the home MCC.</p>
-<p>Returns the home Mobile Network Code. In the case of none such as a Desktop, an empty string. Note: Some platforms don't support retrieving this info. In this case the Network Code is returned only when the device is registered on home network.</p>
+<p>Returns the home Mobile Network Code. In the case of a Desktop computer, an empty string is returned. Note: Some platforms don't support retrieving this info. In this case the Network Code is returned only when the device is registered on home network.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><b>homeMobileNetworkCode</b> ()</td></tr>
@@ -211,7 +211,7 @@
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/locationAreaCode"></a>
<h3 class="fn"><a name="locationAreaCode-prop"></a>locationAreaCode : const int</h3>
<p>This property holds the LAC.</p>
-<p>Returns the Location Area Code. In the case of none such as a Desktop, an empty string.</p>
+<p>Returns the Location Area Code. In the case of a Desktop computer, 0 is returned.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><b>locationAreaCode</b> ()</td></tr>
@@ -232,7 +232,7 @@
<p>This signal is emitted whenever the network Mobile Network Code changes, specified by <i>mnc</i>.</p>
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/interfaceForMode"></a>
<h3 class="fn"><a name="interfaceForMode"></a><a href="http://qt.nokia.com/doc/4.6/qnetworkinterface.html">QNetworkInterface</a> QSystemNetworkInfo::interfaceForMode ( <a href="qsystemnetworkinfo.html#NetworkMode-enum">QSystemNetworkInfo::NetworkMode</a> <i>mode</i> )</h3>
-<p>Returns the first found <a href="http://qt.nokia.com/doc/4.6/qnetworkinterface.html">QNetworkInterface</a> for type <i>mode</i>.</p>
+<p>Returns the first found <a href="http://qt.nokia.com/doc/4.6/qnetworkinterface.html">QNetworkInterface</a> for type <i>mode</i>, or an invalid <a href="http://qt.nokia.com/doc/4.6/qnetworkinterface.html">QNetworkInterface</a>, if none is found.</p>
<a name="//apple_ref/cpp/instm/QSystemNetworkInfo/macAddress"></a>
<h3 class="fn"><a name="macAddress"></a><a href="http://qt.nokia.com/doc/4.6/qstring.html">QString</a> QSystemNetworkInfo::macAddress ( <a href="qsystemnetworkinfo.html#NetworkMode-enum">QSystemNetworkInfo::NetworkMode</a> <i>mode</i> )</h3>
<p>Returns the MAC address for the interface servicing the network <i>mode</i>.</p>
@@ -260,8 +260,8 @@
<p>This signal is emitted whenever the network status of <i>mode</i> changes, specified by <i>status</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemscreensaver-members.html b/doc/html/qsystemscreensaver-members.html
index a1d1a041f0..79c750c190 100644
--- a/doc/html/qsystemscreensaver-members.html
+++ b/doc/html/qsystemscreensaver-members.html
@@ -71,8 +71,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemscreensaver.html b/doc/html/qsystemscreensaver.html
index 98fa5a191d..8e1a789943 100644
--- a/doc/html/qsystemscreensaver.html
+++ b/doc/html/qsystemscreensaver.html
@@ -68,19 +68,20 @@
<a name="//apple_ref/cpp/instm/QSystemScreenSaver/QSystemScreenSaver"></a>
<h3 class="fn"><a name="QSystemScreenSaver"></a>QSystemScreenSaver::QSystemScreenSaver ( <a href="http://qt.nokia.com/doc/4.6/qobject.html">QObject</a> * <i>parent</i> = 0 )</h3>
<p>Constructs a <a href="qsystemscreensaver.html">QSystemScreenSaver</a> object with the given <i>parent</i>.</p>
-<p>On platforms where there is no one default screensaver mechanism, such as Linux, this class may not be available.</p>
+<p>On platforms where there is no default screensaver mechanism, such as Linux, this class may not be available.</p>
<a name="//apple_ref/cpp/instm/QSystemScreenSaver/~QSystemScreenSaver"></a>
<h3 class="fn"><a name="dtor.QSystemScreenSaver"></a>QSystemScreenSaver::~QSystemScreenSaver ()</h3>
<p>Destroys the <a href="qsystemscreensaver.html">QSystemScreenSaver</a> object.</p>
<a name="//apple_ref/cpp/instm/QSystemScreenSaver/setScreenSaverInhibit"></a>
<h3 class="fn"><a name="setScreenSaverInhibit"></a>bool QSystemScreenSaver::setScreenSaverInhibit ()</h3>
<p>Temporarily inhibits the screensaver.</p>
-<p>Will be reverted upon destruction of the <a href="qsystemscreensaver.html">QSystemScreenSaver</a> object. Returns true on success, otherwise false.</p>
+<p>The screensaver will be set to a non inhibited state only when this <a href="qsystemscreensaver.html">QSystemScreenSaver</a> object gets destroyed.</p>
+<p>This is a non blocking function that will return true if the inhibit procedure was successful, otherwise false.</p>
<p>On platforms that support it, if screensaver is secure by policy, the policy will be honored and this will fail.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemstorageinfo-members.html b/doc/html/qsystemstorageinfo-members.html
index d8ce53995a..887b97cb39 100644
--- a/doc/html/qsystemstorageinfo-members.html
+++ b/doc/html/qsystemstorageinfo-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qsystemstorageinfo.html b/doc/html/qsystemstorageinfo.html
index 3263594689..8d36ad8eea 100644
--- a/doc/html/qsystemstorageinfo.html
+++ b/doc/html/qsystemstorageinfo.html
@@ -91,7 +91,7 @@
<a name="//apple_ref/cpp/clm/QSystemStorageInfo/logicalDrives"></a>
<h3 class="fn"><a name="logicalDrives-prop"></a>logicalDrives : const <a href="http://qt.nokia.com/doc/4.6/qstringlist.html">QStringList</a></h3>
<p>This property holds the logical drives.</p>
-<p>Returns a <a href="http://qt.nokia.com/doc/4.6/qstringlist.html">QStringList</a> of volumes or partitions.</p>
+<p>Returns a <a href="http://qt.nokia.com/doc/4.6/qstringlist.html">QStringList</a> of volumes or partitions, or an empty list if no drives are found.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td class="memItemLeft" align="right" valign="top">QStringList </td><td class="memItemRight" valign="bottom"><b>logicalDrives</b> ()</td></tr>
@@ -115,8 +115,8 @@
<p>Returns the type of volume <i>driveVolume</i></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qt-mobility-project-library.index b/doc/html/qt-mobility-project-library.index
index 18c452a5b6..5ec9bd6b2a 100644
--- a/doc/html/qt-mobility-project-library.index
+++ b/doc/html/qt-mobility-project-library.index
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QDOCINDEX>
-<INDEX url="" title="Qt Mobility Project Library Reference Documentation" version="Mobility Project 1.0.0">
+<INDEX url="" title="Qt Mobility Project Library Reference Documentation" version="Mobility Project 1.0.1">
<namespace access="public" threadsafety="unspecified" status="commendable" name="" href="" location="" module="">
<class access="public" threadsafety="unspecified" status="commendable" name="QContactRelationship" href="qcontactrelationship.html" location="qcontactrelationship.h" bases="" module="">
<variable access="public" threadsafety="unspecified" status="commendable" name="HasMember" fullname="QContactRelationship::HasMember" href="qcontactrelationship.html#HasMember-var" location="qcontactrelationship.h" type="const QLatin1Constant" static="true"/>
@@ -84,7 +84,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QAmbientLightSensor" fullname="QAmbientLightSensor::~QAmbientLightSensor" href="qambientlightsensor.html#dtor.QAmbientLightSensor" location="qambientlightsensor.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QAmbientLightSensor()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QAmbientLightSensor::reading" href="qambientlightsensor.html#reading" location="qambientlightsensor.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QAmbientLightReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QAmbientLightSensor::type" href="qambientlightsensor.html#type-var" location="qambientlightsensor.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QAmbientLightSensor::type" href="qambientlightsensor.html#type-var" location="qambientlightsensor.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QVersitContactExporterDetailHandler" href="qversitcontactexporterdetailhandler.html" location="qversitcontactexporter.h" bases="" module="">
<function access="public" threadsafety="unspecified" status="commendable" name="~QVersitContactExporterDetailHandler" fullname="QVersitContactExporterDetailHandler::~QVersitContactExporterDetailHandler" href="qversitcontactexporterdetailhandler.html#dtor.QVersitContactExporterDetailHandler" location="qversitcontactexporter.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QVersitContactExporterDetailHandler()"/>
@@ -154,7 +154,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QOrientationSensor" fullname="QOrientationSensor::~QOrientationSensor" href="qorientationsensor.html#dtor.QOrientationSensor" location="qorientationsensor.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QOrientationSensor()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QOrientationSensor::reading" href="qorientationsensor.html#reading" location="qorientationsensor.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QOrientationReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QOrientationSensor::type" href="qorientationsensor.html#type-var" location="qorientationsensor.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QOrientationSensor::type" href="qorientationsensor.html#type-var" location="qorientationsensor.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QAbstractValueSpaceLayer" href="qabstractvaluespacelayer.html" location="qvaluespace_p.h" bases="QObject" module="">
<typedef access="public" threadsafety="unspecified" status="commendable" name="Handle" fullname="QAbstractValueSpaceLayer::Handle" href="qabstractvaluespacelayer.html#Handle-typedef" location="qvaluespace_p.h"/>
@@ -1128,7 +1128,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QTapSensor" fullname="QTapSensor::~QTapSensor" href="qtapsensor.html#dtor.QTapSensor" location="qtapsensor.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QTapSensor()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QTapSensor::reading" href="qtapsensor.html#reading" location="qtapsensor.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QTapReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QTapSensor::type" href="qtapsensor.html#type-var" location="qtapsensor.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QTapSensor::type" href="qtapsensor.html#type-var" location="qtapsensor.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="preliminary" name="QMediaPlaylistReader" href="qmediaplaylistreader.html" location="qmediaplaylistioplugin.h" bases="" module="">
<function access="public" threadsafety="unspecified" status="commendable" name="~QMediaPlaylistReader" fullname="QMediaPlaylistReader::~QMediaPlaylistReader" href="qmediaplaylistreader.html#dtor.QMediaPlaylistReader" location="qmediaplaylistioplugin.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QMediaPlaylistReader()"/>
@@ -1236,7 +1236,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QRotationSensor" fullname="QRotationSensor::~QRotationSensor" href="qrotationsensor.html#dtor.QRotationSensor" location="qrotationsensor.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QRotationSensor()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QRotationSensor::reading" href="qrotationsensor.html#reading" location="qrotationsensor.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QRotationReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QRotationSensor::type" href="qrotationsensor.html#type-var" location="qrotationsensor.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QRotationSensor::type" href="qrotationsensor.html#type-var" location="qrotationsensor.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QValueSpacePublisher" href="qvaluespacepublisher.html" location="qvaluespacepublisher.h" bases="QObject" module="">
<function access="public" threadsafety="unspecified" status="commendable" name="QValueSpacePublisher" fullname="QValueSpacePublisher::QValueSpacePublisher" href="qvaluespacepublisher.html#QValueSpacePublisher" location="qvaluespacepublisher.h" virtual="non" meta="constructor" const="false" static="false" overload="false" type="" signature="QValueSpacePublisher(const QString &amp; path, QObject * parent)">
@@ -3494,7 +3494,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QProximitySensor" fullname="QProximitySensor::~QProximitySensor" href="qproximitysensor.html#dtor.QProximitySensor" location="qproximitysensor.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QProximitySensor()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QProximitySensor::reading" href="qproximitysensor.html#reading" location="qproximitysensor.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QProximityReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QProximitySensor::type" href="qproximitysensor.html#type-var" location="qproximitysensor.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QProximitySensor::type" href="qproximitysensor.html#type-var" location="qproximitysensor.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QContactPresence" href="qcontactpresence.html" location="qcontactpresence.h" bases="QContactDetail" module="">
<variable access="public" threadsafety="unspecified" status="commendable" name="DefinitionName" fullname="QContactPresence::DefinitionName" href="qcontactpresence.html#DefinitionName-var" location="qcontactpresence.h" type="const QLatin1Constant" static="true"/>
@@ -4829,7 +4829,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QCompass" fullname="QCompass::~QCompass" href="qcompass.html#dtor.QCompass" location="qcompass.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QCompass()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QCompass::reading" href="qcompass.html#reading" location="qcompass.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QCompassReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QCompass::type" href="qcompass.html#type-var" location="qcompass.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QCompass::type" href="qcompass.html#type-var" location="qcompass.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QContactOnlineAccount" href="qcontactonlineaccount.html" location="qcontactonlineaccount.h" bases="QContactDetail" module="">
<variable access="public" threadsafety="unspecified" status="commendable" name="DefinitionName" fullname="QContactOnlineAccount::DefinitionName" href="qcontactonlineaccount.html#DefinitionName-var" location="qcontactonlineaccount.h" type="const QLatin1Constant" static="true"/>
@@ -5083,7 +5083,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QAccelerometer" fullname="QAccelerometer::~QAccelerometer" href="qaccelerometer.html#dtor.QAccelerometer" location="qaccelerometer.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QAccelerometer()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QAccelerometer::reading" href="qaccelerometer.html#reading" location="qaccelerometer.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QAccelerometerReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QAccelerometer::type" href="qaccelerometer.html#type-var" location="qaccelerometer.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QAccelerometer::type" href="qaccelerometer.html#type-var" location="qaccelerometer.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="commendable" name="QMagnetometerReading" href="qmagnetometerreading.html" location="qmagnetometer.h" bases="QSensorReading" module="">
<contents name="qmagnetometerreading-units" title="QMagnetometerReading Units" level="2"/>
@@ -5128,7 +5128,7 @@
</function>
<function access="public" threadsafety="unspecified" status="commendable" name="~QMagnetometer" fullname="QMagnetometer::~QMagnetometer" href="qmagnetometer.html#dtor.QMagnetometer" location="qmagnetometer.h" virtual="impure" meta="destructor" const="false" static="false" overload="false" type="" signature="~QMagnetometer()"/>
<function access="public" threadsafety="unspecified" status="commendable" name="reading" fullname="QMagnetometer::reading" href="qmagnetometer.html#reading" location="qmagnetometer.h" virtual="non" meta="plain" const="true" static="false" overload="false" type="QMagnetometerReading *" signature="reading() const"/>
- <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QMagnetometer::type" href="qmagnetometer.html#type-var" location="qmagnetometer.h" type="const char *" static="true"/>
+ <variable access="public" threadsafety="unspecified" status="commendable" name="type" fullname="QMagnetometer::type" href="qmagnetometer.html#type-var" location="qmagnetometer.h" type="char const * const" static="true"/>
</class>
<class access="public" threadsafety="unspecified" status="preliminary" name="QMediaContent" href="qmediacontent.html" location="qmediacontent.h" bases="" module="">
<function access="public" threadsafety="unspecified" status="commendable" name="QMediaContent" fullname="QMediaContent::QMediaContent" href="qmediacontent.html#QMediaContent" location="qmediacontent.h" virtual="non" meta="constructor" const="false" static="false" overload="false" type="" signature="QMediaContent()"/>
@@ -6685,19 +6685,12 @@
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialer.h" href="declarative-sfw-dialer-landlinedialer-landlinedialer-h.html" subtype="file" title="" fulltitle="landlinedialer.h Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialer.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp" href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html" subtype="file" title="" fulltitle="landlinedialerplugin.cpp Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h" href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html" subtype="file" title="" fulltitle="landlinedialerplugin.h Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp" href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html" subtype="file" title="" fulltitle="qdeclarativeservice.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/qdeclarativeservice.h" href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html" subtype="file" title="" fulltitle="qdeclarativeservice.h Example File" subtitle="declarative-sfw-dialer/sfwexample/qdeclarativeservice.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.cpp" href="declarative-sfw-dialer-sfwexample-sfwexample-cpp.html" subtype="file" title="" fulltitle="sfwexample.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.h" href="declarative-sfw-dialer-sfwexample-sfwexample-h.html" subtype="file" title="" fulltitle="sfwexample.h Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.cpp" href="declarative-sfw-dialer-voipdialer-voipdialer-cpp.html" subtype="file" title="" fulltitle="voipdialer.cpp Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.h" href="declarative-sfw-dialer-voipdialer-voipdialer-h.html" subtype="file" title="" fulltitle="voipdialer.h Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp" href="declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html" subtype="file" title="" fulltitle="voipdialerplugin.cpp Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialerplugin.h" href="declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html" subtype="file" title="" fulltitle="voipdialerplugin.h Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialerplugin.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/main.cpp" href="declarative-sfw-dialer-sfwexample-main-cpp.html" subtype="file" title="" fulltitle="main.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/main.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/declarative-sfw-dialer.pro" href="declarative-sfw-dialer-declarative-sfw-dialer-pro.html" subtype="file" title="" fulltitle="declarative-sfw-dialer.pro Example File" subtitle="declarative-sfw-dialer/declarative-sfw-dialer.pro" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialer.pro" href="declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html" subtype="file" title="" fulltitle="landlinedialer.pro Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialer.pro" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/resource.qrc" href="declarative-sfw-dialer-sfwexample-resource-qrc.html" subtype="file" title="" fulltitle="resource.qrc Example File" subtitle="declarative-sfw-dialer/sfwexample/resource.qrc" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.pro" href="declarative-sfw-dialer-sfwexample-sfwexample-pro.html" subtype="file" title="" fulltitle="sfwexample.pro Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.pro" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.pro" href="declarative-sfw-dialer-voipdialer-voipdialer-pro.html" subtype="file" title="" fulltitle="voipdialer.pro Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.pro" location=""/>
</page>
<page access="public" status="commendable" name="fetchgooglemaps" href="fetchgooglemaps.html" subtype="example" title="Fetch Google Maps Example" fulltitle="Fetch Google Maps Example" subtitle="" location="undocumented.qdoc">
@@ -6878,11 +6871,13 @@
</page>
<page access="public" status="commendable" name="multimedia" href="multimedia.html" subtype="group" title="Mobility Multimedia" fulltitle="Mobility Multimedia" subtitle="" location="multimedia.qdoc"/>
<page access="public" status="commendable" name="multimedia.html" href="multimedia.html" subtype="page" title="Multimedia" fulltitle="Multimedia" subtitle="" location="multimedia.qdoc">
- <contents name="namespace" title="Namespace" level="1"/>
+ <contents name="no-special-namespace" title="No Special Namespace" level="1"/>
<contents name="overview" title="Overview" level="1"/>
<contents name="audio" title="Audio" level="2"/>
<contents name="video" title="Video" level="2"/>
<contents name="radio" title="Radio" level="2"/>
+ <contents name="extending-for-symbian-and-maemo" title="Extending for Symbian and Maemo" level="1"/>
+ <contents name="adding-a-media-service-provider" title="Adding a Media Service Provider" level="2"/>
<contents name="examples" title="Examples" level="1"/>
<contents name="record-a-sound-source" title="Record a Sound Source" level="2"/>
<contents name="play-a-media-file" title="Play a Media File" level="2"/>
@@ -6930,8 +6925,7 @@
<contents name="namespace" title="Namespace" level="1"/>
<contents name="overview" title="Overview" level="1"/>
<contents name="usage" title="Usage" level="1"/>
- <contents name="classes" title="Classes" level="1"/>
- <contents name="mapping-the-vcard-constants" title="Mapping the vCard constants" level="1"/>
+ <contents name="main-classes" title="Main Classes" level="1"/>
</page>
<function access="public" threadsafety="unspecified" status="commendable" name="DECLARE_READING" href="qsensorreading.html#DECLARE_READING" location="" virtual="non" meta="macrowithparams" const="false" static="false" overload="false" relates="QSensorReading" type="" signature="DECLARE_READING( classname)">
<parameter left="" right="" name="classname" default=""/>
@@ -6956,8 +6950,8 @@
</page>
<page access="public" status="commendable" name="bearer" href="bearer.html" subtype="group" title="Qt Bearer Management API" fulltitle="Qt Bearer Management API" subtitle="" location="bearermanagement.qdoc"/>
<page access="public" status="commendable" name="bearer-management.html" href="bearer-management.html" subtype="page" title="Bearer Management" fulltitle="Bearer Management" subtitle="" location="bearermanagement.qdoc">
- <contents name="namespace" title="Namespace" level="1"/>
<contents name="overview" title="Overview" level="1"/>
+ <contents name="migration-to-qt-4-7-or-higher" title="Migration to Qt 4.7 or higher" level="2"/>
<contents name="the-api-in-detail" title="The API in Detail" level="2"/>
<contents name="service-networks" title="Service networks" level="3"/>
<contents name="managing-network-sessions" title="Managing network sessions" level="3"/>
@@ -6987,7 +6981,8 @@
<page access="public" status="commendable" name="index.html" href="index.html" subtype="page" title="Qt Mobility Project APIs Overview" fulltitle="Qt Mobility Project APIs Overview" subtitle="" location="index.qdoc">
<contents name="overview" title="Overview" level="1"/>
<contents name="introducing-the-new-qt-apis" title="Introducing the New Qt APIs" level="2"/>
- <contents name="getting-started" title="Getting Started" level="2"/>
+ <contents name="namespace" title="Namespace" level="1"/>
+ <contents name="getting-started" title="Getting Started" level="1"/>
<contents name="known-issues" title="Known Issues" level="2"/>
<contents name="the-new-qt-apis" title="The New Qt APIs" level="1"/>
<contents name="bearer-management" title="Bearer Management" level="2"/>
@@ -7013,19 +7008,12 @@
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialer.h" href="declarative-sfw-dialer-landlinedialer-landlinedialer-h.html" subtype="file" title="" fulltitle="landlinedialer.h Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialer.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp" href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html" subtype="file" title="" fulltitle="landlinedialerplugin.cpp Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h" href="declarative-sfw-dialer-landlinedialer-landlinedialerplugin-h.html" subtype="file" title="" fulltitle="landlinedialerplugin.h Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp" href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html" subtype="file" title="" fulltitle="qdeclarativeservice.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/qdeclarativeservice.h" href="declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html" subtype="file" title="" fulltitle="qdeclarativeservice.h Example File" subtitle="declarative-sfw-dialer/sfwexample/qdeclarativeservice.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.cpp" href="declarative-sfw-dialer-sfwexample-sfwexample-cpp.html" subtype="file" title="" fulltitle="sfwexample.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.h" href="declarative-sfw-dialer-sfwexample-sfwexample-h.html" subtype="file" title="" fulltitle="sfwexample.h Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.cpp" href="declarative-sfw-dialer-voipdialer-voipdialer-cpp.html" subtype="file" title="" fulltitle="voipdialer.cpp Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.h" href="declarative-sfw-dialer-voipdialer-voipdialer-h.html" subtype="file" title="" fulltitle="voipdialer.h Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.h" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp" href="declarative-sfw-dialer-voipdialer-voipdialerplugin-cpp.html" subtype="file" title="" fulltitle="voipdialerplugin.cpp Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialerplugin.h" href="declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html" subtype="file" title="" fulltitle="voipdialerplugin.h Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialerplugin.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/main.cpp" href="declarative-sfw-dialer-sfwexample-main-cpp.html" subtype="file" title="" fulltitle="main.cpp Example File" subtitle="declarative-sfw-dialer/sfwexample/main.cpp" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/declarative-sfw-dialer.pro" href="declarative-sfw-dialer-declarative-sfw-dialer-pro.html" subtype="file" title="" fulltitle="declarative-sfw-dialer.pro Example File" subtitle="declarative-sfw-dialer/declarative-sfw-dialer.pro" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/landlinedialer/landlinedialer.pro" href="declarative-sfw-dialer-landlinedialer-landlinedialer-pro.html" subtype="file" title="" fulltitle="landlinedialer.pro Example File" subtitle="declarative-sfw-dialer/landlinedialer/landlinedialer.pro" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/resource.qrc" href="declarative-sfw-dialer-sfwexample-resource-qrc.html" subtype="file" title="" fulltitle="resource.qrc Example File" subtitle="declarative-sfw-dialer/sfwexample/resource.qrc" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-dialer/sfwexample/sfwexample.pro" href="declarative-sfw-dialer-sfwexample-sfwexample-pro.html" subtype="file" title="" fulltitle="sfwexample.pro Example File" subtitle="declarative-sfw-dialer/sfwexample/sfwexample.pro" location=""/>
<page access="public" status="commendable" name="declarative-sfw-dialer/voipdialer/voipdialer.pro" href="declarative-sfw-dialer-voipdialer-voipdialer-pro.html" subtype="file" title="" fulltitle="voipdialer.pro Example File" subtitle="declarative-sfw-dialer/voipdialer/voipdialer.pro" location=""/>
</page>
<function access="public" threadsafety="unspecified" status="commendable" name="QAudioEncoderControl_iid" href="qaudioencodercontrol.html#QAudioEncoderControl_iid" location="qaudioencodercontrol.cpp" virtual="non" meta="macrowithoutparams" const="false" static="false" overload="false" relates="QAudioEncoderControl" type="" signature="QAudioEncoderControl_iid()"/>
@@ -7201,18 +7189,14 @@
<page access="public" status="commendable" name="battery-charge/battery-publisher/main.cpp" href="battery-charge-battery-publisher-main-cpp.html" subtype="file" title="" fulltitle="main.cpp Example File" subtitle="battery-charge/battery-publisher/main.cpp" location=""/>
<page access="public" status="commendable" name="battery-charge/battery-charge.pro" href="battery-charge-battery-charge-pro.html" subtype="file" title="" fulltitle="battery-charge.pro Example File" subtitle="battery-charge/battery-charge.pro" location=""/>
<page access="public" status="commendable" name="battery-charge/battery-publisher/battery-publisher.pro" href="battery-charge-battery-publisher-battery-publisher-pro.html" subtype="file" title="" fulltitle="battery-publisher.pro Example File" subtitle="battery-charge/battery-publisher/battery-publisher.pro" location=""/>
- <page access="public" status="commendable" name="battery-charge/battery-subscriber/battery-subscriber.pro" href="battery-charge-battery-subscriber-battery-subscriber-pro.html" subtype="file" title="" fulltitle="battery-subscriber.pro Example File" subtitle="battery-charge/battery-subscriber/battery-subscriber.pro" location=""/>
- <page access="public" status="commendable" name="battery-charge/battery-subscriber/battery-subscriber.qrc" href="battery-charge-battery-subscriber-battery-subscriber-qrc.html" subtype="file" title="" fulltitle="battery-subscriber.qrc Example File" subtitle="battery-charge/battery-subscriber/battery-subscriber.qrc" location=""/>
</page>
<page access="public" status="commendable" name="qmlcontacts" href="qmlcontacts.html" subtype="example" title="Sample QML-based Phonebook Example" fulltitle="Sample QML-based Phonebook Example" subtitle="" location="qmlcontacts.qdoc">
<contents name="phone-book" title="Phone Book" level="1"/>
<contents name="motivation" title="Motivation" level="2"/>
<contents name="interface" title="Interface" level="2"/>
<contents name="known-issues" title="Known Issues" level="2"/>
- <page access="public" status="commendable" name="qmlcontacts/qmlcontact.cpp" href="qmlcontacts-qmlcontact-cpp.html" subtype="file" title="" fulltitle="qmlcontact.cpp Example File" subtitle="qmlcontacts/qmlcontact.cpp" location=""/>
- <page access="public" status="commendable" name="qmlcontacts/qmlcontact.h" href="qmlcontacts-qmlcontact-h.html" subtype="file" title="" fulltitle="qmlcontact.h Example File" subtitle="qmlcontacts/qmlcontact.h" location=""/>
- <page access="public" status="commendable" name="qmlcontacts/qmlcontacts.cpp" href="qmlcontacts-qmlcontacts-cpp.html" subtype="file" title="" fulltitle="qmlcontacts.cpp Example File" subtitle="qmlcontacts/qmlcontacts.cpp" location=""/>
- <page access="public" status="commendable" name="qmlcontacts/qmlcontactsa.h" href="qmlcontacts-qmlcontactsa-h.html" subtype="file" title="" fulltitle="qmlcontactsa.h Example File" subtitle="qmlcontacts/qmlcontactsa.h" location=""/>
+ <page access="public" status="commendable" name="qmlcontacts/qmlcontactmodel.cpp" href="qmlcontacts-qmlcontactmodel-cpp.html" subtype="file" title="" fulltitle="qmlcontactmodel.cpp Example File" subtitle="qmlcontacts/qmlcontactmodel.cpp" location=""/>
+ <page access="public" status="commendable" name="qmlcontacts/qmlcontactmodel.h" href="qmlcontacts-qmlcontactmodel-h.html" subtype="file" title="" fulltitle="qmlcontactmodel.h Example File" subtitle="qmlcontacts/qmlcontactmodel.h" location=""/>
<page access="public" status="commendable" name="qmlcontacts/contents/default.svg" href="qmlcontacts-contents-default-svg.html" subtype="file" title="" fulltitle="default.svg Example File" subtitle="qmlcontacts/contents/default.svg" location=""/>
<page access="public" status="commendable" name="qmlcontacts/main.cpp" href="qmlcontacts-main-cpp.html" subtype="file" title="" fulltitle="main.cpp Example File" subtitle="qmlcontacts/main.cpp" location=""/>
<page access="public" status="commendable" name="qmlcontacts/qmlcontacts.pro" href="qmlcontacts-qmlcontacts-pro.html" subtype="file" title="" fulltitle="qmlcontacts.pro Example File" subtitle="qmlcontacts/qmlcontacts.pro" location=""/>
@@ -7333,10 +7317,7 @@
<contents name="what-s-special-from-the-security-perspective" title="What's special from the security perspective?" level="1"/>
<contents name="directory-structure" title="Directory structure" level="1"/>
</page>
- <page access="public" status="commendable" name="future.html" href="future.html" subtype="page" title="Future Additional APIs" fulltitle="Future Additional APIs" subtitle="" location="future.qdoc">
- <target name="management-of-versit-documents"/>
- <contents name="management-of-versit-documents" title="Management of Versit Documents" level="1"/>
- </page>
+ <page access="public" status="commendable" name="future.html" href="future.html" subtype="page" title="Future Additional APIs" fulltitle="Future Additional APIs" subtitle="" location="future.qdoc"/>
<page access="public" status="commendable" name="serviceactions" href="serviceactions.html" subtype="example" title="Service Actions Example" fulltitle="Service Actions Example" subtitle="" location="serviceactions.qdoc">
<contents name="send-and-compose" title="Send and Compose" level="1"/>
<contents name="show" title="Show" level="1"/>
@@ -7412,14 +7393,6 @@
<contents name="other-considerations" title="Other Considerations" level="2"/>
<contents name="example-implementation" title="Example Implementation" level="2"/>
</page>
- <page access="public" status="commendable" name="declarative-sfw-notes" href="declarative-sfw-notes.html" subtype="example" title="Declarative Service Framework Notes Manager" fulltitle="Declarative Service Framework Notes Manager" subtitle="" location="declarative-sfw-notes.qdoc">
- <page access="public" status="commendable" name="declarative-sfw-notes/qdeclarativeservice.cpp" href="declarative-sfw-notes-qdeclarativeservice-cpp.html" subtype="file" title="" fulltitle="qdeclarativeservice.cpp Example File" subtitle="declarative-sfw-notes/qdeclarativeservice.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/qdeclarativeservice.h" href="declarative-sfw-notes-qdeclarativeservice-h.html" subtype="file" title="" fulltitle="qdeclarativeservice.h Example File" subtitle="declarative-sfw-notes/qdeclarativeservice.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/sfwnotes.cpp" href="declarative-sfw-notes-sfwnotes-cpp.html" subtype="file" title="" fulltitle="sfwnotes.cpp Example File" subtitle="declarative-sfw-notes/sfwnotes.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/sfwnotes.h" href="declarative-sfw-notes-sfwnotes-h.html" subtype="file" title="" fulltitle="sfwnotes.h Example File" subtitle="declarative-sfw-notes/sfwnotes.h" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/main.cpp" href="declarative-sfw-notes-main-cpp.html" subtype="file" title="" fulltitle="main.cpp Example File" subtitle="declarative-sfw-notes/main.cpp" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/declarative-sfw-notes.pro" href="declarative-sfw-notes-declarative-sfw-notes-pro.html" subtype="file" title="" fulltitle="declarative-sfw-notes.pro Example File" subtitle="declarative-sfw-notes/declarative-sfw-notes.pro" location=""/>
- <page access="public" status="commendable" name="declarative-sfw-notes/sfwnotes.qrc" href="declarative-sfw-notes-sfwnotes-qrc.html" subtype="file" title="" fulltitle="sfwnotes.qrc Example File" subtitle="declarative-sfw-notes/sfwnotes.qrc" location=""/>
- </page>
+ <page access="public" status="commendable" name="declarative-sfw-notes" href="declarative-sfw-notes.html" subtype="example" title="Declarative Service Framework Notes Manager" fulltitle="Declarative Service Framework Notes Manager" subtitle="" location="declarative-sfw-notes.qdoc"/>
</namespace>
</INDEX>
diff --git a/doc/html/qtapfilter-members.html b/doc/html/qtapfilter-members.html
index 5c6b3c324b..20fe4d3e59 100644
--- a/doc/html/qtapfilter-members.html
+++ b/doc/html/qtapfilter-members.html
@@ -20,8 +20,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtapfilter.html b/doc/html/qtapfilter.html
index 581146c14d..a03cc74171 100644
--- a/doc/html/qtapfilter.html
+++ b/doc/html/qtapfilter.html
@@ -41,8 +41,8 @@
<p>See also <a href="qsensorfilter.html#filter">QSensorFilter::filter</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtapreading-members.html b/doc/html/qtapreading-members.html
index d26f7879f1..f954741949 100644
--- a/doc/html/qtapreading-members.html
+++ b/doc/html/qtapreading-members.html
@@ -76,8 +76,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtapreading.html b/doc/html/qtapreading.html
index b314f2d584..b6ac3c1fba 100644
--- a/doc/html/qtapreading.html
+++ b/doc/html/qtapreading.html
@@ -65,7 +65,7 @@
<a name="qtapreading-units"></a>
<h3>QTapReading Units</h3>
<p>The tap sensor registers tap events in one of the six directions. There are 3 axes that originate from the phone. They are arranged as follows.</p>
-<p align="center"><img src="images/sensors-coordinates2.jpg" /></p><p>By default it returns double tap events. The <a href="qtapsensor.html#returnDoubleTapEvents-prop">QTapSensor::returnDoubleTapEvents</a> property must be set to false to return individual tap events.</p>
+<p align="center"><img src="images/sensors-coordinates2.jpg" /></p><p>By default it returns only double tap events. The <a href="qtapsensor.html#returnDoubleTapEvents-prop">QTapSensor::returnDoubleTapEvents</a> property must be set to false to return individual tap events.</p>
<hr />
<h2>Member Type Documentation</h2>
<a name="//apple_ref/cpp/tag/QTapReading/TapDirection"></a>
@@ -128,8 +128,8 @@
<p>See also <a href="qtapreading.html#tapDirection-prop">tapDirection</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtapsensor-members.html b/doc/html/qtapsensor-members.html
index 8e5aaf3251..96555786fa 100644
--- a/doc/html/qtapsensor-members.html
+++ b/doc/html/qtapsensor-members.html
@@ -89,15 +89,15 @@
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#timerEvent">timerEvent</a></b> ( QTimerEvent * )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#tr">tr</a></b> ( const char *, const char *, int )</div></li>
<li><div class="fn"><b><a href="http://qt.nokia.com/doc/4.6/qobject.html#trUtf8">trUtf8</a></b> ( const char *, const char *, int )</div></li>
-<li><div class="fn"><b><a href="qtapsensor.html#type-var">type</a></b> : const char *</div></li>
+<li><div class="fn"><b><a href="qtapsensor.html#type-var">type</a></b> : char const * const</div></li>
<li><div class="fn"><b><a href="qsensor.html#type-prop">type</a></b> () const : QByteArray</div></li>
</ul>
</td></tr>
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtapsensor.html b/doc/html/qtapsensor.html
index 3f81c9fe4a..95f9cb11ea 100644
--- a/doc/html/qtapsensor.html
+++ b/doc/html/qtapsensor.html
@@ -65,7 +65,8 @@
<h2>Property Documentation</h2>
<h3 class="fn"><a name="returnDoubleTapEvents-prop"></a>returnDoubleTapEvents : const bool</h3>
<p>This property holds a value indicating if double tap events should be reported.</p>
-<p>Set to true (the default) to have the sensor report on double tap events. Set to false to have the sensor report on individual tap events.</p>
+<p>Set to true (the default) to have the sensor report only on double tap events. Set to false to have the sensor report only on individual tap events.</p>
+<p>It is not possible to have the sensor report both single and double tap events. If both are needed the app should create 2 sensor objects.</p>
<p>Note that you must access this property via <a href="http://qt.nokia.com/doc/4.6/qobject.html#property">QObject::property</a>() and <a href="http://qt.nokia.com/doc/4.6/qobject.html#setProperty">QObject::setProperty</a>(). The property must be set before calling <a href="qsensor.html#start">start</a>().</p>
<hr />
<h2>Member Function Documentation</h2>
@@ -81,8 +82,8 @@
<p>See also <a href="qsensor.html#reading-prop">QSensor::reading</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtmediaservices.html b/doc/html/qtmediaservices.html
index 5611d856af..864833d8bf 100644
--- a/doc/html/qtmediaservices.html
+++ b/doc/html/qtmediaservices.html
@@ -279,8 +279,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtmobility-known-issues.html b/doc/html/qtmobility-known-issues.html
index 44f902463f..09e830eb7e 100644
--- a/doc/html/qtmobility-known-issues.html
+++ b/doc/html/qtmobility-known-issues.html
@@ -128,7 +128,7 @@
<a name="messaging-api"></a>
<h3>Messaging API</h3>
<ul>
-<li>Messaging filtering and Sorting functions are not fully optimized.</li>
+<li>Messaging filtering and sorting functions are not fully optimized.</li>
<li>Fremantle: <tt>QMessageService::compose</tt> not supported for SMS type messages.</li>
<li>Fremantle: queryMessages service action is synchronous for SMS type messages.</li>
<li>Fremantle: <tt>QMessageService::show</tt> not supported for SMS type messages.</li>
@@ -146,13 +146,12 @@
<li>Windows: <tt>QMessageServiceAction::queryMessages</tt> does not incrementally emit matching message identifiers or progress information.</li>
<li>Windows: <tt>QMessageServiceAction::exportUpdates</tt>: Performs no operation as changes are automatically synchronized with external servers when a connection is available. control of update progress.</li>
<li>Windows desktop: <tt>QMessageStore::instance</tt> shows a blocking modal dialog if MAPI is not installed.</li>
-<li>Windows mobile: <tt>QMessageSerivceAction::retrieve</tt>: Only retrieves content for messages bodies at present. Attachment retrieval overridden by mapi/mail client settings.</li>
+<li>Windows mobile: <tt>QMessageServiceAction::retrieve</tt>: Only retrieves content for messages bodies at present. Attachment retrieval overridden by mapi/mail client settings.</li>
<li>Windows mobile: <tt>QMessageServiceAction::cancelOperation</tt>: Async nature of native calls used to implement service actions means that cancelOperation will only operate on the ::retrieveBody service action.</li>
</ul>
<a name="multimedia-api"></a>
<h3>Multimedia API</h3>
<ul>
-<li><b>Multimedia API is in beta state.</b></li>
<li>S60: Audio capture does not support currently any special features like format, encoding etc.</li>
<li>S60: seeking is not working properly</li>
<li>S60: video size does not remain constant in repeated plays</li>
@@ -175,8 +174,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qtmobility.qhp b/doc/html/qtmobility.qhp
index 37f40a631f..631e42a2b5 100644
--- a/doc/html/qtmobility.qhp
+++ b/doc/html/qtmobility.qhp
@@ -3423,7 +3423,6 @@
<file>images/writemessage-example.png</file>
<file>logfilepositionsource-logfilepositionsource-cpp.html</file>
<file>qmessagefolder-members.html</file>
- <file>declarative-sfw-dialer-sfwexample-qdeclarativeservice-h.html</file>
<file>qmessageaccountfilter-members.html</file>
<file>contactsschema.html</file>
<file>qgeocoordinate-members.html</file>
@@ -3448,7 +3447,6 @@
<file>notesmanagerplugin-notesmanagerplugin-h.html</file>
<file>lightmaps.html</file>
<file>flickrdemo-flickr-icon-svg.html</file>
- <file>declarative-sfw-dialer-sfwexample-main-cpp.html</file>
<file>qsystemnetworkinfo-members.html</file>
<file>qsystemdisplayinfo.html</file>
<file>keepintouch-main-cpp.html</file>
@@ -3464,7 +3462,6 @@
<file>fetchgooglemaps-mapwindow-h.html</file>
<file>qradiotuner.html</file>
<file>3rdparty.html</file>
- <file>declarative-sfw-dialer-sfwexample-sfwexample-h.html</file>
<file>creating-a-sensor-plugin.html</file>
<file>qmagnetometer-members.html</file>
<file>qcontactphonenumber.html</file>
@@ -3546,7 +3543,6 @@
<file>qcontactthumbnail-members.html</file>
<file>qcontactremoverequest-members.html</file>
<file>publish-subscribe.html</file>
- <file>declarative-sfw-notes-sfwnotes-cpp.html</file>
<file>battery-charge-battery-publisher-batterypublisher-cpp.html</file>
<file>qcontactmanagerenginefactory.html</file>
<file>qcontactsortorder-members.html</file>
@@ -3574,7 +3570,6 @@
<file>bluetoothtransferplugin-bluetoothtransfer-cpp.html</file>
<file>qcontactanniversary.html</file>
<file>qgeopositioninfosource-members.html</file>
- <file>declarative-sfw-notes-sfwnotes-h.html</file>
<file>qaudiocapturesource.html</file>
<file>qsensorfilter.html</file>
<file>qmediaserviceproviderhint.html</file>
@@ -3593,7 +3588,6 @@
<file>qservice.html</file>
<file>qmessageaccount-members.html</file>
<file>servicebrowser-servicebrowser-h.html</file>
- <file>qmlcontacts-qmlcontacts-cpp.html</file>
<file>declarative-sfw-dialer-landlinedialer-landlinedialer-h.html</file>
<file>images/publish-subscribe-publisher.png</file>
<file>filemanagerplugin-filemanagertransfer-h.html</file>
@@ -3616,10 +3610,10 @@
<file>qmediacontrol-members.html</file>
<file>images/sensors-coordinates.jpg</file>
<file>qmediaservicesupporteddevicesinterface.html</file>
+ <file>qcontactmanagerenginefactory-members.html</file>
<file>qcontactgeolocation.html</file>
<file>weatherinfo-icons-weather-overcast-svg.html</file>
<file>annotated.html</file>
- <file>qcontactmanagerenginefactory-members.html</file>
<file>qnetworksession-members.html</file>
<file>qtapsensor-members.html</file>
<file>qcontactrelationshipsaverequest.html</file>
@@ -3643,6 +3637,7 @@
<file>qgraphicsvideoitem.html</file>
<file>preview.html</file>
<file>samplephonebook-contactlistpage-cpp.html</file>
+ <file>qmlcontacts-qmlcontactmodel-cpp.html</file>
<file>filemanagerplugin-filemanagerplugin-pro.html</file>
<file>qcontactpresence.html</file>
<file>qvideowidget-members.html</file>
@@ -3663,13 +3658,11 @@
<file>qcontactaddress.html</file>
<file>player-main-cpp.html</file>
<file>qmediaplaylistioplugin.html</file>
- <file>qmlcontacts-qmlcontactsa-h.html</file>
<file>radio-radio-pro.html</file>
<file>writemessage-messagesender-cpp.html</file>
<file>flickrdemo-connectivityhelper-cpp.html</file>
<file>bearer-management.html</file>
<file>fetchgooglemaps-main-cpp.html</file>
- <file>declarative-sfw-dialer-sfwexample-qdeclarativeservice-cpp.html</file>
<file>qcontactbirthday-members.html</file>
<file>publ-subs.html</file>
<file>qversitcontactexporterdetailhandler-members.html</file>
@@ -3704,8 +3697,8 @@
<file>qcontactnote-members.html</file>
<file>declarative-sfw-dialer-voipdialer-voipdialer-h.html</file>
<file>qcontactdetaildefinition-members.html</file>
- <file>qmessageid.html</file>
<file>qcontactlocalidfetchrequest-members.html</file>
+ <file>qmessageid.html</file>
<file>qsensorreading-members.html</file>
<file>samplephonebook-filterpage-h.html</file>
<file>bearermonitor-bearermonitor-cpp.html</file>
@@ -3731,22 +3724,21 @@
<file>bearercloud-icons-qrc.html</file>
<file>filemanagerplugin-filemanagerstorage-cpp.html</file>
<file>serviceactions-mainwindow-h.html</file>
- <file>declarative-sfw-notes-qdeclarativeservice-cpp.html</file>
<file>qmediarecorder-members.html</file>
<file>player-player-cpp.html</file>
<file>qmessagemanager-members.html</file>
<file>qservicecontext-members.html</file>
<file>audiorecorder-main-cpp.html</file>
- <file>images/sensors-coordinates2.jpg</file>
<file>qcontactrelationshipremoverequest-members.html</file>
+ <file>images/sensors-coordinates2.jpg</file>
<file>images/sensors-rotation-anim.gif</file>
<file>sfw-notes-sfwnotes-cpp.html</file>
<file>weatherinfo-icons-weather-sunny-svg.html</file>
<file>fetchgooglemaps-mapwindow-cpp.html</file>
<file>qmessagefolderfilter.html</file>
<file>images/bearercloud-example.png</file>
- <file>qaudioendpointselector-members.html</file>
<file>qcontactname-members.html</file>
+ <file>qaudioendpointselector-members.html</file>
<file>weatherinfo-weatherinfo-pro.html</file>
<file>systeminfo.html</file>
<file>quickstart-main-cpp.html</file>
@@ -3764,7 +3756,6 @@
<file>notesmanagerplugin-notesmanager-cpp.html</file>
<file>qmediaplaylistcontrol-members.html</file>
<file>qmessageid-members.html</file>
- <file>declarative-sfw-notes-qdeclarativeservice-h.html</file>
<file>qserviceinterfacedescriptor.html</file>
<file>index.html</file>
<file>bearercloud.html</file>
@@ -3785,9 +3776,7 @@
<file>qgeopositioninfo.html</file>
<file>qmediatimeinterval-members.html</file>
<file>bluetoothtransferplugin-bluetoothtransferplugin-pro.html</file>
- <file>battery-charge-battery-subscriber-battery-subscriber-pro.html</file>
<file>images/sensors-rotation2.jpg</file>
- <file>qmlcontacts-qmlcontact-h.html</file>
<file>qmediaplaylistreader.html</file>
<file>classes.html</file>
<file>qcontactmanager.html</file>
@@ -3829,6 +3818,7 @@
<file>qcontacttype.html</file>
<file>declarative-sfw-dialer-voipdialer-voipdialer-cpp.html</file>
<file>bluetoothtransferplugin.html</file>
+ <file>qmlcontacts-qmlcontactmodel-h.html</file>
<file>qsysteminfo.html</file>
<file>audiorecorder-audiorecorder-cpp.html</file>
<file>qmagnetometerreading-members.html</file>
@@ -3842,8 +3832,8 @@
<file>images/publish-subscribe-subscriber.png</file>
<file>qversitcontactimporterpropertyhandler-members.html</file>
<file>qvideowidgetcontrol-members.html</file>
- <file>bearermonitor-bearermonitor-pro.html</file>
<file>qcontactmanagerengine-members.html</file>
+ <file>bearermonitor-bearermonitor-pro.html</file>
<file>qvideorenderercontrol.html</file>
<file>bearer.html</file>
<file>qcontactonlineaccount.html</file>
@@ -3867,9 +3857,7 @@
<file>qmessagedatacomparator.html</file>
<file>qcontactremoverequest.html</file>
<file>logfilepositionsource-logfilepositionsource-h.html</file>
- <file>declarative-sfw-notes-main-cpp.html</file>
<file>declarative-sfw-dialer-landlinedialer-landlinedialerplugin-cpp.html</file>
- <file>battery-charge-battery-subscriber-battery-subscriber-qrc.html</file>
<file>notesmanagerplugin-notesmanager-h.html</file>
<file>qmediaplaylistnavigator.html</file>
<file>qmediaresource-members.html</file>
@@ -3882,8 +3870,8 @@
<file>qcontactinvalidengine.html</file>
<file>qmediaplayer.html</file>
<file>qambientlightfilter-members.html</file>
- <file>qgeoareamonitor.html</file>
<file>qcontactphonenumber-members.html</file>
+ <file>qgeoareamonitor.html</file>
<file>images/sample-phonebook-1.png</file>
<file>qmediatimeinterval.html</file>
<file>qmessagefoldersortorder.html</file>
@@ -3940,9 +3928,8 @@
<file>player-player-h.html</file>
<file>qmediaservice.html</file>
<file>qcompassfilter-members.html</file>
- <file>declarative-sfw-notes-sfwnotes-qrc.html</file>
- <file>sfw-notes-sfwnotes-qrc.html</file>
<file>qcontactrelationship-members.html</file>
+ <file>sfw-notes-sfwnotes-qrc.html</file>
<file>declarative-sfw-dialer-voipdialer-voipdialerplugin-h.html</file>
<file>sysinfo-dialog-h.html</file>
<file>qcontacttimestamp-members.html</file>
@@ -3991,14 +3978,12 @@
<file>qmediaplaylistwriter.html</file>
<file>qversitdocument-members.html</file>
<file>qtmobility-known-issues.html</file>
- <file>qmlcontacts-qmlcontact-cpp.html</file>
<file>qmessagecontentcontainer.html</file>
<file>qambientlightsensor.html</file>
<file>images/flickr-demo.png</file>
<file>qcontactsynctarget.html</file>
<file>qradiotunercontrol-members.html</file>
<file>qmediacontent-members.html</file>
- <file>declarative-sfw-notes-declarative-sfw-notes-pro.html</file>
<file>qmediacontainercontrol.html</file>
<file>flickrdemo-flickrdemo-pro.html</file>
<file>qmlcontacts-qmlcontacts-pro.html</file>
@@ -4009,8 +3994,6 @@
<file>multimedia.html</file>
<file>qcontactinvalidfilter-members.html</file>
<file>qmagnetometerfilter-members.html</file>
- <file>declarative-sfw-dialer-sfwexample-sfwexample-cpp.html</file>
- <file>declarative-sfw-dialer-sfwexample-resource-qrc.html</file>
<file>player-mediakeysobserver-cpp.html</file>
<file>qmlcontacts-main-cpp.html</file>
<file>qmediaserviceprovider.html</file>
@@ -4042,7 +4025,6 @@
<file>weatherinfo-icons-weather-sleet-svg.html</file>
<file>qgeopositioninfo-members.html</file>
<file>images/battery-subscriber.png</file>
- <file>declarative-sfw-dialer-sfwexample-sfwexample-pro.html</file>
<file>qmessageservice.html</file>
<file>qcontactfetchrequest-members.html</file>
<file>qnmeapositioninfosource-members.html</file>
diff --git a/doc/html/querymessages-main-cpp.html b/doc/html/querymessages-main-cpp.html
index 9474948567..967a4c147a 100644
--- a/doc/html/querymessages-main-cpp.html
+++ b/doc/html/querymessages-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -148,8 +148,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/querymessages-querymessages-pro.html b/doc/html/querymessages-querymessages-pro.html
index cf174c39aa..25dc9ad9e3 100644
--- a/doc/html/querymessages-querymessages-pro.html
+++ b/doc/html/querymessages-querymessages-pro.html
@@ -42,8 +42,8 @@
WriteDeviceData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/querymessages.html b/doc/html/querymessages.html
index 7c5f27467f..5861ca026b 100644
--- a/doc/html/querymessages.html
+++ b/doc/html/querymessages.html
@@ -49,8 +49,8 @@
<pre> printMessage(QString::number(++n) + '\t' + result.join(&quot;\t&quot;));</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/quickstart-main-cpp.html b/doc/html/quickstart-main-cpp.html
index d899c73b71..0811efccdb 100644
--- a/doc/html/quickstart-main-cpp.html
+++ b/doc/html/quickstart-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/quickstart-quickstart-pro.html b/doc/html/quickstart-quickstart-pro.html
index 4e8b32dc1d..82e540a01f 100644
--- a/doc/html/quickstart-quickstart-pro.html
+++ b/doc/html/quickstart-quickstart-pro.html
@@ -26,12 +26,12 @@
SOURCES += main.cpp
symbian {
- TARGET.CAPABILITIES = LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location TrustedUI ReadDeviceData
+ TARGET.CAPABILITIES = LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location ReadDeviceData
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/quickstart.html b/doc/html/quickstart.html
index 0e2a363e04..7686486c9a 100644
--- a/doc/html/quickstart.html
+++ b/doc/html/quickstart.html
@@ -58,24 +58,26 @@
<tr valign="top" class="odd"><td><a href="messaging.html">Messaging</a></td><td>messaging</td></tr>
<tr valign="top" class="even"><td><a href="publ-subs.html">Publish And Subscribe</a></td><td>publishsubscribe</td></tr>
<tr valign="top" class="odd"><td><a href="service-frameworks.html">Service Framework</a></td><td>serviceframework</td></tr>
-<tr valign="top" class="even"><td><a href="systeminfo.html">System Information</a></td><td>systeminfo</td></tr>
-<tr valign="top" class="odd"><td><a href="future.html">Versit</a></td><td>versit</td></tr>
+<tr valign="top" class="even"><td><a href="preview.html#sensor-api">Sensor API</a></td><td>sensors</td></tr>
+<tr valign="top" class="odd"><td><a href="systeminfo.html">System Information</a></td><td>systeminfo</td></tr>
+<tr valign="top" class="even"><td><a href="versit.html">Versit</a></td><td>versit</td></tr>
</table></p>
-<p>When developing on Symbian we will also need to add the required capabilites to the project file in order to satisfy the Symbian security model:</p>
-<pre> symbian {
- TARGET.CAPABILITIES = LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location TrustedUI ReadDeviceData
- }</pre>
+<p>When developing on Symbian we will also need to add the required capabilites to the project file in order to satisfy the Symbian security model. This can be achieved with a line such as the following:</p>
+<pre> TARGET.CAPABILITIES = CAPABILITY_A CABAPILITY_B</pre>
+<p>CAPABILITY_A and CAPABILITY_B are place holders for the appropriate Symbian capabilities. A complete list of all Symbian capabilities and their availability to application developers can be found in the <a href="http://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)">Symbian capability documentation</a>.</p>
+<p>The subsequent table provides an overview of possibily required capabilities for each Mobility library. Note that not all capabilities are always required when using a particular API. The exact list depends on which parts of an API is utilized by an application.</p>
<p><table class="generic" align="center" cellpadding="2" cellspacing="1" border="0">
<thead><tr valign="top" class="qt-style"><th>Domain</th><th>Symbian Capabilities</th></tr></thead>
<tr valign="top" class="odd"><td><a href="bearer-management.html">Bearer Management</a></td><td>ReadUserData NetworkServices (NetworkControl for <a href="qnetworksession.html#stop">QNetworkSession::stop</a>())</td></tr>
-<tr valign="top" class="even"><td><a href="contacts.html">Contacts</a></td><td>ReadUserData WriteUserData SwEvent ReadDeviceData WriteDeviceData</td></tr>
+<tr valign="top" class="even"><td><a href="contacts.html">Contacts</a></td><td>ReadUserData WriteUserData</td></tr>
<tr valign="top" class="odd"><td><a href="location-overview.html">Location</a></td><td>Location</td></tr>
<tr valign="top" class="even"><td><a href="multimedia.html">Multimedia</a></td><td>UserEnvironment ReadUserData WriteUserData ReadDeviceData WriteDeviceData</td></tr>
<tr valign="top" class="odd"><td><a href="messaging.html">Messaging</a></td><td>LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment ReadDeviceData WriteDeviceData</td></tr>
-<tr valign="top" class="even"><td><a href="publ-subs.html">Publish And Subscribe</a></td><td>ReadDeviceData WriteDeviceData</td></tr>
+<tr valign="top" class="even"><td><a href="publ-subs.html">Publish And Subscribe</a></td><td>Capability depends on P&amp;S value being read/written. API itself doesn't require any capability.</td></tr>
<tr valign="top" class="odd"><td><a href="service-frameworks.html">Service Framework</a></td><td>No capabilities requried by itself, the plugins may have capability requirements.</td></tr>
-<tr valign="top" class="even"><td><a href="systeminfo.html">System Information</a></td><td>LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location TrustedUI ReadDeviceData</td></tr>
-<tr valign="top" class="odd"></tr>
+<tr valign="top" class="even"><td><a href="preview.html#sensor-api">Sensor API</a></td><td>ReadDeviceData</td></tr>
+<tr valign="top" class="odd"><td><a href="systeminfo.html">System Information</a></td><td>LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location ReadDeviceData</td></tr>
+<tr valign="top" class="even"><td><a href="versit.html">Versit API</a></td><td>No additional capabilities required.</td></tr>
</table></p>
<p>The complete list of all Symbian capabilities and how they can be obtained can be found in the <a href="http://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)#Which_capabilities_can_I_access.3F">Symbian developer documentation</a>.</p>
<p>And we're done. If you are using the command line simply enter:</p>
@@ -93,8 +95,8 @@
<p>For further details on how to build applications for Symbian see <a href="http://qt.nokia.com/doc/4.6/symbian-with-qt-introduction.html">The Symbian Platform - Introduction to Qt</a> and <a href="http://developer.symbian.org/wiki/index.php/Qt_Quick_Start">Qt Quick Start</a></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvaluespace.html b/doc/html/qvaluespace.html
index 3bbe5f0912..e6d9c2a0b1 100644
--- a/doc/html/qvaluespace.html
+++ b/doc/html/qvaluespace.html
@@ -86,8 +86,8 @@
<p>You can test if the Volatile Registry layer is available by checking if the list returned by QValueSpace::availableLayers() contains this value. The Volatile Registry layer is only available on Windows platforms.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvaluespacepublisher-members.html b/doc/html/qvaluespacepublisher-members.html
index 4bf026a426..3632ce74c4 100644
--- a/doc/html/qvaluespacepublisher-members.html
+++ b/doc/html/qvaluespacepublisher-members.html
@@ -77,8 +77,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvaluespacepublisher.html b/doc/html/qvaluespacepublisher.html
index 8d8bfe519f..2453d2cc6b 100644
--- a/doc/html/qvaluespacepublisher.html
+++ b/doc/html/qvaluespacepublisher.html
@@ -158,8 +158,8 @@
<p>Generally, calling this function is unnecessary.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvaluespacesubscriber-members.html b/doc/html/qvaluespacesubscriber-members.html
index 963de5d11e..69045b5dcf 100644
--- a/doc/html/qvaluespacesubscriber-members.html
+++ b/doc/html/qvaluespacesubscriber-members.html
@@ -81,8 +81,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvaluespacesubscriber.html b/doc/html/qvaluespacesubscriber.html
index 8072728703..d2ea491be2 100644
--- a/doc/html/qvaluespacesubscriber.html
+++ b/doc/html/qvaluespacesubscriber.html
@@ -158,8 +158,8 @@
equiv.value() == base.value(&quot;Nokia/General/Mapping&quot;);</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactexporter-members.html b/doc/html/qversitcontactexporter-members.html
index c9b5e7d67c..48c8a0574e 100644
--- a/doc/html/qversitcontactexporter-members.html
+++ b/doc/html/qversitcontactexporter-members.html
@@ -28,8 +28,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactexporter.html b/doc/html/qversitcontactexporter.html
index 744963706f..17f6ab72b7 100644
--- a/doc/html/qversitcontactexporter.html
+++ b/doc/html/qversitcontactexporter.html
@@ -44,22 +44,53 @@
<p>The QVersitContactExporter class converts <a href="qcontact.html">QContacts</a> into <a href="qversitdocument.html">QVersitDocuments</a>.</p>
<p>A <a href="qversitresourcehandler.html">QVersitResourceHandler</a> is associated with the exporter to supply the behaviour for loading files from persistent storage. By default, this is set to a <a href="qversitdefaultresourcehandler.html">QVersitDefaultResourceHandler</a>, which supports basic resource loading from the file system. An alternative resource handler can be specified with <a href="qversitcontactexporter.html#setResourceHandler">setResourceHandler</a>().</p>
<p>By associating a <a href="qversitcontactexporterdetailhandler.html">QVersitContactExporterDetailHandler</a> with the exporter using <a href="qversitcontactexporter.html#setDetailHandler">setDetailHandler</a>(), the client can pass in a handler to override the processing of details and/or handle details that QVersitContactExporter doesn't support.</p>
-<p>An example detail handler that logs unknown properties:</p>
+<p>An example detail handler that encodes all unknown details as nonstandard vCard propreties:</p>
<pre> class MyDetailHandler : public QVersitContactExporterDetailHandler {
public:
+ MyDetailHandler() : detailNumber(0) {}
bool preProcessDetail(const QContact&amp; contact, const QContactDetail&amp; detail,
QVersitDocument* document) {
Q_UNUSED(contact) Q_UNUSED(detail) Q_UNUSED(document)
return false;
}
+ <span class="comment">/* eg. a detail with definition name &quot;Detail1&quot; and fields &quot;Field1&quot;=&quot;Value1&quot; and
+ * &quot;Field2&quot;=&quot;Value2&quot; will be exported to the vCard properties:
+ * G0.DETAIL1-FIELD1:Value1
+ * G0.DETAIL1-FIELD2:Value2
+ * And the next detail (say, &quot;Detail2&quot; with a field &quot;Field3&quot;=&quot;Value3&quot; will generate:
+ * G1.DETAIL2-FIELD3:Value3
+ * ie. Different details will have different vCard groups.
+ */</span>
bool postProcessDetail(const QContact&amp; contact, const QContactDetail&amp; detail,
bool alreadyProcessed, QVersitDocument* document) {
- Q_UNUSED(contact) Q_UNUSED(document)
- if (!alreadyProcessed)
- mUnknownDetails.append(detail);
- return false;
+ Q_UNUSED(contact)
+ <span class="comment">// beware: if the base implementation exports some but not all fields, alreadyProcessed</span>
+ <span class="comment">// will be true and the unprocessed fields won't be exported</span>
+ if (alreadyProcessed)
+ return false;
+ if (detail.definitionName() == QContactType::DefinitionName)
+ return false; <span class="comment">// special case of an unhandled detail that we don't export</span>
+ QVersitProperty property;
+ QVariantMap fields = detail.variantValues();
+ <span class="comment">// fields from the same detail have the same group so the importer can collate them</span>
+ QString detailGroup = QLatin1String(&quot;G&quot;) + QString::number(detailNumber++);
+ for (QVariantMap::const_iterator it = fields.constBegin();
+ it != fields.constEnd();
+ it++) {
+ property.setGroups(QStringList(detailGroup));
+ <span class="comment">// beware: detail.definitionName and the field name will be made uppercase on export</span>
+ property.setName(QLatin1String(&quot;X-QCONTACTDETAIL-&quot;)
+ + detail.definitionName()
+ + QLatin1String(&quot;-&quot;)
+ + it.key());
+ <span class="comment">// beware: this might not handle nonstring values properly:</span>
+ property.setValue(it.value());
+ document-&gt;addProperty(property);
+ }
+ return true;
}
- QList&lt;QContactDetail&gt; mUnknownDetails;
+ private:
+ int detailNumber;
};</pre>
<p>An example usage of QVersitContactExporter</p>
<pre> QVersitContactExporter contactExporter;
@@ -189,8 +220,8 @@
<p>See also <a href="qversitcontactexporter.html#resourceHandler">resourceHandler</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactexporterdetailhandler-members.html b/doc/html/qversitcontactexporterdetailhandler-members.html
index b0cdc58e54..73f094c4f5 100644
--- a/doc/html/qversitcontactexporterdetailhandler-members.html
+++ b/doc/html/qversitcontactexporterdetailhandler-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactexporterdetailhandler.html b/doc/html/qversitcontactexporterdetailhandler.html
index 46d609a7e6..9e5c4b5401 100644
--- a/doc/html/qversitcontactexporterdetailhandler.html
+++ b/doc/html/qversitcontactexporterdetailhandler.html
@@ -48,8 +48,8 @@
<p>This function is called on every <a href="qcontactdetail.html">QContactDetail</a> encountered during an export. Supply this function and return true to implement custom export behaviour.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactimporter-members.html b/doc/html/qversitcontactimporter-members.html
index 30802f9386..07d1b9284d 100644
--- a/doc/html/qversitcontactimporter-members.html
+++ b/doc/html/qversitcontactimporter-members.html
@@ -28,8 +28,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactimporter.html b/doc/html/qversitcontactimporter.html
index 5622978968..3096229823 100644
--- a/doc/html/qversitcontactimporter.html
+++ b/doc/html/qversitcontactimporter.html
@@ -44,22 +44,51 @@
<p>The QVersitContactImporter class creates QContacts from QVersitDocuments.</p>
<p>A <a href="qversitresourcehandler.html">QVersitResourceHandler</a> is associated with the importer to supply the behaviour for saving files to persistent storage. By default, this is set to a <a href="qversitdefaultresourcehandler.html">QVersitDefaultResourceHandler</a>, which does not save files to persistent storage. Note that although avatars found in vCards are not saved to disk by default, the importer does set the pixmap of the contact detail to the image. If a full-sized avatar image needs to be persisted, a custom <a href="qversitresourcehandler.html">QVersitResourceHandler</a> should be supplied which implements this.</p>
<p>By associating a <a href="qversitcontactimporterpropertyhandler.html">QVersitContactImporterPropertyHandler</a> with the importer using <a href="qversitcontactimporter.html#setPropertyHandler">setPropertyHandler</a>(), the client can pass in a handler to override the processing of properties and/or handle properties that QVersitContactImporter doesn't support.</p>
-<p>An example property handler that logs unknown properties:</p>
+<p>An example property handler that decodes unknown properties generated by the example detail handler provided in the <a href="qversitcontactexporter.html">QVersitContactExporter</a> documentation:</p>
<pre> class MyPropertyHandler : public QVersitContactImporterPropertyHandler {
public:
- bool preProcessProperty(const QVersitDocument&amp; document, const QVersitProperty&amp; property,
- int contactIndex, QContact* contact) {
- Q_UNUSED(document) Q_UNUSED(property) Q_UNUSED(contactIndex) Q_UNUSED(contact)
- return false;
- }
- bool postProcessProperty(const QVersitDocument&amp; document, const QVersitProperty&amp; property,
- bool alreadyProcessed, int contactIndex, QContact* contact) {
- Q_UNUSED(document) Q_UNUSED(contactIndex) Q_UNUSED(contact)
- if (!alreadyProcessed)
- mUnknownProperties.append(property);
- return false;
- }
- QList&lt;QVersitProperty&gt; mUnknownProperties;
+ bool preProcessProperty(const QVersitDocument&amp; document, const QVersitProperty&amp; property,
+ int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(property) Q_UNUSED(contactIndex) Q_UNUSED(contact)
+ return false;
+ }
+ <span class="comment">/* eg. if the document has the properties:
+ * G0.DETAIL-FIELD1:Value1
+ * G0.DETAIL-FIELD2:Value2
+ * G1.DETAIL-FIELD1:Value3
+ * This will generate two details - the first with fields &quot;FIELD1&quot;=&quot;Value1&quot; and
+ * &quot;FIELD2&quot;=&quot;Value2&quot; and the second with &quot;FIELD1&quot;=&quot;Value3&quot;
+ * ie. the vCard groups determine which properties form a single detail.
+ */</span>
+ bool postProcessProperty(const QVersitDocument&amp; document, const QVersitProperty&amp; property,
+ bool alreadyProcessed, int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(contactIndex)
+ const QString prefix = QLatin1String(&quot;X-QCONTACTDETAIL-&quot;);
+ if (alreadyProcessed)
+ return false;
+ if (!property.name().startsWith(prefix))
+ return false;
+ QString detailAndField = property.name().mid(prefix.size());
+ QStringList detailAndFieldParts = detailAndField.split(QLatin1Char('-'),
+ QString::SkipEmptyParts);
+ if (detailAndFieldParts.size() != 2)
+ return false;
+ QString definitionName = detailAndFieldParts.at(0);
+ QString fieldName = detailAndFieldParts.at(1);
+ if (property.groups().size() != 1)
+ return false;
+ QString group = property.groups().first();
+ <span class="comment">// find a detail generated from the a property with the same group</span>
+ QContactDetail detail = handledDetails.value(group);
+ <span class="comment">// make sure the the existing detail has the same definition name</span>
+ if (detail.definitionName() != definitionName)
+ detail = QContactDetail(definitionName);
+ detail.setValue(fieldName, property.value());
+ contact-&gt;saveDetail(&amp;detail);
+ handledDetails.insert(group, detail);
+ return false;
+ }
+ QMap&lt;QString, QContactDetail&gt; handledDetails; <span class="comment">// map from group name to detail</span>
};</pre>
<p>An example usage of QVersitContactImporter</p>
<pre> QVersitContactImporter importer;
@@ -201,8 +230,8 @@
<p>See also <a href="qversitcontactimporter.html#resourceHandler">resourceHandler</a>().</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactimporterpropertyhandler-members.html b/doc/html/qversitcontactimporterpropertyhandler-members.html
index 84948e9499..9cd4f101a9 100644
--- a/doc/html/qversitcontactimporterpropertyhandler-members.html
+++ b/doc/html/qversitcontactimporterpropertyhandler-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitcontactimporterpropertyhandler.html b/doc/html/qversitcontactimporterpropertyhandler.html
index 3a4db64814..ec5ef690a7 100644
--- a/doc/html/qversitcontactimporterpropertyhandler.html
+++ b/doc/html/qversitcontactimporterpropertyhandler.html
@@ -48,8 +48,8 @@
<p>This function is called on every <a href="qversitproperty.html">QVersitProperty</a> encountered during an import. Supply this function and return true to implement custom import behaviour.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitdefaultresourcehandler-members.html b/doc/html/qversitdefaultresourcehandler-members.html
index 6f07974e68..e2ea2d398a 100644
--- a/doc/html/qversitdefaultresourcehandler-members.html
+++ b/doc/html/qversitdefaultresourcehandler-members.html
@@ -23,8 +23,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitdefaultresourcehandler.html b/doc/html/qversitdefaultresourcehandler.html
index 76b740a807..d7747bd83b 100644
--- a/doc/html/qversitdefaultresourcehandler.html
+++ b/doc/html/qversitdefaultresourcehandler.html
@@ -76,8 +76,8 @@
<p>Default resource saver. Does nothing and returns false, ignoring <i>contents</i>, <i>property</i> and <i>location</i>. By default, resources aren't persisted because we don't know when it is safe to remove them.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitdocument-members.html b/doc/html/qversitdocument-members.html
index 1e9c1cd659..5e7704df90 100644
--- a/doc/html/qversitdocument-members.html
+++ b/doc/html/qversitdocument-members.html
@@ -38,8 +38,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitdocument.html b/doc/html/qversitdocument.html
index d007cbe1a3..701c86bada 100644
--- a/doc/html/qversitdocument.html
+++ b/doc/html/qversitdocument.html
@@ -114,8 +114,8 @@
<p>Returns true if this is equal to <i>other</i>; false otherwise.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitproperty-members.html b/doc/html/qversitproperty-members.html
index 09202d42a2..1122646b01 100644
--- a/doc/html/qversitproperty-members.html
+++ b/doc/html/qversitproperty-members.html
@@ -46,8 +46,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitproperty.html b/doc/html/qversitproperty.html
index 11b88b6bd1..104afc4fc1 100644
--- a/doc/html/qversitproperty.html
+++ b/doc/html/qversitproperty.html
@@ -163,8 +163,8 @@
<p>Returns true if this is equal to <i>other</i>; false otherwise.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitreader-members.html b/doc/html/qversitreader-members.html
index 4ed35bf753..4ea6647efd 100644
--- a/doc/html/qversitreader-members.html
+++ b/doc/html/qversitreader-members.html
@@ -86,8 +86,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitreader.html b/doc/html/qversitreader.html
index 226c4ba1b9..479b295159 100644
--- a/doc/html/qversitreader.html
+++ b/doc/html/qversitreader.html
@@ -172,8 +172,8 @@
<p>If the state is <a href="qversitreader.html#State-enum">ActiveState</a>, blocks until the reader has finished reading or <i>msec</i> milliseconds has elapsed, returning true if it successfully finishes or is cancelled by the user. If the state is <a href="qversitreader.html#State-enum">FinishedState</a>, returns true immediately. Otherwise, returns false immediately.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitresourcehandler-members.html b/doc/html/qversitresourcehandler-members.html
index 79a0780b02..08a8d67cf2 100644
--- a/doc/html/qversitresourcehandler-members.html
+++ b/doc/html/qversitresourcehandler-members.html
@@ -21,8 +21,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitresourcehandler.html b/doc/html/qversitresourcehandler.html
index 62d3b2cef1..6a0701c5d9 100644
--- a/doc/html/qversitresourcehandler.html
+++ b/doc/html/qversitresourcehandler.html
@@ -46,8 +46,8 @@
<p><i>property</i> holds the <a href="qversitproperty.html">QVersitProperty</a> which is the context in which the binary is coming from. The <a href="qversitresourcehandler.html">QVersitResourceHandler</a> can use this, for example, to determine file extension it should choose. *<i>location</i> is filled with the contents of the file. Returns true on success, false on failure.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitwriter-members.html b/doc/html/qversitwriter-members.html
index 0759ea8383..6a7e7efd82 100644
--- a/doc/html/qversitwriter-members.html
+++ b/doc/html/qversitwriter-members.html
@@ -83,8 +83,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qversitwriter.html b/doc/html/qversitwriter.html
index ac2c38d801..3ea420bc5a 100644
--- a/doc/html/qversitwriter.html
+++ b/doc/html/qversitwriter.html
@@ -165,8 +165,8 @@
<p>If the state is <a href="qversitwriter.html#State-enum">ActiveState</a>, blocks until the writer has finished writing or <i>msec</i> milliseconds has elapsed, returning true if it successfully finishes or is cancelled by the user. If the state is <a href="qversitwriter.html#State-enum">FinishedState</a>, returns true immediately. Otherwise, returns false immediately.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideodevicecontrol-members.html b/doc/html/qvideodevicecontrol-members.html
index 37e0c6d788..19e58e96ad 100644
--- a/doc/html/qvideodevicecontrol-members.html
+++ b/doc/html/qvideodevicecontrol-members.html
@@ -79,8 +79,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideodevicecontrol.html b/doc/html/qvideodevicecontrol.html
index 8fe389eed6..c7f60fa21b 100644
--- a/doc/html/qvideodevicecontrol.html
+++ b/doc/html/qvideodevicecontrol.html
@@ -130,8 +130,8 @@
<p>Defines the interface name of the <a href="qvideodevicecontrol.html">QVideoDeviceControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideoencodercontrol-members.html b/doc/html/qvideoencodercontrol-members.html
index a551d91747..f6a2ce9afa 100644
--- a/doc/html/qvideoencodercontrol-members.html
+++ b/doc/html/qvideoencodercontrol-members.html
@@ -78,8 +78,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideoencodercontrol.html b/doc/html/qvideoencodercontrol.html
index 3a4f8b191f..37f8ffb3bf 100644
--- a/doc/html/qvideoencodercontrol.html
+++ b/doc/html/qvideoencodercontrol.html
@@ -124,8 +124,8 @@
<p>Defines the interface name of the <a href="qvideoencodercontrol.html">QVideoEncoderControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideoencodersettings-members.html b/doc/html/qvideoencodersettings-members.html
index 442ce73288..9e9c39ed03 100644
--- a/doc/html/qvideoencodersettings-members.html
+++ b/doc/html/qvideoencodersettings-members.html
@@ -42,8 +42,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideoencodersettings.html b/doc/html/qvideoencodersettings.html
index 01ca75754a..87432e73ff 100644
--- a/doc/html/qvideoencodersettings.html
+++ b/doc/html/qvideoencodersettings.html
@@ -139,8 +139,8 @@
<p>Returns true if the settings objects are of equal value, and true if they are not of equal value.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideooutputcontrol-members.html b/doc/html/qvideooutputcontrol-members.html
index 09d61b6058..6243715c14 100644
--- a/doc/html/qvideooutputcontrol-members.html
+++ b/doc/html/qvideooutputcontrol-members.html
@@ -74,8 +74,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideooutputcontrol.html b/doc/html/qvideooutputcontrol.html
index 44c41d0d43..3bb358f1c6 100644
--- a/doc/html/qvideooutputcontrol.html
+++ b/doc/html/qvideooutputcontrol.html
@@ -128,8 +128,8 @@
<p>Defines the interface name of the <a href="qvideooutputcontrol.html">QVideoOutputControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideorenderercontrol-members.html b/doc/html/qvideorenderercontrol-members.html
index 3dc94d9ece..2888605aea 100644
--- a/doc/html/qvideorenderercontrol-members.html
+++ b/doc/html/qvideorenderercontrol-members.html
@@ -71,8 +71,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideorenderercontrol.html b/doc/html/qvideorenderercontrol.html
index bbc385e348..2e2bf056aa 100644
--- a/doc/html/qvideorenderercontrol.html
+++ b/doc/html/qvideorenderercontrol.html
@@ -91,8 +91,8 @@
<p>Defines the interface name of the <a href="qvideorenderercontrol.html">QVideoRendererControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowidget-members.html b/doc/html/qvideowidget-members.html
index 35e38df982..acef1957b6 100644
--- a/doc/html/qvideowidget-members.html
+++ b/doc/html/qvideowidget-members.html
@@ -368,8 +368,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowidget.html b/doc/html/qvideowidget.html
index 5ae2eea573..90a0b541b8 100644
--- a/doc/html/qvideowidget.html
+++ b/doc/html/qvideowidget.html
@@ -285,8 +285,8 @@
<p>Returns the size hint for the current back end, if there is one, or else the size hint from <a href="http://qt.nokia.com/doc/4.6/qwidget.html">QWidget</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowidgetcontrol-members.html b/doc/html/qvideowidgetcontrol-members.html
index 3a98531db9..353416b495 100644
--- a/doc/html/qvideowidgetcontrol-members.html
+++ b/doc/html/qvideowidgetcontrol-members.html
@@ -87,8 +87,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowidgetcontrol.html b/doc/html/qvideowidgetcontrol.html
index e96ad1feea..e64f67b81d 100644
--- a/doc/html/qvideowidgetcontrol.html
+++ b/doc/html/qvideowidgetcontrol.html
@@ -178,8 +178,8 @@
<p>Defines the interface name of the <a href="qvideowidgetcontrol.html">QVideoWidgetControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowindowcontrol-members.html b/doc/html/qvideowindowcontrol-members.html
index c67a37bacd..6d1be16726 100644
--- a/doc/html/qvideowindowcontrol-members.html
+++ b/doc/html/qvideowindowcontrol-members.html
@@ -93,8 +93,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/qvideowindowcontrol.html b/doc/html/qvideowindowcontrol.html
index 28bacc5e50..61a2707ebc 100644
--- a/doc/html/qvideowindowcontrol.html
+++ b/doc/html/qvideowindowcontrol.html
@@ -210,8 +210,8 @@
<p>Defines the interface name of the <a href="qvideowindowcontrol.html">QVideoWindowControl</a> class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/radio-main-cpp.html b/doc/html/radio-main-cpp.html
index e678b735ca..fc79e901db 100644
--- a/doc/html/radio-main-cpp.html
+++ b/doc/html/radio-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,8 +72,8 @@
};</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/radio-radio-cpp.html b/doc/html/radio-radio-cpp.html
index 917373cf09..565d3391b2 100644
--- a/doc/html/radio-radio-cpp.html
+++ b/doc/html/radio-radio-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -183,8 +183,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/radio-radio-h.html b/doc/html/radio-radio-h.html
index 758ca13bd0..979f6a15ec 100644
--- a/doc/html/radio-radio-h.html
+++ b/doc/html/radio-radio-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -96,8 +96,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/radio-radio-pro.html b/doc/html/radio-radio-pro.html
index 8dd54e1828..489acf788c 100644
--- a/doc/html/radio-radio-pro.html
+++ b/doc/html/radio-radio-pro.html
@@ -32,8 +32,8 @@
radio.cpp</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/radio.html b/doc/html/radio.html
index 62d3db9e3e..f057103b6c 100644
--- a/doc/html/radio.html
+++ b/doc/html/radio.html
@@ -23,8 +23,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/recorder.html b/doc/html/recorder.html
index b6ff3beb0d..f80b9f7b39 100644
--- a/doc/html/recorder.html
+++ b/doc/html/recorder.html
@@ -16,8 +16,8 @@
</h1>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-contacteditor-cpp.html b/doc/html/samplephonebook-contacteditor-cpp.html
index a3f22e6ab9..42597da8f3 100644
--- a/doc/html/samplephonebook-contacteditor-cpp.html
+++ b/doc/html/samplephonebook-contacteditor-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -206,7 +206,7 @@
<span class="comment">// avatar viewer</span>
if (defs.contains(QContactAvatar::DefinitionName)
- &amp;&amp; defs.contains(QContactThumbnail::DefinitionName)) {
+ || defs.contains(QContactThumbnail::DefinitionName)) {
m_avatarBtn-&gt;setEnabled(true);
QContactAvatar av = curr.detail(QContactAvatar::DefinitionName);
QContactThumbnail thumb = curr.detail(QContactThumbnail::DefinitionName);
@@ -331,6 +331,7 @@
curr.saveDetail(&amp;thumb);
}
+ curr = m_manager-&gt;compatibleContact(curr);
bool success = m_manager-&gt;saveContact(&amp;curr);
if (!success)
QMessageBox::information(this, &quot;Failed!&quot;, QString(&quot;Failed to save contact!\n(error code %1)&quot;).arg(m_manager-&gt;error()));
@@ -345,8 +346,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-contacteditor-h.html b/doc/html/samplephonebook-contacteditor-h.html
index 476ea99209..ce5b98537f 100644
--- a/doc/html/samplephonebook-contacteditor-h.html
+++ b/doc/html/samplephonebook-contacteditor-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -119,8 +119,8 @@
#endif <span class="comment">// CONTACTEDITOR_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-contactlistpage-cpp.html b/doc/html/samplephonebook-contactlistpage-cpp.html
index 44ffa31b1d..33e2011add 100644
--- a/doc/html/samplephonebook-contactlistpage-cpp.html
+++ b/doc/html/samplephonebook-contactlistpage-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -328,8 +328,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-contactlistpage-h.html b/doc/html/samplephonebook-contactlistpage-h.html
index 67a06bf2d3..bd8c02949d 100644
--- a/doc/html/samplephonebook-contactlistpage-h.html
+++ b/doc/html/samplephonebook-contactlistpage-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -118,8 +118,8 @@
#endif <span class="comment">// CONTACTLISTPAGE_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-filterpage-cpp.html b/doc/html/samplephonebook-filterpage-cpp.html
index a2d15faee9..3b36a5579b 100644
--- a/doc/html/samplephonebook-filterpage-cpp.html
+++ b/doc/html/samplephonebook-filterpage-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -215,8 +215,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-filterpage-h.html b/doc/html/samplephonebook-filterpage-h.html
index ec3939b863..ad0700703b 100644
--- a/doc/html/samplephonebook-filterpage-h.html
+++ b/doc/html/samplephonebook-filterpage-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -111,8 +111,8 @@
#endif <span class="comment">// FILTERPAGE_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-main-cpp.html b/doc/html/samplephonebook-main-cpp.html
index b0877aa9cc..210f83d60a 100644
--- a/doc/html/samplephonebook-main-cpp.html
+++ b/doc/html/samplephonebook-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -70,8 +70,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-phonebook-cpp.html b/doc/html/samplephonebook-phonebook-cpp.html
index e65faa0960..49df066234 100644
--- a/doc/html/samplephonebook-phonebook-cpp.html
+++ b/doc/html/samplephonebook-phonebook-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -132,8 +132,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-phonebook-h.html b/doc/html/samplephonebook-phonebook-h.html
index 7ab865783c..ad53e17d85 100644
--- a/doc/html/samplephonebook-phonebook-h.html
+++ b/doc/html/samplephonebook-phonebook-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -109,8 +109,8 @@
#endif <span class="comment">// PHONEBOOK_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook-samplephonebook-pro.html b/doc/html/samplephonebook-samplephonebook-pro.html
index e263edef34..3b505c7fc2 100644
--- a/doc/html/samplephonebook-samplephonebook-pro.html
+++ b/doc/html/samplephonebook-samplephonebook-pro.html
@@ -57,8 +57,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/samplephonebook.html b/doc/html/samplephonebook.html
index c2045d7f32..08a4200d42 100644
--- a/doc/html/samplephonebook.html
+++ b/doc/html/samplephonebook.html
@@ -74,8 +74,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sensors-api.html b/doc/html/sensors-api.html
index e773a9d452..7c55259031 100644
--- a/doc/html/sensors-api.html
+++ b/doc/html/sensors-api.html
@@ -14,7 +14,6 @@
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">All&nbsp;Functions</font></a>&nbsp;&middot;</td>
<td align="right" valign="top" width="230"><img src="images/codeless.png" border="0" /></td></tr></table><h1 class="title">Sensors API<br /><span class="subtitle"></span>
</h1>
-<p><b>Warning:</b> This API should be considered in a beta state. It is under development and subject to change.</p>
<p>The Sensors API provides access to sensors.</p>
<p>This covers both high-level sensors such as screen orientation (portrait, landscape) and low-level, real-time sensors such as accelerometer data.</p>
<ul><li><a href="#namespace">Namespace</a></li>
@@ -130,8 +129,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sensors-backend.html b/doc/html/sensors-backend.html
index a1b3dcbd52..7857b1d0e6 100644
--- a/doc/html/sensors-backend.html
+++ b/doc/html/sensors-backend.html
@@ -35,8 +35,8 @@
</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/service-framework-on-symbian.html b/doc/html/service-framework-on-symbian.html
index 02fd5723f9..54f7695d1f 100644
--- a/doc/html/service-framework-on-symbian.html
+++ b/doc/html/service-framework-on-symbian.html
@@ -55,8 +55,8 @@
<p>Note! The greatest part of the S60 specific code is located under the symbian folder in a directory hierarchy of Service FW. ServiceDatabase class contains also S60 specific code and the DatabaseManager class has been replaced totally with the corresponding class.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/service-frameworks.html b/doc/html/service-frameworks.html
index bef4136500..4777efc9ae 100644
--- a/doc/html/service-frameworks.html
+++ b/doc/html/service-frameworks.html
@@ -217,8 +217,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-attachmentlistwidget-cpp.html b/doc/html/serviceactions-attachmentlistwidget-cpp.html
index 8adfc11b09..16f9d0bfa4 100644
--- a/doc/html/serviceactions-attachmentlistwidget-cpp.html
+++ b/doc/html/serviceactions-attachmentlistwidget-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -527,8 +527,8 @@
#include &lt;attachmentlistwidget.moc&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-attachmentlistwidget-h.html b/doc/html/serviceactions-attachmentlistwidget-h.html
index 2e29500077..b7ee0756f0 100644
--- a/doc/html/serviceactions-attachmentlistwidget-h.html
+++ b/doc/html/serviceactions-attachmentlistwidget-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -104,8 +104,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-main-cpp.html b/doc/html/serviceactions-main-cpp.html
index e1babdf98c..3a87deb4e6 100644
--- a/doc/html/serviceactions-main-cpp.html
+++ b/doc/html/serviceactions-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,8 +74,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-mainwindow-cpp.html b/doc/html/serviceactions-mainwindow-cpp.html
index a780548295..4bd7809b61 100644
--- a/doc/html/serviceactions-mainwindow-cpp.html
+++ b/doc/html/serviceactions-mainwindow-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -1364,8 +1364,8 @@
#include &lt;mainwindow.moc&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-mainwindow-h.html b/doc/html/serviceactions-mainwindow-h.html
index 73ab095226..a9ed5d8b51 100644
--- a/doc/html/serviceactions-mainwindow-h.html
+++ b/doc/html/serviceactions-mainwindow-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -92,8 +92,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions-serviceactions-pro.html b/doc/html/serviceactions-serviceactions-pro.html
index 96eb169a94..60a9000796 100644
--- a/doc/html/serviceactions-serviceactions-pro.html
+++ b/doc/html/serviceactions-serviceactions-pro.html
@@ -48,8 +48,8 @@
WriteDeviceData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/serviceactions.html b/doc/html/serviceactions.html
index ee5cbb294e..e492bd4b3e 100644
--- a/doc/html/serviceactions.html
+++ b/doc/html/serviceactions.html
@@ -250,8 +250,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicebrowser-main-cpp.html b/doc/html/servicebrowser-main-cpp.html
index cc5832cc69..cfa2c52c0f 100644
--- a/doc/html/servicebrowser-main-cpp.html
+++ b/doc/html/servicebrowser-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -89,8 +89,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicebrowser-servicebrowser-cpp.html b/doc/html/servicebrowser-servicebrowser-cpp.html
index 66021f0d92..fc97841880 100644
--- a/doc/html/servicebrowser-servicebrowser-cpp.html
+++ b/doc/html/servicebrowser-servicebrowser-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -325,8 +325,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicebrowser-servicebrowser-h.html b/doc/html/servicebrowser-servicebrowser-h.html
index 84685ecff6..f34cb0ae5f 100644
--- a/doc/html/servicebrowser-servicebrowser-h.html
+++ b/doc/html/servicebrowser-servicebrowser-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -113,8 +113,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicebrowser-servicebrowser-pro.html b/doc/html/servicebrowser-servicebrowser-pro.html
index c22fbaaee1..6435595594 100644
--- a/doc/html/servicebrowser-servicebrowser-pro.html
+++ b/doc/html/servicebrowser-servicebrowser-pro.html
@@ -39,8 +39,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicebrowser.html b/doc/html/servicebrowser.html
index 5d97af6215..145f12f047 100644
--- a/doc/html/servicebrowser.html
+++ b/doc/html/servicebrowser.html
@@ -183,8 +183,8 @@
<p>Of course, the <a href="qservicemanager.html#loadInterface">QServiceManager::loadInterface</a>() call here assumes the FileManagerStorage implementation is the default for the com.nokia.qt.examples.FileStorage interface. Otherwise, it would have to pass a <a href="qserviceinterfacedescriptor.html">QServiceInterfaceDescriptor</a> object to <a href="qservicemanager.html#loadInterface">QServiceManager::loadInterface</a>() instead of just the interface name to ensure the correct implementation is loaded.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/servicefw.html b/doc/html/servicefw.html
index fc8efec717..8114d4345e 100644
--- a/doc/html/servicefw.html
+++ b/doc/html/servicefw.html
@@ -26,8 +26,8 @@
</table></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes-main-cpp.html b/doc/html/sfw-notes-main-cpp.html
index 5897630c5d..b957824b68 100644
--- a/doc/html/sfw-notes-main-cpp.html
+++ b/doc/html/sfw-notes-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes-sfw-notes-pro.html b/doc/html/sfw-notes-sfw-notes-pro.html
index 6db831c7b3..4343eed333 100644
--- a/doc/html/sfw-notes-sfw-notes-pro.html
+++ b/doc/html/sfw-notes-sfw-notes-pro.html
@@ -55,8 +55,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes-sfwnotes-cpp.html b/doc/html/sfw-notes-sfwnotes-cpp.html
index 4b62e1537a..95a76bacd7 100644
--- a/doc/html/sfw-notes-sfwnotes-cpp.html
+++ b/doc/html/sfw-notes-sfwnotes-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -260,8 +260,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes-sfwnotes-h.html b/doc/html/sfw-notes-sfwnotes-h.html
index d21b26a048..65e80707b5 100644
--- a/doc/html/sfw-notes-sfwnotes-h.html
+++ b/doc/html/sfw-notes-sfwnotes-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -105,8 +105,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes-sfwnotes-qrc.html b/doc/html/sfw-notes-sfwnotes-qrc.html
index a74c07904a..a731a315c3 100644
--- a/doc/html/sfw-notes-sfwnotes-qrc.html
+++ b/doc/html/sfw-notes-sfwnotes-qrc.html
@@ -24,8 +24,8 @@
&lt;/RCC&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sfw-notes.html b/doc/html/sfw-notes.html
index b138dff553..6a91a95a42 100644
--- a/doc/html/sfw-notes.html
+++ b/doc/html/sfw-notes.html
@@ -26,8 +26,8 @@
<p>There is also a declarative example which implements identical functionality using QML as the main user-interface context. This example is called the <a href="declarative-sfw-notes.html">Declarative Notes Manager</a></p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/slideshow-main-cpp.html b/doc/html/slideshow-main-cpp.html
index e269746153..ed4749af11 100644
--- a/doc/html/slideshow-main-cpp.html
+++ b/doc/html/slideshow-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,8 +72,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/slideshow-slideshow-cpp.html b/doc/html/slideshow-slideshow-cpp.html
index 4ac3b8f7a7..160e2cb114 100644
--- a/doc/html/slideshow-slideshow-cpp.html
+++ b/doc/html/slideshow-slideshow-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -267,8 +267,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/slideshow-slideshow-h.html b/doc/html/slideshow-slideshow-h.html
index 4eefcb3028..fd430cc64e 100644
--- a/doc/html/slideshow-slideshow-h.html
+++ b/doc/html/slideshow-slideshow-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,8 +103,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/slideshow-slideshow-pro.html b/doc/html/slideshow-slideshow-pro.html
index 3a4736affe..f850a84dbe 100644
--- a/doc/html/slideshow-slideshow-pro.html
+++ b/doc/html/slideshow-slideshow-pro.html
@@ -29,8 +29,8 @@
slideshow.cpp</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/slideshow.html b/doc/html/slideshow.html
index 7d04b0a585..5411be63a4 100644
--- a/doc/html/slideshow.html
+++ b/doc/html/slideshow.html
@@ -36,8 +36,8 @@
<pre> imageViewer-&gt;setTimeout( 5000 );</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo-dialog-cpp.html b/doc/html/sysinfo-dialog-cpp.html
index 23a40b025a..07db1cad67 100644
--- a/doc/html/sysinfo-dialog-cpp.html
+++ b/doc/html/sysinfo-dialog-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -750,8 +750,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo-dialog-h.html b/doc/html/sysinfo-dialog-h.html
index 2e43e8ef3b..d62c37591f 100644
--- a/doc/html/sysinfo-dialog-h.html
+++ b/doc/html/sysinfo-dialog-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -119,8 +119,8 @@
#endif <span class="comment">// DIALOG_H</span></pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo-examples-qrc.html b/doc/html/sysinfo-examples-qrc.html
index 285bb04e3b..5728cf69c3 100644
--- a/doc/html/sysinfo-examples-qrc.html
+++ b/doc/html/sysinfo-examples-qrc.html
@@ -23,8 +23,8 @@
&lt;/RCC&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo-main-cpp.html b/doc/html/sysinfo-main-cpp.html
index 4c0d1b9f11..3232053247 100644
--- a/doc/html/sysinfo-main-cpp.html
+++ b/doc/html/sysinfo-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,8 +71,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo-sysinfo-pro.html b/doc/html/sysinfo-sysinfo-pro.html
index 1b94df757b..5b12efc722 100644
--- a/doc/html/sysinfo-sysinfo-pro.html
+++ b/doc/html/sysinfo-sysinfo-pro.html
@@ -51,14 +51,14 @@
}
symbian {
- TARGET.CAPABILITY = LocalServices NetworkServices ReadUserData WriteUserData UserEnvironment Location ReadDeviceData TrustedUI
+ TARGET.CAPABILITY = LocalServices NetworkServices ReadUserData UserEnvironment Location ReadDeviceData
TARGET.UID3 = 0x2002ac7e
FORMS += dialog_s60.ui
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/sysinfo.html b/doc/html/sysinfo.html
index 16c39dcc0c..6486a69bf1 100644
--- a/doc/html/sysinfo.html
+++ b/doc/html/sysinfo.html
@@ -67,8 +67,8 @@
featuresLineEdit-&gt;setText((si.hasFeatureSupported(feature) ? &quot;true&quot;:&quot;false&quot; ));</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/systeminfo.html b/doc/html/systeminfo.html
index 03983414dc..d7179bcc8a 100644
--- a/doc/html/systeminfo.html
+++ b/doc/html/systeminfo.html
@@ -90,8 +90,8 @@
<p>The <a href="sysinfo.html">System Information</a> example demonstrates how an application can very easily access the system information of the device.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/trademarks.html b/doc/html/trademarks.html
index 991c71ea70..18f828b7af 100644
--- a/doc/html/trademarks.html
+++ b/doc/html/trademarks.html
@@ -29,8 +29,8 @@
</ul>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/versit.html b/doc/html/versit.html
index 7b2e7abb29..2ddcacd5ca 100644
--- a/doc/html/versit.html
+++ b/doc/html/versit.html
@@ -17,8 +17,7 @@
<ul><li><a href="#namespace">Namespace</a></li>
<li><a href="#overview">Overview</a></li>
<li><a href="#usage">Usage</a></li>
-<li><a href="#classes">Classes</a></li>
-<li><a href="#mapping-the-vcard-constants">Mapping the vCard constants</a></li>
+<li><a href="#main-classes">Main Classes</a></li>
</ul>
<a name="namespace"></a>
<h3>Namespace</h3>
@@ -72,8 +71,8 @@
<span class="comment">// Read the vCard back to a QByteArray</span>
output.seek(0);
QByteArray outputVCard(output.readAll());</pre>
-<a name="classes"></a>
-<h3>Classes</h3>
+<a name="main-classes"></a>
+<h3>Main Classes</h3>
<ul>
<li><a href="qversitproperty.html">QVersitProperty</a></li>
<li><a href="qversitdocument.html">QVersitDocument</a></li>
@@ -82,96 +81,10 @@
<li><a href="qversitcontactimporter.html">QVersitContactImporter</a></li>
<li><a href="qversitcontactexporter.html">QVersitContactExporter</a></li>
</ul>
-<a name="mapping-the-vcard-constants"></a>
-<h3>Mapping the vCard constants</h3>
-<p>vCard properties are mapped to QContactDetails as follows:</p>
-<pre><span class="comment"> // Mappings from versit property names to Qt contact details</span>
- const VersitContactDetailMapping versitContactDetailMappings[] = {
- {&quot;ADR&quot;, QContactAddress::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;BDAY&quot;, QContactBirthday::DefinitionName.latin1(),
- QContactBirthday::FieldBirthday.latin1()},
- {&quot;CATEGORIES&quot;, QContactTag::DefinitionName.latin1(),
- QContactTag::FieldTag.latin1()},
- {&quot;FN&quot;, QContactDisplayLabel::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;GEO&quot;, QContactGeoLocation::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;EMAIL&quot;, QContactEmailAddress::DefinitionName.latin1(),
- QContactEmailAddress::FieldEmailAddress.latin1()},
- {&quot;IMPP&quot;, QContactOnlineAccount::DefinitionName.latin1(),
- QContactOnlineAccount::SubTypeImpp.latin1()},
- {&quot;LOGO&quot;, QContactOrganization::DefinitionName.latin1(),
- QContactOrganization::FieldLogoUrl.latin1()},
- {&quot;N&quot;, QContactName::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;NICKNAME&quot;, QContactNickname::DefinitionName.latin1(),
- QContactNickname::FieldNickname.latin1()},
- {&quot;NOTE&quot;, QContactNote::DefinitionName.latin1(),
- QContactNote::FieldNote.latin1()},
- {&quot;ORG&quot;, QContactOrganization::DefinitionName.latin1(),
- QContactOrganization::FieldName.latin1()},
- {&quot;PHOTO&quot;, QContactThumbnail::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;REV&quot;, QContactTimestamp::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;ROLE&quot;, QContactOrganization::DefinitionName.latin1(),
- QContactOrganization::FieldRole.latin1()},
- {&quot;SOUND&quot;, QContactRingtone::DefinitionName.latin1(),
- QContactRingtone::FieldAudioRingtoneUrl.latin1()},
- {&quot;TEL&quot;, QContactPhoneNumber::DefinitionName.latin1(),
- QContactPhoneNumber::FieldNumber.latin1()},
- {&quot;TITLE&quot;, QContactOrganization::DefinitionName.latin1(),
- QContactOrganization::FieldTitle.latin1()},
- {&quot;UID&quot;, QContactGuid::DefinitionName.latin1(),
- QContactGuid::FieldGuid.latin1()},
- {&quot;URL&quot;, QContactUrl::DefinitionName.latin1(),
- QContactUrl::FieldUrl.latin1()},
- {&quot;X-ANNIVERSARY&quot;, QContactAnniversary::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;X-ASSISTANT&quot;, QContactOrganization::DefinitionName.latin1(),
- QContactOrganization::FieldAssistantName.latin1()},
- {&quot;X-ASSISTANT-TEL&quot;, QContactPhoneNumber::DefinitionName.latin1(),
- QContactPhoneNumber::SubTypeAssistant.latin1()},
- {&quot;X-CHILDREN&quot;, QContactFamily::DefinitionName.latin1(),
- QContactFamily::FieldChildren.latin1()},
- {&quot;X-EPOCSECONDNAME&quot;,QContactNickname::DefinitionName.latin1(),
- QContactNickname::FieldNickname.latin1()},
- {&quot;X-GENDER&quot;, QContactGender::DefinitionName.latin1(),
- QContactGender::FieldGender.latin1()},
- {&quot;X-IMPP&quot;, QContactOnlineAccount::DefinitionName.latin1(),
- QContactOnlineAccount::SubTypeImpp.latin1()},
- {&quot;X-JABBER&quot;, QContactOnlineAccount::DefinitionName.latin1(),
- QContactOnlineAccount::SubTypeImpp.latin1()},
- {&quot;X-NICKNAME&quot;, QContactNickname::DefinitionName.latin1(),
- QContactNickname::FieldNickname.latin1()},
- {&quot;X-SIP&quot;, QContactOnlineAccount::DefinitionName.latin1(),
- &quot;&quot;},
- {&quot;X-SPOUSE&quot;, QContactFamily::DefinitionName.latin1(),
- QContactFamily::FieldSpouse.latin1()}
- };</pre>
-<p>vCard type parameters are mapped to subtypes in QContactDetails as follows:</p>
-<pre><span class="comment"> // Mappings from versit TYPE parameters to Qt contact detail subtypes</span>
- const VersitMapping versitSubTypeMappings[] = {
- {&quot;DOM&quot;, QContactAddress::SubTypeDomestic.latin1()},
- {&quot;INTL&quot;, QContactAddress::SubTypeInternational.latin1()},
- {&quot;POSTAL&quot;, QContactAddress::SubTypePostal.latin1()},
- {&quot;PARCEL&quot;, QContactAddress::SubTypeParcel.latin1()},
- {&quot;VOICE&quot;, QContactPhoneNumber::SubTypeVoice.latin1()},
- {&quot;CELL&quot;, QContactPhoneNumber::SubTypeMobile.latin1()},
- {&quot;MODEM&quot;, QContactPhoneNumber::SubTypeModem.latin1()},
- {&quot;CAR&quot;, QContactPhoneNumber::SubTypeCar.latin1()},
- {&quot;VIDEO&quot;, QContactPhoneNumber::SubTypeVideo.latin1()},
- {&quot;FAX&quot;, QContactPhoneNumber::SubTypeFax.latin1()},
- {&quot;BBS&quot;, QContactPhoneNumber::SubTypeBulletinBoardSystem.latin1()},
- {&quot;PAGER&quot;, QContactPhoneNumber::SubTypePager.latin1()},
- {&quot;SWIS&quot;, QContactOnlineAccount::SubTypeVideoShare.latin1()},
- {&quot;VOIP&quot;, QContactOnlineAccount::SubTypeSipVoip.latin1()}
- };</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-few-clouds-svg.html b/doc/html/weatherinfo-icons-weather-few-clouds-svg.html
index 7944c0bde5..70ac92574f 100644
--- a/doc/html/weatherinfo-icons-weather-few-clouds-svg.html
+++ b/doc/html/weatherinfo-icons-weather-few-clouds-svg.html
@@ -188,8 +188,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-fog-svg.html b/doc/html/weatherinfo-icons-weather-fog-svg.html
index 4a26239278..5b8d14548a 100644
--- a/doc/html/weatherinfo-icons-weather-fog-svg.html
+++ b/doc/html/weatherinfo-icons-weather-fog-svg.html
@@ -129,8 +129,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-haze-svg.html b/doc/html/weatherinfo-icons-weather-haze-svg.html
index 7f57600d72..610918c3bf 100644
--- a/doc/html/weatherinfo-icons-weather-haze-svg.html
+++ b/doc/html/weatherinfo-icons-weather-haze-svg.html
@@ -177,8 +177,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-icy-svg.html b/doc/html/weatherinfo-icons-weather-icy-svg.html
index bf8b56c893..b9df38cffb 100644
--- a/doc/html/weatherinfo-icons-weather-icy-svg.html
+++ b/doc/html/weatherinfo-icons-weather-icy-svg.html
@@ -66,8 +66,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-overcast-svg.html b/doc/html/weatherinfo-icons-weather-overcast-svg.html
index a449eb7487..bb5bb83a06 100644
--- a/doc/html/weatherinfo-icons-weather-overcast-svg.html
+++ b/doc/html/weatherinfo-icons-weather-overcast-svg.html
@@ -206,8 +206,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-showers-svg.html b/doc/html/weatherinfo-icons-weather-showers-svg.html
index 22ae5921e7..1877f6409c 100644
--- a/doc/html/weatherinfo-icons-weather-showers-svg.html
+++ b/doc/html/weatherinfo-icons-weather-showers-svg.html
@@ -194,8 +194,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-sleet-svg.html b/doc/html/weatherinfo-icons-weather-sleet-svg.html
index 0674e6cfa0..1af3df6eee 100644
--- a/doc/html/weatherinfo-icons-weather-sleet-svg.html
+++ b/doc/html/weatherinfo-icons-weather-sleet-svg.html
@@ -245,8 +245,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-snow-svg.html b/doc/html/weatherinfo-icons-weather-snow-svg.html
index e9a74de9fc..0ce1e76e20 100644
--- a/doc/html/weatherinfo-icons-weather-snow-svg.html
+++ b/doc/html/weatherinfo-icons-weather-snow-svg.html
@@ -215,8 +215,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-storm-svg.html b/doc/html/weatherinfo-icons-weather-storm-svg.html
index 0a88cc8d3b..8d708f7b92 100644
--- a/doc/html/weatherinfo-icons-weather-storm-svg.html
+++ b/doc/html/weatherinfo-icons-weather-storm-svg.html
@@ -205,8 +205,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-sunny-svg.html b/doc/html/weatherinfo-icons-weather-sunny-svg.html
index 930bf6bdfa..2c7ad3ce42 100644
--- a/doc/html/weatherinfo-icons-weather-sunny-svg.html
+++ b/doc/html/weatherinfo-icons-weather-sunny-svg.html
@@ -97,8 +97,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-sunny-very-few-clouds-svg.html b/doc/html/weatherinfo-icons-weather-sunny-very-few-clouds-svg.html
index 54ca7657af..54847025d9 100644
--- a/doc/html/weatherinfo-icons-weather-sunny-very-few-clouds-svg.html
+++ b/doc/html/weatherinfo-icons-weather-sunny-very-few-clouds-svg.html
@@ -156,8 +156,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-icons-weather-thundershower-svg.html b/doc/html/weatherinfo-icons-weather-thundershower-svg.html
index 95feaedaa1..9965629212 100644
--- a/doc/html/weatherinfo-icons-weather-thundershower-svg.html
+++ b/doc/html/weatherinfo-icons-weather-thundershower-svg.html
@@ -239,8 +239,8 @@
&lt;/svg&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-weatherinfo-cpp.html b/doc/html/weatherinfo-weatherinfo-cpp.html
index 1b33487944..d8c17bf884 100644
--- a/doc/html/weatherinfo-weatherinfo-cpp.html
+++ b/doc/html/weatherinfo-weatherinfo-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -692,8 +692,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-weatherinfo-pro.html b/doc/html/weatherinfo-weatherinfo-pro.html
index d83769a42a..bb147b0289 100644
--- a/doc/html/weatherinfo-weatherinfo-pro.html
+++ b/doc/html/weatherinfo-weatherinfo-pro.html
@@ -56,8 +56,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo-weatherinfo-qrc.html b/doc/html/weatherinfo-weatherinfo-qrc.html
index 0af395131d..19fbc538f5 100644
--- a/doc/html/weatherinfo-weatherinfo-qrc.html
+++ b/doc/html/weatherinfo-weatherinfo-qrc.html
@@ -31,8 +31,8 @@
&lt;/RCC&gt;</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/weatherinfo.html b/doc/html/weatherinfo.html
index 86e2b83760..59650d602f 100644
--- a/doc/html/weatherinfo.html
+++ b/doc/html/weatherinfo.html
@@ -35,8 +35,8 @@
<p>The Weather Info demo displays the weather forecast for several days at the current location. If no GPS is found then a default is used. Right clicking on the background will display a short list of hard-coded cities that can be used.</p>
<p align="center"><img src="images/weatherinfo-bris.png" /></p><p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/writemessage-main-cpp.html b/doc/html/writemessage-main-cpp.html
index cc061af428..964929b850 100644
--- a/doc/html/writemessage-main-cpp.html
+++ b/doc/html/writemessage-main-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -75,8 +75,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/writemessage-messagesender-cpp.html b/doc/html/writemessage-messagesender-cpp.html
index 19bf7695ac..3fc9eeee45 100644
--- a/doc/html/writemessage-messagesender-cpp.html
+++ b/doc/html/writemessage-messagesender-cpp.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -360,8 +360,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/writemessage-messagesender-h.html b/doc/html/writemessage-messagesender-h.html
index 197e16e93f..ae84f227c9 100644
--- a/doc/html/writemessage-messagesender-h.html
+++ b/doc/html/writemessage-messagesender-h.html
@@ -15,7 +15,7 @@
</h1>
<pre><span class="comment"> /****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -106,8 +106,8 @@
#endif</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/writemessage-writemessage-pro.html b/doc/html/writemessage-writemessage-pro.html
index 16dcbfbe4e..81267d0101 100644
--- a/doc/html/writemessage-writemessage-pro.html
+++ b/doc/html/writemessage-writemessage-pro.html
@@ -46,8 +46,8 @@
WriteDeviceData</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/html/writemessage.html b/doc/html/writemessage.html
index 59ea8dbaca..8130985bff 100644
--- a/doc/html/writemessage.html
+++ b/doc/html/writemessage.html
@@ -143,8 +143,8 @@
}</pre>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
-<td align="left">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
+<td align="left">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
-<td align="right"><div align="right">Qt Mobility Project 1.0.0</div></td>
+<td align="right"><div align="right">Qt Mobility Project 1.0.1</div></td>
</tr></table></div></address></body>
</html>
diff --git a/doc/src/bearermanagement.qdoc b/doc/src/bearermanagement.qdoc
index 7c654c4d4d..6a7360b46b 100644
--- a/doc/src/bearermanagement.qdoc
+++ b/doc/src/bearermanagement.qdoc
@@ -59,13 +59,6 @@ access points.
\tableofcontents
-\section1 Namespace
-
-The QtMobility API's are placed into the \i{QtMobility} namespace. This is done
-to facilitate the future migration of Mobility API's into Qt. See the
-\l {Quickstart Example}{Quickstart guide} for an example on how the
-namespace impacts on application development.
-
\section1 Overview
The Bearer Management API controls the system's connectivity state. This
@@ -77,13 +70,32 @@ session management so that a network interface remains up for as long as
clients have a registered interest in them while at the same time
optimizes the interface's uptime.
-This API is a key enabler for HTTP level roaming in
-\l {QNetworkAccessManager}{QNetworkAccessManager}.
-
This API does not provide support for management of network configurations
themselves. It is up to the platform to provide infrastructure which
enables to user to create, edit or delete network configurations.
+\section2 Migration to Qt 4.7 or higher
+
+The Bearer API has been migrated to the Qt 4.7 QtNetwork library. This enables
+connection manager and roaming support for \l QNetworkAccessManager.
+Starting with Qt 4.7 the Mobility version has been deprecated in favor of
+Qt's Bearer API. Furthermore the roaming enabled QNetworkAccessManager cannot be used
+in connection with Mobility's Bearer API.
+
+The porting effort from Mobility Bearer to Qt Bearer is minimal as
+the relevant classes are source compatible. The only exception is the
+removal of the QtMobility namespace. Already deployed applications will continue
+to work but cannot make use of the new features in Qt 4.7 and QNetworkAccessManager.
+
+An application can select the Bearer API to be used via its project file.
+As long as the MOBILITY variable contains the \c bearer string the project
+will link Mobility's bearer library (even if the project links against QtNetwork at the same time).
+
+\code
+ MOBILITY+=bearer #choose Mobility bearer
+\endcode
+
+
\section2 The API in Detail
Computer systems manage their network interfaces via a set of configurations.
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index 188725b8cd..172e5d316d 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contacts.qdoc b/doc/src/contacts.qdoc
index 000fb064c0..28174bbfe9 100644
--- a/doc/src/contacts.qdoc
+++ b/doc/src/contacts.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contactsasync.qdoc b/doc/src/contactsasync.qdoc
index 0a47b25354..b594d98ae9 100644
--- a/doc/src/contactsasync.qdoc
+++ b/doc/src/contactsasync.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contactsengines.qdoc b/doc/src/contactsengines.qdoc
index 6714e0ad5e..d29c58e96a 100644
--- a/doc/src/contactsengines.qdoc
+++ b/doc/src/contactsengines.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contactsschema.qdoc b/doc/src/contactsschema.qdoc
index eab9d70759..11bc5ad5e1 100644
--- a/doc/src/contactsschema.qdoc
+++ b/doc/src/contactsschema.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contactssync.qdoc b/doc/src/contactssync.qdoc
index fb80655b49..840e00bdb0 100644
--- a/doc/src/contactssync.qdoc
+++ b/doc/src/contactssync.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/contactsusage.qdoc b/doc/src/contactsusage.qdoc
index 16b7980f94..fd700b834a 100644
--- a/doc/src/contactsusage.qdoc
+++ b/doc/src/contactsusage.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples.qdoc b/doc/src/examples.qdoc
index ca4b634d7d..57509934ed 100644
--- a/doc/src/examples.qdoc
+++ b/doc/src/examples.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/audiorecorder.qdoc b/doc/src/examples/audiorecorder.qdoc
index 4c61811f70..2fbd91e017 100644
--- a/doc/src/examples/audiorecorder.qdoc
+++ b/doc/src/examples/audiorecorder.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/battery-charge.qdoc b/doc/src/examples/battery-charge.qdoc
index d673464aa4..1679d471f6 100644
--- a/doc/src/examples/battery-charge.qdoc
+++ b/doc/src/examples/battery-charge.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -58,7 +58,7 @@
\image battery-publisher.png
The second program, battery-subscriber, is implemented in QML with some C++ code to display the
- QML and make QValueSpaceSubscriber available from within QML.
+ QML and makes QValueSpaceSubscriber available from within QML.
The user interface of the battery subscriber program is described in QML. It has the following
features: A rectangular area representing the percent charge of the battery. It indicates a
@@ -69,26 +69,28 @@
\section2 Battery Subscriber
- The first step is to make QValueSpaceSubscriber available from within QML so that our QML code
- can access the keys published by the battery-publisher. This is achieved by using the
- QML_DECLARE_TYPE() and QML_DEFINE_TYPE() macros. The following code makes
- QValueSpaceSubscriber available from within QML as ValueSpaceSubscriber.
+ The QValueSpaceSubscriber class is available from within QML through the use of a plugin which
+ is parsed by the QML engine. This means that simply using the QML element 'ValueSpaceSubscriber'
+ allows access to the valuespace, which is demonstrated below.
- \snippet battery-charge/battery-subscriber/main.cpp 0
\section3 QML
+ Firstly, import the plugin library that provides the ValueSpaceSubscriber QML element.
+
+ \snippet battery-charge/battery-subscriber/battery-subscriber.qml 4
+
Two ValueSpaceSubscriber instances are created, one for each of the battery values. We give
each object a unique id so that we can reference it from elsewhere in the QML. We set the
\i path properties to the Value Space path of the keys. Finally we set the \i notify
properties to true to enable the emission of change notification signals.
- \snippet battery-charge/battery-subscriber/battery-meter.qml 0
+ \snippet battery-charge/battery-subscriber/battery-subscriber.qml 0
The default state of the rectangle used to visualize the battery charge uses the \i charge
property of our BatteryCharge class in the expression for its height.
- \snippet battery-charge/battery-subscriber/battery-meter.qml 1
+ \snippet battery-charge/battery-subscriber/battery-subscriber.qml 1
When the battery charge changes the height of the rectangle will automatically change.
@@ -96,10 +98,10 @@
drops below 25% and the battery is not being recharged. When in this state the color is set to
red.
- \snippet battery-charge/battery-subscriber/battery-meter.qml 2
+ \snippet battery-charge/battery-subscriber/battery-subscriber.qml 2
The \i charging state is entered when the battery is being recharged. When in this state a
particle effect animation is enabled.
- \snippet battery-charge/battery-subscriber/battery-meter.qml 3
+ \snippet battery-charge/battery-subscriber/battery-subscriber.qml 3
*/
diff --git a/doc/src/examples/bearercloud.qdoc b/doc/src/examples/bearercloud.qdoc
index 90cdbfa1b8..7cbf55fcd9 100644
--- a/doc/src/examples/bearercloud.qdoc
+++ b/doc/src/examples/bearercloud.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/bearermonitor.qdoc b/doc/src/examples/bearermonitor.qdoc
index 8d3892b5f8..f23425b922 100644
--- a/doc/src/examples/bearermonitor.qdoc
+++ b/doc/src/examples/bearermonitor.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/bluetoothtransferplugin.qdoc b/doc/src/examples/bluetoothtransferplugin.qdoc
index 615afa10e6..b075dfee32 100644
--- a/doc/src/examples/bluetoothtransferplugin.qdoc
+++ b/doc/src/examples/bluetoothtransferplugin.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/declarative-sfw-dialer.qdoc b/doc/src/examples/declarative-sfw-dialer.qdoc
index f6bedb4111..3d88953544 100644
--- a/doc/src/examples/declarative-sfw-dialer.qdoc
+++ b/doc/src/examples/declarative-sfw-dialer.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,11 +46,12 @@
\bold {Explanation:}
-This example should demonstrate how to use the Service Framework and
-access the services in a QMLContext. Currently there is a wrapper class
-which provides functionality for a single service as well as a list of
-services. In future releases this will be included as a plugin. Another
-example that demonstrates how to connect to a single service object to
+This example should demonstrate how to use the Service Framework to
+access a list of services in a QML context. A library plugin provides QML with elements
+that can reference a single service or a list of services, called 'Service' and
+'ServiceList' respectively.
+
+An example that demonstrates how to connect to a single service object to
implement a simple note taking application can be found \l{declarative-sfw-notes}{here}.
\target guidesign
@@ -59,35 +60,16 @@ The GUI looks like following picture:
\image DialerServiceGUI.png "GUI"
-
-The following steps outline how to make a QML based application
-using the Service Framework technology.
-It is assumed that Qt Mobility has been
-successfully built and environment variables have been set
+The following steps outline how to make a QML based application using the Service Framework technology.
+It is assumed that Qt Mobility has been successfully built and environment variables have been set
as per \l {Installation Guide}.
-\bold {The main function:}
-
-For the usage of several Qml objects and Service Framework we need to
-prepare our main.cpp:
-\list 1
- \o Include the appropriate headers
- \o Include the neccessary service framework type registrations
- \o Include the QML canvas to be displayed
-\endlist
+\bold {Service Framework in QML:}
-Step is shown below:
-\snippet declarative-sfw-dialer/sfwexample/main.cpp 0
+To included the Service Framework QML plugin to our QML file we need to import it as follows:
-Now to make our service framework wrappers known to QML as registered types we need the
-following inline method:
-\snippet declarative-sfw-dialer/sfwexample/main.cpp 1
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 4
-This allows us to import our new types in QML by:
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 4
-
-We are using QDeclarativeView to load and show our QML content
-\snippet declarative-sfw-dialer/sfwexample/main.cpp 2
\bold {The Services:}
@@ -106,10 +88,8 @@ Those projects will create a shared library in each case.
If the library needs to be available over the Service Framework,
we need to register the library.
-You can do this by using the QServiceManager function addService(...).
-In our example this will be done in the function registerExampleServices in the registration class
-accompanying the main function:
-\snippet declarative-sfw-dialer/sfwexample/sfwexample.cpp 0
+In our example this will be done manually by using the servicefw tool. Refer to the project
+README for further details.
As you can see we register the services using a xml file.
This xml file basically contains all information to register the shared library in the
@@ -140,29 +120,6 @@ want to access in out QML script later.
\target voipdialer_h_0
\snippet declarative-sfw-dialer/voipdialer/voipdialer.h 0
-\bold {The ServiceWrapper:}
-
-The ServiceWarpper is our object that is accessible in the QML script.
-Over the ServiceWrapper we can access several service details by calling the properties of the wrapper.
-
-\snippet declarative-sfw-dialer/sfwexample/qdeclarativeservice.h 0
-
-Additionally, there is a QList of ServiceWrapper objects that is also available through QML which can be used to
-obtain a list of services and their details by supplying an interface with an optional minimum version number. QML
-can gain access to these details including the list using the QML-specific QDeclarativeListProperty with the
-following properties.
-
-\snippet declarative-sfw-dialer/sfwexample/qdeclarativeservice.h 1
-
-The ServiceWrapperList contains a list of all available services that contain the com.nokia.qt.examples.Dialer interface.
-In the setInterfaceName(..) function which is QML accessible, a QList of ServiceWrapper objects is populated for the
-dialer services (LandLineDialer and VoipDaler). Each ServiceWrapper object containts the QServiceInterfaceDescriptor and
-properties which allow QML to access the service library functions. This is done by utilising the code below:
-
-\snippet declarative-sfw-dialer/sfwexample/qdeclarativeservice.cpp 0
-
-QML context requires a special declarative list when declaring the property, in this case the property services will
-provide QML with the list of ServiceWrappers which can call serviceObject(..) to reference the service library functions.
\bold {Service access on the QML site}
@@ -172,16 +129,16 @@ The QML elements are implemented in 4 different qml scripting files
The first step is to use our ServiceWrapperList to specify the interface and minimum version (optional) through QML item
context, which will produce a list of ServiceWrapper objects.
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 5
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 5
In the DialerList.qml file the services property is assigned to the ListView model property.
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 0
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 0
To show the items of the model property we need to create a delegate component and assign it to the ListView
Delegate property:
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 1
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 1
In this component you can define how you want to draw one ListView item.
You can acces insite of this component the current ListWiew item by using the variable modelData.
@@ -189,11 +146,11 @@ In our example we are using two text lines. Furthermore we can define whats happ
on a ListView item by using the MouseRegion.
\target DialerList_qml_2
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 2
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 2
Another component can be created for highliting a list item:
-\snippet declarative-sfw-dialer/sfwexample/content/DialerList.qml 3
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml 3
\bold {Service signals and function calls on the QML site}
@@ -203,21 +160,21 @@ As you can see in the onDial event we call the service function dialNumber and
the onHangup calls hangup.
Both function are implemented in the service \l {voipdialer_h_0} { (see voipdialer header file).}
-\snippet declarative-sfw-dialer/sfwexample/sfwexample.qml 0
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml 0
In DialScreen.qml the dial and the hangup signals are defined.
The hangup signal will be emited if the HangUpButton was clicked:
-\snippet declarative-sfw-dialer/sfwexample/content/DialScreen.qml 1
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml 1
The dial signal will be emited if the CallButton was clicked:
-\snippet declarative-sfw-dialer/sfwexample/content/DialScreen.qml 2
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml 2
Now we need to connect the stateChanged signal form the services with an event handler on the QML site.
This is done in our main declarative file:
-\snippet declarative-sfw-dialer/sfwexample/sfwexample.qml 1
+\snippet declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml 1
The DialScreen.currentDialer is assigned during a ListView item click in the
\l {DialerList_qml_2}{ ServiceList.qml file}.
diff --git a/doc/src/examples/declarative-sfw-notes.qdoc b/doc/src/examples/declarative-sfw-notes.qdoc
index 4ab0600677..e42e0c39a0 100644
--- a/doc/src/examples/declarative-sfw-notes.qdoc
+++ b/doc/src/examples/declarative-sfw-notes.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,29 +47,27 @@
This example demonstrates how to use the \l{notesmanagerplugin}{Notes Manager service plugin}
to implement a notes managing application with QML as the declarative user-interface. There
is also a non-QML counterpart which demonstrates an identical application using standard Qt
-user-interface tool. See \l{sfw-notes}{Service Framework Notes Manager} for more details.
+user-interface tools. See \l{sfw-notes}{Service Framework Notes Manager} for more details.
\bold {Explanation}
-In general, QML requires external types and registrations to be provided via a plugin-based
-system, which the service framework does not currently provide. Instead, we have a wrapper
-class which provides access to the QServiceManager and QServiceInterfaceDescriptor API that
-needs to be included in the project and declared in the main funciton of the application. The
-wrapper is referred to as QDeclarativeService.
+The QServiceManager and QServiceInterfaceDescriptor API are provided to QML through the use
+of a plugin-based system. The resulting class is referred to as QDeclarativeService, which
+provides users with the ability of accessing services by loading the interfaces specified
+using the QML element 'Service'.
This example demonstrates how QML can be used to completely control the logic of the
-application, using a combination of declarative elements and Javascript in the QML file. The
-main function is used to produce an application binary but once service framework supports
-a QML plugin, only the QML file will be needed. Also contained is a class that registers our
-Notes Manager service to supply the plugin library, which can also be done using the
-servicefw tool.
-
-There is another service framework example that demonstrates how to use the wrapper to
-browse a list of services to select for dialing usage. See
+application, using a combination of declarative elements and Javascript in the QML file. To run
+the application refer to the README file supplied which
+includes instructions on how to setup and run the QML file demonstrating service framework
+capabilities.
+
+There is also another service framework example that demonstrates how to use the QML library
+plugin browse a list of services to select for dialing usage. See
\l{declarative-sfw-dialer}{Declarative Service Framework Dialer} for a detailed explanation.
-The secion belows explains how QML can be used to emulate to exact functionality of the
+The section belows explains how QML can be used to emulate to exact functionality of the
alternate Qt/C++ example.
diff --git a/doc/src/examples/filemanagerplugin.qdoc b/doc/src/examples/filemanagerplugin.qdoc
index fd7afb30a3..41bf5944ce 100644
--- a/doc/src/examples/filemanagerplugin.qdoc
+++ b/doc/src/examples/filemanagerplugin.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/flickrdemo.qdoc b/doc/src/examples/flickrdemo.qdoc
index 3d44787977..d7792efccf 100644
--- a/doc/src/examples/flickrdemo.qdoc
+++ b/doc/src/examples/flickrdemo.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/keepintouch.qdoc b/doc/src/examples/keepintouch.qdoc
index 60d8535a7a..733dd18fa9 100644
--- a/doc/src/examples/keepintouch.qdoc
+++ b/doc/src/examples/keepintouch.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/lightmaps.qdoc b/doc/src/examples/lightmaps.qdoc
index 8e81b77fa1..36468f1c72 100644
--- a/doc/src/examples/lightmaps.qdoc
+++ b/doc/src/examples/lightmaps.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/notesmanagerplugin.qdoc b/doc/src/examples/notesmanagerplugin.qdoc
index fc1f1b4b2d..ded738e98e 100644
--- a/doc/src/examples/notesmanagerplugin.qdoc
+++ b/doc/src/examples/notesmanagerplugin.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/player.qdoc b/doc/src/examples/player.qdoc
index 64b74c72cc..f8c5c04dc4 100644
--- a/doc/src/examples/player.qdoc
+++ b/doc/src/examples/player.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/publish-subscribe.qdoc b/doc/src/examples/publish-subscribe.qdoc
index 46e88582ce..3fbd2c2242 100644
--- a/doc/src/examples/publish-subscribe.qdoc
+++ b/doc/src/examples/publish-subscribe.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,11 +46,11 @@
The Publish and Subscribe example shows how to use the Qt Publish and Subscribe API to
publish and retrieve values from the platforms Publish and Subscribe system.
- This example program can act either a publisher of Value Space content, a subscriber of a Value
- Space content or both. It can also optionally act as the Value Space Manager. The behavior
- is selected by passing a combination of three optional command line parameters when starting
- the program. If no parameters are supplied the program defaults to acting as both a publisher
- and subscriber.
+ This example program can act as either a publisher of Value Space content, a subscriber of
+ Value Space content or both. It can also optionally act as the Value Space Manager. The
+ behavior is selected by passing a combination of three optional command line parameters when
+ starting the program. If no parameters are supplied the program defaults to acting as both a
+ publisher and a subscriber.
\table
\header
@@ -75,11 +75,12 @@
When acting as a publisher of Value Space content the program creates a PublisherDialog. This
dialog contains a widget for setting the base path of the QValueSpacePublisher and
- widgets for setting the value of the two fixed attributes 'intValue' and 'stringValue'.
+ widgets for setting the value of the three fixed attributes 'intValue', 'stringValue' and
+ 'byteArrayValue'.
\image publish-subscribe-publisher.png
- We declare three slots which we will use to respond to user input in the dialog.
+ We declare the slots which we will use to respond to user input in the dialog.
\snippet publish-subscribe/publisherdialog.h 0
@@ -87,10 +88,10 @@
\snippet publish-subscribe/publisherdialog.cpp 1
- To publish values in the Value Space we first need to create a QValueSpacePublisher. We do
- this in the \c {createNewObject()} slot, which is also used to handle changes in the base path.
+ To publish values in the Value Space we first need to create a QValueSpacePublisher. This is
+ done in the \c {createNewObject()} slot, which is also used to handle changes in the base path.
After the object is constructed we publish the initial values by explicitly calling the other
- two slots.
+ slots.
\snippet publish-subscribe/publisherdialog.cpp 2
@@ -119,7 +120,8 @@
To read values from the Value Space we first create a QValueSpaceSubscriber and connect to the
\c {contentsChanged()} signal.
- We explicitly call our \c {itemChanged()} slot to populate the table with the initial values.
+ We explicitly call our \c {subscriberChanged()} slot to populate the table with the initial
+ values.
\snippet publish-subscribe/subscriberdialog.cpp 0
diff --git a/doc/src/examples/qmlcontacts.qdoc b/doc/src/examples/qmlcontacts.qdoc
index 8050f2e08a..1eadb9ad12 100644
--- a/doc/src/examples/qmlcontacts.qdoc
+++ b/doc/src/examples/qmlcontacts.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/querymessages.qdoc b/doc/src/examples/querymessages.qdoc
index ef8aa8640d..a5b342c233 100644
--- a/doc/src/examples/querymessages.qdoc
+++ b/doc/src/examples/querymessages.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/quickstart.qdoc b/doc/src/examples/quickstart.qdoc
index ddb10d060f..6b250c03aa 100644
--- a/doc/src/examples/quickstart.qdoc
+++ b/doc/src/examples/quickstart.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -108,16 +108,30 @@ corresponding values that can be assigned to \c MOBILITY.
\o \l {Qt Service Framework} {Service Framework}
\o serviceframework
\row
+ \o \l {Sensor API}
+ \o sensors
+\row
\o \l {System Information}
\o systeminfo
\row
- \o \l {Future Additional APIs}{Versit}
+ \o \l {Versit API}{Versit}
\o versit
\endtable
-When developing on Symbian we will also need to add the required capabilites to the project file in order to satisfy the Symbian security model:
+When developing on Symbian we will also need to add the required capabilites to the project file in order to satisfy the Symbian security model.
+This can be achieved with a line such as the following:
+
+\code
+ TARGET.CAPABILITIES = CAPABILITY_A CABAPILITY_B
+\endcode
+
+CAPABILITY_A and CAPABILITY_B are place holders for the appropriate Symbian capabilities. A complete list of all Symbian
+capabilities and their availability to application developers can be found in the
+\l {http://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)}{Symbian capability documentation}.
-\snippet quickstart/quickstart.pro 1
+The subsequent table provides an overview of possibily required capabilities for each Mobility library.
+Note that not all capabilities are always required when using a particular API. The exact list depends
+on which parts of an API is utilized by an application.
\table
\header
@@ -128,7 +142,7 @@ When developing on Symbian we will also need to add the required capabilites to
\o ReadUserData NetworkServices (NetworkControl for QNetworkSession::stop())
\row
\o \l {Contacts}
- \o ReadUserData WriteUserData SwEvent ReadDeviceData WriteDeviceData
+ \o ReadUserData WriteUserData
\row
\o \l {Location}
\o Location
@@ -140,14 +154,19 @@ When developing on Symbian we will also need to add the required capabilites to
\o LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment ReadDeviceData WriteDeviceData
\row
\o \l {Publish And Subscribe}
- \o ReadDeviceData WriteDeviceData
+ \o Capability depends on P&S value being read/written. API itself doesn't require any capability.
\row
\o \l {Qt Service Framework} {Service Framework}
\o No capabilities requried by itself, the plugins may have capability requirements.
\row
+ \o \l {Sensor API}
+ \o ReadDeviceData
+\row
\o \l {System Information}
- \o LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location TrustedUI ReadDeviceData
+ \o LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location ReadDeviceData
\row
+ \o \l {Versit API}
+ \o No additional capabilities required.
\endtable
The complete list of all Symbian capabilities and how they can be obtained can be found in the \l {http://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)#Which_capabilities_can_I_access.3F}{Symbian developer documentation}.
diff --git a/doc/src/examples/samplephonebook.qdoc b/doc/src/examples/samplephonebook.qdoc
index 3078edbc89..d1bd7fe7c3 100644
--- a/doc/src/examples/samplephonebook.qdoc
+++ b/doc/src/examples/samplephonebook.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/serviceactions.qdoc b/doc/src/examples/serviceactions.qdoc
index 859104b592..8077a14a30 100644
--- a/doc/src/examples/serviceactions.qdoc
+++ b/doc/src/examples/serviceactions.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/servicebrowser.qdoc b/doc/src/examples/servicebrowser.qdoc
index 5a56494793..1a7d5153bd 100644
--- a/doc/src/examples/servicebrowser.qdoc
+++ b/doc/src/examples/servicebrowser.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/sfw-notes.qdoc b/doc/src/examples/sfw-notes.qdoc
index 7ea6d0b813..98737a6fa1 100644
--- a/doc/src/examples/sfw-notes.qdoc
+++ b/doc/src/examples/sfw-notes.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/slideshow.qdoc b/doc/src/examples/slideshow.qdoc
index b048d23675..bedb0e80d4 100644
--- a/doc/src/examples/slideshow.qdoc
+++ b/doc/src/examples/slideshow.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/sysinfo.qdoc b/doc/src/examples/sysinfo.qdoc
index 6ec2ef09dd..f29781b63e 100644
--- a/doc/src/examples/sysinfo.qdoc
+++ b/doc/src/examples/sysinfo.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/undocumented.qdoc b/doc/src/examples/undocumented.qdoc
index 0732063646..d8efd18df8 100644
--- a/doc/src/examples/undocumented.qdoc
+++ b/doc/src/examples/undocumented.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/weatherinfo.qdoc b/doc/src/examples/weatherinfo.qdoc
index a291de9f75..5543193934 100644
--- a/doc/src/examples/weatherinfo.qdoc
+++ b/doc/src/examples/weatherinfo.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/examples/writemessage.qdoc b/doc/src/examples/writemessage.qdoc
index d7b914ba7b..389a05e09f 100644
--- a/doc/src/examples/writemessage.qdoc
+++ b/doc/src/examples/writemessage.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/future.qdoc b/doc/src/future.qdoc
index 4647f155ba..d232652b60 100644
--- a/doc/src/future.qdoc
+++ b/doc/src/future.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,16 +46,6 @@
\brief Additional APIs under development.
-
-\target {Management of Versit Documents}
-\section1 Management of Versit Documents
-
-\l{Versit API}{Versit API Documentation}
-
-Versit Classes.
-\annotatedlist versit
-
-
*/
diff --git a/doc/src/images/publish-subscribe-publisher.png b/doc/src/images/publish-subscribe-publisher.png
index 2f6e193b84..a8c3fc5305 100644
--- a/doc/src/images/publish-subscribe-publisher.png
+++ b/doc/src/images/publish-subscribe-publisher.png
Binary files differ
diff --git a/doc/src/images/publish-subscribe-subscriber.png b/doc/src/images/publish-subscribe-subscriber.png
index ed4eb432dd..ba56fd4474 100644
--- a/doc/src/images/publish-subscribe-subscriber.png
+++ b/doc/src/images/publish-subscribe-subscriber.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index d52bcdb765..63b3c9b9b4 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,12 +74,15 @@
\section2 Introducing the New Qt APIs
+ Qt Mobility covers a wide range of features and technologies so it best
+ to regard it not as a single API but as a collection of APIs or frameworks.
+
This release contains the following APIs:
\annotatedlist mobility
- These APIs give the developer a wide range of desirable functions for a
- mobile platform, but these now become possible on platforms not
+ These APIs give the developer a range of desirable functions for a
+ mobile platform, but now these functions become possible on platforms not
traditionally associated with some of the features. A mobile device
using the Qt Mobility Project API would be able to
\list
@@ -101,8 +104,17 @@
irrespective of whether the platform is mobile or not. This means that
there is the possibility of easy transfer of user experience from PC to
phone or vice versa.
+
+ \section1 Namespace
+
+ The QtMobility API's are placed into the \i{QtMobility} namespace, with
+ the important exception of Multimedia. This is done to facilitate the
+ future migration of Mobility API's into Qt.
+
+ See the \l {Quickstart Example}{Quickstart guide} for an example on how
+ the namespace impacts on application development.
- \section2 Getting Started
+ \section1 Getting Started
To get started with Qt Mobility see the
\list
\o \l {Installation Guide}
@@ -124,10 +136,11 @@
\section2 Bearer Management
Although not a network manager, this component manages the connectivity
- state to the network. So it does not manage network configurations, which
- are the role of the platform provider, but it does allow the user to start
- or stop network interfaces. Some higher level management of the connection
- session may also be possible as well depending on the platform.
+ state of the device to the network. So it does not manage network
+ configurations, which are the role of the platform provider, but it does
+ allow the user to start or stop network interfaces. Some higher level
+ management of the connection session may also be possible as well
+ depending on the platform.
Some platforms can have a set of grouped access points perhaps based on a
common purpose. Bearer Management allows comparison and prioritization
@@ -379,10 +392,10 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Contacts*</td>
+ <td>Contacts</td>
<td>FINAL</td>
- <td bgcolor="yellow"></td>
+ <td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
@@ -407,8 +420,8 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Multimedia**</td>
- <td>BETA</td>
+ <td>Multimedia</td>
+ <td>FINAL</td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
@@ -435,12 +448,12 @@
<td bgcolor="green"></td>
</tr>
<tr>
- <td>Sensors*</td>
+ <td>Sensors</td>
<td>FINAL</td>
- <td bgcolor="yellow"></td>
- <td bgcolor="lightgray"></td>
- <td bgcolor="lightgray"></td>
- <td bgcolor="lightgray"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
+ <td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
@@ -470,14 +483,9 @@
\endraw
- [*] \i {These APIs are considered FINAL however there are some known
- issues with Symbian backends. These backend issues will be resolved
- in a future release. }
\raw HTML
<p>
\endraw
- [**] \i {These APIs are considered BETA pending final API reviews. We
- anticipate moving the status to Final in a future release.}
\section1 Feedback and bug reports
Email any inquiries and feedback about Qt Mobility to qt-mobility-feedback@trolltech.com
diff --git a/doc/src/installation.qdoc b/doc/src/installation.qdoc
index 732f713efb..1095a0fac0 100644
--- a/doc/src/installation.qdoc
+++ b/doc/src/installation.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -200,7 +200,7 @@ platform have been met before building.
If Qt is installed for multiple platforms it is also important
to ensure that the correct version of \c{qmake} is being used.
-bold{Note:} Static builds of Qt are not supported by Qt Mobility.
+\bold{Note:} Static builds of Qt are not supported by Qt Mobility.
\section2 Building On Unix
diff --git a/doc/src/legal/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index f8988d7dfd..427ed88dce 100644
--- a/doc/src/legal/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/legal/editions.qdoc b/doc/src/legal/editions.qdoc
index d00078566a..4de77c1fd0 100644
--- a/doc/src/legal/editions.qdoc
+++ b/doc/src/legal/editions.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/legal/gpl.qdoc b/doc/src/legal/gpl.qdoc
index 82eeea1313..58967b7780 100644
--- a/doc/src/legal/gpl.qdoc
+++ b/doc/src/legal/gpl.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,7 @@
\ingroup licensing
\brief About the LGPL license used for Qt.
-The Qt GUI Toolkit is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\br
+The Qt GUI Toolkit is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\br
Contact: Nokia Corporation (qt-info@nokia.com)
Qt is available under the LGPL.
diff --git a/doc/src/legal/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc
index 9858360936..c199e34ce4 100644
--- a/doc/src/legal/opensourceedition.qdoc
+++ b/doc/src/legal/opensourceedition.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/legal/trademarks.qdoc b/doc/src/legal/trademarks.qdoc
index 293b401bda..c6e82d38e7 100644
--- a/doc/src/legal/trademarks.qdoc
+++ b/doc/src/legal/trademarks.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/location.qdoc b/doc/src/location.qdoc
index 0bcda22fd6..5b6d840843 100644
--- a/doc/src/location.qdoc
+++ b/doc/src/location.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/messaging.qdoc b/doc/src/messaging.qdoc
index 06e2b31d8e..86f025bccd 100644
--- a/doc/src/messaging.qdoc
+++ b/doc/src/messaging.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/multimedia.qdoc b/doc/src/multimedia.qdoc
index 8d8cdf47aa..3a3f1cf391 100644
--- a/doc/src/multimedia.qdoc
+++ b/doc/src/multimedia.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -62,70 +62,144 @@ QtMultimedia API. This API is planned to replace Phonon at a later stage.
\tableofcontents
-\section1 Namespace
+\section1 No Special Namespace
-The QtMobility API's are placed into the \i{QtMobility} namespace. This is done
-to facilitate the future migration of Mobility API's into Qt. See the
-\l {Quickstart Example}{Quickstart guide} for an example on how the
-namespace impacts on application development.
+Unlike the other APIs in Qt Mobility, the Multimedia API is \i not in the
+\i QtMobility namespace.
\section1 Overview
This library will require Qt 4.6.
-This API delivers an easy to use interface to multimedia functions whether
-the developer wants to show an image, a video, record sound or play a
+This API delivers an easy to use interface to multimedia functions. The
+developer can use the API to display an image, or a video, record sound or play a
multimedia stream.
-There are several benefits from that this API brings to Qt. Firstly, the
+There are several benefits this API brings to Qt. Firstly, the
developer can now implement fundamental multimedia functions with minimal
code, mostly because they are already implemented. Also there is a great
-deal of flexibility with the source or generated multimedia. The source file
-does not need to be local to the device, it could be streamed from a remote
-location and identified by a URL. Many different codecs are supported 'out
+deal of flexibility with the media source or the generated multimedia. The
+source file does not need to be local to the device, it could be streamed from a remote location and identified by a URL. Finally, many different codecs are supported 'out
of the box'.
The supplied examples give a good idea at the ease of use of the API. When
the supporting user interface code is ignored we can see that functionality
-is immediately available with minimal code.
+is immediately available with minimal effort.
\section2 Audio
-Looking at the Audio Recorder example we see that by creating a QMediaRecorder
-object that is initialized with a newly created QAudioCaptureSource object
-we can now perform all the core actions necessary to record a sound source.
+The Audio Recorder example is a good introduction to the basic use of the API. We will use snippets from this example to illustrate how to use the
+API to quickly build functionality.
-To initialize the objects we create a QAudioCaptureSource object. This will
-have a list of available devices to choose from so that we can identify the
-origin of the audio data. We then use the capture source object to
-initialize a QMediaRecorder object
+The first step is to demonstrate recording audio to a file. When recording from an audio source there are a number of things we may want to control beyond the essential user interface. We may want a particular encoding of the file, MP3 or Ogg Vorbis for instance, or select a different input source. The user may modify the bitrate, number of channels, quality and sample rate. Here the example will only modify the codec and the source device, since they are essential.
-\snippet snippets/multimedia-snippets/audiorecorder.cpp create-objs-1
+To begin, the developer sets up a source and a recorder object. A
+\l{QAudioCaptureSource} object is created and used to initialize a \l{QMediaRecorder} object. The output file name is then set for the \l{QMediaRecorder} object.
-The API now allows us to discover available devices and codecs as shown in
-the example. To actually do the recording we merely have to call the
-\l{QMediaRecorder::record()}{record()} function, and to stop call the
-\l{QMediaRecorder::stop()}{stop()} function. Saving to a file is done simply by
-calling QMediaRecorder::setOutputLocation() before starting to record.
+\code
+ audiosource = new QAudioCaptureSource;
+ capture = new QMediaRecorder(audiosource);
+
+ capture->setOutputLocation(QUrl("test.raw"));
+\endcode
+
+A list of devices is needed so that an input can be selected in the user interface
+
+\code
+ for(int i = 0; i < audiosource->deviceCount(); i++)
+ deviceBox->addItem(audiosource->name(i));
+\endcode
+
+and a list of the supported codecs for the user to select a codec,
+
+\code
+ QStringList codecs = capture->supportedAudioCodecs();
+ for(int i = 0; i < codecs.count(); i++)
+ codecsBox->addItem(codecs.at(i));
+\endcode
+
+To set the selected device or codec just use the index of the device or codec by calling the setter in \i {audiosource} or \i {capture} as appropriate, for example,
+
+\code
+ audiosource->setSelectedDevice(i);
+ ...
+ capture->setAudioCodec(codecIdx);
+\endcode
+
+Now start recording by using the \l {QMediaRecorder}{record()} function from the new \l{QMediaRecorder} object
+
+\code
+ capture->record();
+\endcode
+
+And stop recording by calling the matching function \l {QMediaRecorder::stop()}{stop()} in \l{QMediaRecorder}.
+
+\code
+ capture->stop();
+\endcode
+
+How then would this audio file be played? The \l {QMediaPlayer} class will be
+used as a generic player. Since the player can play both video and audio files the interface will be more complex, but for now the example will concentrate on the audio aspect.
+
+Playing the file is simple: create a player object, pass in the filename, set
+the volume or other parameters, then play. Not forgetting that the code will
+need to be hooked up to the user interface.
+
+\code
+ QMediaPlayer *player = new QMediaPlayer;
+ ...
+ player->setMedia(QUrl::fromLocalFile("test.raw"));
+ player->setVolume(50);
+ player->play();
+\endcode
+
+The filename does not have to be a local file. It could be a URL to a
+remote resource. Also by using the \l{QMediaPlaylist} class from this API
+we can play a list of local or remote files. The \l{QMediaPlaylist}
+class supports constructing, managing and playing playlists.
+
+\code
+ player = new QMediaPlayer;
+
+ playlist = new QMediaPlaylist(player);
+ playlist->append(QUrl("http://example.com/myfile1.mp3"));
+ playlist->append(QUrl("http://example.com/myfile2.mp3"));
+ ...
+ playlist->setCurrentPosition(1);
+ player->play();
+\endcode
+
+To manipulate the playlist there are the usual management functions (which are in fact slots): previous, next, setCurrentPosition and shuffle. Playlists can be built, saved and loaded using the API.
-With a handful of functions and two classes we can implement a sound
-recording application, excluding the supporting user interface code.
\section2 Video
-For playing and manipulating video sources the API enables us to easily
-implement a player application. If we examine the \l{player}{Player}
-example we see that the implementation of a simple media player requires a
-QMediaPlayer object, which is used to initialize a QMediaPlaylist object.
+Continuing with the example discussed for an Audio recorder/player, we can use this to show how to play video files with little change to the code.
+
+Moving from audio to video requires few changes in the sample code. To play a
+video playlist the code can be changed to include another new Mobility
+Project class: \l{QVideoWidget}. This class enables control of a video
+resource with signals and slots for the control of brightness, contrast,
+hue, saturation and full screen mode.
+
+\code
+ player = new QMediaPlayer;
+
+ playlist = new QMediaPlaylist(player);
+ playlist->append(QUrl("http://example.com/myclip1.mp4"));
+ playlist->append(QUrl("http://example.com/myclip2.mp4"));
+ ...
+ widget = new QVideoWidget(player);
+ widget->show();
-\snippet snippets/multimedia-snippets/player.cpp create-objs
+ playlist->setCurrentPosition(1);
+ player->play();
+\endcode
-To display the playing video file we need a QVideoWidget object. However,
-instead of using a QVideoWidget object directly the Player example has a
-VideoWidget class that inherits from QVideoWidget so that functions can be
-added to go to full screen display, either on a double click or on a
-particular keypress.
+The \l {player}{Player} example does things a bit differently to our sample code. instead of using a QVideoWidget object directly, the Player example has a \i {VideoWidget} class that inherits from QVideoWidget. This means that functions can be added to provide functions such as full screen display, either on a double click or on a particular keypress.
+
+\snippet ../../examples/player/player.cpp 2
\section2 Radio
@@ -136,6 +210,36 @@ implemented the developer will be able to quickly produce an application
that supports the typical uses of an FM radio including tuning, volume,
start, stop and various other controls.
+\section1 Extending for Symbian and Maemo
+
+\section2 Adding a Media Service Provider
+
+The base class for creating new service providers is \l{QMediaServiceProvider}. The user must implement the \l{QMediaServiceProvider::requestService()}{requestService()} function
+
+\code
+ QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &hint);
+\endcode
+
+The details of implementation will depend on the provider. Looking at the class \l QMediaServiceProviderPlugin for the default implementation. Notice that \l {QMediaServiceProviderPlugin::requestService()}{requestService()} uses the \l QMediaServiceProviderHint to look for the appropriate plugin and then to insert it into the plugin map. However, for a specific service provider there is probably no need for this approach, it will simply depend on what the developer wants to implement.
+
+Other methods that may be overloaded
+\code
+ void releaseService(QMediaService *service);
+
+ QtMediaServices::SupportEstimate hasSupport(const QByteArray &serviceType,
+ const QString &mimeType,
+ const QStringList& codecs,
+ int flags) const;
+
+ QStringList supportedMimeTypes(const QByteArray &serviceType, int flags) const;
+
+ QList<QByteArray> devices(const QByteArray &serviceType) const;
+
+ QString deviceDescription(const QByteArray &serviceType, const QByteArray &device);
+\endcode
+
+The choice of what needs to be done depends on what the developer wishes to do with the service.
+
\section1 Examples
diff --git a/doc/src/preview.qdoc b/doc/src/preview.qdoc
index 44da9c01b4..5f84fc9e01 100644
--- a/doc/src/preview.qdoc
+++ b/doc/src/preview.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/publ-subs.qdoc b/doc/src/publ-subs.qdoc
index 1466058118..d07ce5d6a0 100644
--- a/doc/src/publ-subs.qdoc
+++ b/doc/src/publ-subs.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/qtmobility-known-issues.qdoc b/doc/src/qtmobility-known-issues.qdoc
index d373b810c9..12843cb747 100644
--- a/doc/src/qtmobility-known-issues.qdoc
+++ b/doc/src/qtmobility-known-issues.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -154,7 +154,7 @@ Support is present for the following System Info API classes
\section2 Messaging API
\list
- \o Messaging filtering and Sorting functions are not fully optimized.
+ \o Messaging filtering and sorting functions are not fully optimized.
\o Fremantle: \c {QMessageService::compose} not supported for SMS type messages.
\o Fremantle: queryMessages service action is synchronous for SMS type messages.
\o Fremantle: \c {QMessageService::show} not supported for SMS type messages.
@@ -173,14 +173,13 @@ Support is present for the following System Info API classes
\o Windows: \c {QMessageServiceAction::exportUpdates}: Performs no operation as changes are automatically synchronized with external servers when a connection is available.
control of update progress.
\o Windows desktop: \c {QMessageStore::instance} shows a blocking modal dialog if MAPI is not installed.
- \o Windows mobile: \c {QMessageSerivceAction::retrieve}: Only retrieves content for messages bodies at present. Attachment retrieval
+ \o Windows mobile: \c {QMessageServiceAction::retrieve}: Only retrieves content for messages bodies at present. Attachment retrieval
overridden by mapi/mail client settings.
\o Windows mobile: \c {QMessageServiceAction::cancelOperation}: Async nature of native calls used to implement service actions means that cancelOperation will only operate on the ::retrieveBody service action.
\endlist
\section2 Multimedia API
\list
- \o \bold {Multimedia API is in beta state.}
\o S60: Audio capture does not support currently any special features like format, encoding etc.
\o S60: seeking is not working properly
\o S60: video size does not remain constant in repeated plays
diff --git a/doc/src/qtmobility.qdocconf b/doc/src/qtmobility.qdocconf
index 82f4246497..18988fb3e1 100644
--- a/doc/src/qtmobility.qdocconf
+++ b/doc/src/qtmobility.qdocconf
@@ -47,8 +47,8 @@ outputdir = ../html
extraimages.HTML = qtlogo \
codeless
-versionsym = "QtMobility Project 1.0.0"
-version = Mobility Project 1.0.0
+versionsym = "QtMobility Project 1.0.1"
+version = Mobility Project 1.0.1
base = file:./doc/html
@@ -175,9 +175,9 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
+ "<td align=\"left\">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"20%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
- "<td align=\"right\"><div align=\"right\">Qt Mobility Project 1.0.0</div></td>\n" \
+ "<td align=\"right\"><div align=\"right\">Qt Mobility Project 1.0.1</div></td>\n" \
"</tr></table></div></address>"
macro.raisedaster.HTML = "<sup>*</sup>"
diff --git a/doc/src/sensors.qdoc b/doc/src/sensors.qdoc
index 7f4a3df8e4..c986b4a97a 100644
--- a/doc/src/sensors.qdoc
+++ b/doc/src/sensors.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,9 +45,6 @@
\brief The Sensors API provides access to sensors.
\ingroup mobility
-\warning This API should be considered in a beta state. It is
-under development and subject to change.
-
The Sensors API provides access to sensors.
This covers both high-level sensors such as screen orientation (portrait, landscape)
diff --git a/doc/src/sf.qdoc b/doc/src/sf.qdoc
index 13ea4f0bad..9b7b2a8f52 100644
--- a/doc/src/sf.qdoc
+++ b/doc/src/sf.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/sfw_s60.qdoc b/doc/src/sfw_s60.qdoc
index 2521beb8ed..07275009fa 100644
--- a/doc/src/sfw_s60.qdoc
+++ b/doc/src/sfw_s60.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/si.qdoc b/doc/src/si.qdoc
index ece40e753c..70b22c06d1 100644
--- a/doc/src/si.qdoc
+++ b/doc/src/si.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/code/doc_src_lgpl.qdoc b/doc/src/snippets/code/doc_src_lgpl.qdoc
index 5d802c91a6..1f97703819 100644
--- a/doc/src/snippets/code/doc_src_lgpl.qdoc
+++ b/doc/src/snippets/code/doc_src_lgpl.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/multimedia-snippets/audiorecorder.cpp b/doc/src/snippets/multimedia-snippets/audiorecorder.cpp
index 547f32f935..fa1ef60d35 100644
--- a/doc/src/snippets/multimedia-snippets/audiorecorder.cpp
+++ b/doc/src/snippets/multimedia-snippets/audiorecorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/multimedia-snippets/player.cpp b/doc/src/snippets/multimedia-snippets/player.cpp
index 2942a5e70f..e2cf670969 100644
--- a/doc/src/snippets/multimedia-snippets/player.cpp
+++ b/doc/src/snippets/multimedia-snippets/player.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp b/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp
index fca0d86ae6..5dee651f9c 100644
--- a/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp
+++ b/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -583,6 +583,17 @@ void shortsnippets()
QList<QContactId> therapists = contact.relatedContacts("HasTherapist", QContactRelationship::Second);
}
//! [6]
+ //! [Getting all tags]
+ QSet<QString> tags;
+ foreach(const QContactTag& tag, contact.details<QContactTag>()) {
+ tags.insert(tag.tag());
+ }
+ //! [Getting all tags]
+ //! [Checking for a specific tag]
+ if (contact.details<QContactTag>(QContactTag::FieldTag, "MyTag").count() > 0) {
+ // Do something with it
+ }
+ //! [Checking for a specific tag]
}
}
diff --git a/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsampleasync.cpp b/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsampleasync.cpp
index f848e99d56..d5a580c246 100644
--- a/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsampleasync.cpp
+++ b/doc/src/snippets/qtcontactsdocsample/qtcontactsdocsampleasync.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/qtcontactsdocsample/requestexample.h b/doc/src/snippets/qtcontactsdocsample/requestexample.h
index b6f2b284dc..ff7f9a5728 100644
--- a/doc/src/snippets/qtcontactsdocsample/requestexample.h
+++ b/doc/src/snippets/qtcontactsdocsample/requestexample.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp b/doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp
index e857181734..257251512d 100644
--- a/doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp
+++ b/doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -63,38 +63,98 @@ void importExample();
//! [Detail handler]
class MyDetailHandler : public QVersitContactExporterDetailHandler {
public:
+ MyDetailHandler() : detailNumber(0) {}
bool preProcessDetail(const QContact& contact, const QContactDetail& detail,
QVersitDocument* document) {
Q_UNUSED(contact) Q_UNUSED(detail) Q_UNUSED(document)
return false;
}
+ /* eg. a detail with definition name "Detail1" and fields "Field1"="Value1" and
+ * "Field2"="Value2" will be exported to the vCard properties:
+ * G0.DETAIL1-FIELD1:Value1
+ * G0.DETAIL1-FIELD2:Value2
+ * And the next detail (say, "Detail2" with a field "Field3"="Value3" will generate:
+ * G1.DETAIL2-FIELD3:Value3
+ * ie. Different details will have different vCard groups.
+ */
bool postProcessDetail(const QContact& contact, const QContactDetail& detail,
bool alreadyProcessed, QVersitDocument* document) {
- Q_UNUSED(contact) Q_UNUSED(document)
- if (!alreadyProcessed)
- mUnknownDetails.append(detail);
- return false;
+ Q_UNUSED(contact)
+ // beware: if the base implementation exports some but not all fields, alreadyProcessed
+ // will be true and the unprocessed fields won't be exported
+ if (alreadyProcessed)
+ return false;
+ if (detail.definitionName() == QContactType::DefinitionName)
+ return false; // special case of an unhandled detail that we don't export
+ QVersitProperty property;
+ QVariantMap fields = detail.variantValues();
+ // fields from the same detail have the same group so the importer can collate them
+ QString detailGroup = QLatin1String("G") + QString::number(detailNumber++);
+ for (QVariantMap::const_iterator it = fields.constBegin();
+ it != fields.constEnd();
+ it++) {
+ property.setGroups(QStringList(detailGroup));
+ // beware: detail.definitionName and the field name will be made uppercase on export
+ property.setName(QLatin1String("X-QCONTACTDETAIL-")
+ + detail.definitionName()
+ + QLatin1String("-")
+ + it.key());
+ // beware: this might not handle nonstring values properly:
+ property.setValue(it.value());
+ document->addProperty(property);
+ }
+ return true;
}
- QList<QContactDetail> mUnknownDetails;
+private:
+ int detailNumber;
};
//! [Detail handler]
//! [Property handler]
class MyPropertyHandler : public QVersitContactImporterPropertyHandler {
public:
- bool preProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
- int contactIndex, QContact* contact) {
- Q_UNUSED(document) Q_UNUSED(property) Q_UNUSED(contactIndex) Q_UNUSED(contact)
- return false;
- }
- bool postProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
- bool alreadyProcessed, int contactIndex, QContact* contact) {
- Q_UNUSED(document) Q_UNUSED(contactIndex) Q_UNUSED(contact)
- if (!alreadyProcessed)
- mUnknownProperties.append(property);
- return false;
- }
- QList<QVersitProperty> mUnknownProperties;
+ bool preProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
+ int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(property) Q_UNUSED(contactIndex) Q_UNUSED(contact)
+ return false;
+ }
+ /* eg. if the document has the properties:
+ * G0.DETAIL-FIELD1:Value1
+ * G0.DETAIL-FIELD2:Value2
+ * G1.DETAIL-FIELD1:Value3
+ * This will generate two details - the first with fields "FIELD1"="Value1" and
+ * "FIELD2"="Value2" and the second with "FIELD1"="Value3"
+ * ie. the vCard groups determine which properties form a single detail.
+ */
+ bool postProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
+ bool alreadyProcessed, int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(contactIndex)
+ const QString prefix = QLatin1String("X-QCONTACTDETAIL-");
+ if (alreadyProcessed)
+ return false;
+ if (!property.name().startsWith(prefix))
+ return false;
+ QString detailAndField = property.name().mid(prefix.size());
+ QStringList detailAndFieldParts = detailAndField.split(QLatin1Char('-'),
+ QString::SkipEmptyParts);
+ if (detailAndFieldParts.size() != 2)
+ return false;
+ QString definitionName = detailAndFieldParts.at(0);
+ QString fieldName = detailAndFieldParts.at(1);
+ if (property.groups().size() != 1)
+ return false;
+ QString group = property.groups().first();
+ // find a detail generated from the a property with the same group
+ QContactDetail detail = handledDetails.value(group);
+ // make sure the the existing detail has the same definition name
+ if (detail.definitionName() != definitionName)
+ detail = QContactDetail(definitionName);
+ detail.setValue(fieldName, property.value());
+ contact->saveDetail(&detail);
+ handledDetails.insert(group, detail);
+ return false;
+ }
+ QMap<QString, QContactDetail> handledDetails; // map from group name to detail
};
//! [Property handler]
diff --git a/doc/src/snippets/sensors/creating.cpp b/doc/src/snippets/sensors/creating.cpp
index c5a107cae7..6799e37bcc 100644
--- a/doc/src/snippets/sensors/creating.cpp
+++ b/doc/src/snippets/sensors/creating.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/sensors/main.cpp b/doc/src/snippets/sensors/main.cpp
index c20aa671cc..eeb2e46e24 100644
--- a/doc/src/snippets/sensors/main.cpp
+++ b/doc/src/snippets/sensors/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/sensors/mybackend.h b/doc/src/snippets/sensors/mybackend.h
index e4a918a12a..a6aa9b3c97 100644
--- a/doc/src/snippets/sensors/mybackend.h
+++ b/doc/src/snippets/sensors/mybackend.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/sensors/plugin.cpp b/doc/src/snippets/sensors/plugin.cpp
index 6a69e35c7d..d87d98f853 100644
--- a/doc/src/snippets/sensors/plugin.cpp
+++ b/doc/src/snippets/sensors/plugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/sensors/start.cpp b/doc/src/snippets/sensors/start.cpp
index 2b91297e7e..d9d6ac6fc1 100644
--- a/doc/src/snippets/sensors/start.cpp
+++ b/doc/src/snippets/sensors/start.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/versit.qdoc b/doc/src/versit.qdoc
index 557b154e9c..c1f4fd2816 100644
--- a/doc/src/versit.qdoc
+++ b/doc/src/versit.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,7 +71,7 @@ Versit \reg is a trademark of the Internet Mail Consortium.
\section1 Usage
\snippet ../../doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp Complete example
-\section1 Classes
+\section1 Main Classes
\list
\o \l{QVersitProperty}
\o \l{QVersitDocument}
@@ -80,12 +80,4 @@ Versit \reg is a trademark of the Internet Mail Consortium.
\o \l{QVersitContactImporter}
\o \l{QVersitContactExporter}
\endlist
-
-\section1 Mapping the vCard constants
-
-vCard properties are mapped to QContactDetails as follows:
-\snippet ../../src/versit/qversitdefs_p.h Property name mappings
-
-vCard type parameters are mapped to subtypes in QContactDetails as follows:
-\snippet ../../src/versit/qversitdefs_p.h Property type parameter mappings
*/
diff --git a/examples/audiorecorder/audiorecorder.cpp b/examples/audiorecorder/audiorecorder.cpp
index 773a48f61c..8011bdcd24 100644
--- a/examples/audiorecorder/audiorecorder.cpp
+++ b/examples/audiorecorder/audiorecorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/audiorecorder/audiorecorder.h b/examples/audiorecorder/audiorecorder.h
index e284ca1bf9..090d3d0e22 100644
--- a/examples/audiorecorder/audiorecorder.h
+++ b/examples/audiorecorder/audiorecorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/audiorecorder/main.cpp b/examples/audiorecorder/main.cpp
index dabf28cee2..509e531a0e 100644
--- a/examples/audiorecorder/main.cpp
+++ b/examples/audiorecorder/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/battery-charge/battery-charge.pro b/examples/battery-charge/battery-charge.pro
index 14618ad92d..4f75d7bf69 100644
--- a/examples/battery-charge/battery-charge.pro
+++ b/examples/battery-charge/battery-charge.pro
@@ -1,2 +1,2 @@
TEMPLATE = subdirs
-SUBDIRS = battery-subscriber battery-publisher
+SUBDIRS = battery-publisher
diff --git a/examples/battery-charge/battery-publisher/batterypublisher.cpp b/examples/battery-charge/battery-publisher/batterypublisher.cpp
index aa3a95329d..93d0ec2427 100644
--- a/examples/battery-charge/battery-publisher/batterypublisher.cpp
+++ b/examples/battery-charge/battery-publisher/batterypublisher.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/battery-charge/battery-publisher/batterypublisher.h b/examples/battery-charge/battery-publisher/batterypublisher.h
index cd06af97f5..31ff11beea 100644
--- a/examples/battery-charge/battery-publisher/batterypublisher.h
+++ b/examples/battery-charge/battery-publisher/batterypublisher.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/battery-charge/battery-publisher/main.cpp b/examples/battery-charge/battery-publisher/main.cpp
index 1c37b603ed..29f573ea4d 100644
--- a/examples/battery-charge/battery-publisher/main.cpp
+++ b/examples/battery-charge/battery-publisher/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/battery-charge/battery-subscriber/battery-meter.qml b/examples/battery-charge/battery-subscriber/battery-meter.qml
deleted file mode 100644
index f7159e69e4..0000000000
--- a/examples/battery-charge/battery-subscriber/battery-meter.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-import Qt 4.6
-
-Rectangle {
- color: "white"
-
- Rectangle {
- x: 20
- y: 10
- width: 60
- height: 10
- color: "black"
- }
-
- Rectangle {
- x: 10
- y: 20
- width: 80
- height: 200
- color: "black"
- }
-
- Rectangle {
- //! [1]
- id: visualCharge
- x: 12
- y: 22 + 196 - height
- width: 76
- height: 196 * batteryCharge.value / 100
- clip: true
- color: "green"
- //! [1]
-
- Particles {
- id: bubbles
- width: parent.width
- anchors.bottom: parent.bottom
- source: "bubble.png"
- count: 0
- velocity: 30
- velocityDeviation: 10
- angle: -90
- //lifeSpan: parent.height * 1000 / (velocity + velocityDeviation / 2)
- lifeSpan: parent.height * 1000 / (30 + 10 / 2)
- }
-
- states: [
- //! [3]
- State {
- name: "charging"
- when: batteryCharging.value
- PropertyChanges {
- target: bubbles
- count: batteryCharge.value / 5
- emissionRate: 5
- }
- },
- //! [3]
- //! [2]
- State {
- name: "low"
- when: batteryCharge.value < 25 && !batteryCharging.value
- PropertyChanges {
- target: visualCharge
- color: "red"
- }
- }
- //! [2]
- ]
-
- transitions: [
- Transition {
- from: "*"
- to: "low"
- reversible: true
- ColorAnimation {
- duration: 200
- }
- }
- ]
- }
-
- //! [0]
- ValueSpaceSubscriber {
- id: batteryCharge
- path: "/power/battery/charge"
- }
- ValueSpaceSubscriber {
- id: batteryCharging
- path: "/power/battery/charging"
- }
- //! [0]
-}
diff --git a/examples/battery-charge/battery-subscriber/battery-subscriber.pro b/examples/battery-charge/battery-subscriber/battery-subscriber.pro
deleted file mode 100644
index 54b9e806bc..0000000000
--- a/examples/battery-charge/battery-subscriber/battery-subscriber.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = app
-TARGET = battery-subscriber
-QT += declarative
-INCLUDEPATH += ../../../src/publishsubscribe
-DEPENDPATH += ../../../src/publishsubscribe
-include(../../examples.pri)
-CONFIG += mobility
-MOBILITY = publishsubscribe
-SOURCES = main.cpp
-RESOURCES = battery-subscriber.qrc
-OTHER_FILES += battery-meter.qml
diff --git a/examples/battery-charge/battery-subscriber/battery-subscriber.qml b/examples/battery-charge/battery-subscriber/battery-subscriber.qml
new file mode 100644
index 0000000000..f706ca609d
--- /dev/null
+++ b/examples/battery-charge/battery-subscriber/battery-subscriber.qml
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+//! [4]
+import QtMobility.publishsubscribe 1.0
+//! [4]
+import Qt.labs.particles 1.0
+import "content"
+
+Rectangle {
+ color: "white"
+ width: 100
+ height: 230
+
+ Rectangle {
+ x: 20
+ y: 10
+ width: 60
+ height: 10
+ color: "black"
+ }
+
+ Rectangle {
+ x: 10
+ y: 20
+ width: 80
+ height: 200
+ color: "black"
+ }
+
+ Rectangle {
+ //! [1]
+ id: visualCharge
+ x: 12
+ y: 22 + 196 - height
+ width: 76
+ height: 196 * batteryCharge.value / 100
+ clip: true
+ color: "green"
+ //! [1]
+
+ Particles {
+ id: bubbles
+ width: parent.width
+ anchors.bottom: parent.bottom
+ source: "content/bubble.png"
+ count: 0
+ velocity: 30
+ velocityDeviation: 10
+ angle: -90
+ //lifeSpan: parent.height * 1000 / (velocity + velocityDeviation / 2)
+ lifeSpan: parent.height * 1000 / (30 + 10 / 2)
+ }
+
+ states: [
+ //! [3]
+ State {
+ name: "charging"
+ when: batteryCharging.value
+ PropertyChanges {
+ target: bubbles
+ count: batteryCharge.value / 5
+ emissionRate: 5
+ }
+ },
+ //! [3]
+ //! [2]
+ State {
+ name: "low"
+ when: batteryCharge.value < 25 && !batteryCharging.value
+ PropertyChanges {
+ target: visualCharge
+ color: "red"
+ }
+ }
+ //! [2]
+ ]
+
+ transitions: [
+ Transition {
+ from: "*"
+ to: "low"
+ reversible: true
+ ColorAnimation {
+ duration: 200
+ }
+ }
+ ]
+ }
+
+ //! [0]
+ ValueSpaceSubscriber {
+ id: batteryCharge
+ path: "/power/battery/charge"
+ }
+ ValueSpaceSubscriber {
+ id: batteryCharging
+ path: "/power/battery/charging"
+ }
+ //! [0]
+}
diff --git a/examples/battery-charge/battery-subscriber/battery-subscriber.qrc b/examples/battery-charge/battery-subscriber/battery-subscriber.qrc
deleted file mode 100644
index fdfe4d712c..0000000000
--- a/examples/battery-charge/battery-subscriber/battery-subscriber.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
- <qresource prefix="/" >
- <file>battery-meter.qml</file>
- <file>bubble.png</file>
- </qresource>
-</RCC>
diff --git a/examples/battery-charge/battery-subscriber/bubble.png b/examples/battery-charge/battery-subscriber/content/bubble.png
index b1a3511d41..b1a3511d41 100644
--- a/examples/battery-charge/battery-subscriber/bubble.png
+++ b/examples/battery-charge/battery-subscriber/content/bubble.png
Binary files differ
diff --git a/examples/bearercloud/bearercloud.cpp b/examples/bearercloud/bearercloud.cpp
index c6d3a062b4..ddb48c7b88 100644
--- a/examples/bearercloud/bearercloud.cpp
+++ b/examples/bearercloud/bearercloud.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearercloud/bearercloud.h b/examples/bearercloud/bearercloud.h
index 52e9d1e94c..0dd5a829b0 100644
--- a/examples/bearercloud/bearercloud.h
+++ b/examples/bearercloud/bearercloud.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearercloud/cloud.cpp b/examples/bearercloud/cloud.cpp
index 361e46fda1..17b45baedf 100644
--- a/examples/bearercloud/cloud.cpp
+++ b/examples/bearercloud/cloud.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearercloud/cloud.h b/examples/bearercloud/cloud.h
index bc95d21dfb..37f62b9b52 100644
--- a/examples/bearercloud/cloud.h
+++ b/examples/bearercloud/cloud.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearercloud/main.cpp b/examples/bearercloud/main.cpp
index 0af975b45c..defbf5bd3a 100644
--- a/examples/bearercloud/main.cpp
+++ b/examples/bearercloud/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearermonitor/bearermonitor.cpp b/examples/bearermonitor/bearermonitor.cpp
index 26274a56df..699ab32875 100644
--- a/examples/bearermonitor/bearermonitor.cpp
+++ b/examples/bearermonitor/bearermonitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearermonitor/bearermonitor.h b/examples/bearermonitor/bearermonitor.h
index 7c34ac7e5a..08be5349b3 100644
--- a/examples/bearermonitor/bearermonitor.h
+++ b/examples/bearermonitor/bearermonitor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bearermonitor/main.cpp b/examples/bearermonitor/main.cpp
index cfcff1f997..c5e3806d6b 100644
--- a/examples/bearermonitor/main.cpp
+++ b/examples/bearermonitor/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bluetoothtransferplugin/bluetoothtransfer.cpp b/examples/bluetoothtransferplugin/bluetoothtransfer.cpp
index 49dc055acb..c02ec63ed1 100644
--- a/examples/bluetoothtransferplugin/bluetoothtransfer.cpp
+++ b/examples/bluetoothtransferplugin/bluetoothtransfer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bluetoothtransferplugin/bluetoothtransfer.h b/examples/bluetoothtransferplugin/bluetoothtransfer.h
index f7678d222e..4a4c85bf48 100644
--- a/examples/bluetoothtransferplugin/bluetoothtransfer.h
+++ b/examples/bluetoothtransferplugin/bluetoothtransfer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bluetoothtransferplugin/bluetoothtransferplugin.cpp b/examples/bluetoothtransferplugin/bluetoothtransferplugin.cpp
index 2c3ba5c554..14a3dd447b 100644
--- a/examples/bluetoothtransferplugin/bluetoothtransferplugin.cpp
+++ b/examples/bluetoothtransferplugin/bluetoothtransferplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/bluetoothtransferplugin/bluetoothtransferplugin.h b/examples/bluetoothtransferplugin/bluetoothtransferplugin.h
index 06c2edf702..abf094f915 100644
--- a/examples/bluetoothtransferplugin/bluetoothtransferplugin.h
+++ b/examples/bluetoothtransferplugin/bluetoothtransferplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialButton.qml b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialButton.qml
index 5bfd68793d..6ed3045d30 100644
--- a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialButton.qml
+++ b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialButton.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.6
//Implementation of the dialButton control.
diff --git a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml
index 5adb6f3c08..79ca121dba 100644
--- a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml
+++ b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialScreen.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.6
//Layout of the DialScreen control
diff --git a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml
index bff7fea4ec..305679f74d 100644
--- a/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml
+++ b/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
// ![4]
import QtMobility.serviceframework 1.0
diff --git a/examples/declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml b/examples/declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml
index e1fc169406..ed0ae62259 100644
--- a/examples/declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml
+++ b/examples/declarative-sfw-dialer/declarative-sfw-dialer/declarative-sfw-dialer.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QtMobility.serviceframework 1.0
import "content"
diff --git a/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.cpp b/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.cpp
index ff87039306..0795d8a96c 100644
--- a/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.cpp
+++ b/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.h b/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.h
index 5083eb82b1..571a2ff3a8 100644
--- a/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.h
+++ b/examples/declarative-sfw-dialer/landlinedialer/landlinedialer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp b/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp
index 9f4bc350f4..b1be6d9315 100644
--- a/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp
+++ b/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h b/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h
index cd5d7974dc..64a7503f90 100644
--- a/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h
+++ b/examples/declarative-sfw-dialer/landlinedialer/landlinedialerplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/voipdialer/voipdialer.cpp b/examples/declarative-sfw-dialer/voipdialer/voipdialer.cpp
index 71cda00754..06d97a7f6f 100644
--- a/examples/declarative-sfw-dialer/voipdialer/voipdialer.cpp
+++ b/examples/declarative-sfw-dialer/voipdialer/voipdialer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/voipdialer/voipdialer.h b/examples/declarative-sfw-dialer/voipdialer/voipdialer.h
index ee1508e9fb..d46f67b114 100644
--- a/examples/declarative-sfw-dialer/voipdialer/voipdialer.h
+++ b/examples/declarative-sfw-dialer/voipdialer/voipdialer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp b/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp
index 751bb6ff04..d18a83f373 100644
--- a/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp
+++ b/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.h b/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.h
index 41000b2383..311a2f34e5 100644
--- a/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.h
+++ b/examples/declarative-sfw-dialer/voipdialer/voipdialerplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/declarative-sfw-notes/content/Button.qml b/examples/declarative-sfw-notes/content/Button.qml
index 8e7e03a996..f7c908e38b 100644
--- a/examples/declarative-sfw-notes/content/Button.qml
+++ b/examples/declarative-sfw-notes/content/Button.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/examples/declarative-sfw-notes/content/Dialog.qml b/examples/declarative-sfw-notes/content/Dialog.qml
index 116ae346f4..f69fe8876d 100644
--- a/examples/declarative-sfw-notes/content/Dialog.qml
+++ b/examples/declarative-sfw-notes/content/Dialog.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/examples/declarative-sfw-notes/content/InputDialog.qml b/examples/declarative-sfw-notes/content/InputDialog.qml
index b40986bbc5..9ce5abe887 100644
--- a/examples/declarative-sfw-notes/content/InputDialog.qml
+++ b/examples/declarative-sfw-notes/content/InputDialog.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/examples/declarative-sfw-notes/declarative-sfw-notes.qml b/examples/declarative-sfw-notes/declarative-sfw-notes.qml
index 3877541579..c0209a2ce2 100644
--- a/examples/declarative-sfw-notes/declarative-sfw-notes.qml
+++ b/examples/declarative-sfw-notes/declarative-sfw-notes.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
// ![0]
import QtMobility.serviceframework 1.0
diff --git a/examples/examples.pro b/examples/examples.pro
index 0d5e83c61e..167b57f977 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -19,8 +19,6 @@ contains(mobility_modules,serviceframework) {
}
}
-sources.path = $$QT_MOBILITY_PREFIX/bin
-INSTALLS += sources
#BearerManagement examples
contains(mobility_modules,bearer) {
@@ -55,6 +53,8 @@ contains(mobility_modules,publishsubscribe) {
SUBDIRS += publish-subscribe
contains(QT_CONFIG, declarative) {
SUBDIRS += battery-charge
+
+ sources.files += battery-charge/battery-subscriber
}
}
}
@@ -97,3 +97,5 @@ contains(mobility_modules,sensors) {
SUBDIRS += sensors
}
+sources.path = $$QT_MOBILITY_PREFIX/bin
+INSTALLS += sources
diff --git a/examples/fetchgooglemaps/fetchgooglemaps.pro b/examples/fetchgooglemaps/fetchgooglemaps.pro
index 1c72101b69..8537c7c7af 100644
--- a/examples/fetchgooglemaps/fetchgooglemaps.pro
+++ b/examples/fetchgooglemaps/fetchgooglemaps.pro
@@ -16,8 +16,7 @@ SOURCES = mapwindow.cpp \
include(../examples.pri)
CONFIG += mobility
-MOBILITY = location
-!maemo5:MOBILITY += bearer
+MOBILITY = location bearer
symbian|wince* {
symbian {
diff --git a/examples/fetchgooglemaps/main.cpp b/examples/fetchgooglemaps/main.cpp
index 0f2ed48aed..b225886bc7 100644
--- a/examples/fetchgooglemaps/main.cpp
+++ b/examples/fetchgooglemaps/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/fetchgooglemaps/mapwindow.cpp b/examples/fetchgooglemaps/mapwindow.cpp
index 24592373bc..fa4ed816a0 100644
--- a/examples/fetchgooglemaps/mapwindow.cpp
+++ b/examples/fetchgooglemaps/mapwindow.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,10 +44,8 @@
#include <qgeopositioninfosource.h>
#include <qnmeapositioninfosource.h>
#include <qgeosatelliteinfosource.h>
-#ifndef Q_WS_MAEMO_5
#include <qnetworksession.h>
#include <qnetworkconfigmanager.h>
-#endif
#include "satellitedialog.h"
@@ -136,9 +134,7 @@ MapWindow::MapWindow(QWidget *parent, Qt::WFlags flags)
MapWindow::~MapWindow()
{
location->stopUpdates();
-#ifndef Q_WS_MAEMO_5
session->close();
-#endif
}
void MapWindow::delayedInit()
@@ -151,7 +147,6 @@ void MapWindow::delayedInit()
location->stopUpdates();
}
-#ifndef Q_WS_MAEMO_5
// Set Internet Access Point
QNetworkConfigurationManager manager;
const bool canStartIAP = (manager.capabilities()
@@ -167,7 +162,6 @@ void MapWindow::delayedInit()
session = new QTM_PREPEND_NAMESPACE(QNetworkSession)(cfg, this);
session->open();
session->waitForOpened(-1);
-#endif
connect(location, SIGNAL(updateTimeout()), this, SLOT(waitForFix()));
location->startUpdates();
diff --git a/examples/fetchgooglemaps/mapwindow.h b/examples/fetchgooglemaps/mapwindow.h
index 89cffd3ffd..3a4bb2ba74 100644
--- a/examples/fetchgooglemaps/mapwindow.h
+++ b/examples/fetchgooglemaps/mapwindow.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,9 +53,7 @@ QT_END_NAMESPACE
QTM_BEGIN_NAMESPACE
class QGeoPositionInfo;
class QGeoPositionInfoSource;
-#ifndef Q_WS_MAEMO_5
class QNetworkSession;
-#endif
QTM_END_NAMESPACE
QTM_USE_NAMESPACE
@@ -81,9 +79,7 @@ private:
QLabel *headingAndSpeedLabel;
QLabel *dateTimeLabel;
bool loading;
-#ifndef Q_WS_MAEMO_5
QTM_PREPEND_NAMESPACE(QNetworkSession) *session;
-#endif
bool usingLogFile;
QGeoPositionInfoSource *location;
bool waitingForFix;
diff --git a/examples/filemanagerplugin/filemanagerplugin.cpp b/examples/filemanagerplugin/filemanagerplugin.cpp
index c3da8d1965..c57a390599 100644
--- a/examples/filemanagerplugin/filemanagerplugin.cpp
+++ b/examples/filemanagerplugin/filemanagerplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/filemanagerplugin/filemanagerplugin.h b/examples/filemanagerplugin/filemanagerplugin.h
index 23ea022ded..4dc29db328 100644
--- a/examples/filemanagerplugin/filemanagerplugin.h
+++ b/examples/filemanagerplugin/filemanagerplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/filemanagerplugin/filemanagerstorage.cpp b/examples/filemanagerplugin/filemanagerstorage.cpp
index 15d155df04..86e92ec78b 100644
--- a/examples/filemanagerplugin/filemanagerstorage.cpp
+++ b/examples/filemanagerplugin/filemanagerstorage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/filemanagerplugin/filemanagerstorage.h b/examples/filemanagerplugin/filemanagerstorage.h
index 0e70d221f2..4701e0741f 100644
--- a/examples/filemanagerplugin/filemanagerstorage.h
+++ b/examples/filemanagerplugin/filemanagerstorage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/filemanagerplugin/filemanagertransfer.cpp b/examples/filemanagerplugin/filemanagertransfer.cpp
index a4408f91e6..147a086737 100644
--- a/examples/filemanagerplugin/filemanagertransfer.cpp
+++ b/examples/filemanagerplugin/filemanagertransfer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/filemanagerplugin/filemanagertransfer.h b/examples/filemanagerplugin/filemanagertransfer.h
index 05965a1bf6..19709f1bcc 100644
--- a/examples/filemanagerplugin/filemanagertransfer.h
+++ b/examples/filemanagerplugin/filemanagertransfer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/flickrdemo/connectivityhelper.cpp b/examples/flickrdemo/connectivityhelper.cpp
index bd538911ee..6a8f224145 100644
--- a/examples/flickrdemo/connectivityhelper.cpp
+++ b/examples/flickrdemo/connectivityhelper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,7 @@
#include <QWidget>
#include <QTimer>
-ConnectivityHelper::ConnectivityHelper(QtMobility::QNetworkSession *session, QWidget *parent) : QObject(parent),
+ConnectivityHelper::ConnectivityHelper(QNetworkSession *session, QWidget *parent) : QObject(parent),
m_session(session)
{
connect(m_session,
diff --git a/examples/flickrdemo/connectivityhelper.h b/examples/flickrdemo/connectivityhelper.h
index 3d66edb29f..02b3ea2d85 100644
--- a/examples/flickrdemo/connectivityhelper.h
+++ b/examples/flickrdemo/connectivityhelper.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -62,16 +62,16 @@ class ConnectivityHelper : public QObject
Q_OBJECT
public:
- ConnectivityHelper(QtMobility::QNetworkSession *session, QWidget *parent = 0);
+ ConnectivityHelper(QNetworkSession *session, QWidget *parent = 0);
signals:
void networkingCancelled();
private slots:
- void error(QtMobility::QNetworkSession::SessionError error);
+ void error(QNetworkSession::SessionError error);
private:
- QtMobility::QNetworkSession *m_session;
+ QNetworkSession *m_session;
};
#endif // #ifndef CONNECTIVITYHELPER_H
diff --git a/examples/flickrdemo/flickrdemo.cpp b/examples/flickrdemo/flickrdemo.cpp
index 0e9e2ca8d8..3ba014d631 100644
--- a/examples/flickrdemo/flickrdemo.cpp
+++ b/examples/flickrdemo/flickrdemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -456,7 +456,7 @@ void FlickrDemo::pictureListFinished()
QTimer::singleShot(0, this, SLOT(clearPictureListRequest()));
}
-void FlickrDemo::pictureListError(QNetworkReply::NetworkError code)
+void FlickrDemo::pictureListError(QNetworkReply::NetworkError /*code*/)
{
if (m_shuttingDown)
return;
@@ -492,7 +492,7 @@ void FlickrDemo::thumbnailFinished()
downloadNextThumbnail();
}
-void FlickrDemo::thumbnailError(QNetworkReply::NetworkError code)
+void FlickrDemo::thumbnailError(QNetworkReply::NetworkError /*code*/)
{
if (m_shuttingDown)
return;
@@ -540,7 +540,7 @@ void FlickrDemo::pictureFinished()
QTimer::singleShot(0, this, SLOT(clearPictureRequest()));
}
-void FlickrDemo::pictureError(QNetworkReply::NetworkError code)
+void FlickrDemo::pictureError(QNetworkReply::NetworkError /*code*/)
{
if (m_shuttingDown)
return;
diff --git a/examples/flickrdemo/flickrdemo.h b/examples/flickrdemo/flickrdemo.h
index 378400dbe1..7a06df7dd7 100644
--- a/examples/flickrdemo/flickrdemo.h
+++ b/examples/flickrdemo/flickrdemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/flickrdemo/main.cpp b/examples/flickrdemo/main.cpp
index 404f4d6bbb..9dc3621c02 100644
--- a/examples/flickrdemo/main.cpp
+++ b/examples/flickrdemo/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/flickrdemo/xqlistwidget.cpp b/examples/flickrdemo/xqlistwidget.cpp
index a7fc33e7d7..42c2bddc9b 100644
--- a/examples/flickrdemo/xqlistwidget.cpp
+++ b/examples/flickrdemo/xqlistwidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/flickrdemo/xqlistwidget.h b/examples/flickrdemo/xqlistwidget.h
index 22a356cdb9..247b8a31f3 100644
--- a/examples/flickrdemo/xqlistwidget.h
+++ b/examples/flickrdemo/xqlistwidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/keepintouch/addressfinder.cpp b/examples/keepintouch/addressfinder.cpp
index dfa4f55e17..f28aebbaef 100644
--- a/examples/keepintouch/addressfinder.cpp
+++ b/examples/keepintouch/addressfinder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/keepintouch/addressfinder.h b/examples/keepintouch/addressfinder.h
index 047c63702a..6abe9b5d56 100644
--- a/examples/keepintouch/addressfinder.h
+++ b/examples/keepintouch/addressfinder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/keepintouch/main.cpp b/examples/keepintouch/main.cpp
index f52ba54d63..c242d0f142 100644
--- a/examples/keepintouch/main.cpp
+++ b/examples/keepintouch/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/lightmaps/lightmaps.cpp b/examples/lightmaps/lightmaps.cpp
index 5f8984ab49..44f5c0cb6b 100644
--- a/examples/lightmaps/lightmaps.cpp
+++ b/examples/lightmaps/lightmaps.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -333,15 +333,18 @@ public:
~LightMaps() {
m_session->close();
- m_location->stopUpdates();
+ if (m_location)
+ m_location->stopUpdates();
}
void stopPositioning() {
- m_location->stopUpdates();
+ if (m_location)
+ m_location->stopUpdates();
}
void startPositioning() {
- m_location->startUpdates();
+ if (m_location)
+ m_location->startUpdates();
}
void setCenter(qreal lat, qreal lng) {
diff --git a/examples/logfilepositionsource/clientapplication.cpp b/examples/logfilepositionsource/clientapplication.cpp
index 1070356347..59c7ef7a0a 100644
--- a/examples/logfilepositionsource/clientapplication.cpp
+++ b/examples/logfilepositionsource/clientapplication.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/logfilepositionsource/clientapplication.h b/examples/logfilepositionsource/clientapplication.h
index ee02224708..cf84af83f4 100644
--- a/examples/logfilepositionsource/clientapplication.h
+++ b/examples/logfilepositionsource/clientapplication.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/logfilepositionsource/logfilepositionsource.cpp b/examples/logfilepositionsource/logfilepositionsource.cpp
index 5c444d0dba..91a4625b43 100644
--- a/examples/logfilepositionsource/logfilepositionsource.cpp
+++ b/examples/logfilepositionsource/logfilepositionsource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/logfilepositionsource/logfilepositionsource.h b/examples/logfilepositionsource/logfilepositionsource.h
index 28d2167079..dbdc634a6e 100644
--- a/examples/logfilepositionsource/logfilepositionsource.h
+++ b/examples/logfilepositionsource/logfilepositionsource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/logfilepositionsource/main.cpp b/examples/logfilepositionsource/main.cpp
index 54a47eefcf..77f3395b29 100644
--- a/examples/logfilepositionsource/main.cpp
+++ b/examples/logfilepositionsource/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/notesmanagerplugin/note.h b/examples/notesmanagerplugin/note.h
index 193e645038..7e2bf488f3 100644
--- a/examples/notesmanagerplugin/note.h
+++ b/examples/notesmanagerplugin/note.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/notesmanagerplugin/notesmanager.cpp b/examples/notesmanagerplugin/notesmanager.cpp
index 325740e243..ea99157915 100644
--- a/examples/notesmanagerplugin/notesmanager.cpp
+++ b/examples/notesmanagerplugin/notesmanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/notesmanagerplugin/notesmanager.h b/examples/notesmanagerplugin/notesmanager.h
index 231beee7e5..a23724a47c 100644
--- a/examples/notesmanagerplugin/notesmanager.h
+++ b/examples/notesmanagerplugin/notesmanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/notesmanagerplugin/notesmanagerplugin.cpp b/examples/notesmanagerplugin/notesmanagerplugin.cpp
index 91d0f229ea..54034d223e 100644
--- a/examples/notesmanagerplugin/notesmanagerplugin.cpp
+++ b/examples/notesmanagerplugin/notesmanagerplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/notesmanagerplugin/notesmanagerplugin.h b/examples/notesmanagerplugin/notesmanagerplugin.h
index b12985f78c..2037d11cbc 100644
--- a/examples/notesmanagerplugin/notesmanagerplugin.h
+++ b/examples/notesmanagerplugin/notesmanagerplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/main.cpp b/examples/player/main.cpp
index 391c23ba10..8d5abe9335 100644
--- a/examples/player/main.cpp
+++ b/examples/player/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/mediakeysobserver.cpp b/examples/player/mediakeysobserver.cpp
index cddd80a54c..398c438ae1 100644
--- a/examples/player/mediakeysobserver.cpp
+++ b/examples/player/mediakeysobserver.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/mediakeysobserver.h b/examples/player/mediakeysobserver.h
index 413eed0bdc..40451085f8 100644
--- a/examples/player/mediakeysobserver.h
+++ b/examples/player/mediakeysobserver.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/player.cpp b/examples/player/player.cpp
index 5f030de689..54d7f280cb 100644
--- a/examples/player/player.cpp
+++ b/examples/player/player.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,10 +76,13 @@ Player::Player(QWidget *parent)
, colorDialog(0)
#endif
{
+//! [create-objs]
player = new QMediaPlayer(this);
- // owerd by PlaylistModel
+
+ // owned by PlaylistModel
playlist = new QMediaPlaylist();
playlist->setMediaObject(player);
+//! [create-objs]
connect(player, SIGNAL(durationChanged(qint64)), SLOT(durationChanged(qint64)));
connect(player, SIGNAL(positionChanged(qint64)), SLOT(positionChanged(qint64)));
@@ -90,11 +93,13 @@ Player::Player(QWidget *parent)
connect(player, SIGNAL(bufferStatusChanged(int)), this, SLOT(bufferingProgress(int)));
connect(player, SIGNAL(error(QMediaPlayer::Error)), this, SLOT(displayErrorMessage()));
+//! [2]
videoWidget = new VideoWidget(this);
videoWidget->setMediaObject(player);
playlistModel = new PlaylistModel(this);
playlistModel->setPlaylist(playlist);
+//! [2]
playlistView = new QListView(this);
playlistView->setModel(playlistModel);
diff --git a/examples/player/player.h b/examples/player/player.h
index 15b28c6d1a..f32794f8a2 100644
--- a/examples/player/player.h
+++ b/examples/player/player.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/playercontrols.cpp b/examples/player/playercontrols.cpp
index aa427a9cca..58177e7bb6 100644
--- a/examples/player/playercontrols.cpp
+++ b/examples/player/playercontrols.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/playercontrols.h b/examples/player/playercontrols.h
index 8e16d83c7d..5d70147b68 100644
--- a/examples/player/playercontrols.h
+++ b/examples/player/playercontrols.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/playlistmodel.cpp b/examples/player/playlistmodel.cpp
index d1974b56a7..21bc4ccf45 100644
--- a/examples/player/playlistmodel.cpp
+++ b/examples/player/playlistmodel.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/playlistmodel.h b/examples/player/playlistmodel.h
index 4cf63e0f82..cf580d8f52 100644
--- a/examples/player/playlistmodel.h
+++ b/examples/player/playlistmodel.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/videowidget.cpp b/examples/player/videowidget.cpp
index 94a3f130b0..46f1b33ff9 100644
--- a/examples/player/videowidget.cpp
+++ b/examples/player/videowidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/player/videowidget.h b/examples/player/videowidget.h
index 6c0af6cb7f..5d382f9813 100644
--- a/examples/player/videowidget.h
+++ b/examples/player/videowidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/publish-subscribe/main.cpp b/examples/publish-subscribe/main.cpp
index cbac20d909..9e37b8b1d5 100644
--- a/examples/publish-subscribe/main.cpp
+++ b/examples/publish-subscribe/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/publish-subscribe/publisherdialog.cpp b/examples/publish-subscribe/publisherdialog.cpp
index 1bab51e168..408afec81b 100644
--- a/examples/publish-subscribe/publisherdialog.cpp
+++ b/examples/publish-subscribe/publisherdialog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -115,7 +115,6 @@ void PublisherDialog::setByteArrayValue()
{
publisher->setValue("byteArrayValue", ui->byteArrayValue->text().toAscii());
}
-
//! [0]
//! [2]
@@ -124,9 +123,14 @@ void PublisherDialog::createNewObject()
if (publisher)
delete publisher;
- publisher = new QValueSpacePublisher(ui->basePath->text());
- intValueChanged(ui->intValue->value());
- setStringValue();
- setByteArrayValue();
+ publisher = new QValueSpacePublisher(QValueSpace::WritableLayer, ui->basePath->text());
+ if (publisher->isConnected()) {
+ ui->setters->setEnabled(true);
+ intValueChanged(ui->intValue->value());
+ setStringValue();
+ setByteArrayValue();
+ } else {
+ ui->setters->setEnabled(false);
+ }
}
//! [2]
diff --git a/examples/publish-subscribe/publisherdialog.h b/examples/publish-subscribe/publisherdialog.h
index 6919c0e5da..b6467fefad 100644
--- a/examples/publish-subscribe/publisherdialog.h
+++ b/examples/publish-subscribe/publisherdialog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/publish-subscribe/publisherdialog.ui b/examples/publish-subscribe/publisherdialog.ui
index 2beffb243c..6457ad0ecf 100644
--- a/examples/publish-subscribe/publisherdialog.ui
+++ b/examples/publish-subscribe/publisherdialog.ui
@@ -7,37 +7,14 @@
<x>0</x>
<y>0</y>
<width>240</width>
- <height>320</height>
+ <height>338</height>
</rect>
</property>
<property name="windowTitle">
<string>Publisher</string>
</property>
- <layout class="QFormLayout" name="formLayout">
- <property name="rowWrapPolicy">
- <enum>QFormLayout::WrapLongRows</enum>
- </property>
- <item row="4" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>intValue:</string>
- </property>
- <property name="buddy">
- <cstring>intValue</cstring>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QSpinBox" name="intValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="1">
<widget class="QLabel" name="label">
<property name="text">
<string>Base path:</string>
@@ -47,7 +24,7 @@
</property>
</widget>
</item>
- <item row="0" column="1">
+ <item row="0" column="2">
<widget class="QLineEdit" name="basePath">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -60,90 +37,141 @@
</property>
</widget>
</item>
- <item row="1" column="0" colspan="2">
- <widget class="QPushButton" name="connectButton">
+ <item row="2" column="1" colspan="2">
+ <widget class="QScrollArea" name="setters">
<property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text">
- <string>Connect</string>
- </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>226</width>
+ <height>238</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="rowWrapPolicy">
+ <enum>QFormLayout::WrapLongRows</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>intValue:</string>
+ </property>
+ <property name="buddy">
+ <cstring>intValue</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="intValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QPushButton" name="unsetIntButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Unset</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>stringValue:</string>
+ </property>
+ <property name="buddy">
+ <cstring>stringValue</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="stringValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>testString</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QPushButton" name="setStringButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>byteArrayValue:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="byteArrayValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>testByteArray</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QPushButton" name="setByteArrayButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
- <item row="5" column="0" colspan="2">
- <widget class="QPushButton" name="unsetIntButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Unset</string>
- </property>
- </widget>
- </item>
- <item row="10" column="0" colspan="2">
- <widget class="QPushButton" name="setStringButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Set</string>
- </property>
- </widget>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>stringValue:</string>
- </property>
- <property name="buddy">
- <cstring>stringValue</cstring>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QLineEdit" name="stringValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>testString</string>
- </property>
- </widget>
- </item>
- <item row="11" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>byteArrayValue:</string>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <widget class="QLineEdit" name="byteArrayValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>testByteArray</string>
- </property>
- </widget>
- </item>
- <item row="13" column="0" colspan="2">
- <widget class="QPushButton" name="setByteArrayButton">
+ <item row="1" column="1" colspan="2">
+ <widget class="QPushButton" name="connectButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -151,24 +179,11 @@
</sizepolicy>
</property>
<property name="text">
- <string>Set</string>
+ <string>Connect</string>
</property>
</widget>
</item>
- <item row="14" column="0" colspan="2">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>196</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="15" column="0" colspan="2">
+ <item row="3" column="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -180,6 +195,18 @@
</item>
</layout>
</widget>
+ <tabstops>
+ <tabstop>basePath</tabstop>
+ <tabstop>connectButton</tabstop>
+ <tabstop>setters</tabstop>
+ <tabstop>intValue</tabstop>
+ <tabstop>unsetIntButton</tabstop>
+ <tabstop>stringValue</tabstop>
+ <tabstop>setStringButton</tabstop>
+ <tabstop>byteArrayValue</tabstop>
+ <tabstop>setByteArrayButton</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
<resources/>
<connections>
<connection>
diff --git a/examples/publish-subscribe/publisherdialog_hor.ui b/examples/publish-subscribe/publisherdialog_hor.ui
index 5e71b8e76d..834aba9862 100644
--- a/examples/publish-subscribe/publisherdialog_hor.ui
+++ b/examples/publish-subscribe/publisherdialog_hor.ui
@@ -7,13 +7,13 @@
<x>0</x>
<y>0</y>
<width>404</width>
- <height>182</height>
+ <height>153</height>
</rect>
</property>
<property name="windowTitle">
<string>Publisher</string>
</property>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="sizePolicy">
@@ -43,88 +43,149 @@
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>intValue:</string>
- </property>
- <property name="buddy">
- <cstring>intValue</cstring>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="intValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>stringValue:</string>
- </property>
- <property name="buddy">
- <cstring>stringValue</cstring>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="stringValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>testString</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_4">
+ <item row="0" column="2" colspan="2">
+ <widget class="QPushButton" name="connectButton">
<property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
- <string>byteArrayValue:</string>
+ <string>Connect</string>
</property>
</widget>
</item>
- <item row="6" column="1">
- <widget class="QLineEdit" name="byteArrayValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>testByteArray</string>
- </property>
+ <item row="1" column="0" colspan="4">
+ <widget class="QWidget" name="setters" native="true">
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>intValue:</string>
+ </property>
+ <property name="buddy">
+ <cstring>intValue</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="intValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="unsetIntButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Unset</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>stringValue:</string>
+ </property>
+ <property name="buddy">
+ <cstring>stringValue</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="stringValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>testString</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="setStringButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>byteArrayValue:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="byteArrayValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>testByteArray</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QPushButton" name="setByteArrayButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
- <item row="8" column="0" colspan="2">
+ <item row="2" column="0" colspan="4">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -137,59 +198,7 @@
</property>
</spacer>
</item>
- <item row="0" column="2">
- <widget class="QPushButton" name="connectButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Connect</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QPushButton" name="unsetIntButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Unset</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <widget class="QPushButton" name="setStringButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Set</string>
- </property>
- </widget>
- </item>
- <item row="6" column="2">
- <widget class="QPushButton" name="setByteArrayButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Set</string>
- </property>
- </widget>
- </item>
- <item row="8" column="2">
+ <item row="3" column="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -201,6 +210,17 @@
</item>
</layout>
</widget>
+ <tabstops>
+ <tabstop>basePath</tabstop>
+ <tabstop>connectButton</tabstop>
+ <tabstop>intValue</tabstop>
+ <tabstop>unsetIntButton</tabstop>
+ <tabstop>stringValue</tabstop>
+ <tabstop>setStringButton</tabstop>
+ <tabstop>byteArrayValue</tabstop>
+ <tabstop>setByteArrayButton</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
<resources/>
<connections>
<connection>
diff --git a/examples/publish-subscribe/subscriberdialog.cpp b/examples/publish-subscribe/subscriberdialog.cpp
index 7b2968262b..b46958a5e5 100644
--- a/examples/publish-subscribe/subscriberdialog.cpp
+++ b/examples/publish-subscribe/subscriberdialog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,6 +103,13 @@ SubscriberDialog::SubscriberDialog(QWidget *parent) :
#endif
connect(ui->connectButton, SIGNAL(clicked()), this, SLOT(changeSubscriberPath()));
changeSubscriberPath();
+
+ // if the default path does not exist reset it to /
+ QVariant value = subscriber->value();
+ if (!subscriber->value().isValid() && subscriber->subPaths().isEmpty()) {
+ ui->basePath->setText(QLatin1String("/"));
+ changeSubscriberPath();
+ }
}
SubscriberDialog::~SubscriberDialog()
diff --git a/examples/publish-subscribe/subscriberdialog.h b/examples/publish-subscribe/subscriberdialog.h
index 6684fcc81c..e3deb2c1e5 100644
--- a/examples/publish-subscribe/subscriberdialog.h
+++ b/examples/publish-subscribe/subscriberdialog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/publish-subscribe/subscriberdialog.ui b/examples/publish-subscribe/subscriberdialog.ui
index fdbdfc4fe3..b3a6771e08 100644
--- a/examples/publish-subscribe/subscriberdialog.ui
+++ b/examples/publish-subscribe/subscriberdialog.ui
@@ -57,6 +57,11 @@
</item>
</layout>
</widget>
+ <tabstops>
+ <tabstop>basePath</tabstop>
+ <tabstop>connectButton</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
<resources/>
<connections>
<connection>
diff --git a/examples/publish-subscribe/subscriberdialog_hor.ui b/examples/publish-subscribe/subscriberdialog_hor.ui
index 7c79fcac54..d1195e5973 100644
--- a/examples/publish-subscribe/subscriberdialog_hor.ui
+++ b/examples/publish-subscribe/subscriberdialog_hor.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
- <height>239</height>
+ <height>339</height>
</rect>
</property>
<property name="windowTitle">
@@ -85,6 +85,12 @@
</item>
</layout>
</widget>
+ <tabstops>
+ <tabstop>basePath</tabstop>
+ <tabstop>connectButton</tabstop>
+ <tabstop>buttonBox</tabstop>
+ <tabstop>tableWidget</tabstop>
+ </tabstops>
<resources/>
<connections>
<connection>
diff --git a/examples/qmlcontacts/ScrollBar.qml b/examples/qmlcontacts/ScrollBar.qml
index 71d884ea87..e53b625ba9 100644
--- a/examples/qmlcontacts/ScrollBar.qml
+++ b/examples/qmlcontacts/ScrollBar.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.6
Item {
diff --git a/examples/qmlcontacts/contents/MediaButton.qml b/examples/qmlcontacts/contents/MediaButton.qml
index 1c8884411c..a07079cd4c 100644
--- a/examples/qmlcontacts/contents/MediaButton.qml
+++ b/examples/qmlcontacts/contents/MediaButton.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.6
Item {
@@ -11,13 +51,13 @@ Item {
}
Image {
id: pressed
- source: "pics/button-pressed.png"
opacity: 0
+ source: "pics/button-pressed.png"
}
- MouseRegion {
+ MouseArea {
id: clickRegion
anchors.fill: normal
- onClicked: { container.clicked(); }
+ onClicked: { container.clicked();}
}
Text {
font.bold: true
@@ -26,6 +66,7 @@ Item {
text: container.text
}
width: normal.width
+ height: childrenRect.height
states: State {
name: "Pressed"
diff --git a/examples/qmlcontacts/contents/pics/button-pressed.png b/examples/qmlcontacts/contents/pics/button-pressed.png
new file mode 100644
index 0000000000..e434d327f2
--- /dev/null
+++ b/examples/qmlcontacts/contents/pics/button-pressed.png
Binary files differ
diff --git a/examples/qmlcontacts/contents/pics/button.png b/examples/qmlcontacts/contents/pics/button.png
new file mode 100644
index 0000000000..56a63ce641
--- /dev/null
+++ b/examples/qmlcontacts/contents/pics/button.png
Binary files differ
diff --git a/examples/qmlcontacts/example.qml b/examples/qmlcontacts/example.qml
index 0181357689..a6819bd028 100644
--- a/examples/qmlcontacts/example.qml
+++ b/examples/qmlcontacts/example.qml
@@ -1,48 +1,59 @@
-import QMLContactManagerAsync 1.0
-import QmlContact 1.0
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QmlContactModel 1.0
import Qt 4.6
+import "contents"
Rectangle {
id: topItem
- width: 320
- height: 480
+ width: 360
+ height: 640
x: 0
y: 0
color: "#080808";
- Script {
- function startup() {
- manager.contacts();
- }
- function gotContacts(c) {
- if(c == undefined){
- return;
- }
-
- var q = c.values("Presence");
-
- nameModel.append({"name": c.name,
- "presence": "Status: " + q.Presence,
- "email": c.email,
- "avatarSource": c.avatar ? c.avatar : "qrc:/default.svg",
- "hasThumbnail" : c.hasThumbnail,
- "avatarImage": c.thumbnail,
- "interestLabel" : c.interestLabel,
- "interest" : c.interest});
-
- }
- }
-
- Component.onCompleted: startup();
-
- QMLContactManagerAsync {
- id: "manager"
-
+ QmlContactModel {
+ id: "myModel"
manager: "memory"
- onDataChanged: print("Data changed!");
- onContactsAdded: print("Contacts added: " + contactIds);
- onContactsLoaded: gotContacts(contact);
}
Component {
@@ -50,18 +61,28 @@ Rectangle {
Rectangle {
id: wrapper
border.width: 2
- height: mainLabel.height;
+ height: 36;
width: mainList.width;
- property color topColor: "#333333";
- property color bottomColor: "#111111";
- property real detailsOpacity: 0
+ property color topColor: "#999999";
+ property color bottomColor: "#444444";
+ property real detailsOpacity: 1
+ property int littleDetailsMode: 0;
+ property int bigDetailsMode: 0;
gradient: Gradient {
GradientStop { position: 0.0; color: topColor }
GradientStop { position: 1.0; color: bottomColor }
}
+ MouseArea {
+ id: mr
+ width: topItem.width;
+ height: wrapper.height;
+ anchors.centerIn: parent;
+ onClicked: { littleDetailsMode = !littleDetailsMode; mainList.currentIndex = index; }
+ }
+
Row {
spacing: 2
Item {
@@ -73,15 +94,15 @@ Rectangle {
border.width: 2;
radius: 4;
anchors.fill: parent;
- anchors.margins: 3;
+ anchors.margins: 2;
Image {
id: avatar
anchors.fill: parent;
- anchors.margins: 3;
+ anchors.margins: 2;
- pixmap: avatarImage
- source: hasThumbnail ? "" : avatarSource;
+ pixmap: model.decoration
+ source: model.avatar;
fillMode: Image.PreserveAspectFit
}
}
@@ -95,8 +116,8 @@ Rectangle {
Text {
id: nameTxt
y: 8;
- text: name
- color: "white";
+ text: display
+ color: "white"
}
}
@@ -108,73 +129,153 @@ Rectangle {
width: childrenRect.width;
Column {
Text {
- text: interestLabel + interest
+ text: model.interestLabel + ": " + model.interest
color: details.textColor;
}
Text {
- text: presence
+ text: model.presenceAvailable ? model.presenceText + " [" + model.presenceMessage + "]" : " ";
color: details.textColor;
}
}
}
}
- }
- states: State {
- name: "Details"
- when: wrapper.ListView.isCurrentItem;
- PropertyChanges { target: wrapper; detailsOpacity: 1; }
- PropertyChanges { target: wrapper; topColor: "#999999"; }
- PropertyChanges { target: wrapper; bottomColor: "#444444"; }
- PropertyChanges { target: wrapper; height: mainLabel.height + details.height + 4; }
+ Item {
+ id: "buttonBox"
+ x: wrapper.width - 6 - childrenRect.width;
+ y: 4;
+ height:childrenRect.height
+ opacity: details.opacity;
+ Column {
+ // Buttons
+ MediaButton {
+ id: dialButton;
+ text: "Dial";
+ }
+ MediaButton {
+ id: textButton
+ text: "Send Text";
+ }
+ Item {
+ height:childrenRect.height
+ width: childrenRect.width
+ MediaButton {
+ id: viewButton
+ text: "More..."
+ opacity: 0;
+ onClicked: wrapper.bigDetailsMode = 1;
+ }
+ MediaButton {
+ id: smallAgainButton
+ text: "Back";
+ anchors.top:viewButton.top;
+ opacity: 0;
+ onClicked: wrapper.bigDetailsMode = 0;
+ }
+ }
+ }
+ }
}
+ states: [
+ State {
+ name: "List";
+ when: mainList.currentIndex != index || wrapper.littleDetailsMode == 0
+ PropertyChanges { target: wrapper; detailsOpacity: 0; }
+ PropertyChanges { target: wrapper; topColor: "#333333"; }
+ PropertyChanges { target: wrapper; bottomColor: "#111111"; }
+ PropertyChanges { target: buttonBox; x: wrapper.width + 6; }
+ },
+ State {
+ name: "MiniDetails"
+ when: (mainList.currentIndex == index) && (wrapper.littleDetailsMode == 1) && (wrapper.bigDetailsMode == 0);
+ PropertyChanges { target: viewButton; opacity: 1; }
+ PropertyChanges { target: smallAgainButton; opacity: 0; }
+ PropertyChanges { target: wrapper; height: Math.max(mainLabel.height + details.height + 4, buttonBox.height + 8); }
+ PropertyChanges { target: mainList; explicit: true; contentY: wrapper.y } // XXX I don't think this should be here
+ },
+ State {
+ name: "Details"
+ when: (mainList.currentIndex == index) && (wrapper.bigDetailsMode == 1);
+ PropertyChanges { target: wrapper; height: mainList.height; }
+ PropertyChanges { target: viewButton; opacity: 0; }
+ PropertyChanges { target: smallAgainButton; opacity: 1; }
+ PropertyChanges { target: mainAvatar; height: 96; }
+ PropertyChanges { target: mainList; explicit: true; contentY: wrapper.y }
+ PropertyChanges { target: mainList; interactive: false; }
+ }
+ ]
+
transitions: [
Transition {
- from: ""
- to: "Details"
+ from: "List"
+ to: "MiniDetails"
reversible: false
SequentialAnimation {
NumberAnimation { duration: 100; properties: "detailsOpacity,height" }
- ColorAnimation { duration: 100; properties: "topColor, bottomColor";}
+ ParallelAnimation {
+ ColorAnimation { duration: 100; properties: "topColor, bottomColor";}
+ NumberAnimation { duration: 150; properties: "x"; }
+ }
+ }
+ },
+ Transition {
+ from: "MiniDetails"
+ to: "Details"
+ reversible: false
+ ParallelAnimation {
+ NumberAnimation { duration: 250; properties: "contentY,opacity"; }
+ SequentialAnimation {
+ NumberAnimation { duration: 100; properties: "detailsOpacity,height" }
+ ParallelAnimation {
+ ColorAnimation { duration: 100; properties: "topColor, bottomColor";}
+ NumberAnimation { duration: 150; properties: "x"; }
+ }
+ }
}
},
Transition {
- to: ""
from: "Details"
+ to: "MiniDetails"
+ reversible: false
+ ParallelAnimation {
+ NumberAnimation { duration: 250; properties: "contentY,opacity"; }
+ SequentialAnimation {
+ ParallelAnimation {
+ NumberAnimation { duration: 150; properties: "x"; }
+ ColorAnimation { duration: 200; properties: "topColor, bottomColor";}
+ }
+ NumberAnimation { duration: 200; properties: "detailsOpacity,height" }
+ }
+ }
+ },
+ Transition {
+ from: "MiniDetails"
+ to: "List"
reversible: false
SequentialAnimation {
- NumberAnimation { duration: 100; properties: "detailsOpacity,height" }
- ColorAnimation { duration: 100; properties: "topColor, bottomColor";}
+ NumberAnimation { duration: 100; properties: "x"; }
+ ParallelAnimation{
+ NumberAnimation { duration: 150; properties: "detailsOpacity,height" }
+ ColorAnimation { duration: 150; properties: "topColor, bottomColor";}
+ }
}
}
]
- MouseArea {
- id: mr
- width: topItem.width;
- height: wrapper.height;
- anchors.centerIn: parent;
- onClicked: mainList.currentIndex = index;
- }
}
}
ListView {
id: mainList
- model: nameModel
+ model: myModel
width: parent.width; height: parent.height
delegate: listdelegate
highlightFollowsCurrentItem: false
focus: true
anchors.fill: parent
- highlightMoveSpeed: 5000
keyNavigationWraps: true
}
- ListModel {
- id: nameModel
- }
-
// Attach scrollbar to the right edge of the view.
ScrollBar {
id: verticalScrollBar
diff --git a/examples/qmlcontacts/main.cpp b/examples/qmlcontacts/main.cpp
index ded7dd4475..7c133e9336 100644
--- a/examples/qmlcontacts/main.cpp
+++ b/examples/qmlcontacts/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,9 +44,9 @@
#include <QDeclarativeComponent>
#include <QDebug>
#include <QDeclarativeView>
-#include <QContactManager>
-#include "qmlcontactsa.h"
-#include "qmlcontact.h"
+#include <qcontactmanager.h>
+#include "qmlcontactmodel.h"
+
QT_USE_NAMESPACE
QTM_USE_NAMESPACE
@@ -56,10 +56,8 @@ int main(int argc, char ** argv)
QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- qmlRegisterType<QmlContact>("QmlContact", 1, 0, "QmlContact");
- qmlRegisterType<QMLContactManagerAsync>("QMLContactManagerAsync", 1, 0, "QMLContactManagerAsync");
+ qmlRegisterType<QMLContactModel>("QmlContactModel", 1, 0, "QmlContactModel");
QWidget *b = new QWidget();
QVBoxLayout *vbox = new QVBoxLayout;
@@ -71,7 +69,6 @@ int main(int argc, char ** argv)
view->setSource(QUrl("qrc:/example.qml"));
vbox->addWidget(view);
b->setLayout(vbox);
-// b->resize(800,480);
b->show();
return app.exec();
diff --git a/examples/qmlcontacts/qmlcontact.cpp b/examples/qmlcontacts/qmlcontact.cpp
deleted file mode 100644
index 765225f499..0000000000
--- a/examples/qmlcontacts/qmlcontact.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlcontact.h"
-#include <qcontactdetails.h>
-#include <QtDebug>
-#include <QStringList>
-
-#include <QPixmap>
-#include <QImage>
-
-QT_USE_NAMESPACE
-QTM_USE_NAMESPACE
-
-QmlContact::QmlContact(const QContact& contact, QObject *parent)
- : QObject(parent), m_contact(contact)
-{
-}
-
-QmlContact::QmlContact()
-{
-
-}
-
-QmlContact::~QmlContact()
-{
-
-}
-
-QContact &QmlContact::contact()
-{
- return m_contact;
-}
-
-void QmlContact::setContact(QContact& contact)
-{
- m_contact = contact;
- emit contactChanged(this);
-}
-
-QString QmlContact::name() const
-{
- return m_contact.displayLabel();
-}
-
-void QmlContact::setName(QString name)
-{
- Q_UNUSED(name);
- qWarning() << "Not implemented yet";
- emit nameChanged(this);
-}
-
-QString QmlContact::email() const
-{
- QList<QContactDetail> allEmails = m_contact.details(QContactEmailAddress::DefinitionName);
-
- QStringList emails;
- foreach (const QContactDetail& email, allEmails) {
- emails << email.value(QContactEmailAddress::FieldEmailAddress);
- }
- return emails.join(QString::fromLatin1(","));
-}
-
-void QmlContact::setEmail(QString email)
-{
- Q_UNUSED(email);
- qWarning() << "Not implemented yet";
- emit emailChanged(this);
-}
-
-QString QmlContact::avatar() const
-{
- return m_contact.detail<QContactAvatar>().imageUrl().toString();
-}
-
-QPixmap QmlContact::thumbnail() const
-{
- return QPixmap::fromImage(m_contact.detail<QContactThumbnail>().thumbnail());
-}
-
-bool QmlContact::hasThumbnail() const
-{
- return !thumbnail().isNull();
-}
-
-QString QmlContact::interest() const
-{
- // Try a phone number
- QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber);
- if (!det.isEmpty())
- return det;
-
- det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress);
- if (!det.isEmpty())
- return det;
-
- det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri);
- if (!det.isEmpty())
- return det;
-
- // Well, don't know.
- return QString();
-}
-
-QString QmlContact::interestLabel() const
-{
- // Try a phone number
- QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber);
- if (!det.isEmpty())
- return tr("Phone number:");
-
- det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress);
- if (!det.isEmpty())
- return tr("Email:");
-
- det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri);
- if (!det.isEmpty())
- return QString("%1:").arg(m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldServiceProvider));
-
- // Well, don't know.
- return QString();
-}
-
-QStringList QmlContact::details()
-{
- QStringList dets;
- QList<QContactDetail> ld = m_contact.details();
- QContactDetail d;
- foreach(d, ld){
- dets += d.definitionName();
- }
- return dets;
-}
-
-QStringList QmlContact::contexts()
-{
- QStringList dets;
- QList<QContactDetail> ld = m_contact.details();
- QContactDetail d;
- foreach(d, ld){
- dets += d.contexts();
- }
- return dets;
-}
-
-QVariantMap QmlContact::values(QString definitionId)
-{
- QStringList strlist;
- QContactDetail detail = m_contact.detail(definitionId);
-
- QVariantMap map = detail.variantValues();
- return map;
-}
-
-#include "moc_qmlcontact.cpp"
diff --git a/examples/qmlcontacts/qmlcontactmodel.cpp b/examples/qmlcontacts/qmlcontactmodel.cpp
new file mode 100644
index 0000000000..4927dc6fd6
--- /dev/null
+++ b/examples/qmlcontacts/qmlcontactmodel.cpp
@@ -0,0 +1,226 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qcontactdetails.h>
+
+#include "qmlcontactmodel.h"
+#include "qcontactmanager.h"
+#include "qcontactdetailfilter.h"
+#include "qversitreader.h"
+#include "qversitcontactimporter.h"
+
+#include <QColor>
+#include <QHash>
+#include <QDebug>
+#include <QPixmap>
+#include <QFile>
+
+QMLContactModel::QMLContactModel(QObject *parent) :
+ QAbstractListModel(parent),
+ m_manager(0)
+{
+ QHash<int, QByteArray> roleNames;
+ roleNames = QAbstractItemModel::roleNames();
+ roleNames.insert(InterestLabelRole, "interestLabel");
+ roleNames.insert(InterestRole, "interest");
+ roleNames.insert(AvatarRole, "avatar");
+ roleNames.insert(PresenceAvailableRole, "presenceSupported");
+ roleNames.insert(PresenceTextRole, "presenceText");
+ roleNames.insert(PresenceStateRole, "presenceState");
+ roleNames.insert(PresenceMessageRole, "presenceMessage");
+ setRoleNames(roleNames);
+
+ m_fetchHint.setOptimizationHints(QContactFetchHint::NoActionPreferences | QContactFetchHint::NoRelationships);
+ m_fetchHint.setDetailDefinitionsHint(QStringList()
+ << QContactPhoneNumber::DefinitionName
+ << QContactEmailAddress::DefinitionName
+ << QContactThumbnail::DefinitionName
+ << QContactAvatar::DefinitionName
+ << QContactGlobalPresence::DefinitionName
+ << QContactDisplayLabel::DefinitionName
+ << QContactOnlineAccount::DefinitionName);
+ m_sortOrder.setDetailDefinitionName(QContactDisplayLabel::DefinitionName, QContactDisplayLabel::FieldLabel);
+ m_sortOrder.setCaseSensitivity(Qt::CaseSensitive);
+
+ connect(&m_contactsRequest, SIGNAL(resultsAvailable()), this, SLOT(resultsReceived()));
+ m_contactsRequest.setFetchHint(m_fetchHint);
+ m_contactsRequest.setSorting(m_sortOrder);
+
+ QContactDetailFilter d;
+ d.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType);
+ d.setValue(QContactType::TypeContact);
+
+ m_contactsRequest.setFilter(d);
+
+ setManager(QString());
+}
+
+QStringList QMLContactModel::availableManagers() const
+{
+ return QContactManager::availableManagers();
+}
+
+QString QMLContactModel::manager()
+{
+ return m_manager->managerName();
+}
+
+void QMLContactModel::fillContactsIntoMemoryEngine(QContactManager* manager)
+{
+ QVersitReader reader;
+ QFile file(":/contents/example.vcf");
+ bool ok = file.open(QIODevice::ReadOnly);
+ if (ok) {
+ reader.setDevice(&file);
+ if (reader.startReading() && reader.waitForFinished()) {
+ QVersitContactImporter importer;
+ importer.importDocuments(reader.results());
+ QList<QContact> contacts = importer.contacts();
+ manager->saveContacts(&contacts, 0);
+ }
+ }
+}
+
+int QMLContactModel::rowCount(const QModelIndex &parent) const
+{
+ Q_UNUSED(parent);
+ return m_contacts.count();
+}
+
+void QMLContactModel::setManager(const QString& managerName)
+{
+ delete m_manager;
+ m_manager = new QContactManager(managerName);
+
+ if (managerName == "memory" && m_manager->contactIds().isEmpty()) {
+ fillContactsIntoMemoryEngine(m_manager);
+ }
+
+ qWarning() << "Changed backend to: " << managerName;
+ m_contactsRequest.setManager(m_manager);
+ connect(m_manager, SIGNAL(dataChanged()), this, SLOT(fetchAgain()));
+ fetchAgain();
+}
+
+void QMLContactModel::resultsReceived()
+{
+ int oldCount = m_contacts.count();
+ int newCount = m_contactsRequest.contacts().count();
+ if (newCount > oldCount) {
+ // Assuming the order is the same
+ beginInsertRows(QModelIndex(), newCount - oldCount, newCount);
+ m_contacts = m_contactsRequest.contacts();
+ endInsertRows();
+ } else {
+ // Hmm, shouldn't happen
+ reset();
+ beginInsertRows(QModelIndex(), 0, m_contactsRequest.contacts().count());
+ m_contacts = m_contactsRequest.contacts();
+ endInsertRows();
+ }
+}
+
+void QMLContactModel::fetchAgain()
+{
+ m_contacts.clear();
+ reset();
+ m_contactsRequest.start();
+}
+
+QPair<QString, QString> QMLContactModel::interestingDetail(const QContact&c) const
+{
+ // Try a phone number, then email, then online account
+ // This does only check the first detail of each type
+ QContactDetail p = c.details<QContactPhoneNumber>().value(0);
+ if (!p.isEmpty())
+ return qMakePair(tr("Phone"), p.value(QContactPhoneNumber::FieldNumber));
+
+ p = c.details<QContactEmailAddress>().value(0);
+ if (!p.isEmpty())
+ return qMakePair(tr("Email"), p.value(QContactEmailAddress::FieldEmailAddress));
+
+ p = c.details<QContactOnlineAccount>().value(0);
+ if (!p.isEmpty())
+ return qMakePair(p.value(QContactOnlineAccount::FieldServiceProvider), p.value(QContactOnlineAccount::FieldAccountUri));
+
+ // Well, don't know.
+ return qMakePair(QString(), QString());
+}
+
+QVariant QMLContactModel::data(const QModelIndex &index, int role) const
+{
+ QContact c = m_contacts.value(index.row());
+ switch(role) {
+ case Qt::DisplayRole:
+ return c.displayLabel();
+ case InterestLabelRole:
+ return interestingDetail(c).first;
+ case InterestRole:
+ return interestingDetail(c).second;
+ case AvatarRole:
+ if (c.detail<QContactThumbnail>().isEmpty()) {
+ QContactAvatar a = c.detail<QContactAvatar>();
+ if (!a.imageUrl().isEmpty())
+ return a.imageUrl();
+ else
+ return QString("qrc:/default.svg");
+ } else {
+ // We have a thumbnail, so return empty
+ return QString("");
+ }
+ case Qt::DecorationRole:
+ {
+ QContactThumbnail t = c.detail<QContactThumbnail>();
+ if (!t.thumbnail().isNull())
+ return QPixmap::fromImage(t.thumbnail());
+ }
+ return QPixmap();
+ case PresenceAvailableRole:
+ return !c.detail<QContactGlobalPresence>().isEmpty();
+ case PresenceMessageRole:
+ return c.detail<QContactGlobalPresence>().customMessage();
+ case PresenceTextRole:
+ return c.detail<QContactGlobalPresence>().presenceStateText();
+ case PresenceStateRole:
+ return c.detail<QContactGlobalPresence>().presenceState();
+ }
+ return QVariant();
+}
+
diff --git a/examples/qmlcontacts/qmlcontact.h b/examples/qmlcontacts/qmlcontactmodel.h
index 302480753b..c91625c09d 100644
--- a/examples/qmlcontacts/qmlcontact.h
+++ b/examples/qmlcontacts/qmlcontactmodel.h
@@ -38,64 +38,58 @@
**
****************************************************************************/
-#ifndef QMLCONTACT_H
-#define QMLCONTACT_H
+#ifndef QMLCONTACTMODEL_H
+#define QMLCONTACTMODEL_H
-#include <qmobilityglobal.h>
-#include <QObject>
-#include <QContact>
-#include <qdeclarative.h>
+#include <QAbstractListModel>
+#include "qcontact.h"
+#include "qcontactmanager.h"
+#include "qcontactfetchrequest.h"
-QTM_USE_NAMESPACE
-
-class QmlContact : public QObject {
+QTM_USE_NAMESPACE;
+class QMLContactModel : public QAbstractListModel
+{
Q_OBJECT
-Q_PROPERTY(QContact contact READ contact WRITE setContact NOTIFY contactChanged)
-Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
-Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
-Q_PROPERTY(QString avatar READ avatar NOTIFY avatarChanged)
-Q_PROPERTY(QPixmap thumbnail READ thumbnail)
-Q_PROPERTY(bool hasThumbnail READ hasThumbnail)
-Q_PROPERTY(QStringList details READ details)
-Q_PROPERTY(QStringList contexts READ contexts)
-Q_PROPERTY(QString interest READ interest)
-Q_PROPERTY(QString interestLabel READ interestLabel)
+Q_PROPERTY(QStringList availableManagers READ availableManagers)
+Q_PROPERTY(QString manager READ manager WRITE setManager)
public:
- explicit QmlContact(const QContact& contact, QObject *parent = 0);
- QmlContact();
- ~QmlContact();
+ explicit QMLContactModel(QObject *parent = 0);
- QContact& contact();
- void setContact(QContact& contact);
+ enum {
+ InterestRole = Qt::UserRole + 500,
+ InterestLabelRole,
+ AvatarRole,
+ PresenceAvailableRole,
+ PresenceTextRole,
+ PresenceStateRole,
+ PresenceMessageRole
+ };
- QString name() const;
- void setName(QString name);
+ QStringList availableManagers() const;
- QString email() const;
- void setEmail(QString email);
+ QString manager();
+ void setManager(const QString& manager);
- bool hasThumbnail() const;
- QString avatar() const;
- QPixmap thumbnail() const;
+ int rowCount(const QModelIndex &parent) const;
+ QVariant data(const QModelIndex &index, int role) const;
+signals:
- QString interest() const;
- QString interestLabel() const;
+public slots:
- QStringList details();
+private slots:
+ void resultsReceived();
+ void fetchAgain();
- QStringList contexts();
+private:
+ QPair<QString, QString> interestingDetail(const QContact&c) const;
- Q_INVOKABLE QVariantMap values(QString definitionId);
+ void fillContactsIntoMemoryEngine(QContactManager* manager);
-signals:
- void contactChanged(QmlContact* qmlcontact);
- void nameChanged(QmlContact* qmlcontact);
- void emailChanged(QmlContact* qmlcontact);
-
-private:
- QContact m_contact;
+ QList<QContact> m_contacts;
+ QContactManager* m_manager;
+ QContactFetchHint m_fetchHint;
+ QContactSortOrder m_sortOrder;
+ QContactFetchRequest m_contactsRequest;
};
-QML_DECLARE_TYPE(QmlContact)
-
-#endif // QMLCONTACT_H
+#endif // QMLCONTACTMODEL_H
diff --git a/examples/qmlcontacts/qmlcontacts.cpp b/examples/qmlcontacts/qmlcontacts.cpp
deleted file mode 100644
index 46d13f0681..0000000000
--- a/examples/qmlcontacts/qmlcontacts.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmlcontactsa.h"
-
-#include <QtDebug>
-#include <QFile>
-#include <QIODevice>
-#include <qcontactfetchrequest.h>
-#include <qcontactlocalidfilter.h>
-#include <qcontactdetails.h>
-#include <qversitreader.h>
-#include <qversitcontactimporter.h>
-
-QT_USE_NAMESPACE
-QTM_USE_NAMESPACE
-
-// ![0]
-QMLContactManagerAsync::QMLContactManagerAsync(QObject *parent)
- : QObject(parent)
-{
- qc = new QContactManager();
-}
-
-QMLContactManagerAsync::~QMLContactManagerAsync()
-{
- delete qc;
-}
-
-QString QMLContactManagerAsync::availableManagers() const
-{
- return QContactManager::availableManagers().join(" ");
-}
-
-QString QMLContactManagerAsync::manager()
-{
- return qc->managerName();
-}
-
-void QMLContactManagerAsync::fillContactsIntoMemoryEngine(QContactManager* manager)
-{
- QVersitReader reader;
- QFile file(":/contents/example.vcf");
- bool ok = file.open(QIODevice::ReadOnly);
- if (ok) {
- reader.setDevice(&file);
- if (reader.startReading() && reader.waitForFinished()) {
- QVersitContactImporter importer;
- importer.importDocuments(reader.results());
- QList<QContact> contacts = importer.contacts();
- manager->saveContacts(&contacts, 0);
- }
- }
-}
-
-void QMLContactManagerAsync::setManager(QString manager)
-{
- delete qc;
- qc = new QContactManager(manager);
- connect(qc, SIGNAL(contactsAdded(QList<QContactLocalId>)), this, SIGNAL(contactsAdded(QList<QContactLocalId>)));
- connect(qc, SIGNAL(contactsChanged(QList<QContactLocalId>)), this, SIGNAL(contactsChanged(QList<QContactLocalId>)));
- connect(qc, SIGNAL(contactsRemoved(QList<QContactLocalId>)), this, SIGNAL(contactsRemoved(QList<QContactLocalId>)));
- connect(qc, SIGNAL(relationshipsAdded(QList<QContactLocalId>)), this, SIGNAL(relationshipsAdded(QList<QContactLocalId>)));
- connect(qc, SIGNAL(relationshipsRemoved(QList<QContactLocalId>)), this, SIGNAL(relationshipsRemoved(QList<QContactLocalId>)));
-
- if (manager == "memory" && qc->contactIds().isEmpty()) {
- fillContactsIntoMemoryEngine(qc);
- }
-
- qWarning() << "Changed backend to: " << manager;
-}
-
-
-QString QMLContactManagerAsync::contactListToQString(const QList<QContactLocalId>& contactIds) const
-{
- QString list;
-
- for (int i = 0; i < contactIds.count(); i++) {
- list += QString::number(contactIds.at(i)) + ' ';
- }
-
- return list;
-}
-
-QStringList QMLContactManagerAsync::contactListToQString(const QList<QContact>& contact) const
-{
- QStringList list;
-
- for (int i = 0; i < contact.count(); i++) {
- list += qc->synthesizedContactDisplayLabel(contact.at(i));
- }
-
- return list;
-}
-
-int QMLContactManagerAsync::numContacts()
-{
- return qc->contactIds().count();
-}
-
-void QMLContactManagerAsync::contacts()
-{
- m_contactIds.clear();
- QContactFetchRequest* req = new QContactFetchRequest;
- QContactLocalIdFilter idFil;
- idFil.setIds(qc->contactIds());
- req->setFilter(idFil);
- req->setManager(qc);
- connect(req, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(contactProgress(QContactAbstractRequest::State)));
- req->start();
-}
-
-void QMLContactManagerAsync::contactProgress(QContactAbstractRequest::State newState)
-{
- QContactFetchRequest *request = qobject_cast<QContactFetchRequest*>(sender());
-
- // first, check to make sure that the request is still valid.
- if (qc != request->manager() ||
- newState == QContactAbstractRequest::CanceledState) {
- request->deleteLater();
- return; // ignore these results.
- }
-
- if(request->contacts().count() > 0) {
- foreach(const QContact& c, request->contacts()) {
- QmlContact qmlc(c);
- emit contactsLoaded(&qmlc);
- }
- }
-
- // check to see if the request status is "finished" - clean up.
- if (newState == QContactAbstractRequest::FinishedState) {
- request->deleteLater();
- emit contactsLoadedDone();
- }
-}
-
-QString QMLContactManagerAsync::idToName(QString name)
-{
- QContact c = qc->contact(name.toInt());
- return qc->synthesizedContactDisplayLabel(c);
-}
-
-// ![0]
-
-#include "moc_qmlcontactsa.cpp"
diff --git a/examples/qmlcontacts/qmlcontacts.pro b/examples/qmlcontacts/qmlcontacts.pro
index a3e7bdc342..713049ddcc 100644
--- a/examples/qmlcontacts/qmlcontacts.pro
+++ b/examples/qmlcontacts/qmlcontacts.pro
@@ -1,39 +1,33 @@
TEMPLATE = app
TARGET = qmlcontacts
-
CONFIG += mobility
-MOBILITY = contacts versit
-
+MOBILITY = contacts \
+ versit
DEPENDPATH += .
INCLUDEPATH += . \
- ../../include \
- ../../src/contacts \
- ../../src/contacts/requests \
- ../../src/contacts/details \
- ../../src/contacts/filters \
- ../../src/versit
-
+ ../../include \
+ ../../src/contacts \
+ ../../src/contacts/requests \
+ ../../src/contacts/details \
+ ../../src/contacts/filters \
+ ../../src/versit
QT += declarative
QT += script
-
# Input
SOURCES += main.cpp \
- qmlcontacts.cpp \
- qmlcontact.cpp
-HEADERS += qmlcontactsa.h \
- qmlcontact.h
+ qmlcontactmodel.cpp
+
+HEADERS += qmlcontactmodel.h
+
RESOURCES += qmlcontacts.qrc
OTHER_FILES += example.qml \
contents/example.vcf \
contents/MediaButton.qml \
ScrollBar.qml
-
-symbian: {
- TARGET.CAPABILITY = ReadUserData \
- WriteUserData \
- ReadDeviceData \
- WriteDeviceData \
- SwEvent
-}
+symbian::TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData \
+ SwEvent
include(../examples.pri)
diff --git a/examples/qmlcontacts/qmlcontacts.qrc b/examples/qmlcontacts/qmlcontacts.qrc
index 00a9ac5e81..edab4f43c7 100644
--- a/examples/qmlcontacts/qmlcontacts.qrc
+++ b/examples/qmlcontacts/qmlcontacts.qrc
@@ -5,5 +5,7 @@
<file>ScrollBar.qml</file>
<file>contents/example.vcf</file>
<file alias="default.svg">contents/default.svg</file>
+ <file>contents/pics/button-pressed.png</file>
+ <file>contents/pics/button.png</file>
</qresource>
</RCC>
diff --git a/examples/querymessages/main.cpp b/examples/querymessages/main.cpp
index 5c8e64a0a3..f65b2b239d 100644
--- a/examples/querymessages/main.cpp
+++ b/examples/querymessages/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/quickstart/main.cpp b/examples/quickstart/main.cpp
index 475a9bbf28..b31eaf6157 100644
--- a/examples/quickstart/main.cpp
+++ b/examples/quickstart/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/quickstart/quickstart.pro b/examples/quickstart/quickstart.pro
index 8cfb521e32..d1272485cd 100644
--- a/examples/quickstart/quickstart.pro
+++ b/examples/quickstart/quickstart.pro
@@ -14,6 +14,6 @@ SOURCES += main.cpp
#! [1]
symbian {
- TARGET.CAPABILITIES = LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location TrustedUI ReadDeviceData
+ TARGET.CAPABILITIES = LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location ReadDeviceData
}
#! [1]
diff --git a/examples/radio/main.cpp b/examples/radio/main.cpp
index 0dff845753..f0571fcb0a 100644
--- a/examples/radio/main.cpp
+++ b/examples/radio/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/radio/radio.cpp b/examples/radio/radio.cpp
index 7f1bda3f61..4bb954d81c 100644
--- a/examples/radio/radio.cpp
+++ b/examples/radio/radio.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/radio/radio.h b/examples/radio/radio.h
index f5da595454..4f22b93b85 100644
--- a/examples/radio/radio.h
+++ b/examples/radio/radio.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/contacteditor.cpp b/examples/samplephonebook/contacteditor.cpp
index 39d3d267d8..0ce7f49a43 100644
--- a/examples/samplephonebook/contacteditor.cpp
+++ b/examples/samplephonebook/contacteditor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -191,7 +191,7 @@ void ContactEditor::setCurrentContact(QContactManager* manager, QContactLocalId
// avatar viewer
if (defs.contains(QContactAvatar::DefinitionName)
- && defs.contains(QContactThumbnail::DefinitionName)) {
+ || defs.contains(QContactThumbnail::DefinitionName)) {
m_avatarBtn->setEnabled(true);
QContactAvatar av = curr.detail(QContactAvatar::DefinitionName);
QContactThumbnail thumb = curr.detail(QContactThumbnail::DefinitionName);
@@ -316,6 +316,7 @@ void ContactEditor::saveClicked()
curr.saveDetail(&thumb);
}
+ curr = m_manager->compatibleContact(curr);
bool success = m_manager->saveContact(&curr);
if (!success)
QMessageBox::information(this, "Failed!", QString("Failed to save contact!\n(error code %1)").arg(m_manager->error()));
diff --git a/examples/samplephonebook/contacteditor.h b/examples/samplephonebook/contacteditor.h
index 7aea16d347..8b99098672 100644
--- a/examples/samplephonebook/contacteditor.h
+++ b/examples/samplephonebook/contacteditor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/contactlistpage.cpp b/examples/samplephonebook/contactlistpage.cpp
index ca327ce438..8ea3ac2564 100644
--- a/examples/samplephonebook/contactlistpage.cpp
+++ b/examples/samplephonebook/contactlistpage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/contactlistpage.h b/examples/samplephonebook/contactlistpage.h
index 93bfcb2a5f..b381489d6b 100644
--- a/examples/samplephonebook/contactlistpage.h
+++ b/examples/samplephonebook/contactlistpage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/filterpage.cpp b/examples/samplephonebook/filterpage.cpp
index b14a80be5a..8a4ab8fa2f 100644
--- a/examples/samplephonebook/filterpage.cpp
+++ b/examples/samplephonebook/filterpage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/filterpage.h b/examples/samplephonebook/filterpage.h
index 4a567a1259..083b8ec8f3 100644
--- a/examples/samplephonebook/filterpage.h
+++ b/examples/samplephonebook/filterpage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/main.cpp b/examples/samplephonebook/main.cpp
index a3c06c6ff6..c0a009012a 100644
--- a/examples/samplephonebook/main.cpp
+++ b/examples/samplephonebook/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/phonebook.cpp b/examples/samplephonebook/phonebook.cpp
index 91675fd1d0..219ce2a1bd 100644
--- a/examples/samplephonebook/phonebook.cpp
+++ b/examples/samplephonebook/phonebook.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/samplephonebook/phonebook.h b/examples/samplephonebook/phonebook.h
index d3deaa2fa8..0e4ed10ace 100644
--- a/examples/samplephonebook/phonebook.h
+++ b/examples/samplephonebook/phonebook.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/satellitedialog/main.cpp b/examples/satellitedialog/main.cpp
index 7c7151906b..ab517da72b 100644
--- a/examples/satellitedialog/main.cpp
+++ b/examples/satellitedialog/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/satellitedialog/satellitedialog.cpp b/examples/satellitedialog/satellitedialog.cpp
index d1d6ccb9af..8cd0e30d72 100644
--- a/examples/satellitedialog/satellitedialog.cpp
+++ b/examples/satellitedialog/satellitedialog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/satellitedialog/satellitedialog.h b/examples/satellitedialog/satellitedialog.h
index b8c428496c..86840b1805 100644
--- a/examples/satellitedialog/satellitedialog.h
+++ b/examples/satellitedialog/satellitedialog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/accel/main.cpp b/examples/sensors/accel/main.cpp
index 60751286ff..38a52be4e8 100644
--- a/examples/sensors/accel/main.cpp
+++ b/examples/sensors/accel/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/arrowkeys/arrowkeys.pro b/examples/sensors/arrowkeys/arrowkeys.pro
new file mode 100644
index 0000000000..6ffd444aa6
--- /dev/null
+++ b/examples/sensors/arrowkeys/arrowkeys.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES=main.cpp
+TARGET=arrowkeys
diff --git a/examples/sensors/arrowkeys/main.cpp b/examples/sensors/arrowkeys/main.cpp
new file mode 100644
index 0000000000..537406f8c4
--- /dev/null
+++ b/examples/sensors/arrowkeys/main.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qaccelerometer.h>
+
+QTM_USE_NAMESPACE
+
+namespace arrows{
+ static const QString ARROW_UP="^", ARROW_DOWN="v", ARROW_LEFT="<",ARROW_RIGHT=">", ARROW_TO=".", ARROW_FROM="x";
+}
+
+class AccelerometerFilter : public QAccelerometerFilter
+{
+public:
+
+ bool filter(QAccelerometerReading *reading)
+ {
+ QString arrow = getArrowKey(reading->x(), reading->y(), reading->z());
+ if (arrow!=exArrow){
+ qDebug() << "direction:" << arrow;
+ exArrow = arrow;
+ }
+ return false; // don't store the reading in the sensor
+ }
+
+private:
+ QString exArrow;
+ static const qreal THRESHOLD;
+
+ QString getArrowKey(qreal x, qreal y, qreal z){
+
+ // axis_z: TO or FROM
+ if (abs(y)<THRESHOLD && abs(x)<THRESHOLD) return z>0?(arrows::ARROW_FROM):(arrows::ARROW_TO);
+
+ // axis_x: LEFT or RIGHT
+ if (abs(x)>abs(y)) return x>0?(arrows::ARROW_LEFT):(arrows::ARROW_RIGHT);
+
+ // axis_y: UP or DOWN
+ return y>0?(arrows::ARROW_DOWN):(arrows::ARROW_UP);
+ }
+
+ static qreal abs(qreal value) {return value<0?-value:value;}
+};
+
+const qreal AccelerometerFilter::THRESHOLD = 0.3;
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QAccelerometer sensor;
+ if (!sensor.connectToBackend()) {
+ qWarning("No Accelerometer available!");
+ return 1;
+ }
+ AccelerometerFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+
+ return app.exec();
+}
diff --git a/examples/sensors/grueapp/main.cpp b/examples/sensors/grueapp/main.cpp
index f20b361b5f..f2e139239e 100644
--- a/examples/sensors/grueapp/main.cpp
+++ b/examples/sensors/grueapp/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/grueplugin/grueplugin.pro b/examples/sensors/grueplugin/grueplugin.pro
index 73f499a5ea..2d9f138689 100644
--- a/examples/sensors/grueplugin/grueplugin.pro
+++ b/examples/sensors/grueplugin/grueplugin.pro
@@ -1,6 +1,6 @@
TEMPLATE = lib
CONFIG += plugin
-TARGET = $$qtLibraryTarget(sensors_grueplugin)
+TARGET = $$qtLibraryTarget(qtsensors_grueplugin)
PLUGIN_TYPE = sensors
INCLUDEPATH+=../../../src/sensors
@@ -9,8 +9,10 @@ include(version.pri)
include(grueplugin.pri)
include(../../examples.pri)
-
-symbian:TARGET.EPOCALLOWDLLDATA = 1
+symbian {
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = ALL -TCB
+}
QT=core
CONFIG+=mobility
diff --git a/examples/sensors/grueplugin/gruesensor.cpp b/examples/sensors/grueplugin/gruesensor.cpp
index fa9c0945f4..3bfb280d20 100644
--- a/examples/sensors/grueplugin/gruesensor.cpp
+++ b/examples/sensors/grueplugin/gruesensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -99,7 +99,7 @@ void GrueSensorReading::setChanceOfBeingEaten(qreal chanceOfBeingEaten)
\sa QSensorFilter::filter()
*/
-const char *GrueSensor::type("GrueSensor");
+char const * const GrueSensor::type("GrueSensor");
/*!
\class GrueSensor
diff --git a/examples/sensors/grueplugin/gruesensor.h b/examples/sensors/grueplugin/gruesensor.h
index bd4cc83bf4..097be757a3 100644
--- a/examples/sensors/grueplugin/gruesensor.h
+++ b/examples/sensors/grueplugin/gruesensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,7 +74,7 @@ public:
explicit GrueSensor(QObject *parent = 0) : QSensor(GrueSensor::type, parent) {}
virtual ~GrueSensor() {}
GrueSensorReading *reading() const { return static_cast<GrueSensorReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
// end generated code
diff --git a/examples/sensors/grueplugin/gruesensor_p.h b/examples/sensors/grueplugin/gruesensor_p.h
index a5d612b7e4..8661f16c5d 100644
--- a/examples/sensors/grueplugin/gruesensor_p.h
+++ b/examples/sensors/grueplugin/gruesensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -52,9 +52,7 @@
// We mean it.
//
-#include "qsensor_p.h"
-
-class GrueSensorReadingPrivate : public QSensorReadingPrivate
+class GrueSensorReadingPrivate
{
public:
GrueSensorReadingPrivate()
diff --git a/examples/sensors/grueplugin/gruesensorimpl.cpp b/examples/sensors/grueplugin/gruesensorimpl.cpp
index 1d7ef359c9..4b7b8a8b51 100644
--- a/examples/sensors/grueplugin/gruesensorimpl.cpp
+++ b/examples/sensors/grueplugin/gruesensorimpl.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -41,7 +41,7 @@
#include "gruesensorimpl.h"
#include <QDebug>
-const char *gruesensorimpl::id("grue.gruesensor");
+char const * const gruesensorimpl::id("grue.gruesensor");
gruesensorimpl::gruesensorimpl(QSensor *sensor)
: QSensorBackend(sensor)
diff --git a/examples/sensors/grueplugin/gruesensorimpl.h b/examples/sensors/grueplugin/gruesensorimpl.h
index be727a7b3a..4fbb2061c3 100644
--- a/examples/sensors/grueplugin/gruesensorimpl.h
+++ b/examples/sensors/grueplugin/gruesensorimpl.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,7 +50,7 @@ QTM_USE_NAMESPACE
class gruesensorimpl : public QSensorBackend, public QAmbientLightFilter
{
public:
- static const char *id;
+ static char const * const id;
gruesensorimpl(QSensor *sensor);
diff --git a/examples/sensors/grueplugin/main.cpp b/examples/sensors/grueplugin/main.cpp
index e1b74219c2..b5939286f1 100644
--- a/examples/sensors/grueplugin/main.cpp
+++ b/examples/sensors/grueplugin/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/metadata/main.cpp b/examples/sensors/metadata/main.cpp
new file mode 100644
index 0000000000..c81669c694
--- /dev/null
+++ b/examples/sensors/metadata/main.cpp
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qaccelerometer.h>
+#include <qambientlightsensor.h>
+#include <qcompass.h>
+#include <qmagnetometer.h>
+#include <qorientationsensor.h>
+#include <qproximitysensor.h>
+#include <qrotationsensor.h>
+#include <qtapsensor.h>
+
+QTM_USE_NAMESPACE
+
+bool checkSensor( QSensor *sensor )
+{
+ QTextStream out(stdout);
+ bool conclusion = true;
+ out << endl << "--- Metadata ---" << endl;
+
+ // Get readings from functions
+
+ // void addFilter ( QSensorFilter * filter )
+ qrangelist sen_datarates = sensor->availableDataRates();
+ // bool connectToBackend ()
+ int sen_datarate = sensor->dataRate();
+ QString sen_desc = sensor->description();
+ int sen_error = sensor->error();
+ QByteArray sen_ident = sensor->identifier();
+ bool sen_active = sensor->isActive();
+ bool sen_busy = sensor->isBusy();
+ bool sen_isConn = sensor->isConnectedToBackend();
+ int sen_outRange = sensor->outputRange();
+ qoutputrangelist sen_outRList = sensor->outputRanges();
+ QSensorReading *sen_reading = sensor->reading();
+ // void removeFilter ( QSensorFilter * filter )
+ // void setDataRate ( int rate )
+ // void setIdentifier ( const QByteArray & identifier )
+ // void setOutputRange ( int index )
+ QByteArray sen_type = sensor->type();
+
+ // Print findings
+
+ out << "Identifier: " << sen_ident
+ << " Type: " << sen_type << endl;
+ out << "Description: " << sen_desc << endl;
+ out << "Active: " << sen_active
+ << " Busy: " << sen_busy
+ << " Connected: " << sen_isConn
+ << " Last error: " << sen_error << endl;
+
+ out << "Using datarate: " << sen_datarate
+ << " Out of:";
+ for( int i = 0; i < sen_datarates.size(); ++i )
+ {
+ out << " [" << sen_datarates[i].first << "," << sen_datarates[i].second << "]";
+ }
+ out << endl;
+
+ out << "Using output range: " << sen_outRange
+ << " Out of (min,max,accuracy):";
+ for( int i = 0; i < sen_outRList.size(); ++i )
+ {
+ out << " (" << sen_outRList[i].minimum << "," << sen_outRList[i].maximum << "," << sen_outRList[i].accuracy << ")";
+ }
+ out << endl;
+
+ //out << sen_reading << endl; //QSensorReading *
+
+ return conclusion;
+}
+
+int main( int argc, char **argv )
+{
+ QCoreApplication app(argc, argv);
+ QTextStream out(stdout);
+ bool result = true;
+
+ QSensor *sensors[8];
+ sensors[0] = new QAccelerometer;
+ sensors[1] = new QAmbientLightSensor;
+ sensors[2] = new QCompass;
+ sensors[3] = new QMagnetometer;
+ sensors[4] = new QOrientationSensor;
+ sensors[5] = new QProximitySensor;
+ sensors[6] = new QRotationSensor;
+ sensors[7] = new QTapSensor;
+
+ for( int i = 0; i < 8; ++i )
+ {
+ if( ! sensors[i] )
+ {
+ out << "sensor number " << i << " unavailable" << endl;
+ continue;
+ }
+ if( ! sensors[i]->connectToBackend() )
+ {
+ out << "connectToBackend failed" << endl;
+ result = false;
+ } else {
+ if( ! checkSensor( sensors[i] ) )
+ result = false;
+ }
+ }
+
+ return result;
+}
diff --git a/examples/sensors/metadata/metadata.pro b/examples/sensors/metadata/metadata.pro
new file mode 100644
index 0000000000..49ff88d4fd
--- /dev/null
+++ b/examples/sensors/metadata/metadata.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES=main.cpp
+TARGET=metadata
diff --git a/examples/sensors/orientation/main.cpp b/examples/sensors/orientation/main.cpp
index fff2c74114..2c5bd6537a 100644
--- a/examples/sensors/orientation/main.cpp
+++ b/examples/sensors/orientation/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/orientation/orientation.qml b/examples/sensors/orientation/orientation.qml
index 2ea07d04c1..54faca3765 100644
--- a/examples/sensors/orientation/orientation.qml
+++ b/examples/sensors/orientation/orientation.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/panorama/accelerometercontroller.cpp b/examples/sensors/panorama/accelerometercontroller.cpp
new file mode 100644
index 0000000000..09386e7762
--- /dev/null
+++ b/examples/sensors/panorama/accelerometercontroller.cpp
@@ -0,0 +1,34 @@
+
+
+#include "inputcontroller.h"
+#include "accelerometercontroller.h"
+
+AccelerometerController::AccelerometerController(): InputController(){
+ m_accelerometer.connectToBackend();
+ m_accelerometer.start();
+ connect(&m_accelerometer, SIGNAL(readingChanged()), this, SLOT(update()));
+}
+
+AccelerometerController::~AccelerometerController(){
+ m_accelerometer.stop();
+ disconnect(&m_accelerometer);
+}
+
+
+void AccelerometerController::update()
+{
+ qreal accX = m_accelerometer.reading()->x();
+ qreal accY= m_accelerometer.reading()->y();
+ m_dx = accX*3;
+ m_dy= -accY*3;
+ updateCoordinates();
+
+}
+
+
+void AccelerometerController::updateCoordinates(){
+ m_x +=m_dx;
+ m_y +=m_dy;
+
+}
+
diff --git a/examples/sensors/panorama/accelerometercontroller.h b/examples/sensors/panorama/accelerometercontroller.h
new file mode 100644
index 0000000000..ad6bc2f0e5
--- /dev/null
+++ b/examples/sensors/panorama/accelerometercontroller.h
@@ -0,0 +1,32 @@
+#ifndef ACCELEROMETERCONTROLLER_H
+#define ACCELEROMETERCONTROLLER_H
+
+#include "timedcontroller.h"
+#include <qaccelerometer.h>
+#include <QTimer>
+#include <QTime>
+#include <QDebug>
+
+
+
+QTM_USE_NAMESPACE
+
+class AccelerometerController : public InputController
+{
+ Q_OBJECT
+
+public:
+ AccelerometerController();
+ virtual ~AccelerometerController();
+ virtual void updateCoordinates();
+
+public slots:
+ void update();
+
+private:
+ QAccelerometer m_accelerometer;
+ int m_dx, m_dy;
+
+};
+
+#endif // ACCELEROMETERCONTROLLER_H
diff --git a/examples/sensors/panorama/compasscontroller.cpp b/examples/sensors/panorama/compasscontroller.cpp
new file mode 100644
index 0000000000..8f142c90df
--- /dev/null
+++ b/examples/sensors/panorama/compasscontroller.cpp
@@ -0,0 +1,27 @@
+
+
+#include "inputcontroller.h"
+#include "compasscontroller.h"
+#include "view.h"
+
+CompassController::CompassController(): m_width(View::m_imageWidth){
+ m_compass.connectToBackend();
+ m_compass.start();
+ connect(&m_compass, SIGNAL(readingChanged()), this, SLOT(update()));
+}
+
+CompassController::~CompassController(){
+ m_compass.stop();
+ disconnect(&m_compass);
+}
+
+
+
+void CompassController::update()
+{
+ qreal azimuth = m_compass.reading()->azimuth();
+ m_x = (int)(azimuth * m_width/360);
+}
+
+
+
diff --git a/examples/sensors/panorama/compasscontroller.h b/examples/sensors/panorama/compasscontroller.h
new file mode 100644
index 0000000000..d172284c6c
--- /dev/null
+++ b/examples/sensors/panorama/compasscontroller.h
@@ -0,0 +1,28 @@
+#ifndef COMPASSCONTROLLER_H
+#define COMPASSCONTROLLER_H
+
+#include "inputcontroller.h"
+#include <qcompass.h>
+
+QTM_USE_NAMESPACE
+
+class CompassController : public InputController
+{
+ Q_OBJECT
+
+public:
+ CompassController();
+ virtual ~CompassController();
+
+private slots:
+ void update();
+
+private:
+ QCompass m_compass;
+ int m_width;
+
+};
+
+
+
+#endif // COMPASSCONTROLLER_H
diff --git a/examples/sensors/panorama/images/foreshore_final.jpg b/examples/sensors/panorama/images/foreshore_final.jpg
new file mode 100644
index 0000000000..4d95b048dd
--- /dev/null
+++ b/examples/sensors/panorama/images/foreshore_final.jpg
Binary files differ
diff --git a/examples/sensors/panorama/images/koskipuisto_pieni.jpg b/examples/sensors/panorama/images/koskipuisto_pieni.jpg
new file mode 100644
index 0000000000..0489b88ee3
--- /dev/null
+++ b/examples/sensors/panorama/images/koskipuisto_pieni.jpg
Binary files differ
diff --git a/examples/sensors/panorama/inputcontroller.cpp b/examples/sensors/panorama/inputcontroller.cpp
new file mode 100644
index 0000000000..1b9601779e
--- /dev/null
+++ b/examples/sensors/panorama/inputcontroller.cpp
@@ -0,0 +1,28 @@
+
+#include "inputcontroller.h"
+#include "view.h"
+
+const QString InputController::QACCELEROMETER="QAccelerometer";
+const QString InputController::QORIENTATIONSENSOR = "QOrientationSensor";
+const QString InputController::QMAGNETOMETER = "QMagnetometer";
+const QString InputController::QROTATIONSENSOR = "QRotationSensor";
+const QString InputController::QTAPSENSOR = "QTapSensor";
+const QString InputController::QCOMPASS = "QCompass";
+const QString InputController::QKEYS = "Keys";
+
+int InputController::m_x =0;
+int InputController::m_y =0;
+
+InputController::InputController() {}
+
+void InputController::keyPressEvent(QKeyEvent*){}
+
+int InputController::getX(){return m_x;}
+
+int InputController::getY() {return m_y;}
+
+void InputController::setX(int x){m_x = x;}
+
+void InputController::setY(int y){m_y = y;}
+
+void InputController::updateCoordinates(){}
diff --git a/examples/sensors/panorama/inputcontroller.h b/examples/sensors/panorama/inputcontroller.h
new file mode 100644
index 0000000000..b424e49da9
--- /dev/null
+++ b/examples/sensors/panorama/inputcontroller.h
@@ -0,0 +1,37 @@
+#ifndef INPUTCONTROLLER_H
+#define INPUTCONTROLLER_H
+
+#include <QString>
+#include <QWidget>
+
+
+class InputController : public QObject
+{
+// Q_OBJECT
+public:
+
+ InputController();
+ virtual ~InputController(){};
+ virtual void updateCoordinates();
+
+ static int getX(), getY();
+ static void setX(int x), setY(int y);
+
+ virtual void keyPressEvent(QKeyEvent *e);
+
+ static const QString QACCELEROMETER,
+ QORIENTATIONSENSOR, QROTATIONSENSOR,
+ QMAGNETOMETER, QTAPSENSOR, QCOMPASS, QKEYS;
+
+
+protected:
+ //current coordinates
+ static int m_x,m_y;
+
+
+
+
+};
+
+
+#endif // INPUTCONTROLLER_H
diff --git a/examples/sensors/panorama/keycontroller.cpp b/examples/sensors/panorama/keycontroller.cpp
new file mode 100644
index 0000000000..0ef999bc7c
--- /dev/null
+++ b/examples/sensors/panorama/keycontroller.cpp
@@ -0,0 +1,42 @@
+
+#include "keycontroller.h"
+#include "view.h"
+
+KeyController::KeyController(): TimedController(), m_step(5){}
+
+KeyController::~KeyController(){}
+
+
+void KeyController::keyPressEvent(QKeyEvent *e)
+{
+ int code = e->key();
+ handleKeyPress(code);
+ m_step = m_exCode==code && m_exCode > 0? m_step+2 : 5;
+}
+
+
+void KeyController::updateCoordinates() { handleKeyPress(m_exCode);}
+
+
+void KeyController::handleKeyPress(int code){
+ switch (code){
+ case Qt::Key_Right:
+ m_x+=m_step;
+ break;
+ case Qt::Key_Left:
+ m_x-=m_step;
+ break;
+ case Qt::Key_Up:
+ m_y-=m_step;
+ break;
+ case Qt::Key_Down:
+ m_y+=m_step;
+ break;
+ default:
+ m_exCode = 0;
+ return;
+ }
+ m_exCode = code;
+}
+
+
diff --git a/examples/sensors/panorama/keycontroller.h b/examples/sensors/panorama/keycontroller.h
new file mode 100644
index 0000000000..6c5d4c4143
--- /dev/null
+++ b/examples/sensors/panorama/keycontroller.h
@@ -0,0 +1,27 @@
+#ifndef KEYCONTROLLER_H
+#define KEYCONTROLLER_H
+
+#include "timedcontroller.h"
+#include <QKeyEvent>
+#include <QDebug>
+#include <QTimer>
+
+class KeyController : public TimedController
+{
+ Q_OBJECT
+
+public:
+ KeyController();
+ virtual ~KeyController();
+ void handleKeyPress(int code);
+ virtual void updateCoordinates();
+
+protected:
+ virtual void keyPressEvent(QKeyEvent *e);
+ int m_exCode;
+ int m_step;
+
+};
+
+
+#endif // KEYCONTROLLER_H
diff --git a/examples/sensors/panorama/magnetometercontroller.cpp b/examples/sensors/panorama/magnetometercontroller.cpp
new file mode 100644
index 0000000000..a5eee6c7d4
--- /dev/null
+++ b/examples/sensors/panorama/magnetometercontroller.cpp
@@ -0,0 +1,34 @@
+
+
+#include "inputcontroller.h"
+#include "magnetometercontroller.h"
+#include "view.h"
+#include <qmagnetometer.h>
+
+MagnetometerController::MagnetometerController(): m_width(View::m_imageWidth){
+ m_magnetometer.setProperty("returnGeoValues", true);
+ m_magnetometer.connectToBackend();
+ m_magnetometer.start();
+ connect(&m_magnetometer, SIGNAL(readingChanged()), this, SLOT(update()));
+}
+
+
+MagnetometerController::~MagnetometerController(){
+ m_magnetometer.stop();
+ disconnect(&m_magnetometer);
+}
+
+
+void MagnetometerController::update()
+{
+ qreal azimuth = -m_magnetometer.reading()->z();
+ azimuth = azimuth<0?360+azimuth:azimuth;
+ m_x = (int)(-azimuth * m_width/360);
+
+
+ //TODO: consider provide y values based on x and y
+}
+
+
+
+
diff --git a/examples/sensors/panorama/magnetometercontroller.h b/examples/sensors/panorama/magnetometercontroller.h
new file mode 100644
index 0000000000..87655d452f
--- /dev/null
+++ b/examples/sensors/panorama/magnetometercontroller.h
@@ -0,0 +1,29 @@
+#ifndef MAGNETOMETERCONTROLLER_H
+#define MAGNETOMETERCONTROLLER_H
+
+#include "inputcontroller.h"
+#include <qmagnetometer.h>
+
+
+
+class MagnetometerController : public InputController
+{
+ Q_OBJECT
+
+public:
+ MagnetometerController();
+ virtual ~MagnetometerController();
+
+private slots:
+ void update();
+
+private:
+ QTM_NAMESPACE::QMagnetometer m_magnetometer;
+ int m_width;
+ int m_height;
+
+};
+
+
+
+#endif // MAGNETOMETERCONTROLLER_H
diff --git a/examples/sensors/panorama/main.cpp b/examples/sensors/panorama/main.cpp
new file mode 100644
index 0000000000..5587665bc9
--- /dev/null
+++ b/examples/sensors/panorama/main.cpp
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "view.h"
+#include <QtGui>
+#include <QtCore/qstate.h>
+
+class Pixmap : public QObject, public QGraphicsPixmapItem
+{
+ Q_OBJECT
+ Q_PROPERTY(QPointF pos READ pos WRITE setPos)
+public:
+ Pixmap(const QPixmap &pix)
+ : QObject(), QGraphicsPixmapItem(pix)
+ {
+ setCacheMode(DeviceCoordinateCache);
+ }
+};
+
+
+int main(int argc, char **argv)
+{
+
+ QApplication app(argc, argv);
+ Q_INIT_RESOURCE(panorama);
+ QGraphicsScene scene(0, 0, 700, 700);
+ View *view = new View(&scene);
+ view->show();
+
+
+#ifdef QT_KEYPAD_NAVIGATION
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif
+
+ return app.exec();
+}
+
+
+
+
+#include "main.moc"
diff --git a/examples/sensors/panorama/orientationcontroller.cpp b/examples/sensors/panorama/orientationcontroller.cpp
new file mode 100644
index 0000000000..f9ffe8b778
--- /dev/null
+++ b/examples/sensors/panorama/orientationcontroller.cpp
@@ -0,0 +1,52 @@
+
+
+#include "keycontroller.h"
+#include "orientationcontroller.h"
+#include "view.h"
+
+
+OrientationController::OrientationController(): KeyController(){
+ m_delay=10;
+ m_step=10;
+ m_orientationSensor.connectToBackend();
+ m_orientationSensor.start();
+ connect(&m_orientationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
+
+}
+
+OrientationController::~OrientationController(){
+ m_orientationSensor.stop();
+ disconnect(&m_orientationSensor);
+}
+
+void OrientationController::updateCoordinates(){
+ handleKeyPress(m_exCode);
+ m_step = m_exCode!=0 ? m_step+5 : 10;
+}
+
+
+void OrientationController::update()
+{
+ switch (m_orientationSensor.reading()->orientation()){
+ case QTM_NAMESPACE::QOrientationReading::TopUp:
+ m_exCode = Qt::Key_Up;
+ break;
+ case QTM_NAMESPACE::QOrientationReading::TopDown:
+ m_exCode = Qt::Key_Down;
+ break;
+ case QTM_NAMESPACE::QOrientationReading::LeftUp:
+ m_exCode = Qt::Key_Left;
+ break;
+ case QTM_NAMESPACE::QOrientationReading::RightUp:
+ m_exCode = Qt::Key_Right;
+ break;
+ default:
+ m_exCode = 0;
+ return;
+ }
+ handleKeyPress(m_exCode);
+}
+
+
+
+
diff --git a/examples/sensors/panorama/orientationcontroller.h b/examples/sensors/panorama/orientationcontroller.h
new file mode 100644
index 0000000000..f15315500b
--- /dev/null
+++ b/examples/sensors/panorama/orientationcontroller.h
@@ -0,0 +1,32 @@
+#ifndef ORIENTATIONCONTROLLER_H
+#define ORIENTATIONCONTROLLER_H
+
+
+#include "keycontroller.h"
+#include <qorientationsensor.h>
+#include <QTime>
+#include <QTimer>
+
+
+//QTM_USE_NAMESPACE
+
+class OrientationController : public KeyController
+{
+ Q_OBJECT
+
+public:
+ OrientationController();
+ virtual ~OrientationController();
+ virtual void updateCoordinates();
+
+private slots:
+ void update();
+
+private:
+ QTM_NAMESPACE::QOrientationSensor m_orientationSensor;
+
+};
+
+
+
+#endif // ORIENTATIONCONTROLLER_H
diff --git a/examples/sensors/panorama/panorama.pro b/examples/sensors/panorama/panorama.pro
new file mode 100644
index 0000000000..6e9317c113
--- /dev/null
+++ b/examples/sensors/panorama/panorama.pro
@@ -0,0 +1,29 @@
+include(../sensors.pri)
+QT += gui \
+ core
+CONFIG += mobility
+CONFIG += debug
+MOBILITY += sensors
+HEADERS += inputcontroller.h \
+ keycontroller.h \
+ timedcontroller.h \
+ view.h \
+ accelerometercontroller.h \
+ compasscontroller.h \
+ magnetometercontroller.h \
+ orientationcontroller.h \
+ rotationcontroller.h \
+ tapcontroller.h
+SOURCES += main.cpp \
+ inputcontroller.cpp \
+ keycontroller.cpp \
+ timedcontroller.cpp \
+ view.cpp \
+ accelerometercontroller.cpp \
+ compasscontroller.cpp \
+ magnetometercontroller.cpp \
+ orientationcontroller.cpp \
+ rotationcontroller.cpp \
+ tapcontroller.cpp
+RESOURCES += panorama.qrc
+TARGET = panorama
diff --git a/examples/sensors/panorama/panorama.qrc b/examples/sensors/panorama/panorama.qrc
new file mode 100644
index 0000000000..8a90c7733d
--- /dev/null
+++ b/examples/sensors/panorama/panorama.qrc
@@ -0,0 +1,6 @@
+<RCC>
+ <qresource prefix="/">
+ <file>images/foreshore_final.jpg</file>
+ <file>images/koskipuisto_pieni.jpg</file>
+ </qresource>
+</RCC>
diff --git a/examples/sensors/panorama/rotationcontroller.cpp b/examples/sensors/panorama/rotationcontroller.cpp
new file mode 100644
index 0000000000..dcb1458b70
--- /dev/null
+++ b/examples/sensors/panorama/rotationcontroller.cpp
@@ -0,0 +1,38 @@
+#include "inputcontroller.h"
+#include "rotationcontroller.h"
+#include <QTime>
+#include <QDebug>
+#include <math.h>
+
+
+RotationController::RotationController(): InputController(), m_factor(0.5){
+ m_rotationSensor.connectToBackend();
+ m_rotationSensor.start();
+ connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
+}
+
+RotationController::~RotationController(){
+ m_rotationSensor.stop();
+ disconnect(&m_rotationSensor);
+}
+
+
+
+void RotationController::update()
+{
+ qreal pitch = m_rotationSensor.reading()->x();
+ qreal roll= m_rotationSensor.reading()->y();
+
+ m_dx = - m_factor* roll;
+ m_dy = - m_factor * pitch;
+
+ updateCoordinates();
+}
+
+
+void RotationController::updateCoordinates(){
+ m_x +=m_dx;
+ m_y +=m_dy;
+}
+
+
diff --git a/examples/sensors/panorama/rotationcontroller.h b/examples/sensors/panorama/rotationcontroller.h
new file mode 100644
index 0000000000..bfe5a6bff2
--- /dev/null
+++ b/examples/sensors/panorama/rotationcontroller.h
@@ -0,0 +1,34 @@
+#ifndef ROTATIONCONTROLLER_H
+#define ROTATIONCONTROLLER_H
+
+
+#include "timedcontroller.h"
+#include <qrotationsensor.h>
+#include <QTimer>
+#include <QTime>
+
+QTM_USE_NAMESPACE
+
+class RotationController : public InputController
+{
+ Q_OBJECT
+
+public:
+ RotationController();
+ virtual ~RotationController();
+ virtual void updateCoordinates();
+
+
+public slots:
+ void update();
+
+private:
+ QTM_NAMESPACE::QRotationSensor m_rotationSensor;
+ int m_dx, m_dy;
+ qtimestamp m_exTimestamp;
+ qreal m_factor;
+
+};
+
+
+#endif // ROTATIONCONTROLLER_H
diff --git a/examples/sensors/panorama/rotationsensorcontroller.h b/examples/sensors/panorama/rotationsensorcontroller.h
new file mode 100644
index 0000000000..c9e197e6e4
--- /dev/null
+++ b/examples/sensors/panorama/rotationsensorcontroller.h
@@ -0,0 +1,4 @@
+#ifndef ROTATIONSENSORCONTROLLER_H
+#define ROTATIONSENSORCONTROLLER_H
+
+#endif // ROTATIONSENSORCONTROLLER_H
diff --git a/examples/sensors/panorama/tapcontroller.cpp b/examples/sensors/panorama/tapcontroller.cpp
new file mode 100644
index 0000000000..b8f66746c4
--- /dev/null
+++ b/examples/sensors/panorama/tapcontroller.cpp
@@ -0,0 +1,132 @@
+
+
+#include "tapcontroller.h"
+#include <QDebug>
+
+
+const qreal TapController::m_timewindow=1000;
+
+
+TapController::TapController(): TimedController(), m_step(20){
+ m_accelerometer.connectToBackend();
+ m_accelerometer.start();
+ connect(&m_accelerometer, SIGNAL(readingChanged()), this, SLOT(updateAcce()));
+
+ m_tap.connectToBackend();
+ m_tap.start();
+ connect(&m_tap, SIGNAL(readingChanged()), this, SLOT(update()));
+
+}
+
+TapController::~TapController(){
+ m_tap.stop();
+ disconnect(&m_tap);
+ m_accelerometer.stop();
+ disconnect(&m_accelerometer);
+}
+
+
+
+void TapController::update()
+{
+ int direction = m_tap.reading()->tapDirection();
+ switch(direction){
+ case QTapReading::X:
+ case QTapReading::X_Pos:
+ case QTapReading::X_Neg:
+ m_dy=0;
+ setDx(direction);
+ break;
+ case QTapReading::Y:
+ case QTapReading::Y_Pos:
+ case QTapReading::Y_Neg:
+ m_dx = 0;
+ setDy(direction);
+ break;
+ case QTapReading::Undefined:
+ case QTapReading::Z:
+ case QTapReading::Z_Pos:
+ case QTapReading::Z_Neg:
+ default:
+ m_dx = 0; m_dy = 0;
+ return;
+ }
+
+}
+
+
+void TapController::updateAcce()
+{
+ qreal accX = m_accelerometer.reading()->x();
+ qreal accY= m_accelerometer.reading()->y();
+ m_now = m_accelerometer.reading()->timestamp();
+
+ checkX(accX);
+ checkY(accY);
+}
+
+
+void TapController::updateCoordinates(){
+
+ if (m_now - m_timestampX > m_timewindow){
+ m_absMaxX = 0;
+ m_timestampX = m_now;
+ }
+
+ if (m_now - m_timestampY > m_timewindow){
+ m_absMaxY = 0;
+ m_timestampY = m_now;
+ }
+
+ if (m_dx!=0) m_dx = m_dx>0? m_dx-1: m_dx+1;
+ if (m_dy!=0) m_dy = m_dy>0? m_dy-1: m_dy+1;
+
+ m_x +=m_dx;
+ m_y +=m_dy;
+}
+
+
+void TapController::checkX(qreal accX){
+ if (qAbs(accX)>qAbs(m_absMaxX)){
+ m_absMaxX = accX;
+ m_timestampX = m_now;
+ }
+}
+
+
+void TapController::checkY(qreal accY){
+ if (qAbs(accY)>qAbs(m_absMaxY)){
+ m_absMaxY = accY;
+ m_timestampY = m_now;
+ }
+}
+
+
+void TapController::setDx(int direction){
+ switch(direction){
+ case QTapReading::X:
+ m_dx = m_absMaxX>0?m_step : -m_step;
+ break;
+ case QTapReading::X_Pos:
+ m_dx = m_step;
+ break;
+ case QTapReading::X_Neg:
+ m_dx = -m_step;
+ break;
+ }
+}
+
+void TapController::setDy(int direction){
+ switch(direction){
+ case QTapReading::Y:
+ m_dy = m_absMaxY>0?m_step : - m_step;
+ break;
+ case QTapReading::Y_Pos:
+ m_dy = m_step;
+ break;
+ case QTapReading::Y_Neg:
+ m_dy = -m_step;
+ break;
+ }
+}
+
diff --git a/examples/sensors/panorama/tapcontroller.h b/examples/sensors/panorama/tapcontroller.h
new file mode 100644
index 0000000000..c59dad8399
--- /dev/null
+++ b/examples/sensors/panorama/tapcontroller.h
@@ -0,0 +1,37 @@
+#ifndef TAPCONTROLLER_H
+#define TAPCONTROLLER_H
+#include "timedcontroller.h"
+#include <qtapsensor.h>
+#include <qaccelerometer.h>
+
+QTM_USE_NAMESPACE
+
+class TapController : public TimedController
+{
+ Q_OBJECT
+
+public:
+ TapController();
+ virtual ~TapController();
+ virtual void updateCoordinates();
+
+private slots:
+ void update();
+ void updateAcce();
+
+private:
+ void checkX(qreal);
+ void checkY(qreal);
+ void setDx(int);
+ void setDy(int);
+ QTapSensor m_tap;
+ QAccelerometer m_accelerometer;
+ qreal m_absMaxX, m_absMaxY;
+ qtimestamp m_timestampX, m_timestampY, m_now;
+ static const qreal m_timewindow;
+ int m_dx,m_dy;
+ int m_step;
+
+};
+
+#endif // TAPCONTROLLER_H
diff --git a/examples/sensors/panorama/timedcontroller.cpp b/examples/sensors/panorama/timedcontroller.cpp
new file mode 100644
index 0000000000..0198e9f6f4
--- /dev/null
+++ b/examples/sensors/panorama/timedcontroller.cpp
@@ -0,0 +1,31 @@
+
+
+#include "inputcontroller.h"
+#include "timedcontroller.h"
+#include <QTime>
+#include <QDebug>
+
+TimedController::TimedController(): m_delay(10), m_interval(0){
+ m_exTime = QTime::currentTime();
+ m_exTimestamp =QTime::currentTime();
+ m_timer.setSingleShot(false);
+ m_timer.start(m_delay);
+ connect(&m_timer, SIGNAL(timeout()), this, SLOT(handleTimedUpdate()));
+
+}
+
+TimedController::~TimedController(){
+ m_timer.stop();
+ disconnect(&m_timer);
+}
+
+
+void TimedController::handleTimedUpdate()
+{
+ int timeDiff = m_exTime.msecsTo(QTime::currentTime());
+ if (timeDiff< m_delay) return;
+ updateCoordinates();
+ m_exTime = QTime::currentTime();
+}
+
+
diff --git a/examples/sensors/panorama/timedcontroller.h b/examples/sensors/panorama/timedcontroller.h
new file mode 100644
index 0000000000..4061822651
--- /dev/null
+++ b/examples/sensors/panorama/timedcontroller.h
@@ -0,0 +1,30 @@
+#ifndef TIMEDCONTROLLER_H
+#define TIMEDCONTROLLER_H
+
+
+#include <QTime>
+#include <QTimer>
+#include "inputcontroller.h"
+
+class TimedController : public InputController
+{
+ Q_OBJECT
+
+public:
+ TimedController();
+ virtual ~TimedController();
+
+private slots:
+ void handleTimedUpdate();
+
+protected:
+ QTimer m_timer;
+ QTime m_exTime;
+ QTime m_exTimestamp;
+ int m_delay;
+ int m_interval;
+
+};
+
+
+#endif // TIMEDCONTROLLER_H
diff --git a/examples/sensors/panorama/view.cpp b/examples/sensors/panorama/view.cpp
new file mode 100644
index 0000000000..c2e87d9156
--- /dev/null
+++ b/examples/sensors/panorama/view.cpp
@@ -0,0 +1,402 @@
+#include "view.h"
+#include "inputcontroller.h"
+#include "keycontroller.h"
+#include "accelerometercontroller.h"
+#include "magnetometercontroller.h"
+#include "rotationcontroller.h"
+#include "orientationcontroller.h"
+#include "compasscontroller.h"
+#include "tapcontroller.h"
+
+int View::m_imageWidth;
+int View::m_imageHeight;
+QString View::m_currentSensor;
+bool View::m_isToBeZoomed;
+int View::m_lightLevel = -1;
+int View::m_scaledHeight[4];
+int View::m_index = 3;
+
+View::View(QGraphicsScene *scene) :
+ QGraphicsView(scene), m_timer(this) ,m_delay(30){
+
+ QPixmap bgPix(":/images/koskipuisto_pieni.jpg");
+ m_pix = bgPix;
+ setupWindow();
+ m_scaledHeight[0] = m_imageHeight*1.5;
+ m_scaledHeight[1] = m_imageHeight*2;
+ m_scaledHeight[2] = (int)(m_imageHeight*0.5);
+ m_scaledHeight[3] = m_imageHeight;
+
+ int h = height();
+ int y = qAbs(m_imageHeight-h)/2;
+ setSceneRect(0, y, width(), h);
+
+
+ m_sensors.append(InputController::QACCELEROMETER);
+ m_sensors.append(InputController::QORIENTATIONSENSOR);
+ m_sensors.append(InputController::QMAGNETOMETER);
+ m_sensors.append(InputController::QROTATIONSENSOR);
+ m_sensors.append(InputController::QTAPSENSOR);
+ m_sensors.append(InputController::QCOMPASS);
+ m_sensors.append(InputController::QKEYS);
+
+
+ m_menu = new QMenu(this);
+ createActions();
+ handleAction(NULL,InputController::QACCELEROMETER);
+
+ m_timer.setSingleShot(false);
+ m_timer.start(m_delay);
+ connect(&m_timer, SIGNAL(timeout()), this, SLOT(update()));
+
+
+ m_proximitySensor.connectToBackend();
+ m_proximitySensor.start();
+ connect(&m_proximitySensor, SIGNAL(readingChanged()), this, SLOT(handleProximity()));
+
+ m_ambientLightSensor.connectToBackend();
+ m_ambientLightSensor.start();
+ connect(&m_ambientLightSensor, SIGNAL(readingChanged()), this, SLOT(handleALS()));
+
+}
+
+
+View::~View(){
+ m_timer.stop();
+ if (m_controller) delete m_controller;
+ if (m_exController) delete m_exController;
+}
+
+
+void View::resizeEvent(QResizeEvent *event)
+{
+ QGraphicsView::resizeEvent(event);
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+}
+
+
+
+void View::handleAction(QString oldSensor, QString newSensor){
+
+ m_menu->setVisible(false);
+
+ if (oldSensor==newSensor) return;
+
+
+ QList<QAction*> tmpActions = m_menu->actions();
+ for (int i=0; i<tmpActions.length(); i++){
+ if (tmpActions.at(i)->text() == oldSensor){
+ tmpActions.at(i)->setEnabled(true);
+ continue;
+ }
+ if (tmpActions.at(i)->text() == newSensor){
+ tmpActions.at(i)->setEnabled(false);
+ }
+ }
+ m_currentSensor = newSensor;
+ switchController(m_currentSensor);
+
+}
+
+
+
+void View::createActions()
+{
+
+ for (int i=0; i<m_sensors.length();i++){
+ QAction* tmp = new QAction(m_sensors.at(i), this);
+
+ const QString sensor = m_sensors.at(i);
+ do{
+ if (sensor==InputController::QACCELEROMETER){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startAccelerometer()));
+ break;
+ }
+ if (sensor==InputController::QORIENTATIONSENSOR){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startOrientationSensor()));
+ break;
+ }
+ if (sensor==InputController::QROTATIONSENSOR){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startRotationSensor()));
+ break;
+ }
+ if (sensor==InputController::QMAGNETOMETER){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startMagnetometer()));
+ break;
+ }
+ if (sensor==InputController::QTAPSENSOR){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startTapSensor()));
+ break;
+ }
+ if (sensor==InputController::QCOMPASS){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startCompass()));
+ break;
+ }
+ if (sensor==InputController::QKEYS){
+ connect(tmp, SIGNAL(triggered()), this, SLOT(startKeys()));
+ break;
+ }
+ }while (true);
+ m_menu->addAction(tmp);
+ }
+
+}
+
+void View::startAccelerometer(){
+ handleAction(m_currentSensor, InputController::QACCELEROMETER);
+}
+
+void View::startOrientationSensor(){
+ handleAction(m_currentSensor, InputController::QORIENTATIONSENSOR);
+}
+
+void View::startTapSensor(){
+ handleAction(m_currentSensor, InputController::QTAPSENSOR);
+}
+
+void View::startMagnetometer(){
+ handleAction(m_currentSensor, InputController::QMAGNETOMETER);
+}
+
+void View::startRotationSensor(){
+ handleAction(m_currentSensor, InputController::QROTATIONSENSOR);
+}
+
+void View::startKeys(){
+ handleAction(m_currentSensor, InputController::QKEYS);
+}
+
+void View::startCompass(){
+ handleAction(m_currentSensor, InputController::QCOMPASS);
+}
+
+
+
+
+void View::keyPressEvent(QKeyEvent *e)
+{
+ if (m_currentSensor!=InputController::QKEYS) return;
+
+ if (m_controller) m_controller->keyPressEvent(e);
+}
+
+
+void View::switchController(QString sensor){
+
+ if (m_controller){
+ delete m_controller;
+ m_controller =0;
+ }
+
+ if (sensor==InputController::QACCELEROMETER){
+ m_controller = new AccelerometerController();
+ return;
+ }
+ if (sensor==InputController::QROTATIONSENSOR){
+ m_controller = new RotationController();
+ return;
+ }
+ if (sensor==InputController::QMAGNETOMETER){
+ m_controller = new MagnetometerController();
+ return;
+ }
+ if (sensor==InputController::QORIENTATIONSENSOR){
+ m_controller = new OrientationController();
+ return;
+ }
+ if (sensor==InputController::QTAPSENSOR){
+ m_controller = new TapController();
+ return;
+ }
+ if (sensor==InputController::QCOMPASS){
+ m_controller = new CompassController();
+ return;
+ }
+ if (sensor==InputController::QKEYS){
+ m_controller = new KeyController();
+ return;
+ }
+
+
+
+}
+
+
+int View::checkX(int x){
+ int tmpX = qAbs(x) < m_imageWidth ? x : x % m_imageWidth;
+ m_mouseMode?m_exController->setX(tmpX):m_controller->setX(tmpX);
+ return tmpX;
+
+}
+
+int View::checkY(int y){
+ int limit = m_imageHeight-height();
+ if (y<0){
+ y = limit<0?-limit/2:0;
+ }
+ else if (limit<0){
+ y=-limit/2;
+ }
+ else if (y > limit){y=limit;}
+
+ m_mouseMode?m_exController->setY(y):m_controller->setY(y);
+ return y;
+}
+
+
+
+void View::mousePressEvent ( QMouseEvent* ){
+ m_mousePressTime = QTime::currentTime();
+ m_exController = m_controller;
+ m_mouseMode = false;
+}
+
+
+void View::mouseMoveEvent(QMouseEvent* event){
+
+ // first time
+ if (!m_mouseMode){
+ m_mouseMode = true;
+ m_eventX = event->x();
+ m_eventY = event->y();
+ return;
+ }
+
+ if (m_menu->isVisible()){
+ if (m_mousePressTime.msecsTo(QTime::currentTime())>300)
+ m_menu->setVisible(false);
+ }
+
+ int cur_x = event->x();
+ int cur_y = event->y();
+
+ m_dx = m_eventX - cur_x;
+ m_dy = m_eventY - cur_y;
+
+ m_eventX = cur_x;
+ m_eventY = cur_y;
+
+ update();
+
+}
+
+
+
+void View::mouseReleaseEvent(QMouseEvent* event){
+ m_controller = m_exController;
+ m_exController = 0;
+ m_mouseMode = false;
+
+
+ if (m_menu->isVisible()){
+ m_menu->setVisible(false);
+ return;
+ }
+
+ // slow press -> move
+ if (m_mousePressTime.msecsTo(QTime::currentTime())>300) return;
+
+ // quick press -> show menu
+ int x = event->x();
+ int y = event->y();
+ m_menu->move(x, y);
+ m_menu->setVisible(true);
+
+}
+
+
+void View::update(){
+ if (!m_mouseMode)
+ m_controller->updateCoordinates();
+
+ if (m_menu->isVisible()){
+ if (m_mousePressTime.msecsTo(QTime::currentTime())>5000)
+ m_menu->setVisible(false);
+ }
+
+
+ int x = m_mouseMode?m_exController->getX():m_controller->getX();
+ int y = m_mouseMode?m_exController->getY():m_controller->getY();
+
+ x = checkX(m_mouseMode?x+m_dx:x);
+ y = checkY(m_mouseMode?y+m_dy:y);
+
+ setSceneRect(x, y, width(), height());
+}
+
+
+
+
+void View::handleProximity(){
+
+ // close - not close - close, quite fast sequence required for zoom
+ // zoom factors 0.5, 1, 2, 3 - cyclic iterations
+
+ bool isClose = m_proximitySensor.reading()->close();
+
+
+ // zoom-in, once?
+ if (isClose){
+ if (!m_isToBeZoomed){
+ m_zoomTime = QTime::currentTime();
+ m_isToBeZoomed = true;
+ }
+ else{
+ m_isToBeZoomed = false; // ready to start again
+
+ if (m_zoomTime.msecsTo(QTime::currentTime())>1000) return;
+ m_index = m_index==3?0:m_index+1;
+ qDebug()<< " m_index="<<m_index;
+ m_pix = m_pix.scaledToHeight(m_scaledHeight[m_index]);
+ }
+ }
+
+ setupWindow();
+ update();
+
+}
+
+
+void View::handleALS(){
+
+ int lightLevel = m_ambientLightSensor.reading()->lightLevel();
+ qDebug()<<"lightLevel="<<lightLevel;
+
+ switch (lightLevel){
+ case 0:
+ case 1:{
+ // if dark, make image "brighter"
+ QPainter painter;
+ painter.begin(&m_pix);
+ painter.setPen(Qt::NoPen);
+ QColor slightlyOpaqueWhite(255, 255, 255, 63);
+ painter.fillRect(m_pix.rect(), slightlyOpaqueWhite);
+ painter.end();
+ break;
+ }
+ default:{
+ if (m_lightLevel>1) break;
+ QPixmap bgPix(":/images/koskipuisto_pieni.jpg");
+ m_pix = bgPix.scaledToHeight(m_scaledHeight[m_index]);
+ break;
+ }
+ }
+ m_lightLevel = lightLevel;
+
+}
+
+
+void View::setupWindow(){
+ m_imageWidth = m_pix.width();
+ m_imageHeight = m_pix.height();
+
+ setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
+ setBackgroundBrush(m_pix);
+ setCacheMode(QGraphicsView::CacheBackground);
+ setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
+ setWindowTitle("Panorama");
+
+}
+
+
+
diff --git a/examples/sensors/panorama/view.h b/examples/sensors/panorama/view.h
new file mode 100644
index 0000000000..ad172799ad
--- /dev/null
+++ b/examples/sensors/panorama/view.h
@@ -0,0 +1,86 @@
+#ifndef VIEW_H
+#define VIEW_H
+
+#include <QPixmap>
+#include <QGraphicsScene>
+#include <QGraphicsView>
+#include <QResizeEvent>
+#include <QDebug>
+#include <QMenu>
+#include <QMessageBox>
+#include <QTimer>
+#include <QTime>
+#include <qproximitysensor.h>
+#include <qambientlightsensor.h>
+#include "inputcontroller.h"
+
+
+class View : public QGraphicsView
+{
+ Q_OBJECT
+
+public:
+ View(QGraphicsScene *scene);
+ virtual ~View();
+ static int m_imageWidth;
+
+
+public slots:
+ void update();
+
+
+protected:
+
+ virtual void resizeEvent(QResizeEvent *event);
+ virtual void keyPressEvent(QKeyEvent *e);
+ virtual void mousePressEvent ( QMouseEvent * event );
+ virtual void mouseMoveEvent(QMouseEvent* event);
+ virtual void mouseReleaseEvent(QMouseEvent* event);
+
+
+private slots:
+ void startAccelerometer();
+ void startTapSensor();
+ void startMagnetometer();
+ void startRotationSensor();
+ void startOrientationSensor();
+ void startCompass();
+ void startKeys();
+ void handleProximity();
+ void handleALS();
+
+private:
+ int checkX(int x);
+ int checkY(int y);
+ void switchController(QString sensor);
+ void createActions();
+ void handleAction(QString oldSensor, QString newSensor);
+ void setupWindow();
+
+ static int m_imageHeight;
+ static int m_scaledHeight[];
+ static bool m_isToBeZoomed;
+ static int m_lightLevel;
+ static int m_index;
+
+ static QString m_currentSensor;
+ QList<QString> m_sensors;
+ QTimer m_timer;
+ InputController *m_controller;
+ InputController *m_exController;
+ int m_delay;
+ QTime m_mousePressTime;
+ QMenu* m_menu;
+ bool m_mouseMode;
+ int m_eventX, m_eventY;
+ int m_dx, m_dy;
+ QTime m_zoomTime;
+ QTM_NAMESPACE::QAmbientLightSensor m_ambientLightSensor;
+ QTM_NAMESPACE::QProximitySensor m_proximitySensor;
+ QPixmap m_pix;
+
+
+};
+
+
+#endif // VIEW_H
diff --git a/examples/sensors/reading_perf/main.cpp b/examples/sensors/reading_perf/main.cpp
index c0368ddc07..52fb79e293 100644
--- a/examples/sensors/reading_perf/main.cpp
+++ b/examples/sensors/reading_perf/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/sensor_explorer/explorer.cpp b/examples/sensors/sensor_explorer/explorer.cpp
index 8955ec4755..611978911a 100644
--- a/examples/sensors/sensor_explorer/explorer.cpp
+++ b/examples/sensors/sensor_explorer/explorer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/sensor_explorer/explorer.h b/examples/sensors/sensor_explorer/explorer.h
index 2a33002c6a..ce44703ef1 100644
--- a/examples/sensors/sensor_explorer/explorer.h
+++ b/examples/sensors/sensor_explorer/explorer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/sensor_explorer/main.cpp b/examples/sensors/sensor_explorer/main.cpp
index 2da6932ddb..a5502a764f 100644
--- a/examples/sensors/sensor_explorer/main.cpp
+++ b/examples/sensors/sensor_explorer/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/sensors.pri b/examples/sensors/sensors.pri
new file mode 100644
index 0000000000..3ac9ea2212
--- /dev/null
+++ b/examples/sensors/sensors.pri
@@ -0,0 +1,6 @@
+include($$PWD/../examples.pri)
+CONFIG+=mobility
+INCLUDEPATH += $$PWD/../../src/sensors
+MOBILITY+=sensors
+QT=core
+TEMPLATE=app
diff --git a/examples/sensors/sensors.pro b/examples/sensors/sensors.pro
index 113c9613ea..2e94f33f68 100644
--- a/examples/sensors/sensors.pro
+++ b/examples/sensors/sensors.pro
@@ -1,6 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS += accel
+SUBDIRS += accel arrowkeys metadata
contains(QT_CONFIG, declarative) {
SUBDIRS += orientation
@@ -16,3 +16,4 @@ SUBDIRS += small_screen_sensors
contains(QT_CONFIG,opengl):SUBDIRS += cubehouse
+SUBDIRS += show_acceleration show_als show_compass show_magneticflux show_orientation show_proximity show_rotation show_tap
diff --git a/examples/sensors/show_acceleration/main.cpp b/examples/sensors/show_acceleration/main.cpp
new file mode 100644
index 0000000000..ea40ac5b6c
--- /dev/null
+++ b/examples/sensors/show_acceleration/main.cpp
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qaccelerometer.h>
+
+QTM_USE_NAMESPACE
+
+class AccelerometerFilter : public QAccelerometerFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QAccelerometerReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << QString("Acceleration: %1 x").arg(reading->x(), 5, 'f', 1)
+ << QString(" %1 y").arg(reading->y(), 5, 'f', 1)
+ << QString(" %1 z m/s^2").arg(reading->z(), 5, 'f', 1)
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 4).arg( 1000000.0 / diff, 5, 'f', 1) << endl;
+ return false; // don't store the reading in the sensor
+ }
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QAccelerometer sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ AccelerometerFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Accelerometersensor didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_acceleration/show_acceleration.pro b/examples/sensors/show_acceleration/show_acceleration.pro
new file mode 100644
index 0000000000..4075130155
--- /dev/null
+++ b/examples/sensors/show_acceleration/show_acceleration.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_acceleration
diff --git a/examples/sensors/show_als/main.cpp b/examples/sensors/show_als/main.cpp
new file mode 100644
index 0000000000..dfa16456b2
--- /dev/null
+++ b/examples/sensors/show_als/main.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qambientlightsensor.h>
+
+QTM_USE_NAMESPACE
+
+class AmbientLightFilter : public QAmbientLightFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QAmbientLightReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QString output;
+ switch (reading->lightLevel()) {
+ case QAmbientLightReading::Dark: output = "Dark "; break;
+ case QAmbientLightReading::Twilight: output = "Twilight"; break;
+ case QAmbientLightReading::Light: output = "Light "; break;
+ case QAmbientLightReading::Bright: output = "Bright "; break;
+ case QAmbientLightReading::Sunny: output = "Sunny "; break;
+ case QAmbientLightReading::Undefined: output = "Undefined"; break;
+ default: output = "Invalid enum value";
+ }
+ QTextStream out(stdout);
+ out << "Ambient light level: " << output
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 5).arg( 1000000.0 / diff, 3, 'f', 1) << endl;
+ return false; // don't store the reading in the sensor
+ }
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QAmbientLightSensor sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ AmbientLightFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Ambientlightsensor didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_als/show_als.pro b/examples/sensors/show_als/show_als.pro
new file mode 100644
index 0000000000..8a3152fe01
--- /dev/null
+++ b/examples/sensors/show_als/show_als.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_als
diff --git a/examples/battery-charge/battery-subscriber/main.cpp b/examples/sensors/show_compass/main.cpp
index dcfd59ba7a..01aef9310b 100644
--- a/examples/battery-charge/battery-subscriber/main.cpp
+++ b/examples/sensors/show_compass/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -38,67 +38,46 @@
**
****************************************************************************/
-#include <qvaluespacesubscriber.h>
-
-#include <QApplication>
-#include <QObject>
-#include <QWidget>
-#include <QVBoxLayout>
-#include <QPushButton>
-#include <QUrl>
-#include <QDeclarativeView>
-#include <qdeclarative.h>
-#include <QtDeclarative>
+#include <QtCore>
+#include <qcompass.h>
QTM_USE_NAMESPACE
-//! [0]
-QML_DECLARE_TYPE(QValueSpaceSubscriber);
-//! [0]
-
-class MainWidget : public QWidget
+class CompassFilter : public QCompassFilter
{
- Q_OBJECT
-
public:
- MainWidget();
-
+ bool filter(QCompassReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << QString("Compass heading: %1").arg(reading->azimuth(), 3, 'f', 0)
+ << QString(" calibration: %1").arg(reading->calibrationLevel(), 3, 'f', 1)
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 4).arg( 1000000.0 / diff, 4, 'f', 1) << endl;
+ return true;
+ }
private:
- QDeclarativeView *view;
+ qtimestamp stamp;
};
-MainWidget::MainWidget()
-{
- QVBoxLayout *vbox = new QVBoxLayout;
- vbox->setMargin(0);
- setLayout(vbox);
-
- view = new QDeclarativeView(this);
- view->setFixedSize(100, 230);
- vbox->addWidget(view);
-
- //! [2]
- view->setSource(QUrl("qrc:/battery-meter.qml"));
- view->show();
- //! [2]
-
- QPushButton *quitButton = new QPushButton("Quit");
- vbox->addWidget(quitButton);
- connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
-}
-
-int main(int argc, char *argv[])
+int main(int argc, char **argv)
{
- //! [1]
- qmlRegisterType<QValueSpaceSubscriber>("Qt", 4, 6, "ValueSpaceSubscriber");
- //! [1]
-
- QApplication app(argc, argv);
-
- MainWidget mainWidget;
- mainWidget.show();
-
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QCompass sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ CompassFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Compasssensor didn't start!");
+ return 1;
+ }
return app.exec();
}
-
-#include "main.moc"
diff --git a/examples/sensors/show_compass/show_compass.pro b/examples/sensors/show_compass/show_compass.pro
new file mode 100644
index 0000000000..c9e67ad65f
--- /dev/null
+++ b/examples/sensors/show_compass/show_compass.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_compass
diff --git a/examples/sensors/show_magneticflux/main.cpp b/examples/sensors/show_magneticflux/main.cpp
new file mode 100644
index 0000000000..e538b543f2
--- /dev/null
+++ b/examples/sensors/show_magneticflux/main.cpp
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qmagnetometer.h>
+
+QTM_USE_NAMESPACE
+
+class MagGeoFilter : public QMagnetometerFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QMagnetometerReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << QString("Geomagnetic flux density: %1 x").arg(reading->x() * 1000000, 6, 'f', 1)
+ << QString(" %1 y").arg(reading->y() * 1000000, 6, 'f', 1)
+ << QString(" %1 z uT").arg(reading->z() * 1000000, 6, 'f', 1)
+ << QString(" calibration: %1").arg(reading->calibrationLevel(), 3, 'f', 1)
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 4).arg( 1000000.0 / diff, 4, 'f', 1) << endl;
+ return false;
+ }
+};
+
+class MagRawFilter : public QMagnetometerFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QMagnetometerReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << QString("Raw magnetic flux density: %1 x").arg(reading->x() * 1000000, 6, 'f', 1)
+ << QString(" %1 y").arg(reading->y() * 1000000, 6, 'f', 1)
+ << QString(" %1 z uT").arg(reading->z() * 1000000, 6, 'f', 1)
+ << QString(" calibration: %1").arg(reading->calibrationLevel(), 3, 'f', 1)
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 4).arg( 1000000.0 / diff, 4, 'f', 1) << endl;
+ return false;
+ }
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+
+ QMagnetometer geosensor;
+ if (rate_val > 0) {
+ geosensor.setDataRate(rate_val);
+ }
+ MagGeoFilter geofilter;
+ geosensor.setProperty("returnGeoValues", true);
+ geosensor.addFilter(&geofilter);
+ qDebug() << geosensor.availableDataRates().size();
+ geosensor.start();
+ if (!geosensor.isActive()) {
+ qWarning("Magnetometersensor (geo) didn't start!");
+ return 1;
+ }
+
+ QMagnetometer rawsensor;
+ if (rate_val > 0) {
+ rawsensor.setDataRate(rate_val);
+ }
+ MagRawFilter rawfilter;
+ rawsensor.addFilter(&rawfilter);
+ qDebug() << rawsensor.availableDataRates().size();
+ rawsensor.start();
+ if (!rawsensor.isActive()) {
+ qWarning("Magnetometersensor (raw) didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_magneticflux/show_magneticflux.pro b/examples/sensors/show_magneticflux/show_magneticflux.pro
new file mode 100644
index 0000000000..dec8b0022b
--- /dev/null
+++ b/examples/sensors/show_magneticflux/show_magneticflux.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_magneticflux
diff --git a/examples/qmlcontacts/qmlcontactsa.h b/examples/sensors/show_orientation/main.cpp
index 6b9cd0ac91..89b58c4b78 100644
--- a/examples/qmlcontacts/qmlcontactsa.h
+++ b/examples/sensors/show_orientation/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -38,73 +38,56 @@
**
****************************************************************************/
-#ifndef QMLCONTACTS_H
-#define QMLCONTACTS_H
-
-#include <QObject>
-#include <qmobilityglobal.h>
-#include <QContactManager>
-#include <QContactAbstractRequest>
-
-#include "qmlcontact.h"
-
-QTM_BEGIN_NAMESPACE
-class QContactFetchRequest;
-QTM_END_NAMESPACE
+#include <QtCore>
+#include <qorientationsensor.h>
QTM_USE_NAMESPACE
-// ![0]
-#include <QtDeclarative>
-
-class QMLContactManagerAsync : public QObject {
-Q_OBJECT
-Q_PROPERTY(QString availableManagers READ availableManagers)
-Q_PROPERTY(QString manager READ manager WRITE setManager)
-Q_PROPERTY(int numContacts READ numContacts)
+class OrientationSensorFilter : public QOrientationFilter
+{
public:
- QMLContactManagerAsync(QObject *parent = 0);
- ~QMLContactManagerAsync();
-
- QString availableManagers() const;
-
- QString manager();
- void setManager(QString manager);
-
- Q_INVOKABLE void contacts();
-
- int numContacts();
-
- Q_INVOKABLE QString idToName(QString name);
-// void setName(const QString &);
-//
-// int shoeSize() const;
-// void setShoeSize(int);
-
-Q_SIGNALS:
- void dataChanged();
- void contactsAdded(const QList<QContactLocalId>& contactIds);
- void contactsChanged(const QList<QContactLocalId>& contactIds);
- void contactsRemoved(const QList<QContactLocalId>& contactIds);
- void relationshipsAdded(const QList<QContactLocalId>& contactIds);
- void relationshipsRemoved(const QList<QContactLocalId>& contactIds);
-
- void contactsLoaded(QmlContact *contact);
- void contactsLoadedDone();
-
-private slots:
-
- void contactProgress(QContactAbstractRequest::State newState);
-
-private:
- QContactManager *qc;
- //QStringList m_contacts;
- QList<QContactLocalId> m_contactIds;
- void fillContactsIntoMemoryEngine(QContactManager* manager);
- QString contactListToQString(const QList<QContactLocalId>& contactIds) const;
- QStringList contactListToQString(const QList<QContact>& contact) const;
+ qtimestamp stamp;
+ bool filter(QOrientationReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QString output;
+ switch (reading->orientation()) {
+ case QOrientationReading::TopUp: output = "Top up "; break;
+ case QOrientationReading::TopDown: output = "Top down "; break;
+ case QOrientationReading::LeftUp: output = "Left up "; break;
+ case QOrientationReading::RightUp: output = "Right up "; break;
+ case QOrientationReading::FaceUp: output = "Face up "; break;
+ case QOrientationReading::FaceDown: output = "Face down"; break;
+ case QOrientationReading::Undefined: output = "Undefined"; break;
+ default: output = "Invalid enum value";
+ }
+ QTextStream out(stdout);
+ out << "Orientation: " << output
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 5).arg( 1000000.0 / diff, 4, 'f', 1) << endl;
+ return false; // don't store the reading in the sensor
+ }
};
-QML_DECLARE_TYPE(QMLContactManagerAsync)
-// ![0]
-#endif // QMLCONTACTS_H
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QOrientationSensor sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ OrientationSensorFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Orientationsensor didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_orientation/show_orientation.pro b/examples/sensors/show_orientation/show_orientation.pro
new file mode 100644
index 0000000000..05464d85f0
--- /dev/null
+++ b/examples/sensors/show_orientation/show_orientation.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_orientation
diff --git a/examples/sensors/show_proximity/main.cpp b/examples/sensors/show_proximity/main.cpp
new file mode 100644
index 0000000000..9e2d453661
--- /dev/null
+++ b/examples/sensors/show_proximity/main.cpp
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qproximitysensor.h>
+
+QTM_USE_NAMESPACE
+
+class ProximitySensorFilter : public QProximityFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QProximityReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << "Proximity: ";
+ if (reading->close())
+ out << "Close ";
+ else
+ out << "Not close";
+ out << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 5).arg( 1000000.0 / diff, 3, 'f', 1) << endl;
+ return false; // don't store the reading in the sensor
+ }
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QProximitySensor sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ ProximitySensorFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Proximitysensor didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_proximity/show_proximity.pro b/examples/sensors/show_proximity/show_proximity.pro
new file mode 100644
index 0000000000..662b640e9f
--- /dev/null
+++ b/examples/sensors/show_proximity/show_proximity.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_proximity
diff --git a/examples/sensors/show_rotation/main.cpp b/examples/sensors/show_rotation/main.cpp
new file mode 100644
index 0000000000..77d04b5ef0
--- /dev/null
+++ b/examples/sensors/show_rotation/main.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qrotationsensor.h>
+
+QTM_USE_NAMESPACE
+
+class RotationFilter : public QRotationFilter
+{
+public:
+ bool filter(QRotationReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QTextStream out(stdout);
+ out << QString("Rotation: %1 x").arg(reading->x(), 4, 'f', 0)
+ << QString(" %1 y").arg(reading->y(), 4, 'f', 0)
+ << QString(" %1 z").arg(reading->z(), 4, 'f', 0)
+ << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 4).arg( 1000000.0 / diff, 4, 'f', 1) << endl;
+ return true;
+ }
+private:
+ qtimestamp stamp;
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+ QRotationSensor sensor;
+ if (rate_val > 0) {
+ sensor.setDataRate(rate_val);
+ }
+ RotationFilter filter;
+ sensor.addFilter(&filter);
+ sensor.start();
+ if (!sensor.isActive()) {
+ qWarning("Rotationsensor didn't start!");
+ return 1;
+ }
+ if (sensor.property("hasZ").isValid()) {
+ if (sensor.property("hasZ").toBool())
+ qDebug() << "Sensor hasZ is set";
+ else
+ qDebug() << "Sensor hasZ is NOT set";
+ } else {
+ qDebug() << "Sensor hasZ error: no value";
+ }
+ return app.exec();
+}
diff --git a/examples/sensors/show_rotation/show_rotation.pro b/examples/sensors/show_rotation/show_rotation.pro
new file mode 100644
index 0000000000..2aea11b9bf
--- /dev/null
+++ b/examples/sensors/show_rotation/show_rotation.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_rotation
diff --git a/examples/sensors/show_tap/main.cpp b/examples/sensors/show_tap/main.cpp
new file mode 100644
index 0000000000..a63657a5c4
--- /dev/null
+++ b/examples/sensors/show_tap/main.cpp
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <qtapsensor.h>
+
+QTM_USE_NAMESPACE
+
+class TapSensorFilter : public QTapFilter
+{
+public:
+ qtimestamp stamp;
+ bool filter(QTapReading *reading)
+ {
+ int diff = ( reading->timestamp() - stamp );
+ stamp = reading->timestamp();
+ QString output;
+ switch (reading->tapDirection()) {
+ case QTapReading::X: output = "X"; break;
+ case QTapReading::Y: output = "Y"; break;
+ case QTapReading::Z: output = "Z"; break;
+ case QTapReading::X_Pos: output = "X pos"; break;
+ case QTapReading::Y_Pos: output = "Y pos"; break;
+ case QTapReading::Z_Pos: output = "Z pos"; break;
+ case QTapReading::X_Neg: output = "X neg"; break;
+ case QTapReading::Y_Neg: output = "Y neg"; break;
+ case QTapReading::Z_Neg: output = "Z neg"; break;
+ case QTapReading::Undefined: output = "Undefined"; break;
+ default: output = "Invalid enum value";
+ }
+ QTextStream out(stdout);
+ out << "Tap: ";
+ if(reading->isDoubleTap())
+ out << "Double ";
+ else
+ out << "Single ";
+ out << QString(" (%1 ms since last, %2 Hz)").arg(diff / 1000, 5).arg( 1000000.0 / diff, 3, 'f', 1) << endl;
+ return false; // don't store the reading in the sensor
+ }
+};
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QStringList args = app.arguments();
+ int rate_place = args.indexOf("-r");
+ int rate_val = 0;
+ if (rate_place != -1)
+ rate_val = args.at(rate_place + 1).toInt();
+
+ QTapSensor doublesensor;
+ if (rate_val > 0) {
+ doublesensor.setDataRate(rate_val);
+ }
+ TapSensorFilter filter;
+ doublesensor.addFilter(&filter);
+ doublesensor.start();
+ if (!doublesensor.isActive()) {
+ qWarning("Tapsensor (double) didn't start!");
+ return 1;
+ }
+
+ QTapSensor singlesensor;
+ if (rate_val > 0) {
+ singlesensor.setDataRate(rate_val);
+ }
+ singlesensor.addFilter(&filter);
+ singlesensor.start();
+ if (!singlesensor.isActive()) {
+ qWarning("Tapsensor (single) didn't start!");
+ return 1;
+ }
+
+ return app.exec();
+}
diff --git a/examples/sensors/show_tap/show_tap.pro b/examples/sensors/show_tap/show_tap.pro
new file mode 100644
index 0000000000..9db48cfef4
--- /dev/null
+++ b/examples/sensors/show_tap/show_tap.pro
@@ -0,0 +1,3 @@
+include(../sensors.pri)
+SOURCES = main.cpp
+TARGET = show_tap
diff --git a/examples/sensors/small_screen_sensors/accelerationform.cpp b/examples/sensors/small_screen_sensors/accelerationform.cpp
index b22331ff5e..2c24410276 100644
--- a/examples/sensors/small_screen_sensors/accelerationform.cpp
+++ b/examples/sensors/small_screen_sensors/accelerationform.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/accelerationform.h b/examples/sensors/small_screen_sensors/accelerationform.h
index 2f5e21eeac..f6e8df5332 100644
--- a/examples/sensors/small_screen_sensors/accelerationform.h
+++ b/examples/sensors/small_screen_sensors/accelerationform.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/freefallform.cpp b/examples/sensors/small_screen_sensors/freefallform.cpp
index b21f847533..ee792ebb68 100644
--- a/examples/sensors/small_screen_sensors/freefallform.cpp
+++ b/examples/sensors/small_screen_sensors/freefallform.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/freefallform.h b/examples/sensors/small_screen_sensors/freefallform.h
index d8d86f3863..5bd6d42837 100644
--- a/examples/sensors/small_screen_sensors/freefallform.h
+++ b/examples/sensors/small_screen_sensors/freefallform.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/main.cpp b/examples/sensors/small_screen_sensors/main.cpp
index 7f4f88d220..536ca66478 100644
--- a/examples/sensors/small_screen_sensors/main.cpp
+++ b/examples/sensors/small_screen_sensors/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/orientationform.cpp b/examples/sensors/small_screen_sensors/orientationform.cpp
index 208e4498c4..6779d14c06 100644
--- a/examples/sensors/small_screen_sensors/orientationform.cpp
+++ b/examples/sensors/small_screen_sensors/orientationform.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/orientationform.h b/examples/sensors/small_screen_sensors/orientationform.h
index 70af9a3308..2a2128561d 100644
--- a/examples/sensors/small_screen_sensors/orientationform.h
+++ b/examples/sensors/small_screen_sensors/orientationform.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/sensorswindow.cpp b/examples/sensors/small_screen_sensors/sensorswindow.cpp
index 5595df3a25..8208827b0b 100644
--- a/examples/sensors/small_screen_sensors/sensorswindow.cpp
+++ b/examples/sensors/small_screen_sensors/sensorswindow.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sensors/small_screen_sensors/sensorswindow.h b/examples/sensors/small_screen_sensors/sensorswindow.h
index 10f56126e8..58f98dcd7d 100644
--- a/examples/sensors/small_screen_sensors/sensorswindow.h
+++ b/examples/sensors/small_screen_sensors/sensorswindow.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceactions/attachmentlistwidget.cpp b/examples/serviceactions/attachmentlistwidget.cpp
index d413e660b5..f2e974852c 100644
--- a/examples/serviceactions/attachmentlistwidget.cpp
+++ b/examples/serviceactions/attachmentlistwidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceactions/attachmentlistwidget.h b/examples/serviceactions/attachmentlistwidget.h
index 707566a1c5..e292b6c1f3 100644
--- a/examples/serviceactions/attachmentlistwidget.h
+++ b/examples/serviceactions/attachmentlistwidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceactions/main.cpp b/examples/serviceactions/main.cpp
index 73aef3818f..d2140d03a2 100644
--- a/examples/serviceactions/main.cpp
+++ b/examples/serviceactions/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceactions/mainwindow.cpp b/examples/serviceactions/mainwindow.cpp
index 4fc6c8c181..21c665d9e8 100644
--- a/examples/serviceactions/mainwindow.cpp
+++ b/examples/serviceactions/mainwindow.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceactions/mainwindow.h b/examples/serviceactions/mainwindow.h
index 5092f0ea16..9cc0e8c558 100644
--- a/examples/serviceactions/mainwindow.h
+++ b/examples/serviceactions/mainwindow.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/servicebrowser/main.cpp b/examples/servicebrowser/main.cpp
index 4ac5bab6df..b9a292fdfa 100644
--- a/examples/servicebrowser/main.cpp
+++ b/examples/servicebrowser/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/servicebrowser/servicebrowser.cpp b/examples/servicebrowser/servicebrowser.cpp
index ece299e011..a8836c7c62 100644
--- a/examples/servicebrowser/servicebrowser.cpp
+++ b/examples/servicebrowser/servicebrowser.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/servicebrowser/servicebrowser.h b/examples/servicebrowser/servicebrowser.h
index f4fbc98b53..6ce0fe1fdb 100644
--- a/examples/servicebrowser/servicebrowser.h
+++ b/examples/servicebrowser/servicebrowser.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/serviceinstaller_sfw_symbian/exampleinstaller/exampleinstaller.cpp b/examples/serviceinstaller_sfw_symbian/exampleinstaller/exampleinstaller.cpp
index ac277415c8..18c558870b 100644
--- a/examples/serviceinstaller_sfw_symbian/exampleinstaller/exampleinstaller.cpp
+++ b/examples/serviceinstaller_sfw_symbian/exampleinstaller/exampleinstaller.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sfw-notes/main.cpp b/examples/sfw-notes/main.cpp
index a36ca1936e..3e57693bd4 100644
--- a/examples/sfw-notes/main.cpp
+++ b/examples/sfw-notes/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sfw-notes/sfwnotes.cpp b/examples/sfw-notes/sfwnotes.cpp
index 13a20905ce..1bd4c0edf0 100644
--- a/examples/sfw-notes/sfwnotes.cpp
+++ b/examples/sfw-notes/sfwnotes.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sfw-notes/sfwnotes.h b/examples/sfw-notes/sfwnotes.h
index c1a0baf505..54ce644183 100644
--- a/examples/sfw-notes/sfwnotes.h
+++ b/examples/sfw-notes/sfwnotes.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/slideshow/main.cpp b/examples/slideshow/main.cpp
index 11f6c5b973..5918c513e2 100644
--- a/examples/slideshow/main.cpp
+++ b/examples/slideshow/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/slideshow/slideshow.cpp b/examples/slideshow/slideshow.cpp
index 87bfdbf3a6..f7bc47c52d 100644
--- a/examples/slideshow/slideshow.cpp
+++ b/examples/slideshow/slideshow.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/slideshow/slideshow.h b/examples/slideshow/slideshow.h
index 038d03d498..d86a064ba9 100644
--- a/examples/slideshow/slideshow.h
+++ b/examples/slideshow/slideshow.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sysinfo/dialog.cpp b/examples/sysinfo/dialog.cpp
index 3d8723273a..1f85cef348 100644
--- a/examples/sysinfo/dialog.cpp
+++ b/examples/sysinfo/dialog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sysinfo/dialog.h b/examples/sysinfo/dialog.h
index dced6706dc..345c13a764 100644
--- a/examples/sysinfo/dialog.h
+++ b/examples/sysinfo/dialog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sysinfo/main.cpp b/examples/sysinfo/main.cpp
index 45ab7491b1..466bdca344 100644
--- a/examples/sysinfo/main.cpp
+++ b/examples/sysinfo/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/sysinfo/sysinfo.pro b/examples/sysinfo/sysinfo.pro
index 24776c0389..5ca26c8e0d 100644
--- a/examples/sysinfo/sysinfo.pro
+++ b/examples/sysinfo/sysinfo.pro
@@ -37,7 +37,7 @@ unix: {
}
symbian {
- TARGET.CAPABILITY = LocalServices NetworkServices ReadUserData WriteUserData UserEnvironment Location ReadDeviceData TrustedUI
+ TARGET.CAPABILITY = LocalServices NetworkServices ReadUserData UserEnvironment Location ReadDeviceData
TARGET.UID3 = 0x2002ac7e
FORMS += dialog_s60.ui
}
diff --git a/examples/weatherinfo/weatherinfo.cpp b/examples/weatherinfo/weatherinfo.cpp
index 25f7fcae06..e26f246ffc 100644
--- a/examples/weatherinfo/weatherinfo.cpp
+++ b/examples/weatherinfo/weatherinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/writemessage/main.cpp b/examples/writemessage/main.cpp
index 07ba2665d5..3d1cf201f3 100644
--- a/examples/writemessage/main.cpp
+++ b/examples/writemessage/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/writemessage/messagesender.cpp b/examples/writemessage/messagesender.cpp
index 01686483c4..ddb1f35b75 100644
--- a/examples/writemessage/messagesender.cpp
+++ b/examples/writemessage/messagesender.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/examples/writemessage/messagesender.h b/examples/writemessage/messagesender.h
index b4535ba2d7..668de0126a 100644
--- a/examples/writemessage/messagesender.h
+++ b/examples/writemessage/messagesender.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/features/deploy.pri b/features/deploy.pri
index 1f92e1bf9d..47fc50f46b 100644
--- a/features/deploy.pri
+++ b/features/deploy.pri
@@ -3,7 +3,7 @@ headers.path = $$QT_MOBILITY_INCLUDE
contains(TEMPLATE,.*lib) {
target.path=$$QT_MOBILITY_LIB
- TARGET = $$qtLibraryTarget($${TARGET})
+ TARGET = $$qtLibraryTarget($${TARGET}$${QT_LIBINFIX})
symbian {
middleware { path=$$MW_LAYER_PUBLIC_EXPORT_PATH("") }
diff --git a/features/mobility.prf.template b/features/mobility.prf.template
index b1bb6c63cc..5ec27dcfb2 100644
--- a/features/mobility.prf.template
+++ b/features/mobility.prf.template
@@ -18,6 +18,10 @@ QMAKE_RPATHDIR+=$${MOBILITY_LIB}
contains(MOBILITY, bearer) {
DEFINES += QT_MOBILITY_BEARER
qtAddLibrary(QtBearer)
+ !equals(QT_MAJOR_VERSION,4)|!equals(QT_MINOR_VERSION, 6) {
+ message(Qt Mobility Bearer API is deprecated when using Qt 4.7 or higher.)
+ message(Please use source compatible replacement Bearer API in QtNetwork.)
+ }
}
contains(MOBILITY, publishsubscribe) {
@@ -66,7 +70,7 @@ contains(MOBILITY, sensors) {
symbian:contains(CONFIG, mobility):!contains(TARGET.UID3, 0x2002AC89):!contains(TARGET.UID3, 0xE002AC89) {
mobility_default_deployment.pkg_prerules += \
"; Default dependency to QtMobility libraries" \
- "(0x2002AC89), 1, 0, 0, {\"QtMobility\"}"
+ "(0x2002AC89), 1, 0, 1, {\"QtMobility\"}"
DEPLOYMENT += mobility_default_deployment
}
diff --git a/plugins/contacts/contacts.pro b/plugins/contacts/contacts.pro
index 024d03d78b..83af534bc2 100644
--- a/plugins/contacts/contacts.pro
+++ b/plugins/contacts/contacts.pro
@@ -18,5 +18,6 @@ symbian {
}
}
wince*:SUBDIRS += wince
-maemo6:SUBDIRS += qtcontacts-tracker
-maemo5:SUBDIRS += maemo5
+maemo5 {
+ contains(maemo5-contacts_enabled, yes): SUBDIRS += maemo5
+}
diff --git a/plugins/contacts/maemo5/qcontactabook.cpp b/plugins/contacts/maemo5/qcontactabook.cpp
index 89e6a1431e..2ff935739a 100644
--- a/plugins/contacts/maemo5/qcontactabook.cpp
+++ b/plugins/contacts/maemo5/qcontactabook.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -325,22 +325,27 @@ QList<QContactLocalId> QContactABook::contactIds(const QContactFilter& filter, c
return QContactManagerEngine::sortContacts(contacts, sortOrders);
}
- EBookQuery* query = convert(filter);
-
- GList* l = osso_abook_aggregator_find_contacts(m_abookAgregator, query);
- if (query)
- e_book_query_unref(query);
-
- while (l){
- EContact *contact = E_CONTACT(l->data);
- const char* data = CONST_CHAR(e_contact_get_const(contact, E_CONTACT_UID));
- QByteArray localId(data);
- m_localIds << localId;
- rtn.append(m_localIds[localId]);
- QCM5_DEBUG << "eContactID " << localId << "has been stored in m_localIDs with key" << m_localIds[localId];
- l = g_list_delete_link(l, l);
+ switch(filter.type()){
+ case QContactFilter::DefaultFilter: {
+ rtn = m_localIds.keys();
+ } break;
+ default: {
+ EBookQuery* query = convert(filter);
+ GList* l = osso_abook_aggregator_find_contacts(m_abookAgregator, query);
+ if (query)
+ e_book_query_unref(query);
+
+ while (l){
+ EContact *contact = E_CONTACT(l->data);
+ const char* data = CONST_CHAR(e_contact_get_const(contact, E_CONTACT_UID));
+ QByteArray localId(data);
+ m_localIds << localId;
+ rtn.append(m_localIds[localId]);
+ QCM5_DEBUG << "eContactID " << localId << "has been stored in m_localIDs with key" << m_localIds[localId];
+ l = g_list_delete_link(l, l);
+ }
+ }
}
-
*error = QContactManager::NoError;
return rtn;
*/
@@ -580,6 +585,36 @@ bool QContactABook::saveContact(QContact* contact, QContactManager::Error* error
return ok;
}
+const QString QContactABook::getDisplayName(const QContact& contact) const{
+ //Get Osso ABook ID for the contact (stored as GUID detail)
+ const char* acontactID;
+ {
+ QContactGuid g = contact.detail(QContactGuid::DefinitionName);
+ acontactID = qPrintable(g.guid());
+ }
+
+ //Get OssoABookContact
+ OssoABookContact *acontact= NULL;
+ {
+ GList* l= NULL;
+ l = osso_abook_aggregator_lookup(m_abookAgregator, acontactID);
+
+ if (g_list_length(l) == 1) {
+ acontact = A_CONTACT(l->data);
+ }
+ g_list_free(l);
+
+ }
+
+ if (!acontact)
+ return QString();
+
+ //Get Display name;
+ const char* displayName = osso_abook_contact_get_display_name(acontact);
+
+ return QString::fromUtf8(displayName);
+}
+
QContactLocalId QContactABook::selfContactId(QContactManager::Error* errors) const
{
QContactLocalId id;
@@ -730,10 +765,11 @@ EBookQuery* QContactABook::convert(const QContactFilter& filter) const
}
//Debugging
- const char *queryString = e_book_query_to_string(query);
- QCM5_DEBUG << "QUERY" << queryString;
- FREE(queryString);
-
+ if (QCM5_DEBUG_ENABLED){
+ const char *queryString = e_book_query_to_string(query);
+ QCM5_DEBUG << "QUERY" << queryString;
+ FREE(queryString);
+ }
return query;
}
@@ -942,7 +978,7 @@ QList<QContactAddress*> QContactABook::getAddressDetail(EContact *eContact) cons
}
int i = 0;
while (v){
- map[addressFields[i]] = QString::fromLatin1(CONST_CHAR(v->data));
+ map[addressFields[i]] = QString::fromUtf8(CONST_CHAR(v->data));
i++;
v = v->next;
}
@@ -974,8 +1010,8 @@ QContactName* QContactABook::getNameDetail(EContact *eContact) const
e_contact_name_free (eContactName);
} else {
//Looks that Maemo use just these two fields
- map[QContactName::FieldFirstName] = CONST_CHAR(e_contact_get_const(eContact, E_CONTACT_GIVEN_NAME));
- map[QContactName::FieldLastName] = CONST_CHAR(e_contact_get_const(eContact, E_CONTACT_FAMILY_NAME));
+ map[QContactName::FieldFirstName] = QString::fromUtf8(CONST_CHAR(e_contact_get_const(eContact, E_CONTACT_GIVEN_NAME)));
+ map[QContactName::FieldLastName] = QString::fromUtf8(CONST_CHAR(e_contact_get_const(eContact, E_CONTACT_FAMILY_NAME)));
}
setDetailValues(map, rtn);
return rtn;
@@ -985,7 +1021,7 @@ QContactNickname* QContactABook::getNicknameDetail(EContact *eContact) const
{
QContactNickname* rtn = new QContactNickname;
QVariantMap map;
- map[QContactNickname::FieldNickname] = CONST_CHAR (e_contact_get_const(eContact, E_CONTACT_NICKNAME));
+ map[QContactNickname::FieldNickname] = QString::fromUtf8(CONST_CHAR(e_contact_get_const(eContact, E_CONTACT_NICKNAME)));
setDetailValues(map, rtn);
return rtn;
}
@@ -1022,7 +1058,7 @@ QList<QContactEmailAddress*> QContactABook::getEmailDetail(EContact *eContact) c
GList *v = e_vcard_attribute_get_values(attr);
int i = 0;
while (v){
- map[QContactEmailAddress::FieldEmailAddress] = QString::fromLatin1(CONST_CHAR(v->data));
+ map[QContactEmailAddress::FieldEmailAddress] = QString::fromUtf8(CONST_CHAR(v->data));
i++;
v = v->next;
}
@@ -1089,7 +1125,7 @@ QContactGender* QContactABook::getGenderDetail(EContact *eContact) const
QContactGender* rtn = new QContactGender;
QVariantMap map;
const char* g = CONST_CHAR(osso_abook_contact_get_value(eContact, "X-GENDER"));
- QString gender = QString::fromLatin1(g);
+ QString gender = g;
if (gender == "male")
gender = "Male";
else if (gender == "female")
@@ -1120,7 +1156,7 @@ QContactNote* QContactABook::getNoteDetail(EContact *eContact) const
QContactNote* rtn = new QContactNote;
QVariantMap map;
const char* note = CONST_CHAR(e_contact_get(eContact, E_CONTACT_NOTE));
- map[QContactNote::FieldNote] = QString::fromLatin1(note);
+ map[QContactNote::FieldNote] = QString::fromUtf8(note);
FREE(note);
setDetailValues(map, rtn);
return rtn;
@@ -1159,7 +1195,7 @@ QList<QContactOnlineAccount*> QContactABook::getOnlineAccountDetail(EContact *eC
McAccount* account = osso_abook_contact_get_account(rosterContact);
// Avoid to look for Roster contacts into the VCard
- QString accountVCard = QString::fromLatin1(mc_profile_get_vcard_field(id));
+ QString accountVCard = mc_profile_get_vcard_field(id);
evcardToSkip.removeOne(accountVCard);
// Presence
@@ -1203,7 +1239,7 @@ QList<QContactOnlineAccount*> QContactABook::getOnlineAccountDetail(EContact *eC
EVCardAttribute* attr = (EVCardAttribute*)node->data;
if (!attr)
continue;
- QString attributeName = QString::fromLatin1(e_vcard_attribute_get_name(attr));
+ QString attributeName = e_vcard_attribute_get_name(attr);
// Skip attributes processed scanning roster contacts.
if (!evcardToSkip.contains(attributeName))
@@ -1217,7 +1253,7 @@ QList<QContactOnlineAccount*> QContactABook::getOnlineAccountDetail(EContact *eC
for (nodeP = params; nodeP != NULL; nodeP = g_list_next (nodeP)) {
EVCardAttributeParam* p = (EVCardAttributeParam*) nodeP->data;
- QString paramName = QString::fromLatin1(e_vcard_attribute_param_get_name(p));
+ QString paramName = e_vcard_attribute_param_get_name(p);
bool attrIsType = false;
bool attrIsOssoValid = false;
@@ -1236,7 +1272,7 @@ QList<QContactOnlineAccount*> QContactABook::getOnlineAccountDetail(EContact *eC
GList *values = e_vcard_attribute_param_get_values(p);
GList *node;
for (node = values; node != NULL; node = g_list_next (node)) {
- QString attributeParameterValue = QString::fromLatin1(CONST_CHAR(node->data));
+ QString attributeParameterValue = CONST_CHAR(node->data);
if (attrIsOssoValid) {
ossoValidIsOk = (attributeParameterValue == "yes")? true : false;
if (!ossoValidIsOk) {
@@ -1268,8 +1304,8 @@ QContactOrganization* QContactABook::getOrganizationDetail(EContact *eContact) c
{
QContactOrganization* rtn = new QContactOrganization;
QVariantMap map;
- const char* title = CONST_CHAR(e_contact_get(eContact, E_CONTACT_ORG));
- map[QContactOrganization::FieldTitle] = title;
+ const char* title = CONST_CHAR(e_contact_get(eContact, E_CONTACT_TITLE));
+ map[QContactOrganization::FieldTitle] = QString::fromUtf8(title);
FREE(title);
setDetailValues(map, rtn);
return rtn;
@@ -1290,7 +1326,7 @@ QList<QContactPhoneNumber*> QContactABook::getPhoneDetail(EContact *eContact) co
//Set Contexts and SubTypes
while (p) {
- QString value = QString::fromLatin1(CONST_CHAR(p->data));
+ QString value = CONST_CHAR(p->data);
if (value == "HOME")
phoneNumber->setContexts(QContactDetail::ContextHome);
@@ -1342,7 +1378,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
McAccount* account = osso_abook_contact_get_account(rosterContact);
// Avoid to look for Roster contacts into the VCard
- QString accountVCard = QString::fromLatin1(mc_profile_get_vcard_field(id));
+ QString accountVCard = mc_profile_get_vcard_field(id);
evcardToSkip.removeOne(accountVCard);
// Presence
@@ -1367,7 +1403,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
QVariantMap map; // XXX FIXME
map[QContactPresence::FieldNickname] = osso_abook_contact_get_display_name(rosterContact);
map[QContactPresence::FieldPresenceState] = presenceTypeEnum;
- map[QContactPresence::FieldPresenceStateText] = QString::fromLatin1(osso_abook_presence_get_presence_status_message(presence));
+ map[QContactPresence::FieldPresenceStateText] = QString::fromUtf8(osso_abook_presence_get_presence_status_message(presence));
map[QContactPresence::FieldLinkedDetailUris] = mc_profile_get_unique_name(id); //use the unique name as a detail uri of the online account.
map["AccountPath"] = account->name; //MCAccount name: variable part of the D-Bus object path.
@@ -1388,7 +1424,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
EVCardAttribute* attr = (EVCardAttribute*)node->data;
if (!attr)
continue;
- QString attributeName = QString::fromLatin1(e_vcard_attribute_get_name(attr));
+ QString attributeName = e_vcard_attribute_get_name(attr);
// Skip attributes processed scanning roster contacts.
if (!evcardToSkip.contains(attributeName))
@@ -1402,7 +1438,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
for (nodeP = params; nodeP != NULL; nodeP = g_list_next (nodeP)) {
EVCardAttributeParam* p = (EVCardAttributeParam*) nodeP->data;
- QString paramName = QString::fromLatin1(e_vcard_attribute_param_get_name(p));
+ QString paramName = e_vcard_attribute_param_get_name(p);
bool attrIsType = false;
bool attrIsOssoValid = false;
@@ -1421,7 +1457,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
GList *values = e_vcard_attribute_param_get_values(p);
GList *node;
for (node = values; node != NULL; node = g_list_next (node)) {
- QString attributeParameterValue = QString::fromLatin1(CONST_CHAR(node->data));
+ QString attributeParameterValue = CONST_CHAR(node->data);
if (attrIsOssoValid) {
ossoValidIsOk = (attributeParameterValue == "yes")? true : false;
if (!ossoValidIsOk) {
@@ -1438,7 +1474,7 @@ QList<QContactPresence*> QContactABook::getPresenceDetail(EContact *eContact) co
if (ossoValidIsOk && !type.isEmpty()) {
QContactPresence* rtn = new QContactPresence;
QVariantMap map;
- map[QContactPresence::FieldNickname] = QString::fromLatin1(e_vcard_attribute_get_value(attr));
+ map[QContactPresence::FieldNickname] = QString::fromUtf8(e_vcard_attribute_get_value(attr));
map[QContactPresence::FieldLinkedDetailUris] = type; // XXX FIXME
setDetailValues(map, rtn);
rtnList << rtn;
@@ -1768,7 +1804,7 @@ void QContactABook::setThumbnailDetail(const OssoABookContact* aContact, const Q
image.hasAlphaChannel(), 8,
image.width(), image.height(),
image.bytesPerLine(), 0, 0);
- osso_abook_contact_set_pixbuf((OssoABookContact*)aContact, pixbuf, book, 0);
+ osso_abook_contact_set_pixbuf((OssoABookContact*)aContact, pixbuf, 0, 0);
g_object_unref(pixbuf);
}
@@ -1792,7 +1828,7 @@ void QContactABook::setAvatarDetail(const OssoABookContact* aContact, const QCon
// image.hasAlphaChannel(), 8,
// image.width(), image.height(),
// image.bytesPerLine(), 0, 0);
-// osso_abook_contact_set_pixbuf((OssoABookContact*)aContact, pixbuf, book, 0);
+// osso_abook_contact_set_pixbuf((OssoABookContact*)aContact, pixbuf, 0, 0);
// g_object_unref(pixbuf);
}
diff --git a/plugins/contacts/maemo5/qcontactabook_p.h b/plugins/contacts/maemo5/qcontactabook_p.h
index a4b8e4b9d5..81e83ed75a 100644
--- a/plugins/contacts/maemo5/qcontactabook_p.h
+++ b/plugins/contacts/maemo5/qcontactabook_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -75,6 +75,8 @@ public:
bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
bool saveContact(QContact* contact, QContactManager::Error* error);
+ const QString getDisplayName(const QContact& contact) const;
+
QContactLocalId selfContactId(QContactManager::Error* errors) const;
Q_SIGNALS:
diff --git a/plugins/contacts/maemo5/qcontactidshash.h b/plugins/contacts/maemo5/qcontactidshash.h
index 435c829b5f..12fc3c93ef 100644
--- a/plugins/contacts/maemo5/qcontactidshash.h
+++ b/plugins/contacts/maemo5/qcontactidshash.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/maemo5/qcontactmaemo5backend.cpp b/plugins/contacts/maemo5/qcontactmaemo5backend.cpp
index 22f68b3bd7..12e1fd3822 100644
--- a/plugins/contacts/maemo5/qcontactmaemo5backend.cpp
+++ b/plugins/contacts/maemo5/qcontactmaemo5backend.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -97,17 +97,17 @@ QString QContactMaemo5Engine::managerName() const
/* Synthesise the display label of a contact */
QString QContactMaemo5Engine::synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const
{
- Q_UNUSED(error)
- QString label = QContactManagerEngine::synthesizedDisplayLabel(contact, error);
+ QString label;
+
+ label = d->m_abook->getDisplayName(contact);
- if (label.isEmpty()) {
- QContactNickname n = contact.detail(QContactNickname::DefinitionName);
- label = n.nickname();
- }
- if (label.isEmpty())
- label = "No name";
+ if (label.isEmpty()){
+ *error = QContactManager::UnspecifiedError;
+ return QString("No name");
+ }
+ *error = QContactManager::NoError;
return label;
}
diff --git a/plugins/contacts/maemo5/qcontactmaemo5backend_p.h b/plugins/contacts/maemo5/qcontactmaemo5backend_p.h
index a32d8b6202..6f02c22a99 100644
--- a/plugins/contacts/maemo5/qcontactmaemo5backend_p.h
+++ b/plugins/contacts/maemo5/qcontactmaemo5backend_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/maemo5/qcontactmaemo5debug_p.h b/plugins/contacts/maemo5/qcontactmaemo5debug_p.h
index 2072aa6fa8..c4a874904d 100644
--- a/plugins/contacts/maemo5/qcontactmaemo5debug_p.h
+++ b/plugins/contacts/maemo5/qcontactmaemo5debug_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/qtcontacts-tracker/.gitignore b/plugins/contacts/qtcontacts-tracker/.gitignore
deleted file mode 100644
index d37444e2a7..0000000000
--- a/plugins/contacts/qtcontacts-tracker/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-.moc
-.obj
-core
-Makefile
-*.so
-*.pro.user*
-*.o
-moc_*.cpp
-
-/build-stamp
-/configure-stamp
-/debian/files
-/debian/libqtcontacts-tracker.substvars
-/debian/libqtcontacts-tracker/
-/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async
-/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch
-/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql
-/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions
-
-*~
-
diff --git a/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend.cpp b/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend.cpp
deleted file mode 100644
index 69059f5862..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend.cpp
+++ /dev/null
@@ -1,609 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qcontacttrackerbackend_p.h"
-
-#include <QtTracker/Tracker>
-#include <QtTracker/ontologies/nco.h>
-#include <QtTracker/ontologies/nie.h>
-#include <QtTracker/ontologies/nao.h>
-#include <QRegExp>
-#include <QDir>
-#include <QFile>
-#include <QSet>
-#include <QList>
-
-#include "qtcontacts.h"
-
-#include "trackerchangelistener.h"
-#include "qtrackercontactsaverequest.h"
-#include <qtrackerrelationshipfetchrequest.h>
-#include <qtrackerrelationshipsaverequest.h>
-#include <qtrackercontactidfetchrequest.h>
-
-
-QContactManagerEngine* ContactTrackerFactory::engine(const QMap<QString, QString>& parameters, QContactManager::Error* error)
-{
- Q_UNUSED(error);
- QString version = QLatin1String(VERSION_INFO);
- return new QContactTrackerEngine(managerName(), version.toInt(), parameters);
-}
-
-QString ContactTrackerFactory::managerName() const
-{
- return QString("tracker");
-}
-Q_EXPORT_PLUGIN2(qtcontacts_tracker, ContactTrackerFactory);
-
-QContactTrackerEngine::QContactTrackerEngine(const QString& engineName, int engineVersion, const QMap<QString, QString>& parameters)
- : d(new QContactTrackerEngineData),
- contactArchiveFile("removed"),
- contactArchiveDir(QDir::homePath()+"/.contacts")
-{
- Q_UNUSED(parameters);
- d->m_engineName = engineName;
- d->m_engineVersion = engineVersion;
- connectToSignals();
-}
-
-QContactTrackerEngine::QContactTrackerEngine(const QMap<QString, QString>& parameters)
- : d(new QContactTrackerEngineData),
- contactArchiveFile("removed"),
- contactArchiveDir(QDir::homePath()+"/.contacts")
-{
- Q_UNUSED(parameters);
- connectToSignals();
-}
-
-QContactTrackerEngine::QContactTrackerEngine(const QContactTrackerEngine& other)
- : QContactManagerEngine(), d(other.d)
-{
- Q_UNUSED(other);
- connectToSignals();
-}
-
-void QContactTrackerEngine::connectToSignals()
-{
- TrackerChangeListener *listener = new TrackerChangeListener(this, this);
- connect(listener, SIGNAL(contactsAdded(const QList<QContactLocalId>&)), SIGNAL(contactsAdded(const QList<QContactLocalId>&)));
- connect(listener, SIGNAL(contactsChanged(const QList<QContactLocalId>&)), SIGNAL(contactsChanged(const QList<QContactLocalId>&)));
- connect(listener, SIGNAL(contactsRemoved(const QList<QContactLocalId>&)), SIGNAL(contactsRemoved(const QList<QContactLocalId>&)));
-}
-
-QContactTrackerEngine& QContactTrackerEngine::operator=(const QContactTrackerEngine& other)
-{
- d = other.d;
- return *this;
-}
-
-QContactTrackerEngine::~QContactTrackerEngine()
-{
-}
-
-QContactManagerEngine* QContactTrackerEngine::clone()
-{
- // this engine allows sharing - so we increase the reference count.
- d->m_refCount.ref();
- return this;
-}
-
-void QContactTrackerEngine::deref()
-{
- if (!d->m_refCount.deref())
- delete this;
-}
-
-QList<QContactLocalId> QContactTrackerEngine::contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const
-{
- return contactIds(QContactFilter(), sortOrders, error);
-}
-
-QList<QContactLocalId> QContactTrackerEngine::contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const
-{
- QContactLocalIdFetchRequest request;
- request.setFilter(filter);
- request.setSorting(sortOrders);
-
- QContactTrackerEngine engine(*this);
- engine.startRequest(&request);
- // 10 seconds should be enough
- engine.waitForRequestFinished(&request, 10000);
- if(!request.isFinished()) {
- *error = QContactManager::UnspecifiedError;
- }
- else {
- // leave the code for now while not all other code is fixed
- *error = request.error();
- }
- return request.ids();
-}
-
-QList<QContact> QContactTrackerEngine::contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const
-{
- // the rest of the code is for internal usage, unit tests etc.
- QContactFetchRequest request;
- request.setFetchHint(fetchHint);
- request.setFilter(filter);
- request.setSorting(sortOrders);
-
- QContactTrackerEngine engine(*this);
- engine.startRequest(&request);
- // 10 seconds should be enough
- engine.waitForRequestFinished(&request, 10000);
-
- if( !request.isFinished()) {
- *error = QContactManager::UnspecifiedError;
- }
- else {
- // leave the code for now while not all other code is fixed
- *error = request.error();
- }
- return request.contacts();
-}
-
-QContact QContactTrackerEngine::contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const
-{
- // plan to keep this warning for a while - as message to customers using the API
- qWarning() << "QContactManager::contact()" << "api is blocking on dbus roundtrip while accessing tracker. Please, consider using asynchronous API QContactFetchRequest and not fetching contacts by id \n"
- "- reading 100 ids and 100 contact by ids is ~100 times slower then reading 100 contacts at once with QContactFetchRequest.";
- return contact_impl(contactId, fetchHint, error);
-}
-
-QContactLocalId QContactTrackerEngine::selfContactId(QContactManager::Error* error) const
-{
- *error = QContactManager::NoError;
- return QContactLocalId(0xFFFFFFFF);
-}
-
-// used in tests, removed warning while decided if to provide sync api. Until then customers are advised to use async
-QContact QContactTrackerEngine::contact_impl(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error ) const
-{
- QContactLocalIdFilter idlist;
- QList<QContactLocalId> ids; ids << contactId;
- idlist.setIds(ids);
- QContactFetchRequest request;
- QStringList definitionNames = fetchHint.detailDefinitionsHint();
- if (fetchHint.detailDefinitionsHint().isEmpty())
- {
- definitionNames << QContactAvatar::DefinitionName
- << QContactBirthday::DefinitionName
- << QContactAddress::DefinitionName
- << QContactEmailAddress::DefinitionName
- << QContactDisplayLabel::DefinitionName
- << QContactGender::DefinitionName
- << QContactAnniversary::DefinitionName
- << QContactName::DefinitionName
- << QContactOnlineAccount::DefinitionName
- << QContactOrganization::DefinitionName
- << QContactPhoneNumber::DefinitionName
- << QContactOnlineAccount::DefinitionName
- << QContactUrl::DefinitionName;
- }
-
- QContactFetchHint modifiedHint;
- modifiedHint.setDetailDefinitionsHint(definitionNames);
- request.setFetchHint(modifiedHint);
- request.setFilter(idlist);
-
- QContactTrackerEngine engine(*this);
- engine.startRequest(&request);
- // 10 seconds should be enough
- engine.waitForRequestFinished(&request, 10000);
-
- if( !request.isFinished()) {
- *error = QContactManager::UnspecifiedError;
- return QContact();
- }
- else if(request.contacts().size() == 0)
- {
- *error = QContactManager::DoesNotExistError;
- return QContact();
- }
- else {
- // leave the code for now while not all other code is fixed
- *error = request.error();
- return request.contacts()[0];
- }
-
-}
-
-bool QContactTrackerEngine::waitForRequestFinished(QContactAbstractRequest* req, int msecs)
-{
- Q_ASSERT(req);
- if(!req->isActive())
- {
- return req->isFinished(); // might be already finished
- }
- QTime t;
- t.start();
- while(t.elapsed() < msecs || msecs == 0) // 0 for infinite
- {
- usleep(10000);
- QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
- if(req->isFinished())
- return true;
- }
- qDebug() << Q_FUNC_INFO <<"Status Finished" << req->isFinished();
- return req->isFinished();
-
-}
-
-bool QContactTrackerEngine::saveContact( QContact* contact, QContactManager::Error* error)
-{
- // Signal emitted from TrackerChangeListener
- QContactSaveRequest request;
- QList<QContact> contacts(QList<QContact>()<<*contact);
- request.setContacts(contacts);
- QContactTrackerEngine engine(*this);
- engine.startRequest(&request);
- // 10 seconds should be enough
- engine.waitForRequestFinished(&request, 10000);
- *error = request.error();
- Q_ASSERT(request.contacts().size() == 1);
- *contact = request.contacts()[0];
-
- if( request.isFinished() && *error == QContactManager::NoError)
- return true;
- else
- return false;
-}
-
-bool QContactTrackerEngine::removeContact(const QContactLocalId& contactId, QContactManager::Error* error)
-{
- *error = QContactManager::NoError;
-
- // TODO: Do with LiveNodes when they support strict querying.
- RDFVariable RDFContact = RDFVariable::fromType<nco::PersonContact>();
- RDFContact.property<nco::contactUID>() = LiteralValue(QString::number(contactId));
- RDFSelect query;
-
- query.addColumn("contact_uri", RDFContact);
- LiveNodes ncoContacts = ::tracker()->modelQuery(query);
- if(ncoContacts->rowCount() == 0) {
- *error = QContactManager::DoesNotExistError;
- return false;
- }
-
-
- Live< nco::PersonContact> ncoContact = ncoContacts->liveNode(0);
- LiveNodes contactMediums = ncoContact->getHasContactMediums();
- foreach(Live<nco::ContactMedium> media, contactMediums) {
- media->remove();
- }
- ncoContact->remove();
-
- //Temporary workaround to get removed- signal
- QList<QContactLocalId> removed;
- removed << contactId;
- emit contactsRemoved(removed);
-
- return true;
-}
-
-bool QContactTrackerEngine::saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error)
-{
- // @todo: Handle errors per saved contact.
- Q_UNUSED(errorMap)
-
- *error = QContactManager::NoError;
-
- if(contacts == 0) {
- *error = QContactManager::BadArgumentError;
- return false;
- }
-
- // Signal emitted from TrackerChangeListener
- QContactSaveRequest request;
- QList<QContact> contactList;
- for (int i = 0; i < contacts->size(); ++i) {
- contactList.append(contacts->at(i));
- }
- request.setContacts(contactList);
- QContactTrackerEngine engine(*this);
- engine.startRequest(&request);
- /// @todo what should be the delay
- engine.waitForRequestFinished(&request, 1000*contacts->size());
- /// @todo what should we do in case request.isFinished() == false
- if (request.isFinished() == false) {
- qWarning() << "QContactTrackerEngine::saveContacts:" << "request not finished";
- }
- *error = request.error();
- for (int i = 0; i < contacts->size(); ++i) {
- (*contacts)[i] = request.contacts().at(i);
- }
-
- // Returns false if we have any errors - true if everything went ok.
- return (request.errorMap().isEmpty() && *error == QContactManager::NoError);
-}
-
-bool QContactTrackerEngine::removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error)
-{
- // Cannot report errors - giving up.
- if(!errorMap) {
- *error = QContactManager::BadArgumentError;
- return false;
- }
-
- // let's clear the error hash so there is nothing old haunting us.
- errorMap->clear();
-
- for (int i = 0; i < contactIds.count(); i++) {
- QContactManager::Error lastError;
- removeContact(contactIds.at(i), &lastError);
- if (lastError != QContactManager::NoError) {
- errorMap->insert(i, lastError);
- }
- }
-
- // Returns true if no errors were encountered - false if there was errors.
- // emit signals removed as they are fired from QContactManager
- return (errorMap->isEmpty());
-}
-
-QMap<QString, QContactDetailDefinition> QContactTrackerEngine::detailDefinitions(const QString& contactType,
- QContactManager::Error* error) const
-{
- if (contactType != QContactType::TypeContact) {
- *error = QContactManager::InvalidContactTypeError;
- return QMap<QString, QContactDetailDefinition>();
- }
-
- // lazy initialisation of schema definitions.
- if (d->m_definitions.isEmpty()) {
- // none in the list? get the schema definitions, and modify them to match our capabilities.
- d->m_definitions = QContactManagerEngine::schemaDefinitions().value(QContactType::TypeContact);
-
- // modification: name is unique
- QContactDetailDefinition nameDef = d->m_definitions.value(QContactName::DefinitionName);
- nameDef.setUnique(true);
- d->m_definitions.insert(QContactName::DefinitionName, nameDef);
-
- // modification: avatar is unique.
- QContactDetailDefinition avatarDef = d->m_definitions.value(QContactAvatar::DefinitionName);
- avatarDef.setUnique(true);
- d->m_definitions.insert(QContactAvatar::DefinitionName, avatarDef);
-
- // modification: url is unique.
- {
- const QContactDetailDefinition urlDef = d->m_definitions.value(
- QContactUrl::DefinitionName);
- QContactDetailDefinition newUrlDef;
-
- QMap<QString, QContactDetailFieldDefinition> urlFieldNames = urlDef.fields();
- QMap<QString, QContactDetailFieldDefinition> &fields(urlFieldNames);
- QContactDetailFieldDefinition f;
-
- f.setDataType(QVariant::String);
- QVariantList subTypes;
- // removing social networking url
- subTypes << QString(QLatin1String(QContactUrl::SubTypeFavourite));
- subTypes << QString(QLatin1String(QContactUrl::SubTypeHomePage));
- f.setAllowableValues(subTypes);
- fields.insert(QContactUrl::FieldSubType, f);
- newUrlDef.setFields(fields);
- newUrlDef.setUnique(true);
- newUrlDef.setName(QContactUrl::DefinitionName);
- d->m_definitions.insert(QContactUrl::DefinitionName, newUrlDef);
- }
-
- // QContactOnlineAccount custom fields
- {
- const QContactDetailDefinition accDef = d->m_definitions.value(QContactOnlineAccount::DefinitionName);
- QContactDetailDefinition newAccountDefinition;
-
- QMap<QString, QContactDetailFieldDefinition> accountFieldName = accDef.fields();
- QMap<QString, QContactDetailFieldDefinition> &fields(accountFieldName);
- QContactDetailFieldDefinition f;
-
- f.setDataType(QVariant::String);
- fields.insert("Account", f);
- fields.insert("AccountPath", f);
- newAccountDefinition.setFields(fields);
- newAccountDefinition.setName(QContactOnlineAccount::DefinitionName);
- d->m_definitions.insert(QContactOnlineAccount::DefinitionName, newAccountDefinition);
- }
- }
-
- *error = QContactManager::NoError;
- return d->m_definitions;
-}
-
-/*!
- * \reimp
- */
-bool QContactTrackerEngine::hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const
-{
- if (!supportedContactTypes().contains(contactType)) {
- return false;
- }
-
- switch (feature) {
- case QContactManager::Groups:
- case QContactManager::ActionPreferences:
- case QContactManager::Relationships:
- case QContactManager::SelfContact:
- return true;
- case QContactManager::ArbitraryRelationshipTypes:
- return true;
- case QContactManager::MutableDefinitions:
- return true;
- case QContactManager::ChangeLogs:
- return true;
- default:
- return false;
- }
-}
-
-
-/*!
- * \reimp
- */
-/*!
- * Definition identifiers which are natively (fast) filterable
- * on the default backend store managed by the manager from which the capabilities object was accessed
- */
-bool QContactTrackerEngine::isFilterSupported(const QContactFilter& filter) const
-{
- switch (filter.type()) {
- case QContactFilter::InvalidFilter:
- case QContactFilter::DefaultFilter:
- case QContactFilter::LocalIdFilter:
- case QContactFilter::ContactDetailFilter:
- case QContactFilter::ContactDetailRangeFilter:
- case QContactFilter::ActionFilter:
- case QContactFilter::ChangeLogFilter:
- case QContactFilter::RelationshipFilter:
-
-// not yet done
-// case QContactFilter::IntersectionFilter:
-// case QContactFilter::UnionFilter:
- return true;
- default:
- return false;
- }
-}
-
-/*!
- * Returns the list of data types supported by the Tracker engine
- */
-QList<QVariant::Type> QContactTrackerEngine::supportedDataTypes() const
-{
- // TODO: Check supported datatypes for Tracker backend.
- QList<QVariant::Type> st;
- st.append(QVariant::String);
- st.append(QVariant::Date);
- st.append(QVariant::DateTime);
- return st;
-}
-
-/*!
- * Returns the name of the Tracker engine
- */
-QString QContactTrackerEngine::managerName() const
-{
- return d->m_engineName;
-}
-
-/*!
- * Returns the manager version of this engine
- */
-int QContactTrackerEngine::managerVersion() const
-{
- return d->m_engineVersion;
-}
-
-RDFVariable QContactTrackerEngine::contactDetail2Rdf(const RDFVariable& rdfContact, const QString& definitionName,
- const QString& fieldName) const
-{
- if (definitionName == QContactName::DefinitionName) {
- if (fieldName == QContactName::FieldFirstName) {
- return rdfContact.property<nco::nameGiven>();
- }
- else if (fieldName == QContactName::FieldLastName) {
- return rdfContact.property<nco::nameFamily>();
- }
- else if (fieldName == QContactName::FieldMiddleName) {
- return rdfContact.property<nco::nameAdditional>();
- }
- else if (fieldName == QContactName::FieldPrefix) {
- return rdfContact.property<nco::nameHonorificPrefix>();
- }
- else if (fieldName == QContactName::FieldSuffix) {
- return rdfContact.property<nco::nameHonorificSuffix>();
- }
- else if (fieldName == QContactNickname::FieldNickname) {
- return rdfContact.property<nco::nickname>();
- }
- }
- return RDFVariable();
-}
-
-/*! \reimp */
-void QContactTrackerEngine::requestDestroyed(QContactAbstractRequest* req)
-{
- if( d->m_requests.contains(req) )
- {
- QTrackerContactAsyncRequest *request = d->m_requests.take(req);
- delete request;
- }
-}
-
-/*! \reimp */
-bool QContactTrackerEngine::startRequest(QContactAbstractRequest* req)
-{
- QTrackerContactAsyncRequest *request = 0;
- switch (req->type())
- {
- case QContactAbstractRequest::ContactLocalIdFetchRequest:
- request = new QTrackerContactIdFetchRequest(req, this);
- break;
- case QContactAbstractRequest::ContactFetchRequest:
- request = new QTrackerContactFetchRequest(req, this);
- break;
- case QContactAbstractRequest::ContactSaveRequest:
- request = new QTrackerContactSaveRequest(req, this);
- break;
- case QContactAbstractRequest::RelationshipFetchRequest:
- request = new QTrackerRelationshipFetchRequest(req, this);
- break;
- case QContactAbstractRequest::RelationshipSaveRequest:
- request = new QTrackerRelationshipSaveRequest(req, this);
- break;
- default:
- return false;
- }
- d->m_requests[req] = request;
- return true;
-}
-
-/*! \reimp */
-QString QContactTrackerEngine::synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const
-{
- QString label = QContactManagerEngine::synthesizedDisplayLabel(contact, error);
- if (label.isEmpty())
- label = contact.detail<QContactNickname>().nickname();
- //XXX TODO: FIXME - take the nickname from the presence field associated with the online account
- //if(label.isEmpty())
- // label = contact.detail<QContactOnlineAccount>().nickname();
-
- qDebug() << Q_FUNC_INFO << label;
- return label;
-}
diff --git a/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend_p.h b/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend_p.h
deleted file mode 100644
index bfb8e300d6..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend_p.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCONTACTTRACKERBACKEND_P_H
-#define QCONTACTTRACKERBACKEND_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QSharedData>
-#include <QtTracker/Tracker>
-#include <QtTracker/ontologies/nco.h>
-#include <QtTracker/QLive>
-
-#include <qmobilityglobal.h>
-#include <qcontactmanagerengine.h>
-#include <qcontactmanagerenginefactory.h>
-
-using namespace SopranoLive;
-#include "qtrackercontactasyncrequest.h"
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-class QContactChangeSet;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-class QContactTrackerEngineData : public QSharedData
-{
-public:
- QContactTrackerEngineData()
- : QSharedData(), m_refCount(QAtomicInt(1)),
- m_engineName(QString("tracker")),
- m_engineVersion(0)
- {
- }
-
- QContactTrackerEngineData(const QContactTrackerEngineData& other)
- : QSharedData(other), m_refCount(QAtomicInt(1)),
- m_lastUsedId(other.m_lastUsedId),
- m_definitions(other.m_definitions),
- m_engineName(other.m_engineName),
- m_engineVersion(other.m_engineVersion)
- {
- }
-
- void init();
-
- ~QContactTrackerEngineData() {}
-
- QAtomicInt m_refCount;
- mutable QContactLocalId m_lastUsedId;
- mutable QMap<QString, QContactDetailDefinition> m_definitions;
- mutable QMap<QContactAbstractRequest*, QTrackerContactAsyncRequest*> m_requests;
- QString m_engineName;
- int m_engineVersion;
-};
-
-class QContactTrackerEngine : public QContactManagerEngine
-{
-Q_OBJECT
-
-public:
- QContactTrackerEngine(const QString& managerName, int managerVersion, const QMap<QString, QString>& parameters);
- QContactTrackerEngine(const QMap<QString, QString>& parameters); // XXX FIXME: I don't think this is used in your factory code either?
- QContactTrackerEngine(const QContactTrackerEngine& other); // XXX FIXME: not used in your factory code...?
- ~QContactTrackerEngine();
- QContactTrackerEngine& operator=(const QContactTrackerEngine& other); // XXX FIXME: not used in your factory code...?
- QContactManagerEngine* clone(); // XXX FIXME: no longer part of the engine API
- void deref(); // XXX FIXME: no longer part of the engine API
-
- // sync methods, wrapping async methods & waitForFinished
- QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const; // XXX FIXME: no longer part of engine API.
- QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
- QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
- QContact contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
-
- /* Save contacts - single and in batch */
- bool saveContact( QContact* contact, QContactManager::Error* error);
- bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
-
- bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
- bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error) ;
-
- /* Definitions - Accessors and Mutators */
- QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error* error) const;
-
- QContactLocalId selfContactId(QContactManager::Error* error) const;
-
- /* Asynchronous Request Support */
- void requestDestroyed(QContactAbstractRequest* req);
- bool startRequest(QContactAbstractRequest* req);
- bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
-
- /* Capabilities reporting */
- bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
-
- bool isFilterSupported(const QContactFilter& filter) const;
- QList<QVariant::Type> supportedDataTypes() const;
-
- /* Version Reporting */
- QString managerName() const;
- int managerVersion() const;
-
- /* Synthesise the display label of a contact */
- QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
-
-
-
- /* XXX TODO: pure virtual unimplemented functions! */
- QMap<QString, QString> managerParameters() const {return QMap<QString,QString>();}
- bool setSelfContactId(const QContactLocalId&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
- QList<QContactRelationship> relationships(const QString&, const QContactId&, QContactRelationship::Role, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QList<QContactRelationship>();}
- bool saveRelationships(QList<QContactRelationship>*, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
- bool removeRelationships(const QList<QContactRelationship>&, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
- QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QContact();}
- bool validateContact(const QContact&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return false;}
- bool validateDefinition(const QContactDetailDefinition&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return false;}
- QContactDetailDefinition detailDefinition(const QString&, const QString&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QContactDetailDefinition();}
- bool saveDetailDefinition(const QContactDetailDefinition&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
- bool removeDetailDefinition(const QString&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
- bool cancelRequest(QContactAbstractRequest*) {return false;}
- bool isRelationshipTypeSupported(const QString&, const QString&) const {return false;}
- QStringList supportedContactTypes() const {return (QStringList() << QContactType::TypeContact);}
-
-
-private:
- //called from both constructors, connecting to all contact NodeList changes signals
- void connectToSignals();
- RDFVariable contactDetail2Rdf(const RDFVariable& rdfContact, const QString& definitionName, const QString& fieldName) const;
- QContact contact_impl(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
-private:
- QSharedDataPointer<QContactTrackerEngineData> d;
- const QString contactArchiveFile;
- const QString contactArchiveDir;
- friend class ut_qtcontacts_trackerplugin;
-};
-
-class Q_DECL_EXPORT ContactTrackerFactory : public QObject, public QtMobility::QContactManagerEngineFactory
-{
- Q_OBJECT
- Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
- public:
- QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error*);
- QString managerName() const;
-};
-
-#endif
diff --git a/plugins/contacts/qtcontacts-tracker/qtcontacts-tracker.pro b/plugins/contacts/qtcontacts-tracker/qtcontacts-tracker.pro
deleted file mode 100644
index 1b68b81d25..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtcontacts-tracker.pro
+++ /dev/null
@@ -1,44 +0,0 @@
-# #####################################################################
-# Contacts Mobility API Tracker storage plugin
-# #####################################################################
-
-TEMPLATE = lib
-CONFIG += plugin
-TARGET = $$qtLibraryTarget(qtcontacts_tracker)
-PLUGIN_TYPE=contacts
-
-LIBS += -lqttracker
-CONFIG += mobility
-MOBILITY = contacts
-
-# include version number for the plugin
-include(version.pri)
-include(../../../common.pri)
-
-DEFINES += VERSION_INFO=\\\"$${VERSION_INT}\\\"
-
-INCLUDEPATH += $$SOURCE_DIR/src/contacts
-INCLUDEPATH += $$SOURCE_DIR/src/contacts/details
-INCLUDEPATH += $$SOURCE_DIR/src/contacts/filters
-INCLUDEPATH += $$SOURCE_DIR/src/contacts/requests
-
-INCLUDEPATH += .
-
-HEADERS += qcontacttrackerbackend_p.h \
- qtrackercontactasyncrequest.h \
- qtrackercontactfetchrequest.h \
- qtrackercontactslive.h \
- qtrackercontactsaverequest.h \
- qtrackerrelationshipfetchrequest.h \
- qtrackerrelationshipsaverequest.h \
- qtrackercontactidfetchrequest.h \
- trackerchangelistener.h
-
-SOURCES += qcontacttrackerbackend.cpp \
- qtrackercontactfetchrequest.cpp \
- qtrackercontactslive.cpp \
- qtrackercontactsaverequest.cpp \
- qtrackerrelationshipfetchrequest.cpp \
- qtrackerrelationshipsaverequest.cpp \
- qtrackercontactidfetchrequest.cpp \
- trackerchangelistener.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.cpp b/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.cpp
deleted file mode 100644
index d03a2fc0eb..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.cpp
+++ /dev/null
@@ -1,1090 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtrackercontactfetchrequest.h"
-
-#include <qtcontacts.h>
-
-#include <QtTracker/ontologies/nie.h>
-#include <QtTracker/ontologies/nco.h>
-
-using namespace SopranoLive;
-
-class ConversionLookup: public QHash<QString,QContactPresence::PresenceState>
-{
-public:
- ConversionLookup& operator<<(const QPair<QString, QContactPresence::PresenceState> &conversion)
- {
- this->insert(conversion.first, conversion.second);
- return *this;
- }
-};
-
-const QString FieldQContactLocalId("QContactLocalId");
-const QString FieldAccountPath("AccountPath");
-const ConversionLookup presenceConversion(ConversionLookup()
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-offline", QContactPresence::PresenceOffline)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-available", QContactPresence::PresenceAvailable)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-away", QContactPresence::PresenceAway)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-extended-away", QContactPresence::PresenceExtendedAway)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-busy", QContactPresence::PresenceBusy)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-unknown", QContactPresence::PresenceUnknown)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-hidden", QContactPresence::PresenceHidden)
- <<QPair<QString, QContactPresence::PresenceState>("presence-status-dnd", QContactPresence::PresenceBusy)
-);
-
-void matchPhoneNumber(RDFVariable &variable, QContactDetailFilter &filter)
-{
- // This here is the first implementation of filtering that takes into account also affiliations.
- // needs to be applied for other filters too - TODO
- RDFVariable officeContact;
- RDFVariable homeContact;
-
- RDFVariable rdfPhoneNumber;
- rdfPhoneNumber = homeContact.property<nco::hasPhoneNumber>().property<nco::phoneNumber>();
-
- RDFVariable rdfOfficePhoneNumber;
- rdfOfficePhoneNumber = officeContact.property<nco::hasAffiliation>().property<nco::hasPhoneNumber>().property<nco::phoneNumber>();
-
- QString filterValue = filter.value().toString();
- if (filter.matchFlags() == Qt::MatchEndsWith)
- {
- QSettings settings(QSettings::IniFormat, QSettings::UserScope, "Nokia","Trackerplugin");
- int matchDigitCount = settings.value("phoneNumberMatchDigitCount", "7").toInt();
- filterValue = filterValue.right(matchDigitCount);
- qDebug() << "match with:" << matchDigitCount << ":" << filterValue;
- rdfPhoneNumber.hasSuffix(filterValue);
- rdfOfficePhoneNumber.hasSuffix(filterValue);
- }
- else
- { // default to exact match
- rdfOfficePhoneNumber.matchesRegexp(filterValue);
- rdfPhoneNumber.matchesRegexp(filterValue);
- }
- // This is the key part, including both contacts and affiliations
- variable.isMemberOf(RDFVariableList()<<homeContact);// TODO report bug doesnt work in tracker <<officeContact);
-}
-
-/*!
- * To define RDFquery graph for this one is tricky:
- * need to find IMAccount -> hasIMContact -> IMAddress - the same IMAddress as contact \a variable
- * has as PersonContact -> hasIMAddress -> IMAddress
- */
-void matchOnlineAccount(RDFVariable &variable, QContactDetailFilter &filter)
-{
- if ((filter.matchFlags() & QContactFilter::MatchExactly) == QContactFilter::MatchExactly)
- {
- // \a variable PersonContact -> hasIMAddress -> imaddress
- RDFVariable imaddress = variable.property<nco::hasIMAddress>();
- if (filter.detailFieldName() == "Account" || filter.detailFieldName() == QContactOnlineAccount::FieldAccountUri)
- {
- imaddress.property<nco::imID> ().isMemberOf(QStringList() << filter.value().toString());
- }
- else if (filter.detailFieldName() == FieldAccountPath)
- {
- // need to find IMAccount -> hasIMContact -> imaddress
- RDFVariable imaccount;
- imaccount.property<nco::hasIMContact>() = imaddress;
- imaccount.equal(QUrl(QString("telepathy:")+filter.value().toString()));
- }
- else if (filter.detailFieldName() == QContactOnlineAccount::FieldServiceProvider)
- {
- // need to find IMAccount -> hasIMContact -> imaddress
- RDFVariable imaccount;
- imaccount.property<nco::hasIMContact>() = imaddress;
- imaccount.property<nco::imDisplayName> ().isMemberOf(QStringList() << filter.value().toString());
- }
- else
- qWarning() << "QTrackerContactFetchRequest," << __FUNCTION__
- << "Unsupported detail filter by QContactOnlineAccount.";
- }
- else
- {
- qWarning() << "QTrackerContactFetchRequest," << __FUNCTION__
- << "Unsupported match flag in detail filter by QContactOnlineAccount. Use QContactFilter::MatchExactly";
- }
-}
-
-void matchName(RDFVariable &variable, QContactDetailFilter &filter)
-{
- if (filter.detailDefinitionName() != QContactName::DefinitionName) {
- qWarning() << "QTrackerContactFetchRequest," << __FUNCTION__
- << "Unsupported definition name in detail filter, should be QContactName::DefinitionName";
- return;
- }
- QString filterValue = filter.value().toString();
- QString field = filter.detailFieldName();
- if ((filter.matchFlags() & QContactFilter::MatchExactly) == QContactFilter::MatchExactly) {
- if (field == QContactName::FieldFirstName) {
- variable.property<nco::nameGiven>() = LiteralValue(filterValue);
- } else if (field == QContactName::FieldLastName) {
- variable.property<nco::nameFamily>() = LiteralValue(filterValue);
- } else if (field == QContactName::FieldMiddleName) {
- variable.property<nco::nameAdditional>() = LiteralValue(filterValue);
- } else if (field == QContactName::FieldPrefix) {
- variable.property<nco::nameHonorificPrefix>() = LiteralValue(filterValue);
- } else if (field == QContactName::FieldSuffix) {
- variable.property<nco::nameHonorificSuffix>() = LiteralValue(filterValue);
- }
- } else {
- qWarning() << "QTrackerContactFetchRequest," << __FUNCTION__
- << "Unsupported match flag in detail filter by QContactName";
- }
-}
-
-/*
- * RDFVariable describes all contacts in tracker before filter is applied.
- * This method translates QContactFilter to tracker rdf filter. When query is made
- * after this method, it would return only contacts that fit the filter.
- */
-QContactManager::Error QTrackerContactFetchRequest::applyFilterToContact(RDFVariable &variable,
- const QContactFilter &filter)
-{
-
- QContactFetchRequest* r = qobject_cast<QContactFetchRequest*> (req);
-
- if (!r) {
- return QContactManager::BadArgumentError;
- }
-
- if (filter.type() == QContactFilter::LocalIdFilter) {
- QContactLocalIdFilter filt = filter;
- if (!filt.ids().isEmpty()) {
- if (!isMeContact(r->filter())) {
- variable.property<nco::contactUID>().isMemberOf(filt.ids());
- } else {
- variable == nco::default_contact_me::iri();
- }
- } else {
- qWarning() << Q_FUNC_INFO << "QContactLocalIdFilter idlist is empty";
- return QContactManager::BadArgumentError;
- }
- } else if (filter.type() == QContactFilter::ContactDetailFilter) {
- // this one is tricky as we need to match in contacts or in affiliations
-
- QContactDetailFilter filt = filter;
- if ( QContactPhoneNumber::DefinitionName == filt.detailDefinitionName()
- && QContactPhoneNumber::FieldNumber == filt.detailFieldName()) {
- matchPhoneNumber(variable, filt);
- }
- else if(QContactOnlineAccount::DefinitionName == filt.detailDefinitionName())
- {
- matchOnlineAccount(variable, filt);
- }
- else if (QContactName::DefinitionName == filt.detailDefinitionName()) {
- matchName(variable, filt);
- }
- else if (filt.matchFlags() == Qt::MatchExactly) {
- if (QContactEmailAddress::DefinitionName == filt.detailDefinitionName()
- && QContactEmailAddress::FieldEmailAddress == filt.detailFieldName()) {
- RDFVariable rdfEmailAddress;
- rdfEmailAddress = variable.property<nco::hasEmailAddress>();
- rdfEmailAddress.property<nco::emailAddress>() = LiteralValue(filt.value().toString());
- } else {
- qWarning() << __PRETTY_FUNCTION__ << "QContactTrackerEngine: Unsupported QContactFilter::ContactDetail"
- << filt.detailDefinitionName();
- return QContactManager::NotSupportedError;
- }
- }
- }
- else if (filter.type() == QContactFilter::ContactDetailRangeFilter)
- {
- return applyDetailRangeFilterToContact(variable, filter);
- }
- else if (filter.type() == QContactFilter::ChangeLogFilter) {
- const QContactChangeLogFilter& clFilter = static_cast<const QContactChangeLogFilter&>(filter);
- // do not return facebook and telepathy contacts here
- // it is a temp implementation for the what to offer to synchronization constraint
- variable.property<nao::hasTag>().property<nao::prefLabel>() = LiteralValue("addressbook");
-
- if (clFilter.eventType() == QContactChangeLogFilter::EventRemoved) { // Removed since
- qWarning() << "QContactTrackerEngine: Unsupported QContactChangeLogFilter::Removed (contacts removed since)";
- return QContactManager::NotSupportedError;
- } else if (clFilter.eventType() == QContactChangeLogFilter::EventAdded) { // Added since
- variable.property<nie::contentCreated>() >= LiteralValue(clFilter.since().toString(Qt::ISODate));
- } else if (clFilter.eventType() == QContactChangeLogFilter::EventChanged) { // Changed since
- variable.property<nie::contentLastModified>() >= LiteralValue(clFilter.since().toString(Qt::ISODate));
- }
- } else if (filter.type() == QContactFilter::UnionFilter) {
- const QContactUnionFilter unionFilter(filter);
- foreach (const QContactFilter& f, unionFilter.filters()) {
- QContactManager::Error error = applyFilterToContact(variable, f);
- if (QContactManager::NoError != error)
- return error;
- }
- }
- else if(filter.type() == QContactFilter::InvalidFilter || filter.type() == QContactFilter::DefaultFilter)
- return QContactManager::NoError;
- else
- return QContactManager::NotSupportedError;
- return QContactManager::NoError;
-}
-
-//!\sa applyFilterToContact
-QContactManager::Error QTrackerContactFetchRequest::applyDetailRangeFilterToContact(RDFVariable &variable, const QContactFilter &filter)
-{
- Q_ASSERT(filter.type() == QContactFilter::ContactDetailRangeFilter);
- if (filter.type() == QContactFilter::ContactDetailRangeFilter) {
- QContactDetailRangeFilter filt = filter;
- // birthday range
- if (QContactBirthday::DefinitionName == filt.detailDefinitionName()
- && QContactBirthday::FieldBirthday == filt.detailFieldName())
- {
- RDFVariable time = variable.property<nco::birthDate>();
- if (filt.rangeFlags() & QContactDetailRangeFilter::IncludeUpper)
- time <= LiteralValue(filt.maxValue().toDateTime().toString(Qt::ISODate));
- else
- time < LiteralValue(filt.maxValue().toDateTime().toString(Qt::ISODate));
- if (filt.rangeFlags() & QContactDetailRangeFilter::ExcludeLower)
- time > LiteralValue(filt.minValue().toDateTime().toString(Qt::ISODate));
- else
- time >= LiteralValue(filt.minValue().toDateTime().toString(Qt::ISODate));
- return QContactManager::NoError;
- }
- }
- qWarning() << __PRETTY_FUNCTION__ << "Unsupported detail range filter";
- return QContactManager::NotSupportedError;
-}
-
-
-/*
- * To understand why all the following methods have for affiliation param, check nco ontology:
- * every contact has all these properties and also linked to affiliations (also contacts - nco:Role)
- * that again have the same properties. So it was needed to make the same query 2-ce - once for contact
- * and once for affiliations
- */
-RDFSelect preparePhoneNumbersQuery(RDFVariable &rdfcontact1, bool forAffiliations)
-{
- RDFVariable phone;
- if (!forAffiliations)
- phone = rdfcontact1.property<nco::hasPhoneNumber>();
- else
- phone = rdfcontact1.property<nco::hasAffiliation>().property<nco::hasPhoneNumber>();
- RDFVariable type = phone.type();
- type.property<rdfs::subClassOf>().notEqual(nco::ContactMedium::iri()); // sparql cannot handle exact type but returns all super types as junk rows
- type.property<rdfs::subClassOf>().notEqual(rdfs::Resource::iri()); // sparql cannot handle exact type but returns all super types as junk rows
- // therefore we eliminate those rows that are not of interest
- // columns
- RDFSelect queryidsnumbers;
- queryidsnumbers.addColumn("contactId", rdfcontact1.property<nco::contactUID> ());
- queryidsnumbers.addColumn("phoneno", phone.property<nco::phoneNumber> ());
- queryidsnumbers.addColumn("type", type);
- queryidsnumbers.distinct();
- return queryidsnumbers;
-}
-
-RDFSelect prepareEmailAddressesQuery(RDFVariable &rdfcontact1, bool forAffiliations)
-{
- RDFVariable email;
- if (!forAffiliations)
- email = rdfcontact1.property<nco::hasEmailAddress>();
- else
- email = rdfcontact1.property<nco::hasAffiliation>().property<nco::hasEmailAddress>();
- const RDFVariable& type = email.type();
- type.property<rdfs::subClassOf>().notEqual(nco::Resource::iri()); // sparql cannot handle exact type but returns all super types as junk rows
- // therefore we eliminate those rows that are not of interest
- // columns
- RDFSelect queryidsnumbers;
- queryidsnumbers.addColumn("contactId", rdfcontact1.property<nco::contactUID> ());
- queryidsnumbers.addColumn("emailaddress", email.property<nco::emailAddress> ());
- rdfcontact1.property<nco::hasEmailAddress> ().isOfType( nco::EmailAddress::iri(), true);
- queryidsnumbers.addColumn("type", type);
- queryidsnumbers.distinct();
- return queryidsnumbers;
-}
-
-
-/*!
- * \a contact here describes rdf graph - when making query, depending on filters applied
- * to \a contact, query results to any set of contacts
- */
-RDFSelect prepareIMAddressesQuery(RDFVariable &contact)
-{
- RDFSelect queryidsimacccounts;
- // this establishes query graph relationship: imaddress that we want is a property in contact
- RDFVariable imaddress = contact.property<nco::hasIMAddress>();
- contact != nco::default_contact_me::iri();
-
- // in the query, we need to get imaccount where this imaddress resides.
- // i.e. from which local account we have established connection to imaddress
- RDFVariable imaccount = RDFVariable::fromType<nco::IMAccount>();
- // define link between imaccount to imaddress.
- imaccount.property<nco::hasIMContact>() = imaddress;
-
- queryidsimacccounts.addColumn("imaddress", imaddress);
- queryidsimacccounts.addColumn("contactId", contact.property<nco::contactUID> ());
- queryidsimacccounts.groupBy(imaddress);
- queryidsimacccounts.addColumn("IMId", imaddress.property<nco::imID> ());
- queryidsimacccounts.addColumn("status", imaddress.optional().property<nco::imPresence> ());
- queryidsimacccounts.addColumn("message", imaddress.optional().property<nco::imStatusMessage> ());
- queryidsimacccounts.addColumn("nick", imaddress.optional().property<nco::imNickname> ());
- queryidsimacccounts.addColumn("type", imaccount); // account path
- queryidsimacccounts.addColumn("capabilities",
- imaddress.optional().property<nco::imCapability>().filter("GROUP_CONCAT", LiteralValue(",")));
- queryidsimacccounts.addColumn("serviceprovider", imaccount.property<nco::imDisplayName>());
- return queryidsimacccounts;
-}
-
-RDFSelect prepareIMAccountsQuery(RDFVariable &contact)
-{
- RDFVariable imAccount;
- imAccount = RDFVariable::fromType<nco::IMAccount>();
- RDFSelect queryidsimaccounts;
-
- RDFVariable address = imAccount.property<nco::imAccountAddress>();
- queryidsimaccounts.addColumn("uri", contact);
- queryidsimaccounts.addColumn("presence", address.property<nco::imPresence>());
- queryidsimaccounts.addColumn("message", address.property<nco::imStatusMessage>());
- queryidsimaccounts.addColumn("nick", address.property<nco::imNickname>());
- queryidsimaccounts.addColumn("distinct ", address.property<nco::imID>());
- queryidsimaccounts.addColumn("address_uri", address);
- queryidsimaccounts.addColumn("photo",address.optional().property<nco::imAvatar>());
-
- return queryidsimaccounts;
-}
-
-
-QTrackerContactAsyncRequest::QTrackerContactAsyncRequest(QContactAbstractRequest* request)
-: req(request)
-{
-}
-
-const QString rdfPhoneType2QContactSubtype(const QString rdfPhoneType)
-{
- if( rdfPhoneType.endsWith("VoicePhoneNumber") )
- return QContactPhoneNumber::SubTypeVoice;
- else if ( rdfPhoneType.endsWith("CarPhoneNumber") )
- return QContactPhoneNumber::SubTypeCar;
- else if ( rdfPhoneType.endsWith("CellPhoneNumber") )
- return QContactPhoneNumber::SubTypeMobile;
- else if ( rdfPhoneType.endsWith("BbsPhoneNumber") )
- return QContactPhoneNumber::SubTypeBulletinBoardSystem;
- else if ( rdfPhoneType.endsWith("FaxNumber") )
- return QContactPhoneNumber::SubTypeFax;
- else if ( rdfPhoneType.endsWith("ModemNumber") )
- return QContactPhoneNumber::SubTypeModem;
- else if ( rdfPhoneType.endsWith("PagerNumber") )
- return QContactPhoneNumber::SubTypePager;
- else if ( rdfPhoneType.endsWith("MessagingNumber") )
- return QContactPhoneNumber::SubTypeMessagingCapable;
- else
- qWarning() << Q_FUNC_INFO << "Not handled phone number type:" << rdfPhoneType;
- return "";
-}
-
-QTrackerContactAsyncRequest::~QTrackerContactAsyncRequest()
-{
-
-}
-
-/*!
- * The method was initially created to add default fields in case client did not supply
- * fields constraint - in that case the constraint is that default contact fields (ones
- * being edited in contact card and synchronized) are queried.
- */
-void QTrackerContactFetchRequest::validateRequest()
-{
- Q_ASSERT(req);
- Q_ASSERT(req->type() == QContactAbstractRequest::ContactFetchRequest);
- QContactFetchRequest* r = qobject_cast<QContactFetchRequest*> (req);
- QContactFetchHint fetchHint = r->fetchHint();
- if (r && fetchHint.detailDefinitionsHint().isEmpty()) {
- QStringList definitionNames;
- definitionNames << QContactAvatar::DefinitionName
- << QContactBirthday::DefinitionName
- << QContactAddress::DefinitionName
- << QContactEmailAddress::DefinitionName
- << QContactGender::DefinitionName
- << QContactAnniversary::DefinitionName
- << QContactName::DefinitionName
- << QContactOnlineAccount::DefinitionName
- << QContactOrganization::DefinitionName
- << QContactPhoneNumber::DefinitionName
- << QContactUrl::DefinitionName;
- fetchHint.setDetailDefinitionsHint(definitionNames);
- r->setFetchHint(fetchHint);
- }
-}
-
-QTrackerContactFetchRequest::QTrackerContactFetchRequest(QContactAbstractRequest* request,
- QContactManagerEngine* parent) :
- QObject(parent),QTrackerContactAsyncRequest(request),
- queryPhoneNumbersNodesPending(0),
- queryEmailAddressNodesPending(0)
-{
- Q_ASSERT(parent);
- Q_ASSERT(request);
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::ActiveState);
-
- QTimer::singleShot(0, this, SLOT(run()));
-}
-
-void QTrackerContactFetchRequest::run()
-{
- validateRequest();
- QContactFetchRequest* r = qobject_cast<QContactFetchRequest*> (req);
- QContactFetchHint fetchHint = r->fetchHint();
- QStringList definitionNames = fetchHint.detailDefinitionsHint();
-
- RDFVariable RDFContact = RDFVariable::fromType<nco::PersonContact>();
- QContactManager::Error error = applyFilterToContact(RDFContact, r->filter());
- if (error != QContactManager::NoError)
- {
- emitFinished(error);
- return;
- }
- if (definitionNames.contains(QContactPhoneNumber::DefinitionName)) {
- queryPhoneNumbersNodes.clear();
- queryPhoneNumbersNodesPending = 2;
- for(int forAffiliations = 0; forAffiliations <= 1; forAffiliations++) {
- // prepare query to get all phone numbers
- RDFVariable rdfcontact1 = RDFVariable::fromType<nco::PersonContact>();
- applyFilterToContact(rdfcontact1, r->filter());
- // criteria - only those with phone numbers
- RDFSelect queryidsnumbers = preparePhoneNumbersQuery(rdfcontact1, forAffiliations);
- queryPhoneNumbersNodes << ::tracker()->modelQuery(queryidsnumbers);
- // need to store LiveNodes in order to receive notification from model
- QObject::connect(queryPhoneNumbersNodes[forAffiliations].model(),
- SIGNAL(modelUpdated()), this, SLOT(phoneNumbersReady()));
- }
- }
-
- if (definitionNames.contains(QContactEmailAddress::DefinitionName)) {
- queryEmailAddressNodes.clear();
- queryEmailAddressNodesPending = 2;
- for(int forAffiliations = 0; forAffiliations <= 1; forAffiliations++) {
- // prepare query to get all email addresses
- RDFVariable rdfcontact1 = RDFVariable::fromType<nco::PersonContact>();
- applyFilterToContact(rdfcontact1, r->filter());
- // criteria - only those with email addresses
- RDFSelect queryidsnumbers = prepareEmailAddressesQuery(rdfcontact1,forAffiliations);
- queryEmailAddressNodes << ::tracker()->modelQuery(queryidsnumbers);
- // need to store LiveNodes in order to receive notification from model
- QObject::connect(queryEmailAddressNodes[forAffiliations].model(),
- SIGNAL(modelUpdated()), this, SLOT(emailAddressesReady()));
- }
- }
-
- if (definitionNames.contains( QContactOnlineAccount::DefinitionName)) {
- queryIMAccountNodesPending = 1;
-
- RDFSelect queryidsimaccounts;
- if(isMeContact(r->filter())) {
- // Prepare a query to get all IMAccounts
- RDFVariable meContact = RDFVariable::fromInstance<nco::default_contact_me>();
- queryidsimaccounts = prepareIMAccountsQuery(meContact);
- } else {
- RDFVariable rdfIMContact;
- rdfIMContact = rdfIMContact.fromType<nco::PersonContact> ();
- applyFilterToContact(rdfIMContact, r->filter());
- queryidsimaccounts = prepareIMAddressesQuery(rdfIMContact);
- }
- queryIMAccountNodes = ::tracker()->modelQuery(queryidsimaccounts);
- QObject::connect(queryIMAccountNodes.model(),
- SIGNAL(modelUpdated()), SLOT(iMAcountsReady()));
- }
-
- QList<QContactLocalId> ids;
- RDFVariable RDFContact1 = RDFVariable::fromType<nco::PersonContact>();
- applyFilterToContact(RDFContact1, r->filter());
- RDFSelect quer;
- RDFVariable prefix = RDFContact1.optional().property<nco::nameHonorificPrefix> ();
- RDFVariable lastname = RDFContact1.optional().property<nco::nameFamily> ();
- RDFVariable middlename = RDFContact1.optional().property<nco::nameAdditional> ();
- RDFVariable firstname = RDFContact1.optional().property<nco::nameGiven> ();
- RDFVariable nickname = RDFContact1.optional().property<nco::nickname> ();
- quer.addColumn("contactId", RDFContact1.optional().property<nco::contactUID> ());
- quer.addColumn("prefix", prefix);
- quer.addColumn("firstname", firstname);
- quer.addColumn("middlename", middlename);
- quer.addColumn("secondname", lastname);
- quer.addColumn("photo", RDFContact1.optional().property<nco::photo> ());
- quer.addColumn("nickname", nickname);
-
- // for now adding columns to main query. later separate queries
- if (definitionNames.contains(QContactAddress::DefinitionName)) {
- RDFVariable address = RDFContact.optional().property< nco::hasPostalAddress> ();
- quer.addColumn("street",address.optional().property<nco::streetAddress> ());
- quer.addColumn("city", address.optional().property<nco::locality> ());
- quer.addColumn("country", address.optional().property<nco::country> ());
- quer.addColumn("pcode", address.optional().property<nco::postalcode> ());
- quer.addColumn("reg", address.optional().property<nco::region> ());
- }
- if (definitionNames.contains(QContactUrl::DefinitionName)) {
- quer.addColumn("homepage", RDFContact.optional().property<nco::websiteUrl> ());
- quer.addColumn("url", RDFContact.optional().property<nco::url> ());
- quer.addColumn("work_homepage", RDFContact.optional().property<nco::hasAffiliation> ().property<nco::websiteUrl> ());
- quer.addColumn("work_url", RDFContact.optional().property<nco::hasAffiliation> ().property<nco::url> ());
- }
- if (definitionNames.contains(QContactBirthday::DefinitionName)) {
- quer.addColumn("birth",RDFContact.optional().property<nco::birthDate> ());
- }
- if (definitionNames.contains(QContactGender::DefinitionName)) {
- quer.addColumn("gender", RDFContact.optional().property<nco::gender> ());
- }
- if (definitionNames.contains(QContactOrganization::DefinitionName)) {
- RDFVariable rdforg = RDFContact.optional().property<nco::hasAffiliation> ().optional().property<nco::org> ();
- quer.addColumn("org", rdforg.optional().property<nco::fullname> ());
- quer.addColumn("logo", rdforg.optional().property<nco::logo> ());
- }
-
-
- // QContactAnniversary - no such thing in tracker
- // QContactGeolocation - nco:hasLocation is not having class defined in nco yet. no properties. maybe rdfs:Resource:label
-
- // supporting sorting only here, difficult and no requirements in UI for sorting in multivalue details (phones, emails)
- foreach(const QContactSortOrder& sort, r->sorting()) {
- if (sort.detailDefinitionName() == QContactName::DefinitionName) {
- if (sort.detailFieldName() == QContactName::FieldFirstName)
- quer.orderBy(firstname);
- else if (sort.detailFieldName() == QContactName::FieldLastName)
- quer.orderBy(lastname);
- else
- qWarning() << "QTrackerContactFetchRequest" << "sorting by"
- << sort.detailDefinitionName()
- << sort.detailFieldName() << "is not yet supported";
- } else {
- qWarning() << "QTrackerContactFetchRequest" << "sorting by"
- << sort.detailDefinitionName()
- << "is not yet supported";
- }
- }
- query = ::tracker()->modelQuery(quer);
- // need to store LiveNodes in order to receive notification from model
- QObject::connect(query.model(), SIGNAL(modelUpdated()), this, SLOT(contactsReady()));
-}
-
-bool detailExisting(const QString &definitionName, const QContact &contact, const QContactDetail &adetail)
-{
- QList<QContactDetail> details = contact.details(definitionName);
- foreach(const QContactDetail &detail, details) {
- if (detail == adetail) {
- return true;
- }
- }
- return false;
-}
-
-void QTrackerContactFetchRequest::contactsReady()
-{
- // 1) process contacts:
- // 2) process IMAddresses: queryIMAccountNodes
- // 3) process phonenumbers: queryPhoneNumbersNodes
- // 4) process emails: queryPhoneNumbersNodes
- // 5) update display label details
-
- QContactFetchRequest* request = qobject_cast<QContactFetchRequest*> (req);
- Q_ASSERT( request ); // signal is supposed to be used only for contact fetch
- // fastest way to get this working. refactor
- if (!request) {
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::FinishedState);
- return;
- }
-
- QContactManagerEngine *engine = qobject_cast<QContactManagerEngine *>(parent());
- Q_ASSERT(engine);
-
- // 1) process contacts:
- QContactFetchHint fetchHint = request->fetchHint();
- QStringList definitionNames = fetchHint.detailDefinitionsHint();
- for(int i = 0; i < query->rowCount(); i++) {
- bool ok;
- QContactLocalId contactid = query->index(i, 0).data().toUInt(&ok);
-
-
- QContact contact; // one we will be filling with this row
- if (isMeContact(request->filter())) {
- /* Me Contact does not have any cotactUID so assigning 0*/
- if(engine) {
- QContactManager::Error error;
- contactid = engine->selfContactId(&error);
- ok = true;
- }
- }
-
- if (!ok) {
- qWarning()<< Q_FUNC_INFO <<"Invalid contact ID: "<< query->index(i, 0).data().toString();
- continue;
- }
- QContactId id; id.setLocalId(contactid);
-
- if(engine)
- id.setManagerUri(engine->managerUri());
-
- contact.setId(id);
-
- // using redundancy to get less queries to tracker - it is possible
- // that rows are repeating: information for one contact is in several rows
- // that's why we update existing contact and append details to it if they
- // are not already in QContact
- QHash<quint32, int>::const_iterator it = id2ContactLookup.find(contactid);
- //
- int index = result.size(); // where to place new contact
- if (id2ContactLookup.end() != it) {
- if (it.value() < result.size() && it.value() >= 0) {
- index = it.value();
- contact = result[index];
- }
- Q_ASSERT(query->index(i, 0).data().toUInt() == contact.localId());
- }
-
- readFromQueryRowToContact(contact ,i);
- //to prevent me contact getting list in the contact list
- if (!isMeContact(request->filter())) {
- addContactToResultSet(contact);
- }
- }
-
- /*
- * 2) process IMAddresses _ To be replaced with derivedObjects
- */
- if (definitionNames.contains(QContactOnlineAccount::DefinitionName)) {
- processQueryIMContacts(queryIMAccountNodes);
- }
-
- // 3) process phonenumbers: queryPhoneNumbersNodes
- if (definitionNames.contains(QContactPhoneNumber::DefinitionName)) {
- Q_ASSERT(queryPhoneNumbersNodes.size() == 2);
- for( int cnt = 0; cnt < queryPhoneNumbersNodes.size(); cnt++) {
- processQueryPhoneNumbers(queryPhoneNumbersNodes[cnt], cnt);
- }
- }
-
- // 4) process emails: queryPhoneNumbersNodes
- if (definitionNames.contains(QContactEmailAddress::DefinitionName)) {
- Q_ASSERT(queryEmailAddressNodes.size() == 2);
- for (int cnt = 0; cnt < queryEmailAddressNodes.size(); cnt++) {
- processQueryEmailAddresses(queryEmailAddressNodes[cnt], cnt);
- }
- }
-
- // 5) update display labels
- for(int i = 0; i < result.count(); i++)
- {
- QContact &cont(result[i]);
- QContactDisplayLabel dl = cont.detail(QContactDisplayLabel::DefinitionName);
- if (dl.label().isEmpty()) {
- QContactManager::Error synthError;
- QContactManagerEngine::setContactDisplayLabel(&cont, engine->synthesizedDisplayLabel(cont, &synthError));
- }
- }
- emitFinished();
-}
-
-void QTrackerContactFetchRequest::emitFinished(QContactManager::Error error)
-{
- QContactFetchRequest *fetchRequest = qobject_cast<QContactFetchRequest *>(req);
- Q_ASSERT(fetchRequest);
- if(fetchRequest) {
- QContactManagerEngine::updateContactFetchRequest(fetchRequest, result, error, QContactAbstractRequest::FinishedState);
- }
-}
-
-/*!
- * Appending contact to \sa result, id2ContactLookup, of the request - to add it as new or to replace existing in result.
- */
-void QTrackerContactFetchRequest::addContactToResultSet(QContact &contact)
-{
- QHash<quint32, int>::const_iterator it = id2ContactLookup.find(contact.localId());
- int index = -1; // where to place new contact, -1 - not defined
- if (id2ContactLookup.end() != it) {
- if (it.value() < result.size() && it.value() >= 0)
- index = it.value();
- }
- QContact *contact_ = &contact;
- if ( -1 == index ) {
- result.append(*contact_);
- id2ContactLookup[contact_->localId()] = result.size()-1;
- } else {
- result[index] = *contact_;
- id2ContactLookup[contact_->localId()] = index;
- }
-}
-
-/*!
- * brief Processes one query record-row during read from tracker to QContact.
- * Order or columns in query is fixed to order defined in \sa run()
- */
-void QTrackerContactFetchRequest::readFromQueryRowToContact(QContact &contact, int i)
-{
- QContactFetchRequest* request = qobject_cast<QContactFetchRequest*> (req);
- Q_ASSERT( request ); // this is handled already in caller
- if( !request )
- return;
-
- int column = 1; // 0 - for QContactLocalId
- QContactName name = contact.detail(QContactName::DefinitionName);
- name.setPrefix(query->index(i, column++).data().toString());
- name.setFirstName(query->index(i, column++).data().toString());
- name.setMiddleName(query->index(i, column++).data().toString());
- name.setLastName(query->index(i, column++).data().toString());
- contact.saveDetail(&name);
-
- QContactAvatar avatar = contact.detail(QContactAvatar::DefinitionName);
- avatar.setImageUrl(QUrl(query->index(i, column++).data().toString())); // FIXME!!!
- //avatar.setAvatar(query->index(i, column++).data().toString());
- if (!avatar.imageUrl().isValid()) { // FIXME?
- contact.saveDetail(&avatar);
- }
-
- QContactNickname nick = contact.detail(QContactNickname::DefinitionName);
- nick.setNickname(query->index(i, column++).data().toString());
- contact.saveDetail(&nick);
-
- // TODO extract generic from bellow ... mapping field names
- QContactFetchHint fetchHint = request->fetchHint();
- QStringList definitionNames = fetchHint.detailDefinitionsHint();
- if (definitionNames.contains(QContactAddress::DefinitionName)) {
- QString street = query->index(i, column++).data().toString();
- QString loc = query->index(i, column++).data().toString();
- QString country = query->index(i, column++).data().toString();
- QString pcode = query->index(i, column++).data().toString();
- QString region = query->index(i, column++).data().toString();
- if (!(country.isEmpty() && pcode.isEmpty() && region.isEmpty()
- && street.isEmpty() && loc.isEmpty())) {
- // for multivalue fields is a bit tricky - try to find existing an
- QContactAddress a;
- a.setStreet(street);
- a.setLocality(loc);
- a.setCountry(country);
- a.setPostcode(pcode);
- a.setRegion(region);
- if (!detailExisting(QContactAddress::DefinitionName, contact, a)) {
- contact.saveDetail(&a);
- }
- }
- }
- if (definitionNames.contains(QContactUrl::DefinitionName)) {
- // check query preparation (at the moment in constructor TODO refactor)
- // home website
- // if it is websiteUrl then interpret as homepage, if it is nco:url then fovourite url
- QContactUrl url;
- url.setSubType(QContactUrl::SubTypeHomePage);
- url.setContexts(QContactUrl::ContextHome);
- url.setUrl(query->index(i, column++).data().toString());
- if (url.url().isEmpty()) {
- // website url is at the same time url, so we handle duplication here
- // if only url then set it as favourite
- url.setUrl(query->index(i, column++).data().toString());
- url.setSubType(QContactUrl::SubTypeFavourite);
- }
-
- if (!url.url().isEmpty() && !detailExisting(QContactUrl::DefinitionName, contact, url)) {
- contact.saveDetail(&url);
- }
- // office website
- QContactUrl workurl;
- workurl.setContexts(QContactUrl::ContextWork);
- workurl.setSubType(QContactUrl::SubTypeHomePage);
- workurl.setUrl(query->index(i, column++).data().toString());
- if (workurl.url().isEmpty()) {
- workurl.setUrl(query->index(i, column++).data().toString());
- workurl.setSubType(QContactUrl::SubTypeFavourite);
- }
- if (!workurl.url().isEmpty() && !detailExisting(QContactUrl::DefinitionName, contact, workurl)) {
- contact.saveDetail(&workurl);
- }
- }
- if (definitionNames.contains(QContactBirthday::DefinitionName)) {
- QVariant var = query->index(i, column++).data();
- if (!var.toString().isEmpty() /* enable reading wrong && var.toDate().isValid()*/) {
- QContactBirthday birth = contact.detail(QContactBirthday::DefinitionName);
- birth.setDate(var.toDate());
- contact.saveDetail(&birth);
- }
- }
- if (definitionNames.contains(QContactGender::DefinitionName)) {
- QString var = query->index(i, column++).data().toString();
- if (!var.isEmpty()) {
- QContactGender g = contact.detail(QContactGender::DefinitionName);
- g.setGender(var);
- contact.saveDetail(&g);
- }
- }
- if (definitionNames.contains(QContactOrganization::DefinitionName)) {
- QString org = query->index(i, column++).data().toString();
- QString logo = query->index(i, column++).data().toString();
- if (!( org.isEmpty() && logo.isEmpty())) {
- QContactOrganization o;
- o.setName(org);
- o.setLogoUrl(QUrl(logo));
- if (!detailExisting(QContactOrganization::DefinitionName, contact, o)) {
- contact.saveDetail(&o);
- }
- }
- }
-
-}
-
-
-void QTrackerContactFetchRequest::phoneNumbersReady()
-{
- queryPhoneNumbersNodesPending--;
-}
-
-void QTrackerContactFetchRequest::emailAddressesReady()
-{
- queryEmailAddressNodesPending--;
-}
-
-void QTrackerContactFetchRequest::imAcountsReady()
-{
- queryIMAccountNodesPending--;
- // now we know that the query is ready before get all contacts, check how it works with transactions
-}
-
-/*!
- * An internal helper method for converting nco:PhoneNumber subtype to
- * QContactPhoneNumber:: subtype attribute
- */
-void QTrackerContactFetchRequest::processQueryPhoneNumbers(SopranoLive::LiveNodes queryPhoneNumbers,
- bool affiliationNumbers )
-{
- Q_ASSERT_X( queryPhoneNumbersNodesPending==0, Q_FUNC_INFO, "Phonenumbers query was supposed to be ready and it is not." );
- for (int i = 0; i < queryPhoneNumbers->rowCount(); i++) {
- // ignore if next one is the same - asked iridian about making query to ignore supertypes
- // TODO remove after his answer
- if ( i-1 >= 0
- && (queryPhoneNumbers->index(i, 0).data().toString()
- == queryPhoneNumbers->index(i-1, 0).data().toString())
- && (queryPhoneNumbers->index(i, 1).data().toString()
- == queryPhoneNumbers->index(i-1, 1).data().toString())) {
- // this is for ignoring duplicates. bad approach, asked iridian about
- // how to eliminate super types in query results
- continue;
- }
-
- QString subtype = rdfPhoneType2QContactSubtype(queryPhoneNumbers->index(i, 2).data().toString());
- QContactLocalId contactid = queryPhoneNumbers->index(i, 0).data().toUInt();
-
- QHash<quint32, int>::const_iterator it = id2ContactLookup.find(contactid);
- if (it != id2ContactLookup.end() && it.key() == contactid && it.value() >= 0 && it.value() < result.size())
- {
- QContactPhoneNumber number;
- if( affiliationNumbers )
- number.setContexts(QContactPhoneNumber::ContextWork);
- else
- number.setContexts(QContactPhoneNumber::ContextHome);
- number.setNumber(queryPhoneNumbers->index(i, 1).data().toString());
- number.setSubTypes(subtype);
- result[it.value()].saveDetail(&number);
- }
- else
- Q_ASSERT(false);
- }
-}
-
-void QTrackerContactFetchRequest::processQueryEmailAddresses( SopranoLive::LiveNodes queryEmailAddresses,
- bool affiliationEmails)
-{
- Q_ASSERT_X(queryEmailAddressNodesPending == 0, Q_FUNC_INFO, "Email query was supposed to be ready and it is not." );
- for (int i = 0; i < queryEmailAddresses->rowCount(); i++) {
- // ignore if next one is the same - asked iridian about making query to ignore supertypes
- // TODO remove after his answer
- if ( i-1 >= 0
- && (queryEmailAddresses->index(i, 0).data().toString()
- == queryEmailAddresses->index(i-1, 0).data().toString())
- && (queryEmailAddresses->index(i, 1).data().toString()
- == queryEmailAddresses->index(i-1, 1).data().toString())) {
- // this is for ignoring duplicates. bad approach, asked iridian
- // about how to eliminate super types in query results
- continue;
- }
-
- //QString subtype = rdfPhoneType2QContactSubtype(queryEmailAddresses->index(i, 2).data().toString());
- QContactLocalId contactid = queryEmailAddresses->index(i, 0).data().toUInt();
-
- QHash<quint32, int>::const_iterator it = id2ContactLookup.find(contactid);
- if (it != id2ContactLookup.end() && it.key() == contactid && it.value() >= 0 && it.value() < result.size())
- {
- QContactEmailAddress email;
- if (affiliationEmails)
- email.setContexts(QContactEmailAddress::ContextWork);
- else
- email.setContexts(QContactEmailAddress::ContextHome);
- email.setEmailAddress(queryEmailAddresses->index(i, 1).data().toString());
- //email.setSubTypes(subtype);
- result[it.value()].saveDetail(&email);
- }
- else
- Q_ASSERT(false);
- }
-}
-
-
-/*!
- * \brief Processes one query record-row during read from tracker to QContactOnlineAccount.
- * Order or columns in query is fixed to order defined in \sa prepareIMAddressesQuery()
- */
-QContactOnlineAccount QTrackerContactFetchRequest::getOnlineAccountFromIMQuery(LiveNodes imAccountQuery, int queryRow)
-{
- QContactOnlineAccount account;
- QContactFetchRequest* r = qobject_cast<QContactFetchRequest*> (req);
- if(isMeContact(r->filter())) {
- account = getIMAccountFromIMQuery(imAccountQuery, queryRow);
- } else {
- account = getIMContactFromIMQuery(imAccountQuery, queryRow);
- }
- return account;
-}
-
-/*!
- * \brief processes IMQuery results. \sa prepareIMAddressesQuery, contactsReady
- */
-void QTrackerContactFetchRequest::processQueryIMContacts(SopranoLive::LiveNodes queryIMContacts)
-{
- //Q_ASSERT_X(queryEmailAddressNodes == 0, Q_FUNC_INFO, "IMAccount query was supposed to be ready and it is not." );
- QContactFetchRequest* r = qobject_cast<QContactFetchRequest*> (req);
- QContactManagerEngine *engine = qobject_cast<QContactManagerEngine *>(parent());
- Q_ASSERT(engine);
- if (!r || !engine) {
- return;
- }
-
- for (int i = 0; i < queryIMContacts->rowCount(); i++) {
- QContactOnlineAccount account = getOnlineAccountFromIMQuery(queryIMContacts, i);
- QContactLocalId contactid = queryIMContacts->index(i, IMContact::ContactId).data().toUInt();
- // Need special treatment for me contact since the avatar is not working :(
- //
- if (isMeContact(r->filter())) {
- QString avatarURI = queryIMAccountNodes->index(i, IMAccount::ContactAvatar).data().toString();
- QContact meContact;
- QContactLocalId meContactLocalId;
- QContactManager::Error error;
- meContactLocalId = engine->selfContactId(&error);
- QContactId id; id.setLocalId(meContactLocalId);
- meContact.setId(id);
- QContactAvatar avatar = meContact.detail(QContactAvatar::DefinitionName);
- avatar.setImageUrl(QUrl(avatarURI)); // FIXME?
- //nick
-
- QContactNickname qnick = meContact.detail(QContactNickname::DefinitionName);
- QString nick = queryIMAccountNodes->index(i, IMAccount::ContactNickname).data().toString(); // nick
- qnick.setNickname(nick);
-
-
- if (!avatarURI.isEmpty()) {
- meContact.saveDetail(&account);
- meContact.saveDetail(&avatar);
- meContact.saveDetail(&qnick);
- addContactToResultSet(meContact);
- }
- }
-
- QHash<quint32, int>::const_iterator it = id2ContactLookup.find(contactid);
- if (it != id2ContactLookup.end() && it.key() == contactid && it.value() >= 0 && it.value() < result.size())
- {
- result[it.value()].saveDetail(&account);
- }
- }
-}
-
-bool QTrackerContactFetchRequest::isMeContact(const QContactFilter &filter) {
- if (filter.type() == QContactFilter::LocalIdFilter) {
- QContactManagerEngine *engine = dynamic_cast<QContactManagerEngine*>(parent());
- if(!engine) {
- qWarning() << __PRETTY_FUNCTION__ << ": Could not get QContactManager. Cannot retrieve IMAccounts for me-contact.";
- return false;
- }
-
- QContactManager::Error e;
- QContactLocalId selfId = engine->selfContactId(&e);
- QContactLocalIdFilter filt = filter;
- if (filt.ids().contains(selfId)) {
- return true;
- }
- }
- return false;
-}
-
-
-QContactOnlineAccount QTrackerContactFetchRequest::getIMAccountFromIMQuery(LiveNodes imAccountQuery, int queryRow) {
- QContactOnlineAccount account;
-
- // Custom value in QContactrOnlineAccount detail to store the account path to - to determine in My Profile to ignore the ring-account.
- account.setValue("Account", imAccountQuery->index(queryRow, IMAccount::ContactIMId).data().toString()); // IMId
- // the same is supposed to be in FieldAccountUri field
- account.setValue(QContactOnlineAccount::FieldAccountUri, imAccountQuery->index(queryRow, IMAccount::ContactIMId).data().toString()); // IMId
-
- // XXX FIXME -- TODO VIA PRESENCE
- //account.setNickname(imAccountQuery->index(queryRow, IMAccount::ContactNickname).data().toString()); // nick
- //qDebug() << Q_FUNC_INFO << imAccountQuery->index(queryRow, IMAccount::ContactNickname).data().toString();
-
- //QString presence = imAccountQuery->index(queryRow, IMAccount::ContactPresence).data().toString(); // imPresence iri
- //presence = presence.right(presence.length() - presence.lastIndexOf("presence-status"));
- //account.setPresence(presenceConversion[presence]);
- //qDebug() << Q_FUNC_INFO << "Presence converted: " << account.presence() << "raw presence: " << presence;
-
- //account.setStatusMessage(imAccountQuery->index(queryRow, IMAccount::ContactMessage).data().toString()); // imStatusMessage
-
- return account;
-}
-
-QContactOnlineAccount QTrackerContactFetchRequest::getIMContactFromIMQuery(LiveNodes imContactQuery, int queryRow) {
- QContactOnlineAccount account;
-
- account.setValue("Account", imContactQuery->index(queryRow, IMContact::ContactIMId).data().toString()); // IMId
- if (!imContactQuery->index(queryRow, IMContact::AccountType).data().toString().isEmpty()) {
- QString accountPathURI = imContactQuery->index(queryRow, IMContact::AccountType).data().toString();
- QStringList decoded = accountPathURI.split(":");
- // taking out the prefix "telepathy:"
- account.setValue(FieldAccountPath, decoded.value(1));
- }
-
-
- // XXX FIXME -- TODO VIA PRESENCE
- //account.setNickname(imContactQuery->index(queryRow, IMContact::ContactNickname).data().toString()); // nick
-
- QString cap = imContactQuery->index(queryRow, IMContact::Capabilities).data().toString();
- cap = cap.right(cap.length() - cap.lastIndexOf("im-capability"));
- account.setValue(QContactOnlineAccount::FieldCapabilities, cap);
-
- // XXX FIXME -- TODO VIA PRESENCE
- //QString presence = imContactQuery->index(queryRow, IMContact::ContactPresence).data().toString(); // imPresence iri
- //presence = presence.right(presence.length() - presence.lastIndexOf("presence-status"));
- //account.setPresence(presenceConversion[presence]);
- //
- //account.setStatusMessage(imContactQuery->index(queryRow, IMContact::ContactMessage).data().toString()); // imStatusMessage
-
- account.setServiceProvider(imContactQuery->index(queryRow, IMContact::ServiceProvider).data().toString()); // service name
- return account;
-}
-
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.h b/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.h
deleted file mode 100644
index fe56a5ec64..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactfetchrequest.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERCONTACTFETCHREQUEST_H_
-#define QTRACKERCONTACTFETCHREQUEST_H_
-
-#include "qtrackercontactasyncrequest.h"
-
-#include <qmobilityglobal.h>
-#include <qcontactonlineaccount.h>
-#include <qcontactmanager.h>
-
-#include <QtTracker/Tracker>
-#include <QtTracker/QLive>
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-class QContactManagerEngine;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-namespace IMAccount {
- enum IMResultColumn {
- URI = 0,
- ContactPresence,
- ContactMessage,
- ContactNickname,
- ContactDisplayname,
- ContactIMId,
- ContactAvatar
- };
-};
-
-namespace IMContact {
- enum IMResultColumn {
- URI,
- ContactId,
- ContactIMId,
- ContactPresence,
- ContactMessage,
- ContactNickname,
- AccountType,
- Capabilities,
- ServiceProvider
- };
-};
-
-/*!
- * Running QContactFetchRequest. Doing the async tracker query and when data is ready setting the
- * finished status of request. \sa QTrackerContactFetchRequest
- */
-class QTrackerContactFetchRequest : public QObject, public QTrackerContactAsyncRequest
-{
- Q_OBJECT
-// Q_ENUMS(IMResultColumn)
-public:
- QTrackerContactFetchRequest(QContactAbstractRequest* req, QContactManagerEngine* parent);
-public slots:
- void contactsReady();
- void phoneNumbersReady();
- void emailAddressesReady();
- void imAcountsReady();
-
-protected slots:
- virtual void run();
- virtual void emitFinished(QContactManager::Error error = QContactManager::NoError);
-
-protected:
- QContactManager::Error applyFilterToContact(SopranoLive::RDFVariable &variable, const QContactFilter &filter);
- QContactManager::Error applyDetailRangeFilterToContact(SopranoLive::RDFVariable &variable, const QContactFilter &filter);
-
- // contacts query
- SopranoLive::LiveNodes query;
-
- QList<SopranoLive::LiveNodes> queryPhoneNumbersNodes; // 2 - one for affiliations and another one for PersonContact
- int queryPhoneNumbersNodesPending;
- QList<SopranoLive::LiveNodes> queryEmailAddressNodes; // 2 - one for affiliations and another one for PersonContact
- int queryEmailAddressNodesPending;
- SopranoLive::LiveNodes queryIMAccountNodes;
- int queryIMAccountNodesPending;
-
- // result of the request - multiple queries updating it
- QList<QContact> result;
-
-private:
- bool isMeContact(const QContactFilter &filter);
- // fills received phone number from tracker to list of contacts to QContactPhoneMumber details
- // all the following methods update \sa result
- void processQueryPhoneNumbers(SopranoLive::LiveNodes queryPhoneNumbers, bool affiliationNumbers);
- void processQueryEmailAddresses(SopranoLive::LiveNodes queryEmailAddresses, bool affiliationEmails);
- void processQueryIMContacts(SopranoLive::LiveNodes queryIMContacts);
- void validateRequest();
- void readFromQueryRowToContact(QContact &contact, int queryRow);
- void addContactToResultSet(QContact &contact);
- QContactOnlineAccount getOnlineAccountFromIMQuery(SopranoLive::LiveNodes imAccountQuery, int queryRow);
- QContactOnlineAccount getIMAccountFromIMQuery(SopranoLive::LiveNodes imAccountQuery, int queryRow) ;
- QContactOnlineAccount getIMContactFromIMQuery(SopranoLive::LiveNodes imAccountQuery, int queryRow);
-
- // access existing contacts in result list, contactid to index in \sa result lookup
- QHash<quint32, int> id2ContactLookup;
-};
-
-#endif /* QTRACKERCONTACTFETCHREQUEST_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.cpp b/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.cpp
deleted file mode 100644
index 1580248fc7..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qtrackercontactidfetchrequest.h>
-
-#include <qtcontacts.h>
-#include <qcontactlocalidfetchrequest.h>
-#include <qcontactfetchrequest.h>
-
-/*!
- * Run QContactFetchRequest instead of QContactLocalIdFetchRequest
- */
-QTrackerContactIdFetchRequest::QTrackerContactIdFetchRequest(QContactAbstractRequest* request,
- QContactManagerEngine* parent) :
- QTrackerContactFetchRequest(request, parent)
-{
-
- idfetchrequest = qobject_cast<QContactLocalIdFetchRequest*>(request);
- // replace req with QContactFetchRequest that will be run instead
- req = new QContactFetchRequest();
- req->setManager(request->manager());
- QContactFetchRequest *fetchReq = qobject_cast<QContactFetchRequest*>(req);
- if( fetchReq && idfetchrequest)
- {
- fetchReq->setFilter(idfetchrequest->filter());
- // IMContacts needs to be fetched to use metacontact matching
- QContactFetchHint fetchHint;
- fetchHint.setDetailDefinitionsHint(QStringList() << QContactOnlineAccount::DefinitionName);
- fetchReq->setFetchHint(fetchHint);
- }
-}
-
-void QTrackerContactIdFetchRequest::emitFinished(QContactManager::Error error)
-{
- // for now this only serves get all contacts
- QList<QContactLocalId> results;
- foreach(const QContact &c, result) {
- results << c.localId();
- }
- QContactManagerEngine::updateContactLocalIdFetchRequest(idfetchrequest, results, error, QContactAbstractRequest::FinishedState);
-}
-
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.h b/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.h
deleted file mode 100644
index 9e583acdc8..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactidfetchrequest.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERCONTACTIDFETCHREQUEST_H_
-#define QTRACKERCONTACTIDFETCHREQUEST_H_
-
-#include <qtrackercontactfetchrequest.h>
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-class QContactManagerEngine;
-class QContactLocalIdFetchRequest;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-/*!
- * Running QContactLocalIdFetchRequest. Doing the async tracker query and when data is ready setting the
- * finished status of request. \sa QTrackerContactIdFetchRequest
- */
-class QTrackerContactIdFetchRequest : public QTrackerContactFetchRequest
-{
- Q_OBJECT
-public:
- QTrackerContactIdFetchRequest(QContactAbstractRequest* req, QContactManagerEngine* parent);
-protected slots:
- //!\ reimp
- void emitFinished(QContactManager::Error error = QContactManager::NoError);
-private:
- QContactLocalIdFetchRequest *idfetchrequest;
-};
-
-
-#endif /* QTRACKERCONTACTIDFETCHREQUEST_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.cpp b/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.cpp
deleted file mode 100644
index 1a582615a6..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.cpp
+++ /dev/null
@@ -1,540 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtrackercontactsaverequest.h"
-#include "trackerchangelistener.h"
-
-#include <QtTracker/Tracker>
-using namespace SopranoLive;
-
-#include "qtrackercontactslive.h"
-
-// TODO better error handling when saving
-QTrackerContactSaveRequest::QTrackerContactSaveRequest(QContactAbstractRequest* req, QContactManagerEngine* parent)
-: QObject(parent), QTrackerContactAsyncRequest(req), errorCount(0)
-{
- Q_ASSERT(req);
- Q_ASSERT(req->type() == QContactAbstractRequest::ContactSaveRequest);
- Q_ASSERT(parent);
-
- QContactSaveRequest* r = qobject_cast<QContactSaveRequest*>(req);
- if (!r) {
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::FinishedState);
- return;
- }
-
- QList<QContact> contacts = r->contacts();
-
- if(contacts.isEmpty()) {
- QMap<int, QContactManager::Error> errors;
- errors[0] = QContactManager::BadArgumentError;
- QContactSaveRequest* saveRequest = qobject_cast<QContactSaveRequest*>(req);
- QContactManagerEngine::updateContactSaveRequest(saveRequest, contacts, QContactManager::BadArgumentError, errors, r->state());
- return;
- }
-
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::ActiveState);
-
- TrackerChangeListener *changeListener = new TrackerChangeListener(parent, this);
- connect(changeListener, SIGNAL(contactsChanged(const QList<QContactLocalId> &)),SLOT(onTrackerSignal(const QList<QContactLocalId> &)));
- connect(changeListener, SIGNAL(contactsAdded(const QList<QContactLocalId> &)),SLOT(onTrackerSignal(const QList<QContactLocalId> &)));
-
- // Save contacts with batch size
- /// @todo where to get reasonable batch size
- int batchSize = 100;
- for (int i = 0; i < contacts.size(); i+=batchSize) {
- saveContacts(contacts.mid(i, batchSize));
- }
-}
-
-void QTrackerContactSaveRequest::onTrackerSignal(const QList<QContactLocalId> &ids)
-{
- computeProgress(ids);
-}
-
-void QTrackerContactSaveRequest::computeProgress(const QList<QContactLocalId> &addedIds)
-{
- Q_ASSERT(req->type() == QContactAbstractRequest::ContactSaveRequest);
- QContactSaveRequest* r = qobject_cast<QContactSaveRequest*>(req);
- if (!r) {
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::FinishedState);
- return;
- }
-
- foreach (QContactLocalId id, addedIds) {
- pendingContactIds.remove(id);
- // since if was OK, remove entry for error
- errorsOfContactsFinished.remove(id2Index[id]);
- }
-
- if (pendingContactIds.count() == 0) {
- // compute master error - part of qtcontacts api
- QContactManager::Error error = QContactManager::NoError;
-
- foreach(QContactManager::Error err, errorsOfContactsFinished.values()) {
- if( QContactManager::NoError != err )
- {
- error = err;
- break;
- }
- }
-
- QContactManagerEngine::updateContactSaveRequest(r, contactsFinished, error, errorsOfContactsFinished, QContactAbstractRequest::FinishedState);
- }
-}
-
-void QTrackerContactSaveRequest::saveContacts(const QList<QContact> &contacts)
-{
- QContactManagerEngine *engine = qobject_cast<QContactManagerEngine *> (parent());
- Q_ASSERT(engine);
-
- QSettings definitions(QSettings::IniFormat, QSettings::UserScope, "Nokia", "Trackerplugin");
- QTrackerContactsLive cLive;
- RDFServicePtr service = cLive.service();
-
- foreach(QContact contact, contacts) {
-/*
- Validation is disabled because it blocks saving contacts parsed from vcards
- TODO left the commented code while opaque (custom) details are under discussion as remainder
- QContactManager::Error error;
- if(!engine->validateContact(contact, error)) {
- contactsFinished << contact;
- errorsOfContactsFinished[errorCount++] = error;
- computeProgress(QList<QContactLocalId>());
- continue;
- }
-*/
- Live<nco::PersonContact> ncoContact;
- bool newContact = false;
-
- if(contact.localId() == 0) {
- // Save new contact. compute ID
- bool ok;
- // what if both processes read in the same time and write at the same time, no increment
- unsigned int m_lastUsedId = definitions.value("nextAvailableContactId", "1").toUInt(&ok);
- definitions.setValue("nextAvailableContactId", QString::number(++m_lastUsedId));
-
- ncoContact = service->liveNode(QUrl("contact:"+(QString::number(m_lastUsedId))));
- QContactId id;
- id.setLocalId(m_lastUsedId);
- id.setManagerUri(engine->managerUri());
- contact.setId(id);
- ncoContact->setContactUID(QString::number(m_lastUsedId));
- ncoContact->setContentCreated(QDateTime::currentDateTime());
- newContact = true;
- } else {
- ncoContact = service->liveNode(QUrl("contact:"+QString::number(contact.localId())));
- /// @note Following needed in case we save new contact with given localId
- ncoContact->setContactUID(QString::number(contact.localId()));
- ncoContact->setContentLastModified(QDateTime::currentDateTime());
- }
- pendingContactIds.insert(contact.localId());
-
- // if there are work related details, need to be saved to Affiliation.
- if( QTrackerContactSaveRequest::contactHasWorkRelatedDetails(contact)) {
- addAffiliation(service, contact.localId());
- }
-
- // Add a special tag for contact added from addressbook, not from fb, telepathy etc.
- // this is important when returning contacts to sync team
- RDFVariable rdfContact = RDFVariable::fromType<nco::PersonContact>();
- rdfContact.property<nco::contactUID>() = LiteralValue(QString::number(contact.localId()));
- addTag(service, rdfContact, "addressbook");
-
- saveContactDetails( service, ncoContact, contact, newContact);
-
- // name & nickname - different way from other details
- cLive.setLiveContact(ncoContact);
- cLive.setQContact(contact);
- if( !contact.detail<QContactName>().isEmpty() || !contact.detail<QContactNickname>().isEmpty() ) {
- cLive.saveName();
- }
-
- contactsFinished << contact;
- id2Index[contact.localId()] = errorCount;
- // we fill error here - once response come that everything is OK, remove entry for this contact
- errorsOfContactsFinished[errorCount++] = QContactManager::BadArgumentError;
- }
- // remember to commit the transaction, otherwise all changes will be rolled back.
- cLive.commit();
-}
-
-
-QTrackerContactSaveRequest::~QTrackerContactSaveRequest()
-{
- // TODO Auto-generated destructor stub
-}
-
-/*!
-* Saving has to go in such way that all names are saved at once, all phone numbers together
-* filled to rdfupdate query etc.
-* This method goes through the contact and collect which contact detail definitions are there
-*/
-QStringList QTrackerContactSaveRequest::detailsDefinitionsInContact(const QContact &c)
-{
- QStringList definitions;
- foreach(const QContactDetail& det, c.details())
- {
- definitions << det.definitionName();
- }
- definitions.removeDuplicates();
- return definitions;
-}
-
-//! Just moving this code out of saveContact to make it shorter
-bool QTrackerContactSaveRequest::contactHasWorkRelatedDetails(const QContact &c)
-{
- foreach(const QContactDetail& det, c.details())
- {
- if( det.contexts().contains(QContactDetail::ContextWork))
- return true;
- }
- return false;
-}
-
-// create nco::Affiliation if there is not one already in tracker
-void QTrackerContactSaveRequest::addAffiliation(RDFServicePtr service, QContactLocalId contactId)
-{
- Live<nco::PersonContact> ncoContact = service->liveNode(QUrl("contact:"+(QString::number(contactId))));
- Live<nco::Affiliation> ncoAffiliation = service->liveNode(QUrl("affiliation:"+(QString::number(contactId))));
- ncoContact->setHasAffiliation(ncoAffiliation);
-}
-
-void QTrackerContactSaveRequest::saveContactDetails( RDFServicePtr service,
- Live<nco::PersonContact>& ncoContact,
- const QContact& contact,
- bool newContact)
-{
- QStringList detailDefinitionsToSave = detailsDefinitionsInContact(contact);
-
- // all the rest might need to save to PersonContact and to Affiliation contact
- RDFVariable rdfPerson = RDFVariable::fromType<nco::PersonContact>();
- rdfPerson.property<nco::contactUID>() = LiteralValue(QString::number(contact.localId()));
-
- if(not newContact) {
- // Delete all existing phone numbers - office and home
- deletePhoneNumbers(service, rdfPerson);
- }
-
- foreach(QString definition, detailDefinitionsToSave)
- {
- QList<QContactDetail> details = contact.details(definition);
- Q_ASSERT(!details.isEmpty());
-
- RDFVariable rdfAffiliation;
- RDFVariable rdfPerson1;
- rdfPerson1.property<nco::hasAffiliation>() = rdfAffiliation;
- rdfPerson1.property<nco::contactUID>() = LiteralValue(QString::number(contact.localId()));
-
- QList<QContactDetail> workDetails;
- QList<QContactDetail> homeDetails;
- foreach(const QContactDetail& det, details) {
- // details can be for both contexts, so check for both seperately
- if( det.contexts().contains(QContactDetail::ContextWork) ) {
- workDetails << det;
- }
- if( det.contexts().contains(QContactDetail::ContextHome)) {
- homeDetails << det;
- }
- if( !det.contexts().contains(QContactDetail::ContextHome)
- && !det.contexts().contains(QContactDetail::ContextWork)) {
- homeDetails << det;
- }
- }
-
- /* Save details */
- if(definition == QContactPhoneNumber::DefinitionName) {
- if (!homeDetails.isEmpty()) {
- savePhoneNumbers(service, rdfPerson, homeDetails, newContact);
- }
- if( !workDetails.isEmpty()) {
- savePhoneNumbers(service, rdfAffiliation, workDetails, newContact);
- }
- }
- else if(definition == QContactEmailAddress::DefinitionName) {
- if (!homeDetails.isEmpty())
- saveEmails(service, rdfPerson, homeDetails, newContact);
- if( !workDetails.isEmpty())
- saveEmails(service, rdfAffiliation, workDetails, newContact);
- }
- else if(definition == QContactAddress::DefinitionName) {
- if (!homeDetails.isEmpty())
- saveAddresses(service, rdfPerson, homeDetails, newContact);
- if( !workDetails.isEmpty())
- saveAddresses(service, rdfAffiliation, workDetails, newContact);
- }
- else if(definition == QContactUrl::DefinitionName) {
- if (!homeDetails.isEmpty())
- saveUrls(service, rdfPerson, homeDetails, newContact);
- if( !workDetails.isEmpty())
- saveUrls(service, rdfAffiliation, workDetails, newContact);
- }
- else {
- // TODO refactor (bug: editing photo doesn't work)
- foreach(const QContactDetail &det, details )
- {
- definition = det.definitionName();
- if(definition == QContactAvatar::DefinitionName) {
- QUrl avatar = det.value(QContactAvatar::FieldImageUrl);
- Live<nie::DataObject> fdo = service->liveNode( avatar );
- ncoContact->setPhoto(fdo);
- }
- if(definition == QContactBirthday::DefinitionName) {
- ncoContact->setBirthDate(QDateTime(det.variantValue(QContactBirthday::FieldBirthday).toDate(), QTime(), Qt::UTC));
- }
- } // end foreach detail
- }
- }
-}
-
-// Remove all existing references to phone numbers from the contact so that edits are
-// reflected to Tracker correctly.
-// Delete the references to phone numbers - not the numbers themselves as they remain in tracker
-// with their canonical URI form - might be linked to history.
-void QTrackerContactSaveRequest::deletePhoneNumbers(RDFServicePtr service, const RDFVariable& rdfContactIn)
-{
- {
- RDFUpdate up;
- RDFVariable rdfContact = rdfContactIn.deepCopy();
- up.addDeletion(rdfContact, nco::hasPhoneNumber::iri(), rdfContact.property<nco::hasPhoneNumber>());
- service->executeQuery(up);
- }
-
- // affiliation
- {
- RDFUpdate up;
- RDFVariable rdfContact = rdfContactIn.deepCopy().property<nco::hasAffiliation>();
- up.addDeletion(rdfContact, nco::hasPhoneNumber::iri(), rdfContact.property<nco::hasPhoneNumber>());
- service->executeQuery(up);
- }
-}
-
-/*!
- * write all phone numbers on one query to tracker
- * TODO this is temporary code for creating new, saving contacts need to handle only what was
- * changed.
- */
-void QTrackerContactSaveRequest::savePhoneNumbers(RDFServicePtr service, RDFVariable &var, const QList<QContactDetail> &details, bool newContact )
-{
- RDFUpdate up;
- RDFVariable varForInsert = var.deepCopy();
- foreach(const QContactDetail& det, details)
- {
- QString formattedValue = det.value(QContactPhoneNumber::FieldNumber);
- // Strip RFC 3966 visual-separators reg exp "[(|-|.|)| ]"
- QString value = formattedValue.replace( QRegExp("[\\(|" \
- "\\-|" \
- "\\.|" \
- "\\)|" \
- " ]"), "");
- // Temporary, because affiliation is still used - to be refactored next week to use Live nodes
- // using RFC 3966 canonical URI form
- QUrl newPhone = QString("tel:%1").arg(value);
- Live<nco::PhoneNumber> ncoPhone = service->liveNode(newPhone);
- if(not newContact) {
- ncoPhone->remove();
- }
-
- QStringList subtypes = det.value<QStringList>(QContactPhoneNumber::FieldSubTypes);
-
- if( subtypes.contains(QContactPhoneNumber::SubTypeMobile))
- up.addInsertion(newPhone, rdf::type::iri(), nco::CellPhoneNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypeCar))
- up.addInsertion(newPhone, rdf::type::iri(), nco::CarPhoneNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypeBulletinBoardSystem))
- up.addInsertion(newPhone, rdf::type::iri(), nco::BbsNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypeFax))
- up.addInsertion(newPhone, rdf::type::iri(), nco::FaxNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypeModem))
- up.addInsertion(newPhone, rdf::type::iri(), nco::ModemNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypePager))
- up.addInsertion(newPhone, rdf::type::iri(), nco::PagerNumber::iri());
- else if( subtypes.contains(QContactPhoneNumber::SubTypeMessagingCapable))
- up.addInsertion(newPhone, rdf::type::iri(), nco::MessagingNumber::iri());
- else
- up.addInsertion(newPhone, rdf::type::iri(), nco::VoicePhoneNumber::iri());
-
- up.addInsertion(newPhone, nco::phoneNumber::iri(), LiteralValue(value));
- up.addInsertion(varForInsert, nco::hasPhoneNumber::iri(), newPhone);
- }
- service->executeQuery(up);
-}
-
-/*!
- * write all phone numbers on one query to tracker
- * TODO this is temporary code for creating new, saving contacts need to handle only what was
- * changed.
- */
-void QTrackerContactSaveRequest::saveEmails(RDFServicePtr service, RDFVariable &var, const QList<QContactDetail> &details, bool newContact )
-{
- RDFUpdate up;
- RDFVariable varForInsert = var.deepCopy();
- RDFVariable emails = var.property<nco::hasEmailAddress>();
- if(not newContact) {
- // delete previous references - keep email IRIs
- up.addDeletion(RDFVariableStatement(var, nco::hasEmailAddress::iri(), emails));
- }
-
- foreach(const QContactDetail& det, details)
- {
- QString value = det.value(QContactEmailAddress::FieldEmailAddress);
- // Temporary, because affiliation is still used - to be refactored next week to use only Live nodes
- QUrl newEmail = QString("mailto:%1").arg(value);
- Live<nco::EmailAddress> ncoEmail = service->liveNode(newEmail);
- up.addInsertion(newEmail, rdf::type::iri(), nco::EmailAddress::iri());
- up.addInsertion(newEmail, nco::emailAddress::iri(), LiteralValue(value));
- up.addInsertion(RDFVariableStatement(varForInsert, nco::hasEmailAddress::iri(), newEmail));
- }
- service->executeQuery(up);
-}
-
-/*!
- * write all Urls
- * TODO this is temporary code for creating new, saving contacts need to handle only what was
- * changed.
- */
-void QTrackerContactSaveRequest::saveUrls(RDFServicePtr service, RDFVariable &rdfContact, const QList<QContactDetail> &details, bool newContact )
-{
- RDFUpdate up;
- RDFVariable varForInsert = rdfContact.deepCopy();
- RDFVariable urls = rdfContact.property<nco::url>();
- RDFVariable urltypes = urls.property<rdf::type>();
-
- RDFVariable websiteUrls = rdfContact.property<nco::websiteUrl>();
- RDFVariable websiteUrlTypes = websiteUrls.property<rdf::type>();
-
- if(not newContact) {
- // first part - deleting previous before adding new again is to be removed
- up.addDeletion(RDFVariableStatement(rdfContact, nco::url::iri(), urls));
- up.addDeletion(RDFVariableStatement(rdfContact, nco::websiteUrl::iri(), websiteUrls));
- }
-
- // second part, write all urls
- foreach(const QContactDetail& det, details)
- {
- QUrl newUrl(det.value(QContactUrl::FieldUrl));//::tracker()->createLiveNode().uri();
- if(det.value(QContactUrl::FieldSubType) == QContactUrl::SubTypeFavourite)
- {
- up.addInsertion(varForInsert, nco::url::iri(), newUrl);
- }
- else // if not favourite, then homepage. don't support other
- {
- up.addInsertion(varForInsert, nco::websiteUrl::iri(), newUrl); // add it to contact
- }
- }
- service->executeQuery(up);
-}
-
-/*!
- * write all phone numbers on one query to tracker
- * TODO this is temporary code for creating new, saving contacts need to handle only what was
- * changed.
- */
-void QTrackerContactSaveRequest::saveAddresses(RDFServicePtr service, RDFVariable &var, const QList<QContactDetail> &details, bool newContact )
-{
- RDFUpdate up;
- RDFVariable varForInsert = var.deepCopy();
- RDFVariable addresses = var.property<nco::hasPostalAddress>();
- RDFVariable types = addresses.property<rdf::type>();
- if(not newContact) {
- up.addDeletion(RDFVariableStatement(var, nco::hasPostalAddress::iri(), addresses));
- up.addDeletion(addresses, rdf::type::iri(), types);
- }
- foreach(const QContactDetail& det, details)
- {
- QUrl newPostalAddress = ::tracker()->createLiveNode().uri();
- // TODO nco:DomesticDeliveryAddress, nco:InternationalDeliveryAddress, nco:ParcelDeliveryAddress
- up.addInsertion(newPostalAddress, rdf::type::iri(), nco::PostalAddress::iri());
- if( det.hasValue(QContactAddress::FieldStreet))
- up.addInsertion(newPostalAddress, nco::streetAddress::iri(), LiteralValue(det.value(QContactAddress::FieldStreet)));
- if( det.hasValue(QContactAddress::FieldLocality))
- up.addInsertion(newPostalAddress, nco::locality::iri(), LiteralValue(det.value(QContactAddress::FieldLocality)));
- if( det.hasValue(QContactAddress::FieldCountry))
- up.addInsertion(newPostalAddress, nco::country::iri(), LiteralValue(det.value(QContactAddress::FieldCountry)));
- if( det.hasValue(QContactAddress::FieldPostcode))
- up.addInsertion(newPostalAddress, nco::postalcode::iri(), LiteralValue(det.value(QContactAddress::FieldPostcode)));
- if( det.hasValue(QContactAddress::FieldRegion))
- up.addInsertion(newPostalAddress, nco::region::iri(), LiteralValue(det.value(QContactAddress::FieldRegion)));
-
- up.addInsertion(RDFVariableStatement(varForInsert, nco::hasPostalAddress::iri(), newPostalAddress));
- }
- service->executeQuery(up);
-}
-
-/*!
- * Not very good solution, but we add "addressbook" tag to identify which contacts
- * are added but addressbook ( in order to separate them from facebook and telepathy
- * contacts
- */
-void QTrackerContactSaveRequest::createTagIfItDoesntExistAlready(SopranoLive::RDFServicePtr service, const QString &tag)
-{
- static bool checked = false;
- // only once, if someone remove tag we are in problems (lost contacts)
- if( !checked )
- {
- checked = true;
- RDFVariable rdfTag = RDFVariable::fromType<nao::Tag>();
- RDFVariable labelVar = rdfTag.optional().property<nao::prefLabel>();
- labelVar = LiteralValue(tag);
- RDFFilter doesntExist = labelVar.isBound().not_();// do not create if it already exist
-
- RDFUpdate up;
-
- QUrl newTag = ::tracker()->createLiveNode().uri();
- rdfTag = newTag;
- QList<RDFVariableStatement> insertions;
- insertions << RDFVariableStatement(rdfTag, rdf::type::iri(), nao::Tag::iri())
- << RDFVariableStatement(newTag, nao::prefLabel::iri(), labelVar);
- up.addInsertion(insertions); // this way we apply filter doesntExist to both insertions
- service->executeQuery(up);
- }
-}
-
-void QTrackerContactSaveRequest::addTag(RDFServicePtr service, RDFVariable &var, const QString &tag)
-{
- // TODO do all in one RDF query: create tag if not existing
- createTagIfItDoesntExistAlready(service, tag);
- RDFUpdate up;
- RDFVariable rdftag;
- rdftag.property<nao::prefLabel>() = LiteralValue(tag);
- up.addInsertion(var, nao::hasTag::iri(), rdftag);
- service->executeQuery(up);
-}
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.h b/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.h
deleted file mode 100644
index 10077ef0c9..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactsaverequest.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERCONTACTSAVEREQUEST_H_
-#define QTRACKERCONTACTSAVEREQUEST_H_
-
-#include <QObject>
-#include <QPair>
-#include <QList>
-#include <QSet>
-#include <QtTracker/QLive>
-#include <QtTracker/ontologies/nco.h>
-
-#include <qtrackercontactasyncrequest.h>
-
-#include <qmobilityglobal.h>
-#include <qtcontacts.h>
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-class QContactManagerEngine;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-class QTrackerContactSaveRequest: public QObject, public QTrackerContactAsyncRequest
-{
- Q_OBJECT
-public:
- QTrackerContactSaveRequest(QContactAbstractRequest* req, QContactManagerEngine* parent);
- virtual ~QTrackerContactSaveRequest();
-
-private Q_SLOTS:
- void onTrackerSignal(const QList<QContactLocalId> &ids);
-
-private:
- /* worker methods*/
- void saveContacts(const QList<QContact> &contacts);
- void computeProgress(const QList<QContactLocalId> &addedIds);
- void addAffiliation(SopranoLive::RDFServicePtr service, QContactLocalId contactId);
- void saveContactDetails(SopranoLive::RDFServicePtr service,SopranoLive::Live<SopranoLive::nco::PersonContact>& ncoContact,const QContact &contact, bool newContact);
- void saveAddresses(SopranoLive::RDFServicePtr service, SopranoLive::RDFVariable &var, const QList<QContactDetail> &details, bool newContact );
- void saveEmails(SopranoLive::RDFServicePtr service, SopranoLive::RDFVariable &var, const QList<QContactDetail> &details, bool newContact );
- void saveUrls(SopranoLive::RDFServicePtr service, SopranoLive::RDFVariable &var, const QList<QContactDetail> &details, bool newContact );
- void savePhoneNumbers(SopranoLive::RDFServicePtr service, SopranoLive::RDFVariable &var, const QList<QContactDetail> &details, bool newContact );
- void deletePhoneNumbers(SopranoLive::RDFServicePtr service, const SopranoLive::RDFVariable& rdfContactIn);
- void addTag(SopranoLive::RDFServicePtr service, SopranoLive::RDFVariable &var, const QString &tag);
- void createTagIfItDoesntExistAlready(SopranoLive::RDFServicePtr service, const QString &tag);
-
-private:
- /*holding the data about status of async operation*/
- QList<QContact> contactsFinished;
-
- QMap<int, QContactManager::Error> errorsOfContactsFinished;
- // needed for error reporting - errorsOfContactsFinished is map (array index -> error)
- QMap<QContactLocalId, int> id2Index;
- int errorCount;
-
- /* extracted utilities */
- static QStringList detailsDefinitionsInContact(const QContact &c);
- static bool contactHasWorkRelatedDetails(const QContact &c);
- QSet<QContactLocalId> pendingContactIds;
-
-};
-
-#endif /* QTRACKERCONTACTSAVEREQUEST_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.cpp b/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.cpp
deleted file mode 100644
index 2082c5e929..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtrackercontactslive.h"
-
-QTrackerContactsLive::QTrackerContactsLive()
-{
- transaction_ = ::tracker()->initiateTransaction();
- service_ = this->service();
-}
-
-void QTrackerContactsLive::setLiveContact(const Live<nco::PersonContact> &lc) {
- liveContact_ = lc;
-}
-
-// TODO: Maybe we need to retrieve the original contact object from Tracker here
-// to be able to determine what has changed in the original contact object.
-void QTrackerContactsLive::setQContact(const QContact &qc) {
- editedContact_ = qc;
-}
-
-RDFServicePtr QTrackerContactsLive::service() {
- if(service_) {
- return service_;
- } else {
- if(transaction_) {
- // if transaction was obtained, grab the service from inside it and use it
- service_ = transaction_->service();
- } else {
- // otherwise, use tracker directly, with no transactions.
- service_ = ::tracker();
- }
- return service_;
- }
-}
-
-// TODO: Handle internally checks if the fields needs to be updated or not so
-// that we only save modified data to Tracker.
-void QTrackerContactsLive::saveName() {
-
- QContactName name = editedContact_.detail<QContactName>();
- QContactNickname nickname = editedContact_.detail<QContactNickname>();
-
- if(!name.isEmpty()) {
- liveContact_->setNameHonorificPrefix(name.prefix());
- liveContact_->setNameGiven(name.firstName());
- liveContact_->setNameAdditional(name.middleName());
- liveContact_->setNameFamily(name.lastName());
- }
-
- if(!nickname.isEmpty()) {
- liveContact_->setNickname(nickname.nickname());
- }
-}
-
-void QTrackerContactsLive::commit() {
- transaction_->commit();
-}
-
-
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.h b/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.h
deleted file mode 100644
index d14417de16..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactslive.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERCONTACTSLIVE_H
-#define QTRACKERCONTACTSLIVE_H
-
-#include <qcontact.h>
-#include <qcontactdetail.h>
-#include <qcontactphonenumber.h>
-#include <qcontactname.h>
-#include <qcontactnickname.h>
-
-#include <QtTracker/Tracker>
-#include <QtTracker/QLive>
-#include <QtTracker/ontologies/nco.h>
-
-using namespace SopranoLive;
-
-QTM_USE_NAMESPACE
-
-/**
- * This class will abstact and hide how contact information is saved to Tracker
- * by using Live node.
- */
-class QTrackerContactsLive
-{
-public:
- QTrackerContactsLive();
-
- /**
- * Set the QContact object that we are editing.
- *
- * \param qc The QContact object that is used for reading the data that
- * will be stored in Tracker.
- */
- void setQContact(const QContact& qc);
-
- /**
- * Give the Live node object that is used for this transaction. This
- * object will be used internally by this object and will contain the data
- * that will be stored into Tracker.
- *
- * \param lc A Live node object representing a contact. See NCO ontology
- * for details.
- */
- void setLiveContact(const Live<nco::PersonContact>& lc);
-
- /**
- * Return a service pointer that is used for this transaction. The Live
- * node in setLiveContact() is retrieved from this service.
- */
- RDFServicePtr service();
-
- /**
- * When all data is saved, we need to call this method to send the data to
- * tracker in one batch.
- */
- void commit();
-
- /**
- * Worker method that is doing the saving of the name properties. This method
- * will use the objects given by setQContact() and setLiveContact() to determine
- * what will be stored into Tracker.
- */
- void saveName();
-
-private:
- QContact editedContact_;
- Live<nco::PersonContact> liveContact_;
-
- RDFServicePtr service_;
- RDFTransactionPtr transaction_;
-};
-
-#endif // QTRACKERCONTACTSLIVE_H
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.cpp b/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.cpp
deleted file mode 100644
index b08373f690..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtrackerrelationshipfetchrequest.h"
-
-#include <QtTracker/Tracker>
-using namespace SopranoLive;
-
-
-// TODO better error handling when saving
-QTrackerRelationshipFetchRequest::QTrackerRelationshipFetchRequest(QContactAbstractRequest* req, QContactManagerEngine* parent)
-: QObject(parent), QTrackerContactAsyncRequest(req)
-{
- Q_ASSERT(req);
- Q_ASSERT(req->type() == QContactAbstractRequest::RelationshipFetchRequest);
- Q_ASSERT(parent);
-
- QContactRelationshipFetchRequest* r = qobject_cast<QContactRelationshipFetchRequest*>(req);
-
- if( !r )
- {
- QContactManagerEngine::updateRelationshipFetchRequest(r, QList<QContactRelationship>(), QContactManager::UnspecifiedError, QContactAbstractRequest::FinishedState);
- return;
- }
- if (not r->relationshipType().isEmpty() && QContactRelationship::IsSameAs != r->relationshipType())
- {
- QContactManagerEngine::updateRelationshipFetchRequest(r, r->relationships(), QContactManager::NotSupportedError, QContactAbstractRequest::FinishedState);
- return;
- }
- QList<QContactManager::Error> dummy;
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::ActiveState);
-
- RDFVariable RDFContact = RDFVariable::fromType<nco::PersonContact>();
- RDFVariable RDFContactThis = RDFVariable::fromType<nco::PersonContact>();
-
- RDFVariable RDFMetacontact;
-
- RDFContact.property<nco::metacontact>() = RDFMetacontact;
- RDFContactThis.property<nco::metacontact>() = RDFMetacontact;
- RDFVariable contactIdThis = RDFContactThis.property<nco::contactUID>();
-
- contactIdThis.equal(LiteralValue(QString::number(r->first().localId())));
-
-
- RDFSelect quer;
- quer.addColumn("contact_id", RDFContact.property<nco::contactUID>());
- quer.addColumn("contactthis_id", contactIdThis);
- query = ::tracker()->modelQuery(quer);
-
- QObject::connect(query.model(), SIGNAL(modelUpdated()), this, SLOT(modelUpdated()));
-
-}
-
-QTrackerRelationshipFetchRequest::~QTrackerRelationshipFetchRequest()
-{
-}
-
-void QTrackerRelationshipFetchRequest::modelUpdated()
-{
- QContactManagerEngine *engine = qobject_cast<QContactManagerEngine *> (parent());
- QContactRelationshipFetchRequest* r = qobject_cast<QContactRelationshipFetchRequest*>(req);
- if( !engine )
- {
- QContactManagerEngine::updateRelationshipFetchRequest(r, QList<QContactRelationship>(), QContactManager::UnspecifiedError, QContactAbstractRequest::FinishedState);
- return;
- }
-
- QList<QContactRelationship> result;
- for(int i = 0; i < query->rowCount(); i++) {
- bool ok, ok1;
- QContactId idfirst;
- idfirst.setLocalId(query->index(i, 1).data().toUInt(&ok));
- QContactId idsecond;
- idsecond.setLocalId(query->index(i, 0).data().toUInt(&ok1));
-
- if (ok && ok1 ) {
- if (idfirst.localId() == idsecond.localId())
- continue;
- idfirst.setManagerUri(engine->managerUri());
- idsecond.setManagerUri(idfirst.managerUri());
-
- QContactRelationship rel;
- rel.setFirst(idfirst);
- rel.setSecond(idsecond);
- rel.setRelationshipType(QContactRelationship::IsSameAs);
- result.append(rel);
- }
- }
-
- QContactManagerEngine::updateRelationshipFetchRequest(r, result, QContactManager::NoError, QContactAbstractRequest::FinishedState);
-}
-
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.h b/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.h
deleted file mode 100644
index 5adbb221c8..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipfetchrequest.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERRELATIONSHIPFETCHREQUEST_H_
-#define QTRACKERRELATIONSHIPFETCHREQUEST_H_
-
-#include <QObject>
-#include <qtrackercontactasyncrequest.h>
-#include <QPair>
-#include <QList>
-#include <QtTracker/QLive>
-#include <QtTracker/ontologies/nco.h>
-#include <qtcontacts.h>
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-class QTrackerRelationshipFetchRequest: public QObject, public QTrackerContactAsyncRequest
-{
- Q_OBJECT
-public:
- QTrackerRelationshipFetchRequest(QContactAbstractRequest* req, QContactManagerEngine* parent);
- virtual ~QTrackerRelationshipFetchRequest();
-
-private slots:
- void modelUpdated();
-
-private:
- SopranoLive::LiveNodes query;
-};
-
-#endif /* QTRACKERRELATIONSHIPFETCHREQUEST_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.cpp b/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.cpp
deleted file mode 100644
index 3a9b4292df..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtrackerrelationshipsaverequest.h"
-
-#include <QtTracker/Tracker>
-#include <QtTracker/ontologies/nco.h>
-#include <QHash>
-using namespace SopranoLive;
-
-QTrackerRelationshipSaveRequest::QTrackerRelationshipSaveRequest(QContactAbstractRequest* req, QContactManagerEngine* parent)
-: QObject(parent), QTrackerContactAsyncRequest(req)
-{
- Q_ASSERT(req);
- Q_ASSERT(req->type() == QContactAbstractRequest::RelationshipSaveRequest);
-
- QContactRelationshipSaveRequest* r = qobject_cast<QContactRelationshipSaveRequest*>(req);
- if (!r)
- {
- commitError(QString());
- }
-
- QList<QContactRelationship> links = r->relationships();
- if(links.isEmpty()) {
- QMap<int, QContactManager::Error> errors;
- errors[0] = QContactManager::BadArgumentError;
- QContactManagerEngine::updateRelationshipSaveRequest(r, links, QContactManager::BadArgumentError, errors, QContactAbstractRequest::FinishedState);
- return;
- }
- QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::ActiveState);
-
-
- // the logic is like this
- // 1) get contacts (first() and second())
- // 2) when that is done set all metacontacts of 1sts to 2nds
-
- QSet<QString> ids;
- foreach(QContactRelationship rel, links)
- {
- ids << QString::number(rel.first().localId());
- ids << QString::number(rel.second().localId());
- }
-
- RDFVariable contact;
- QStringList idstrings(QStringList(ids.toList()));
- contact.property<nco::contactUID>().isMemberOf(idstrings);
- m_nodes = ::tracker()->modelVariable(contact);
-
- // need to store LiveNodes in order to receive notification from model
- QObject::connect(m_nodes.model(), SIGNAL(modelUpdated()), this, SLOT(nodesDataReady()));
-
-}
-
-void QTrackerRelationshipSaveRequest::nodesDataReady()
-{
- // now that nodes are ready we can enumerate them without blocking
- RDFTransactionPtr transaction_ = ::tracker()->initiateTransaction();
- connect(transaction_.data(), SIGNAL(commitFinished()), this, SLOT(commitFinished()));
- connect(transaction_.data(), SIGNAL(commitError(QString)), this, SLOT(commitError(QString)));
-
- QHash<QString, Live<nco::PersonContact> > lContacts;
- for(int i = 0; i < m_nodes->rowCount(); i++)
- {
- Live<nco::PersonContact> contact = m_nodes->liveNode(i);
- lContacts[contact->getContactUID()] = contact;
- }
- QContactRelationshipSaveRequest* r = qobject_cast<QContactRelationshipSaveRequest*>(req);
- if (!r)
- commitError(QString());
- QList<QContactRelationship> links = r->relationships();
- foreach(QContactRelationship rel, links)
- {
- Live<nco::PersonContact> first = lContacts.value(QString::number(rel.first().localId()));
- Live<nco::PersonContact> second = lContacts.value(QString::number(rel.second().localId()));
- //TODO: we should prefer the local contact information over the remote info.
- mergeContacts(first, second);
- }
-
- transaction_->commit(false);
- // temporary fix - signals not yet implemented in libqttracker
- commitFinished();
-}
-
-void QTrackerRelationshipSaveRequest::mergeContacts(const Live<nco::PersonContact>& preferedContact, const Live<nco::PersonContact>& inferiorContact)
-{
- QList<LiveNode> mergedNodes = preferedContact->getHasIMAddresss();
- mergedNodes += inferiorContact->getHasIMAddresss();
- preferedContact->setHasIMAddresss( mergedNodes );
- inferiorContact->remove();
-}
-
-void QTrackerRelationshipSaveRequest::commitFinished()
-{
- QContactRelationshipSaveRequest* r = qobject_cast<QContactRelationshipSaveRequest*>(req);
- if (r && r->isActive())
- {
- QContactManager::Error error = QContactManager::NoError;
- QMap<int, QContactManager::Error> errors;
- errors[0] = error;
- QContactManagerEngine::updateRelationshipSaveRequest(r, r->relationships(), error, errors, QContactAbstractRequest::FinishedState);
- }
- else
- qWarning()<<Q_FUNC_INFO<<r;
-}
-
-void QTrackerRelationshipSaveRequest::commitError(QString message)
-{
- qWarning()<<Q_FUNC_INFO<<message;
- QContactRelationshipSaveRequest* r = qobject_cast<QContactRelationshipSaveRequest*>(req);
- if (r)
- {
- QContactManager::Error error = QContactManager::InvalidRelationshipError;
- QMap<int, QContactManager::Error> errors;
- errors[0] = error;
- QContactManagerEngine::updateRelationshipSaveRequest(r, r->relationships(), error, errors, QContactAbstractRequest::FinishedState);
- }
- else
- {
- QMap<int, QContactManager::Error> errors;
- errors[0] = QContactManager::UnspecifiedError;
- QContactManagerEngine::updateRelationshipSaveRequest(r, QList<QContactRelationship>(), QContactManager::UnspecifiedError, errors, QContactAbstractRequest::FinishedState);
- return;
- }
-}
-
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.h b/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.h
deleted file mode 100644
index e154f8b817..0000000000
--- a/plugins/contacts/qtcontacts-tracker/qtrackerrelationshipsaverequest.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTRACKERRELATIONSHIPSAVEREQUEST_H_
-#define QTRACKERRELATIONSHIPSAVEREQUEST_H_
-
-#include <QObject>
-#include <qtrackercontactasyncrequest.h>
-#include <qtcontacts.h>
-#include <QtTracker/QLive>
-
-#include <QtTracker/ontologies/nco.h>
-
-
-QTM_BEGIN_NAMESPACE
-class QContactAbstractRequest;
-class QContactManagerEngine;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-
-class QTrackerRelationshipSaveRequest: public QObject, public QTrackerContactAsyncRequest
-{
- Q_OBJECT
-public:
- QTrackerRelationshipSaveRequest (QContactAbstractRequest* req, QContactManagerEngine* parent);
-private:
- void saveRelationship (const QContactRelationship &relationship,SopranoLive::RDFServicePtr service);
-
-private slots:
- void commitFinished();
- void commitError(QString message);
- void nodesDataReady();
-
-private:
- void mergeContacts(const SopranoLive::Live<SopranoLive::Ontologies::nco::PersonContact>&, const SopranoLive::Live<SopranoLive::Ontologies::nco::PersonContact>&);
- SopranoLive::LiveNodes m_nodes;
-};
-
-#endif /* QTRACKERCONTACTSAVEREQUEST_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/tests/tests.pro b/plugins/contacts/qtcontacts-tracker/tests/tests.pro
deleted file mode 100644
index 8a4e3048d8..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/tests.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS = \
- ut_qtcontacts_add_async \
- ut_qtcontacts_fetch \
- ut_qtcontacts_sparql \
- ut_qtcontacts_trackerplugin \
- ut_qtcontacts_trackerplugin_definitions
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.cpp
deleted file mode 100644
index a13a60269d..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ut_qtcontacts_add_async.h"
-
-#include <QContactManager>
-#include <QContactName>
-#include <QContactDetailFilter>
-#include <QContactPhoneNumber>
-#include <QtTest/QtTest>
-#include <QDebug>
-
-// Note that we try to avoid using any names that might already be in the database:
-const char* TESTNAME_FIRST = "ut_qtcontacts_add_firstname";
-const char* TESTNAME_LAST = "ut_qtcontacts_add_firstlast";
-
-ut_qtcontacts_add::ut_qtcontacts_add()
-: getExistingContactFinishedCallback(0),
- waiting(false)
-{
-}
-
-ut_qtcontacts_add::~ut_qtcontacts_add()
-{
-
-}
-
-void ut_qtcontacts_add::initTestCase()
-{
-}
-
-void ut_qtcontacts_add::cleanupTestCase()
-{
-}
-
-void ut_qtcontacts_add::init()
-{
-}
-
-void ut_qtcontacts_add::cleanup()
-{
- waiting = false;
-}
-
-bool ut_qtcontacts_add::waitForStop()
-{
- waiting = true;
-
- const int max_secs = 100000;
-
- // wait for signal
- int i = 0;
- while(waiting && i++ < max_secs) {
- // Allow the mainloop to run:
- QTest::qWait(10);
- }
-
- return !waiting;
-}
-
-QContactManager* ut_qtcontacts_add::getContactManager()
-{
- static QContactManager manager("tracker");
- return &manager;
-}
-
-void ut_qtcontacts_add::onContactFetchRequestProgress()
-{
- //qDebug() << "onContactFetchRequestProgress";
- if (!contactFetchRequest.isFinished())
- return;
-
- //Store the contact so the callback can use it.
- if(!(contactFetchRequest.contacts().isEmpty())) {
- contact = contactFetchRequest.contacts()[0];
- QVERIFY(contact.localId() != 0);
- contactFetchRequest.cancel(); //Stop any more slot calls.
- }
-
- //qDebug() << "debug: fetched localId=" << contact.localId();
-
- //Avoid more slot calls, though this is unlikely because it has finished.
- contactFetchRequest.cancel();
-
- //Call the callback method that was specified to getExistingContact():
- if(getExistingContactFinishedCallback) {
- FinishedCallbackFunc func = getExistingContactFinishedCallback;
- getExistingContactFinishedCallback = 0;
- (this->*func)();
- }
-}
-
-
-void ut_qtcontacts_add::getExistingContact(FinishedCallbackFunc finishedCallback)
-{
- QContactManager* manager = getContactManager();
- Q_ASSERT(manager);
-
- // Stop pending fetch requests
- if (contactFetchRequest.isActive())
- contactFetchRequest.cancel();
-
- // Initialize the result.
- contact = QContact();
-
- //TODO: How can we AND on both the first and last name?
- getExistingContactFinishedCallback = finishedCallback; //Call this when the contact has been retrieved.
- connect(&contactFetchRequest, SIGNAL(resultsAvailable()),
- SLOT(onContactFetchRequestProgress()));
-
- QContactDetailFilter nameFilter;
- nameFilter.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
- nameFilter.setValue(QLatin1String(TESTNAME_FIRST));
- nameFilter.setMatchFlags(QContactFilter::MatchExactly);
- contactFetchRequest.setManager(manager);
- contactFetchRequest.setFilter(nameFilter);
-
- //qDebug() << "debug: start request";
- contactFetchRequest.start();
-}
-
-//This is our actual test function:
-void ut_qtcontacts_add::ut_testAddContact()
-{
- //qDebug() << "debug: ut_testAddContact";
- //Make sure that the contact is not already in the database.
- getExistingContact(&ut_qtcontacts_add::onContactFoundThenRemoveAndTest);
-
- //Block (allowing the mainloop to run) until we have finished.
- waitForStop();
-}
-
-void ut_qtcontacts_add::onContactFoundThenRemoveAndTest()
-{
- //qDebug() << "debug: Removing the existing contact, if it exists.";
- QContactManager* manager = getContactManager();
- Q_ASSERT(manager);
-
- //TODO: Find and use an async API that tells us when it has finished.
- manager->removeContact(contact.localId());
-
- // Run the Qt UI's main loop, showing the editor while it is running:
- QTimer::singleShot(2000, this, SLOT(onTimeoutAddContact()));
-}
-
-void ut_qtcontacts_add::onTimeoutAddContact()
-{
- //qDebug() << "debug: Trying to add contact.";
-
- // Offer a UI to edit a prefilled contact.
- QContactName name;
- name.setFirstName(QLatin1String(TESTNAME_FIRST));
- name.setLastName(QLatin1String(TESTNAME_LAST));
- //TODO: Find and use an async API that tells us when it has finished.
- contact.saveDetail(&name);
- //const bool saved = contact.saveDetail(&name);
- //Q_ASSERT(saved); //This won't necessarily be useful because our implementation doesn't support sync methods.
-
- //Save the contact.
- //But note that our QContactManager backend does not set localId when returning.
- QContactManager* manager = getContactManager();
- Q_ASSERT(manager);
-
-
- manager->saveContact(&contact);
- //This works too:
- //QContact copy(contact);
- //manager->saveContact(&copy);
-
- //Check that it was really saved:
- //qDebug() << "debug: checking that the contact was saved.";
- getExistingContact(&ut_qtcontacts_add::onContactFoundThenCheck);
-}
-
-void ut_qtcontacts_add::onContactFoundThenCheck()
-{
- //Check that it was really saved:
- // The ContactManager::saveContact() documentation suggests that localeId=0 is for non-saved contacts.
- //QEXPECT_FAIL("", "QContactManager::saveContact() saves the contact (see it by running the contacts UI), but returns false and doesn't set error(). Find out why.", Continue);
- QVERIFY(contact.localId() != 0);
-
- //Check that the correct details were saved:
- const QContactName name = contact.detail<QContactName>();
- QVERIFY(name.firstName() == QLatin1String(TESTNAME_FIRST));
- QVERIFY(name.lastName() == QLatin1String(TESTNAME_LAST));
-
- //Try to restore original conditions:
- getExistingContact(&ut_qtcontacts_add::onContactFoundThenRemoveAndStop);
-}
-
-void ut_qtcontacts_add::onContactFoundThenRemoveAndStop()
-{
- //qDebug() << "debug: ut_qtcontacts_add::onContactFoundThenRemoveAndStop";
- QContactManager* manager = getContactManager();
- Q_ASSERT(manager);
- manager->removeContact(contact.localId());
-
- // Allow the actual test function to return:
- waiting = false;
-}
-
-void ut_qtcontacts_add::checkSubTypes()
-{
- QContact contact;
-
- QContactManager* manager = getContactManager();
-
- QContactPhoneNumber phone;
-
- phone.setSubTypes(QContactPhoneNumber::SubTypeMobile);
- phone.setContexts(QContactPhoneNumber::ContextHome);
- phone.setNumber("12345");
-
- contact.saveDetail(&phone);
- manager->saveContact(&contact);
-
- phone.setSubTypes(QContactPhoneNumber::SubTypeFacsimile);
-
- contact.saveDetail(&phone);
- manager->saveContact(&contact);
-
-}
-
-QTEST_MAIN(ut_qtcontacts_add)
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.h
deleted file mode 100644
index 6a2144becc..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef UT_CONTACTSGUI_EDITCONTACT_H_
-#define UT_CONTACTSGUI_EDITCONTACT_H_
-
-#include <QContact>
-#include <QContactFetchRequest>
-#include <QObject>
-#include <QtTest/QtTest>
-
-QTM_USE_NAMESPACE
-
-class ut_qtcontacts_add : public QObject
-{
-Q_OBJECT
-public:
- ut_qtcontacts_add();
- ~ut_qtcontacts_add();
-
-// Private slots are called by the QTest framework.
-private slots:
- // Per test class:
- void initTestCase();
- void cleanupTestCase();
-
- // Per test-function:
- void init();
- void cleanup();
-
- // Test functions:
- void ut_testAddContact();
-
- void checkSubTypes();
-
-// Protected or public slots are _not_ called by the QTest framework.
-protected slots:
- void onContactFetchRequestProgress();
- void onContactFoundThenRemoveAndTest();
- void onTimeoutAddContact();
- void onContactFoundThenCheck();
- void onContactFoundThenRemoveAndStop();
-
-private:
-
- QContactManager* getContactManager();
-
- typedef void (ut_qtcontacts_add::*FinishedCallbackFunc)(void);
-
- // Get the contact ID for the test contact if it exists already.
- void getExistingContact(FinishedCallbackFunc finishedCallback);
-
- // wait (allowing the mainloop to respond) until this->waiting is false.
- bool waitForStop();
-
- //A hacky way to bind an extra parameter to the Qt slot.
- FinishedCallbackFunc getExistingContactFinishedCallback;
-
- QContact contact;
- QContactFetchRequest contactFetchRequest;
-
- bool waiting;
-};
-
-#endif /* UT_CONTACTSGUI_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.pro b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.pro
deleted file mode 100644
index 514138a2a0..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_add_async/ut_qtcontacts_add_async.pro
+++ /dev/null
@@ -1,49 +0,0 @@
-TARGET = ut_qtcontacts_add_async
-
-test.depends = all
-QMAKE_EXTRA_TARGETS += test
-QCONTACTS_TRACKER_BACKENDDIR = ../../
-
-CONFIG += test
-QT += testlib
-
-LIBS += -lqttracker
-LIBS += -lQtContacts
-
-MOC_DIR = .moc
-OBJECTS_DIR = .obj
-
-CONFIG += mobility
-MOBILITY += contacts
-
-INCLUDEPATH += /usr/include/qt4/QtContacts \
- /usr/include \
- $$QCONTACTS_TRACKER_BACKENDDIR
-
-DEFINES += VERSION_INFO=\\\"0\\\"
-
-## Include source files under test.
-HEADERS += $$QCONTACTS_TRACKER_BACKENDDIR/qcontacttrackerbackend_p.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactasyncrequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/trackerchangelistener.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactslive.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactsaverequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipfetchrequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipsaverequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactidfetchrequest.h
-
-
-SOURCES += $$QCONTACTS_TRACKER_BACKENDDIR/qcontacttrackerbackend.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactasyncrequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/trackerchangelistener.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactslive.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactsaverequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipfetchrequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipsaverequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactidfetchrequest.cpp
-
-
-## Include unit test files
-HEADERS += ut_qtcontacts_add_async.h
-
-SOURCES += ut_qtcontacts_add_async.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.cpp
deleted file mode 100644
index b6022647cc..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-#include "ut_qtcontacts_common.h"
-
-#include <QContactFetchRequest>
-#include <QContactLocalIdFilter>
-#include <QContactRemoveRequest>
-#include <QContactSaveRequest>
-
-ut_qtcontacts_common::ut_qtcontacts_common()
- : mContactManager(0)
-{
-}
-
-void ut_qtcontacts_common::initTestCase()
-{
-}
-
-void ut_qtcontacts_common::cleanupTestCase()
-{
-}
-
-void ut_qtcontacts_common::init()
-{
- QVERIFY(0 == mContactManager);
- mContactManager = new QContactManager("tracker");
- QVERIFY(0 != mContactManager);
-}
-
-void ut_qtcontacts_common::cleanup()
-{
- if (mContactManager) {
- if (not mLocalIds.isEmpty()) {
-#if 0 // FIXME: qtcontacts-tracker doesn't implement QContactRemoveRequest yet
- QContactRemoveRequest request;
- request.setManager(mContactManager);
- request.setContactIds(mLocalIds);
-
- if (not request.start())
- qDebug() << "error code" << request.error();
- //QVERIFY(request.start());
-
- waitForRequest(request);
- CHECK_CURRENT_TEST_FAILED;
-
- QVERIFY(request.isFinished());
- QCOMPARE(request.error(), QContactManager::NoError);
-#else
- QMap<int, QContactManager::Error> errors;
- bool success = mContactManager->removeContacts(&mLocalIds, &errors);
- QCOMPARE(mContactManager->error(), QContactManager::NoError);
- QVERIFY(errors.isEmpty());
- QVERIFY(success);
-#endif
-
- mLocalIds.clear();
- }
-
- mContactManager->deleteLater();
- mContactManager = 0;
- }
-}
-
-void ut_qtcontacts_common::waitForRequest(QContactAbstractRequest &request, int ms)
-{
- if (request.isFinished())
- return;
-
- // check pre-conditions
- QCOMPARE((int) request.state(), (int) QContactAbstractRequest::ActiveState);
-
- // wait for the request to do its work (or get canceled)
- QTime timer;
- timer.start();
-
- while (request.isActive() && timer.elapsed() < ms) {
- QTest::qWait(10);
- }
-
- // check post-conditions
- QVERIFY2(not request.isActive(), "timeout expired");
-
- qDebug() << request.metaObject()->className() << "finished after" << timer.elapsed() << "ms";
-}
-
-// FIXME: remove again once QtMobility provides more verbose contact validation utilities
-static bool validateContact(QContactManager *manager, const QContact &contact, QContactManager::Error &error_, QString &what)
-{
- QList<QString> uniqueDefinitionIds;
-
- // check that each detail conforms to its definition as supported by this manager.
- for (int i=0; i < contact.details().count(); i++) {
- const QContactDetail& d = contact.details().at(i);
- QVariantMap values = d.variantValues();
- QContactDetailDefinition def = manager->detailDefinition(d.definitionName(), contact.type());
- // check that the definition is supported
- if (def.isEmpty()) {
- error_ = QContactManager::InvalidDetailError;
- what = "Unsupported definition: " + d.definitionName();
- return false;
- }
-
- // check uniqueness
- if (def.isUnique()) {
- if (uniqueDefinitionIds.contains(def.name())) {
- error_ = QContactManager::AlreadyExistsError;
- what = "Detail must be unique: " + d.definitionName();
- return false;
- }
- uniqueDefinitionIds.append(def.name());
- }
-
- QList<QString> keys = values.keys();
- for (int i=0; i < keys.count(); i++) {
- const QString& key = keys.at(i);
- // check that no values exist for nonexistent fields.
- if (!def.fields().contains(key)) {
- error_ = QContactManager::InvalidDetailError;
- what = "Value for nonexistent field: " + d.definitionName() + "::" + key;
- return false;
- }
-
- QContactDetailFieldDefinition field = def.fields().value(key);
- // check that the type of each value corresponds to the allowable field type
- if (static_cast<int>(field.dataType()) != values.value(key).userType()) {
- error_ = QContactManager::InvalidDetailError;
- what = "Type doesn't match: " + d.definitionName() + "::" + key;
- return false;
- }
-
- // check that the value is allowable
- // if the allowable values is an empty list, any are allowed.
- if (!field.allowableValues().isEmpty()) {
- // if the field datatype is a list, check that it contains only allowable values
- if (field.dataType() == QVariant::List || field.dataType() == QVariant::StringList) {
- QList<QVariant> innerValues = values.value(key).toList();
- for (int i = 0; i < innerValues.size(); i++) {
- if (!field.allowableValues().contains(innerValues.at(i))) {
- error_ = QContactManager::InvalidDetailError;
- what = QString("Value not allowed: %1 (%2)").
- arg(d.definitionName() + "::" + key,
- innerValues.at(i).toString());
- return false;
- }
- }
- } else if (!field.allowableValues().contains(values.value(key))) {
- // the datatype is not a list; the value wasn't allowed.
- error_ = QContactManager::InvalidDetailError;
- what = QString("Value not allowed: %1 (%2)").
- arg(d.definitionName() + "::" + key,
- values.value(key).toString());
- return false;
- }
- }
- }
- }
-
- return true;
-}
-
-void ut_qtcontacts_common::saveContact(QContact &contact, int timeout)
-{
- QList<QContact> contactList;
- contactList.append(contact);
-
- saveContacts(contactList, timeout);
-
- QCOMPARE(contactList.count(), 1);
- contact = contactList[0];
-}
-
-void ut_qtcontacts_common::saveContacts(QList<QContact> &contacts, int timeout)
-{
- QVERIFY(not contacts.isEmpty());
-
- foreach(const QContact &contact, contacts) {
- QContactManager::Error error;
- QString what;
-
- if (not validateContact(mContactManager, contact, error, what)) {
- foreach(const QContactDetail &d, contact.details()) {
- qDebug() << d.definitionName() << d.variantValues();
- }
-
- QFAIL(qPrintable(QString("error %1: %2").arg(error).arg(what)));
- }
- }
-
- // add the contact to database
- QContactSaveRequest request;
- request.setManager(mContactManager);
- request.setContacts(contacts);
- QVERIFY(request.start());
-
- qDebug() << "saving" << request.contacts().count() << "contacts";
- waitForRequest(request, timeout);
- CHECK_CURRENT_TEST_FAILED;
-
- // verify the contact got saved
- QVERIFY(request.isFinished());
-
- QCOMPARE((int) request.error(),
- (int) QContactManager::NoError);
-
- // copy back the saved contacts
- contacts = request.contacts();
-
- // remember the local id so that we can remove the contact from database later
- foreach(const QContact &contact, contacts) {
- QVERIFY(contact.localId());
- mLocalIds.append(contact.localId());
- }
-}
-
-void ut_qtcontacts_common::fetchContact(const QContactLocalId &id,
- QContact &result, int timeout)
-{
- QList<QContact> contactList;
- fetchContacts(QList<QContactLocalId>() << id, contactList, timeout);
- QCOMPARE(contactList.count(), 1);
- result = contactList[0];
-}
-
-void ut_qtcontacts_common::fetchContact(const QContactFilter &filter,
- QContact &result, int timeout)
-{
- QList<QContact> contactList;
- fetchContacts(filter, contactList, timeout);
- QCOMPARE(contactList.count(), 1);
- result = contactList[0];
-}
-
-void ut_qtcontacts_common::fetchContacts(const QList<QContactLocalId> &ids,
- QList<QContact> &result, int timeout)
-{
- QContactLocalIdFilter filter;
-
- filter.setIds(ids);
- fetchContacts(filter, result, timeout);
- CHECK_CURRENT_TEST_FAILED;
-
- QCOMPARE(result.count(), ids.count());
-}
-
-void ut_qtcontacts_common::fetchContacts(const QContactFilter &filter,
- QList<QContact> &result, int timeout)
-{
- QContactFetchRequest request;
-
- request.setManager(mContactManager);
-
- if (QContactFilter::InvalidFilter != filter.type())
- request.setFilter(filter);
-
- QVERIFY(request.start());
-
- qDebug() << "fetching contacts";
- waitForRequest(request, timeout);
- CHECK_CURRENT_TEST_FAILED;
-
- QVERIFY(request.isFinished());
- result = request.contacts();
-}
-
-QSet<QString> ut_qtcontacts_common::testSlotNames()
-{
- QSet<QString> testSlots;
-
- for(int i = 0; i < metaObject()->methodCount(); ++i) {
- const QMetaMethod &method = metaObject()->method(i);
-
- if (QMetaMethod::Private != method.access() ||
- QMetaMethod::Slot != method.methodType()) {
- continue;
- }
-
- const char *signature = method.signature();
- const char *parenthesis = strchr(signature, '(');
-
- if (0 != qstrcmp(parenthesis, "()")) {
- continue;
- }
-
- testSlots.insert(QString::fromLatin1(signature, parenthesis - signature));
- }
-
- return testSlots;
-}
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.h
deleted file mode 100644
index e549a4883f..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef UT_QTCONTACTS_TRACKERPLUGIN_COMMON_H
-#define UT_QTCONTACTS_TRACKERPLUGIN_COMMON_H
-
-#include <QContactAbstractRequest>
-#include <QContactDetailFilter>
-#include <QtTest/QtTest>
-
-#define CHECK_CURRENT_TEST_FAILED \
-do { \
- if (QTest::currentTestFailed()) { \
- qWarning("failing test called from %s(%d)", __FILE__, __LINE__); \
- return; \
- } \
-} while (0)
-
-QTM_USE_NAMESPACE
-
-class ut_qtcontacts_common : public QObject
-{
- Q_OBJECT
-
-public:
- static const int DefaultTimeout = 5000;
-
- ut_qtcontacts_common();
-
-private slots:
- // fixture setup
- virtual void initTestCase();
- virtual void cleanupTestCase();
-
- // function setup
- virtual void init();
- virtual void cleanup();
-
-protected:
- QSet<QString> testSlotNames();
-
- void saveContact(QContact &contact, int timeout = DefaultTimeout);
- void saveContacts(QList<QContact> &contacts, int timeout = DefaultTimeout);
- void fetchContact(const QContactLocalId &id, QContact &result, int timeout = DefaultTimeout);
- void fetchContact(const QContactFilter &filter, QContact &result, int timeout = DefaultTimeout);
- void fetchContacts(const QList<QContactLocalId> &ids, QList<QContact> &result, int timeout = DefaultTimeout);
- void fetchContacts(const QContactFilter &filter, QList<QContact> &result, int timeout = DefaultTimeout);
- void waitForRequest(QContactAbstractRequest &request, int timeout = DefaultTimeout);
-
- QContactManager* mContactManager;
- QList<QContactLocalId> mLocalIds;
-};
-
-#endif /* UT_QTCONTACTS_TRACKERPLUGIN_COMMON_H */
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.pri b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.pri
deleted file mode 100644
index 5e9a9755bc..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_common/ut_qtcontacts_common.pri
+++ /dev/null
@@ -1,13 +0,0 @@
-CONFIG += mobility test
-MOBILITY += contacts
-QT += testlib
-
-MOC_DIR = .moc
-OBJECTS_DIR = .obj
-
-DEPENDPATH += $$PWD
-INCLUDEPATH += $$PWD
-LIBS += -lqttracker
-
-HEADERS += $$PWD/ut_qtcontacts_common.h
-SOURCES += $$PWD/ut_qtcontacts_common.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.cpp
deleted file mode 100644
index a170b3499d..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ut_qtcontacts_fetch.h"
-
-#include <QContactManager>
-#include <QContactName>
-#include <QContactFetchRequest>
-#include <QContactUrl>
-
-#include <QtTracker/tracker.h>
-
-typedef QSet<QString> QStringSet;
-
-ut_qtcontacts_fetch::ut_qtcontacts_fetch()
-{
- mUuid = QUuid::createUuid();
- mFirstName = "ut_qtcontacts_fetch_firstname_" + mUuid;
- mLastName = "ut_qtcontacts_fetch_lastname_" + mUuid;
- mWebPage = "ut_qtcontacts_fetch_url_" + mUuid;
-
- mNameFilter.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
- mNameFilter.setMatchFlags(QContactFilter::MatchExactly);
- mNameFilter.setValue(mFirstName);
-}
-
-void ut_qtcontacts_fetch::setupTestContact(QContact &contact)
-{
- QContactName name;
- name.setFirstName(mFirstName);
- name.setLastName(mLastName);
- QVERIFY(contact.saveDetail(&name));
-
- QContactUrl url;
- url.setUrl(mWebPage);
- QVERIFY(contact.saveDetail(&url));
-}
-
-void ut_qtcontacts_fetch::checkDatabaseEmpty()
-{
- // try to fetch our testing contact
- QContactFetchRequest request;
- request.setManager(mContactManager);
- request.setFilter(mNameFilter);
- QVERIFY(request.start());
-
- // wait for the request to finish
- waitForRequest(request);
- CHECK_CURRENT_TEST_FAILED;
-
- // dump unexpected contacts
- foreach(const QContact &c, request.contacts()) {
- qWarning() << "unexpected contact" << c.localId();
- foreach(const QContactDetail &d, c.details())
- qWarning() << " " << d.definitionName() << d.variantValues();
- }
-
- // verify that there really is no test contact yet
- QVERIFY(request.isFinished());
- QVERIFY(request.contacts().isEmpty());
-}
-
-void ut_qtcontacts_fetch::testSaveContact()
-{
- // check that we start with a clean database
- checkDatabaseEmpty();
- CHECK_CURRENT_TEST_FAILED;
-
- // create a named contact and save it
- QContact contact;
-
- setupTestContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-}
-
-void ut_qtcontacts_fetch::testSaveContactCopy()
-{
- // check that we start with a clean database
- checkDatabaseEmpty();
- CHECK_CURRENT_TEST_FAILED;
-
- // create a named contact
- QContact contact;
-
- setupTestContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- // add copy of the contact to database
- QContact copy(contact);
-
- saveContact(copy);
- CHECK_CURRENT_TEST_FAILED;
-}
-
-void ut_qtcontacts_fetch::testFetchSavedContact()
-{
- // check that we start with a clean database
- checkDatabaseEmpty();
- CHECK_CURRENT_TEST_FAILED;
-
- // create a named contact and save it
- QContact savedContact;
-
- setupTestContact(savedContact);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContact(savedContact);
- CHECK_CURRENT_TEST_FAILED;
- mLocalIds.clear();
-
- // fetch the saved contact
- QContact fetchedContact;
- fetchContact(mNameFilter, fetchedContact);
- CHECK_CURRENT_TEST_FAILED;
-
- QVERIFY(0 != fetchedContact.localId());
-
- // check that the fetched contact has the expected properties
- QList<QContactDetail> details(fetchedContact.details(QContactName::DefinitionName));
-
- QCOMPARE(details.count(), 1);
- QCOMPARE(details[0].value(QContactName::FieldFirstName), mFirstName);
- QCOMPARE(details[0].value(QContactName::FieldLastName), mLastName);
-
- details = fetchedContact.details(QContactUrl::DefinitionName);
-
- QEXPECT_FAIL("", "cannot restore URL field right now", Continue);
-
- QCOMPARE(details.count(), 1);
- QCOMPARE(details[0].value(QContactUrl::FieldUrl), mWebPage);
-}
-
-QTEST_MAIN(ut_qtcontacts_fetch)
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.pro b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.pro
deleted file mode 100644
index 18755d8e52..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-include(../ut_qtcontacts_common/ut_qtcontacts_common.pri)
-
-TARGET = ut_qtcontacts_fetch
-
-test.depends = all
-QMAKE_EXTRA_TARGETS += test
-QCONTACTS_TRACKER_BACKENDDIR = ../../
-
-## Include unit test files
-HEADERS += ut_qtcontacts_fetch.h
-SOURCES += ut_qtcontacts_fetch.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.cpp
deleted file mode 100644
index 69da2d8040..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ut_qtcontacts_sparql.h"
-
-#include <QContactManager>
-#include <QContactName>
-#include <QContactPhoneNumber>
-#include <QContactFetchRequest>
-
-#include <QtTracker/RDFService>
-#include <QtTracker/Tracker>
-
-#include <QtTracker/ontologies/nco.h>
-
-using namespace SopranoLive;
-
-ut_qtcontacts_sparql::ut_qtcontacts_sparql()
-{
- const QString uuid(QUuid::createUuid());
-
- mFirstName = "ut_qtcontacts_sparql_firstname_" + uuid;
- mLastName = "ut_qtcontacts_sparql_lastname_" + uuid;
- mPhoneNumber = "ut_qtcontacts_sparql_phone_" + uuid;
- mPhoneNumber = mPhoneNumber.replace('-', '_');
-
- mNameFilter.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
- mNameFilter.setMatchFlags(QContactFilter::MatchExactly);
- mNameFilter.setValue(mFirstName);
-}
-
-void ut_qtcontacts_sparql::setupTestContact(QContact &contact)
-{
- // attach a name to the contact
- QContactName name;
-
- name.setFirstName(mFirstName);
- name.setLastName(mLastName);
-
- QVERIFY(contact.saveDetail(&name));
-
- // attach a phone number to the contact
- QContactPhoneNumber phone;
-
- phone.setSubTypes(QContactPhoneNumber::SubTypeMobile);
- phone.setContexts(QContactPhoneNumber::ContextHome);
- phone.setNumber(mPhoneNumber);
-
- QVERIFY(contact.saveDetail(&phone));
-}
-
-void ut_qtcontacts_sparql::checkDatabaseEmpty()
-{
- // try to sparql our testing contact
- QContactFetchRequest request;
-
- request.setManager(mContactManager);
- request.setFilter(mNameFilter);
- request.start();
-
- // wait for the request to finish
- waitForRequest(request);
- CHECK_CURRENT_TEST_FAILED;
-
- // verify that there really is no test contact yet
- QVERIFY(request.isFinished());
- QVERIFY(request.contacts().isEmpty());
-}
-
-template <class PhoneNumberType>
-void ut_qtcontacts_sparql::checkOntology(QContactLocalId contactId, int expectedCount)
-{
- // fetch contact from tracker
- const QUrl id(QString("contact:%1").arg(contactId));
- Live<nco::PersonContact> contact = ::tracker()->liveNode(id);
- QCOMPARE(contact->getContactUID(), QString::number(contactId));
-
- // check first name property of the contact
- const QStringList givenNames(contact->getNameGivens());
- QCOMPARE(givenNames.count(), 1);
- QCOMPARE(givenNames[0], mFirstName);
-
- // check last name property of the contact
- const QStringList familyNames(contact->getNameFamilys());
- QCOMPARE(familyNames.count(), 1);
- QCOMPARE(familyNames[0], mLastName);
-
- // check if the contact has the expected number of phone numbers
- const QList< Live<PhoneNumberType> > hasPhoneNumbers(contact->getHasPhoneNumbers());
- QCOMPARE(hasPhoneNumbers.count(), expectedCount);
-
- // check if the contact's actual phone number
- const QStringList phoneNumbers(hasPhoneNumbers[0]->getPhoneNumbers());
- QCOMPARE(phoneNumbers.count(), 1);
- QCOMPARE(phoneNumbers[0], mPhoneNumber);
-}
-
-void ut_qtcontacts_sparql::testSaveContact()
-{
- // check that we start with a clean database
- checkDatabaseEmpty();
- CHECK_CURRENT_TEST_FAILED;
-
- // create a named contact and save it
- QContact contact;
-
- setupTestContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- // now use RDF queries to check what landed within the database
- checkOntology<nco::CellPhoneNumber>(contact.localId());
- CHECK_CURRENT_TEST_FAILED;
-}
-
-// this test basically checks for NB#158859
-void ut_qtcontacts_sparql::testModifyContact()
-{
- // check that we start with a clean database
- checkDatabaseEmpty();
- CHECK_CURRENT_TEST_FAILED;
-
- // create a named contact and save it
- QContact contact;
-
- setupTestContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- // check that the contact's phone number has the expected subtype
- QList<QContactDetail> details(contact.details(QContactPhoneNumber::DefinitionName));
- QCOMPARE(details.count(), 1);
-
- QContactPhoneNumber phoneNumber(details[0]);
- QCOMPARE(phoneNumber.subTypes(), QStringList(QContactPhoneNumber::SubTypeMobile));
-
- // modify the phone number's subtype and save the modified contact
- phoneNumber.setSubTypes(QContactPhoneNumber::SubTypeFacsimile);
- QVERIFY(contact.saveDetail(&phoneNumber));
-
- saveContact(contact);
- CHECK_CURRENT_TEST_FAILED;
-
- // check that the saved contact's phone number has the expected subtype
- details = contact.details(QContactPhoneNumber::DefinitionName);
- QCOMPARE(details.count(), 1);
-
- phoneNumber = details[0];
- QCOMPARE(phoneNumber.subTypes(), QStringList(QContactPhoneNumber::SubTypeFacsimile));
-
- // now use RDF queries to check what landed within the database
- checkOntology<nco::CellPhoneNumber>(contact.localId());
- CHECK_CURRENT_TEST_FAILED;
-
- // we should have got a fax number assigned...
- checkOntology<nco::FaxNumber>(contact.localId());
- CHECK_CURRENT_TEST_FAILED;
-
- checkOntology<nco::PhoneNumber>(contact.localId());
- CHECK_CURRENT_TEST_FAILED;
-
- // ...and the cell phone numbers shall be gone
- checkOntology<nco::CellPhoneNumber>(contact.localId(), 0);
- CHECK_CURRENT_TEST_FAILED;
-}
-
-QTEST_MAIN(ut_qtcontacts_sparql)
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.h
deleted file mode 100644
index 079617cd27..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef UT_QTCONTACTS_TRACKERPLUGIN_SPARQL_H
-#define UT_QTCONTACTS_TRACKERPLUGIN_SPARQL_H
-
-#include "ut_qtcontacts_common.h"
-
-QTM_USE_NAMESPACE
-
-class ut_qtcontacts_sparql : public ut_qtcontacts_common
-{
- Q_OBJECT
-
-public:
- ut_qtcontacts_sparql();
-
-// private slots are called by the QTest framework.
-private slots:
- // Test functions:
- void checkDatabaseEmpty();
- void testSaveContact();
- void testModifyContact();
-
-private:
- void setupTestContact(QContact &contact);
-
- template <class PhoneNumberType>
- void checkOntology(QContactLocalId contactId, int expectedCount = 1);
-
- QContactDetailFilter mNameFilter;
-
- QString mFirstName;
- QString mLastName;
- QString mPhoneNumber;
-};
-
-#endif /* UT_QTCONTACTS_TRACKERPLUGIN_SPARQL_H */
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.pro b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.pro
deleted file mode 100644
index b84ccca8b2..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_sparql/ut_qtcontacts_sparql.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-include(../ut_qtcontacts_common/ut_qtcontacts_common.pri)
-
-TARGET = ut_qtcontacts_sparql
-
-test.depends = all
-QMAKE_EXTRA_TARGETS += test
-QCONTACTS_TRACKER_BACKENDDIR = ../../
-
-## Include unit test files
-HEADERS += ut_qtcontacts_sparql.h
-SOURCES += ut_qtcontacts_sparql.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/.gitignore b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/.gitignore
deleted file mode 100644
index 2f5512f0c6..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-ut_qtcontacts_trackerplugin
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.cpp
deleted file mode 100644
index 2c28171c3a..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "contactmanager.h"
-
-QContactManager* ContactManager::instance_ = 0;
-
-ContactManager::ContactManager() {
- // empty on purpose
-}
-
-QContactManager* ContactManager::instance()
-{
- // do we have an instance? this is all just normal boring singleton stuff
- if ( ContactManager::instance_ == 0 ) {
- ContactManager::instance_ = new QContactManager("tracker");
- }
-
- return ContactManager::instance_;
-}
-
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.h
deleted file mode 100644
index 00072be884..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/contactmanager.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CONTACTMANAGER_H
-#define CONTACTMANAGER_H
-
-#include <qcontactmanager.h>
-
-QTM_USE_NAMESPACE
-
-/**
- * Constructs a single instance of QContactManager for "tracker"
- * backend. This way the plugin loading is done only once. For other
- * backends use the QContactManager constructor directly.
- */
-class ContactManager
-{
- public:
- /**
- * Public static getter for the singleton instance.
- *
- * @return CStateManager instance or NULL in case of memory allocation error.
- */
- static QContactManager * instance ();
-
- private:
- ContactManager(); //Private to make instantiation impossible
-
- //! the singleton instance of actual contact manager
- static QContactManager* instance_;
-};
-
-#endif // CONTACTMANAGER_H
-
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.cpp
deleted file mode 100644
index f548655445..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.cpp
+++ /dev/null
@@ -1,1820 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ut_qtcontacts_trackerplugin.h"
-
-#include <QMap>
-#include <QPair>
-#include <QUuid>
-
-#include <QtTracker/Tracker>
-#include <QtTracker/ontologies/nco.h>
-#include <QtTracker/ontologies/nie.h>
-#include <qcontactfilters.h>
-#include <QContactChangeLogFilter>
-#include <qtcontacts.h>
-#include <trackerchangelistener.h>
-#include <qcontactrelationshipsaverequest.h>
-#include <qcontactrelationshipfetchrequest.h>
-#include <qtrackercontactidfetchrequest.h>
-#include <qcontacttrackerbackend_p.h>
-#include <qtrackercontactasyncrequest.h>
-
-#include "contactmanager.h"
-
-// update this when creating debian package
-const QString PATH_TO_SPARQL_TESTS("./ut_qtcontacts_trackerplugin_data");
-
-ut_qtcontacts_trackerplugin::ut_qtcontacts_trackerplugin()
-{
-
-}
-
-void ut_qtcontacts_trackerplugin::initTestCase()
-{
- QMap<QString, QString> trackerEngineParams;
- trackerEngine = new QContactTrackerEngine(trackerEngineParams);
- errorMap = new QMap<int, QContactManager::Error>();
-}
-
-void ut_qtcontacts_trackerplugin::testContacts()
-{
- QContact c1;
- QContact c2;
-
- trackerEngine->saveContact(&c1, error);
- trackerEngine->saveContact(&c2, error);
- QVERIFY2((error == QContactManager::NoError),"Saving contact");
- QList<QContactLocalId> contacts = trackerEngine->contactIds(queryFilter, sortOrders, error);
- QVERIFY2(contacts.contains(c1.localId()), "Previously added contact is not found");
- QVERIFY2(contacts.contains(c2.localId()), "Previously added contact is not found");
-}
-
-void ut_qtcontacts_trackerplugin::testContact()
-{
- // Test invalid contact id
- QContact invalidContact = trackerEngine->contact_impl( -1, QStringList(), error);
- QVERIFY(error != QContactManager::NoError);
-
- // Add a contact
- QContact newContact;
- const QContactLocalId oldid = newContact.localId();
- QVERIFY( trackerEngine->saveContact( &newContact, error ) );
-
- QContactLocalId id = newContact.localId();
- QVERIFY( id != oldid );
-
- // Find the added contact
- QContact c = trackerEngine->contact_impl( id, QStringList(), error );
- QVERIFY( c.localId() == newContact.localId() );
-}
-
-void ut_qtcontacts_trackerplugin::testSaveName()
-{
- QContact c;
- QContactLocalId initialId = c.localId();
- int detailsAdded = 0;
-
- QMap<QString,QString> nameValues;
- QContactName name;
- nameValues.insert(QLatin1String(QContactName::FieldPrefix), "Mr");
- nameValues.insert(QLatin1String(QContactName::FieldFirst), "John");
- nameValues.insert(QLatin1String(QContactName::FieldMiddle), "Rupert");
- nameValues.insert(QLatin1String(QContactName::FieldLast), "Doe");
-// nameValues.insert(QContactName::FieldSuffix, "III");
-
- foreach (QString field, nameValues.keys()) {
- name.setValue(field, nameValues.value(field));
- }
- c.saveDetail(&name);
-
- QContactNickname nick;
- nick.setValue(QLatin1String(QContactNickname::FieldNickname), "Johnny");
- c.saveDetail(&nick);
-
- QVERIFY(c.detail<QContactName>().prefix() == "Mr");
- QVERIFY(c.detail<QContactName>().firstName() == "John");
- QVERIFY(c.detail<QContactName>().middleName() == "Rupert");
- QVERIFY(c.detail<QContactName>().lastName() == "Doe");
- QVERIFY(c.detail<QContactNickname>().nickname() == "Johnny");
-
- detailsAdded++;
-
- trackerEngine->saveContact(&c, error);
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY(c.localId() != initialId);
- QContact contact = this->contact(c.localId());
- QList<QContactName> details = contact.details<QContactName>();
- QList<QContactNickname> details2 = contact.details<QContactNickname>();
- QCOMPARE(details.count(), detailsAdded);
- QCOMPARE(details2.count(), detailsAdded);
- // Name is unique
- foreach(QString field, nameValues.keys()) {
- QCOMPARE(details.at(0).value(field), nameValues.value(field));
- }
- QCOMPARE(details2.at(0).value(QLatin1String(QContactNickname::FieldNickname)), QString("Johnny"));
-
- // Try changing the name of the saved contact.
- {
- QMap<QString,QString> nameValues;
- QContactName name = c.detail<QContactName>();
- nameValues.insert(QLatin1String(QContactName::FieldPrefix), "Mr2");
- nameValues.insert(QLatin1String(QContactName::FieldFirst), "John2");
- nameValues.insert(QLatin1String(QContactName::FieldMiddle), "Rupert2");
- nameValues.insert(QLatin1String(QContactName::FieldLast), "");
- // nameValues.insert(QContactName::FieldSuffix, "III");
-
- foreach (QString field, nameValues.keys()) {
- name.setValue(field, nameValues.value(field));
- }
- c.saveDetail(&name);
-
- QContactNickname nick = c.detail<QContactNickname>();
- nick.setValue(QLatin1String(QContactNickname::FieldNickname), "Johnny2");
- c.saveDetail(&nick);
-
-
- QVERIFY(trackerEngine->saveContact(&c, error));
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY(c.localId() != initialId);
-
- QContact contact = trackerEngine->contact_impl(c.localId(), QStringList(), error);
- QCOMPARE(error, QContactManager::NoError);
- QList<QContactName> details = contact.details<QContactName>();
- QList<QContactNickname> details2 = contact.details<QContactNickname>();
- QCOMPARE(details.count(), detailsAdded);
- QCOMPARE(details2.count(), detailsAdded);
- // Name is unique
- foreach(QString field, nameValues.keys()) {
- QCOMPARE(details.at(0).value(field), nameValues.value(field));
- }
- QCOMPARE(details2.at(0).value(QLatin1String(QContactNickname::FieldNickname)), QString("Johnny2"));
-
- // now try to add new name detail fails - this is how currently unique fields are implemented
- // so cover it in unit tests
- QContactName name1;
- name1.setValue(QContactName::FieldFirst, "Something that wont be stored as name is unique");
- c.saveDetail(&name1);
- // validate that unique name is not saved
- QVERIFY(!trackerEngine->saveContact(&c, error));
- details = contact.details<QContactName>();
- details2 = contact.details<QContactNickname>();
- QCOMPARE(details.count(), detailsAdded);
- QCOMPARE(details2.count(), detailsAdded);
- }
-}
-
-void ut_qtcontacts_trackerplugin::testSavePhoneNumber()
-{
- // use the same values for 2 contacts
- for (int i = 0; i <2; i++ )
- {
- QContact c;
- QContactLocalId initialId = c.localId();
- int detailsAdded = 0;
- QContactName name;
- name.setFirstName("I have phone numbers");
- name.setLastName("Girl");
- c.saveDetail(&name);
-
- // key: phonenumber; value: context,subtype
- QMap<QString,QPair<QString,QString> > phoneValues;
-
- phoneValues.insert("(704)486-6472", QPair<QString,QString>(QLatin1String(QContactDetail::ContextHome), QString()));
- phoneValues.insert("(765)957-1663", QPair<QString,QString>(QLatin1String(QContactDetail::ContextHome), QString()));
- phoneValues.insert("(999)888-1111", QPair<QString,QString>(QLatin1String(QContactDetail::ContextHome),
- QLatin1String(QContactPhoneNumber::SubTypeMobile)));
-
- phoneValues.insert("(792)123-6113", QPair<QString,QString>(QLatin1String(QContactDetail::ContextWork), QString()));
- phoneValues.insert("(918)491-7361", QPair<QString,QString>(QLatin1String(QContactDetail::ContextWork),
- QLatin1String(QContactPhoneNumber::SubTypeMobile)));
- phoneValues.insert("(412)670-1514", QPair<QString,QString>(QLatin1String(QContactDetail::ContextWork),
- QLatin1String(QContactPhoneNumber::SubTypeCar)));
- QMap<QString,QPair<QString,QString> > formattedPhoneValues;
-
-
- foreach (QString number, phoneValues.keys()) {
- QContactPhoneNumber phone;
- phone.setNumber(number);
- // Stripped automatically on saving RFC 3966 visual-separators reg exp "[(|-|.|)| ]"
- formattedPhoneValues.insert(QString(number).replace( QRegExp("[\\(|" \
- "\\-|" \
- "\\.|" \
- "\\)|" \
- " ]"), ""),phoneValues.value(number));
- if (!phoneValues.value(number).first.isEmpty()) {
- phone.setContexts(phoneValues.value(number).first);
- }
- if (!phoneValues.value(number).second.isEmpty()) {
- phone.setSubTypes(phoneValues.value(number).second);
- }
- c.saveDetail(&phone);
- detailsAdded++;
- }
-
- trackerEngine->saveContact(&c, error);
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY(c.localId() != initialId);
- // wait for commit transaction to be done, no signals yet
- for(int i = 0; i < 100; i++)
- {
- usleep(10000);
- QCoreApplication::processEvents();
- }
-
-
- // verify with synchronous read too
- QContact contact = trackerEngine->contact_impl(c.localId(), QStringList(), error);
- QCOMPARE(error, QContactManager::NoError);
- QList<QContactPhoneNumber> details = contact.details<QContactPhoneNumber>();
-
-
- QCOMPARE(details.count(), detailsAdded);
-
-
- foreach (QContactPhoneNumber detail, details) {
- // Verify that the stored values and attributes are the same as given
- QVERIFY(formattedPhoneValues.contains(detail.number()));
- QCOMPARE(detail.contexts()[0], formattedPhoneValues.value(detail.number()).first);
- if( formattedPhoneValues.value(detail.number()).second.isEmpty()) // default empty is voice
- QCOMPARE(detail.subTypes()[0], QLatin1String(QContactPhoneNumber::SubTypeVoice));
- else
- QCOMPARE(detail.subTypes()[0], formattedPhoneValues.value(detail.number()).second);
- }
-
- // edit one of numbers . values, context and subtypes and save again
- QString editedPhoneValue = "+7044866473";
- QContactPhoneNumber phone = details[0];
- phone.setNumber(editedPhoneValue);
- phone.setContexts(QContactDetail::ContextWork);
- phone.setSubTypes(QContactPhoneNumber::SubTypeMobile);
- c = contact;
- c.saveDetail(&phone);
- trackerEngine->saveContact(&c, error);
- QCOMPARE(error, QContactManager::NoError);
- c = this->contact(c.localId(), QStringList()<<QContactPhoneNumber::DefinitionName);
- details = c.details<QContactPhoneNumber>();
- QCOMPARE(details.count(), detailsAdded);
- bool found = false;
- foreach (QContactPhoneNumber detail, details) {
- if(detail.number() == phone.number())
- {
- found = true;
- QVERIFY(detail.subTypes().contains(QContactPhoneNumber::SubTypeMobile));
- QVERIFY(detail.contexts().contains(QContactPhoneNumber::ContextWork));
- break;
- }
- }
- QVERIFY(found);
- }
-}
-
-void ut_qtcontacts_trackerplugin::testPhoneNumberContext()
-{
- QContact c;
- QContactPhoneNumber phone;
- phone.setContexts(QContactDetail::ContextHome);
- phone.setNumber("555-888");
- phone.setSubTypes(QContactPhoneNumber::SubTypeMobile);
- c.saveDetail(&phone);
- QContact contactToSave = c;
- // Let's do this all twice, first time save new detail, and next iteration change the context
- for (int iterations = 0; iterations < 2; iterations++) {
- QVERIFY(trackerEngine->saveContact(&contactToSave, error));
- // wait for commit transaction to be done, no signals yet
- for(int i = 0; i < 100; i++) {
- usleep(10000);
- QCoreApplication::processEvents();
- }
-
- QContactFetchRequest request;
- QContactLocalIdFilter filter;
- QList<QContactLocalId> ids;
- ids.append(contactToSave.localId());
- filter.setIds(ids);
- request.setFilter(filter);
-
- QStringList details;
- details << QContactPhoneNumber::DefinitionName;
- request.setDefinitionRestrictions(details);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++) {
- usleep(100000);
- QCoreApplication::processEvents();
- if(request.isFinished() )
- break;
- }
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(!slot.contacts.isEmpty());
-
- QContact contactToTest;
- foreach (QContact savedContact, slot.contacts) {
- if (savedContact.localId() == contactToSave.localId()) {
- contactToTest = savedContact;
- }
- }
- QVERIFY(contactToTest.localId() == contactToSave.localId()); // Just to be sure we got the saved contact
- qDebug()<<contactToTest.details<QContactPhoneNumber>().count();
-
- QVERIFY(contactToTest.details<QContactPhoneNumber>().count() == 1);
- if (0 == iterations) {
- // perform context change
- QContactPhoneNumber phoneToEdit = contactToTest.detail<QContactPhoneNumber>();
- phoneToEdit.setContexts(QContactDetail::ContextWork);
- contactToTest.saveDetail(&phoneToEdit);
- contactToSave = contactToTest;
- }
- QVERIFY(contactToTest.details<QContactPhoneNumber>().count() == 1);
- }
-}
-
-void ut_qtcontacts_trackerplugin::testWritingOnlyWorkMobile()
-{
- QContact c;
- QContactPhoneNumber phone;
- phone.setContexts(QContactDetail::ContextWork);
- phone.setNumber("555999");
- phone.setSubTypes(QContactPhoneNumber::SubTypeMobile);
- c.saveDetail(&phone);
- QContact& contactToSave = c;
- QVERIFY(trackerEngine->saveContact(&contactToSave, error));
- // wait for commit transaction to be done, no signals yet
- for(int i = 0; i < 100; i++) {
- usleep(10000);
- QCoreApplication::processEvents();
- }
-
- QContactFetchRequest request;
- QContactLocalIdFilter filter;
- QList<QContactLocalId> ids;
- ids.append(contactToSave.localId());
- filter.setIds(ids);
- request.setFilter(filter);
- QStringList details;
- details << QContactPhoneNumber::DefinitionName;
- request.setDefinitionRestrictions(details);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++) {
- usleep(100000);
- QCoreApplication::processEvents();
- if(request.isFinished() )
- break;
- }
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(!slot.contacts.isEmpty());
-
- QContact contactToTest;
- foreach (QContact savedContact, slot.contacts) {
- if (savedContact.localId() == c.localId()) {
- contactToTest = savedContact;
- }
- }
- QVERIFY(contactToTest.localId() == c.localId()); // Just to be sure we got the saved contact
- QVERIFY(contactToTest.details<QContactPhoneNumber>().count() == 1);
- QVERIFY(contactToTest.detail<QContactPhoneNumber>().number() == phone.number());
- QVERIFY(contactToTest.detail<QContactPhoneNumber>().subTypes() == phone.subTypes());
- QVERIFY(contactToTest.detail<QContactPhoneNumber>().contexts() == phone.contexts());
-}
-
-void ut_qtcontacts_trackerplugin::testSaveAddress()
-{
- QContact c;
- QContactName name;
- name.setFirstName("Aruba & Barbados");
- name.setLastName("Girl");
- c.saveDetail(&name);
- QContactLocalId initialId = c.localId();
- int detailsAdded = 0;
-
- // List of pairs of field-value map and context
- typedef QMap<QString,QString> typeAddress;
- typedef QPair<typeAddress,QString> typeAddressWithContext;
- QList<typeAddressWithContext> addressValues;
-
- // TODO check status of 137174 and other libqttracker1pre6 bugs before refactoring
- typeAddress values;
- values.insert(QLatin1String(QContactAddress::FieldCountry), "Barbados");
- values.insert(QLatin1String(QContactAddress::FieldPostcode), "55555");
- values.insert(QLatin1String(QContactAddress::FieldStreet), "Martindales Rd");
- values.insert(QLatin1String(QContactAddress::FieldRegion), "Bridgetown");
- addressValues.append(typeAddressWithContext(values, QLatin1String(QContactDetail::ContextHome)));
- values.clear();
- values.insert(QLatin1String(QContactAddress::FieldCountry), "Aruba");
- values.insert(QLatin1String(QContactAddress::FieldPostcode), "44444");
- values.insert(QLatin1String(QContactAddress::FieldStreet), "Brazilie Straat");
- values.insert(QLatin1String(QContactAddress::FieldRegion), "Oranjestad");
- addressValues.append(typeAddressWithContext(values, QLatin1String(QContactDetail::ContextHome)));
- values.clear();
- values.insert(QLatin1String(QContactAddress::FieldCountry), "ArubaWork");
- values.insert(QLatin1String(QContactAddress::FieldPostcode), "44445");
- values.insert(QLatin1String(QContactAddress::FieldStreet), "Sunset Blvd");
- values.insert(QLatin1String(QContactAddress::FieldRegion), "Oranjestad");
- addressValues.append(typeAddressWithContext(values, QLatin1String(QContactDetail::ContextHome)));
- foreach (typeAddressWithContext addressWithContext, addressValues) {
- QContactAddress address;
- foreach (QString field, addressWithContext.first.keys()) {
- address.setValue(field, addressWithContext.first.value(field));
- }
- address.setContexts(addressWithContext.second);
- c.saveDetail(&address);
- detailsAdded++;
- }
-
- trackerEngine->saveContact(&c, error);
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY(c.localId() != initialId);
- QContact contact = trackerEngine->contact_impl(c.localId(), QStringList(), error);
- QList<QContactAddress> details = contact.details<QContactAddress>();
- QCOMPARE(details.count(), detailsAdded);
- bool found = false;
- // Test if inserted values are found in some of the details
- foreach (typeAddressWithContext addressWithContext, addressValues) {
- foreach (QContactAddress detail, details) {
- foreach (QString field, addressWithContext.first.keys()) {
- found = (detail.value(field) == addressWithContext.first.value(field));
- if (!found)
- break;
- }
- if (found)
- break;
- }
- QVERIFY2(found, "Inserted detail was not found in the fetched details");
- }
-}
-
-void ut_qtcontacts_trackerplugin::testSaveEmailAddress()
-{
- QContact c;
- QContactLocalId initialId = c.localId();
- int detailsAdded = 0;
-
- QMap<QString,QString> values;
- values.insert("john.does@hotmail.com", QContactDetail::ContextHome);
- values.insert("john.doe@gmail.com", QContactDetail::ContextWork);
- values.insert("john.doe@nokia.com", QContactDetail::ContextWork);
- values.insert("john.doe@johndoe.com", QContactDetail::ContextHome);
- foreach(QString address, values.keys()) {
- QContactEmailAddress emailAddress;
- emailAddress.setEmailAddress(address);
- emailAddress.setContexts(values.value(address));
- c.saveDetail(&emailAddress);
- detailsAdded++;
- }
- QContactName name;
- name.setFirstName("Jo");
- name.setLastName("H N Doe");
- c.saveDetail(&name);
- trackerEngine->saveContact(&c, error);
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY(c.localId() != initialId);
- QContact contact = trackerEngine->contact_impl(c.localId(), QStringList(), error);
- QList<QContactEmailAddress> details = contact.details<QContactEmailAddress>();
- QCOMPARE(details.count(), detailsAdded);
- foreach (QContactEmailAddress detail, details) {
- QString address = detail.value(QContactEmailAddress::FieldEmailAddress);
- QVERIFY(values.contains(address));
- QCOMPARE(detail.contexts()[0], values.value(address));
- }
-}
-
-void ut_qtcontacts_trackerplugin::testRemoveContact()
-{
- QContact c;
- QContactPhoneNumber phone;
- phone.setNumber("+358501234567");
- c.saveDetail(&phone);
- QContactEmailAddress email;
- email.setEmailAddress("super.man@hotmail.com");
- c.saveDetail(&email);
- QContactName name;
- name.setFirstName("Super");
- name.setLastName("Man");
- c.saveDetail(&name);
-
- QVERIFY2(trackerEngine->saveContact(&c, error) && error == QContactManager::NoError, "Saving a contact failed");
- QVERIFY2(trackerEngine->removeContact(c.localId(), error), "Removing a contact failed");
- QCOMPARE(error, QContactManager::NoError);
- QVERIFY2(trackerEngine->contact_impl(c.localId(), QStringList(), error) == QContact(), "Found a contact, which should have been removed");
-}
-
-void ut_qtcontacts_trackerplugin::testSaveContacts()
-{
- QList<QContact> contacts;
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("John");
- name.setLastName(QString::number(i,10));
- c.saveDetail(&name);
- contacts.append(c);
- }
-
- QMap<int, QContactManager::Error>* errorMap;
- trackerEngine->saveContacts(&contacts, errorMap, error);
- QCOMPARE(error, QContactManager::NoError);
- for (int i = 0; i < contacts.count(); i++) {
- QVERIFY(contacts[i].localId() != 0);
- QList<QContactName> details = trackerEngine->contact_impl(contacts[i].localId(), QStringList(), error).details<QContactName>();
- QVERIFY(details.count());
- QCOMPARE(details.at(0).lastName(),
- QString("%1").arg(QString::number(i,10)));
- }
-}
-
-void ut_qtcontacts_trackerplugin::testRemoveContacts()
-{
- QList<QContactLocalId> addedIds;
- for (int i = 0; i < 5; i++) {
- QContact c;
- QContactName name;
- name.setFirstName(QString("John%1").arg(QString::number(i,10)));
- c.saveDetail(&name);
- QVERIFY2(trackerEngine->saveContact(&c, error) && error == QContactManager::NoError, "Saving a contact failed");
- addedIds.append(c.localId());
- }
- QList<QContactLocalId> toApiRemove;
- toApiRemove.append(addedIds.takeLast());
- toApiRemove.append(addedIds.takeLast());
- QList<QContactLocalId> toPluginRemove(addedIds);
- // Remove all, but last of the added contacts
- bool success = trackerEngine->removeContacts(&toPluginRemove, errorMap, error);
- QCOMPARE(success, true);
- for (int i = 0; i < errorMap->count(); i++) {
- QVERIFY(toPluginRemove[i] == 0);
- }
- QCOMPARE(error, QContactManager::NoError);
-
- success = ContactManager::instance()->removeContacts(&toApiRemove, errorMap);
- QCOMPARE(success, true);
- for (int i = 0; i < errorMap->count(); i++) {
- QVERIFY(toApiRemove[i] == 0);
- }
-
- // Try to remove some previously removed contacts, but one valid contact
- success = trackerEngine->removeContacts(&addedIds, errorMap, error);
- QCOMPARE(errorMap->count(), addedIds.count());
- for (int i = 0; i < errorMap->count() - 1; i++) {
- QVERIFY2(addedIds[i] != 0, "Manager should not mark id as zero");
- }
-}
-
-void ut_qtcontacts_trackerplugin::testAvatar()
-{
- QContact contactWithAvatar;
- QContactAvatar avatar;
-
- avatar.setAvatar("file:///home/user/.contacts/avatars/default_avatar.png");
- contactWithAvatar.saveDetail(&avatar);
- QContactName name;
- name.setFirstName("John");name.setLastName("A Frog");
- contactWithAvatar.saveDetail(&name);
- QVERIFY(trackerEngine->saveContact( &contactWithAvatar, error));
-
- QContact c = trackerEngine->contact_impl( contactWithAvatar.localId(), QStringList(), error);
- QList<QContactAvatar> avatars = c.details<QContactAvatar>();
- QVERIFY( avatars.size() );
- QCOMPARE( avatars[0].avatar(), avatar.avatar() );
-}
-
-void ut_qtcontacts_trackerplugin::testUrl()
-{
-
- //Context home, homepage url
- QContact contactWithUrl1;
- QContactUrl url1;
- url1.setUrl("http://home.homepage");
- url1.setContexts(QContactDetail::ContextHome);
- url1.setSubType(QContactUrl::SubTypeHomePage);
- QContactName name;
- name.setFirstName("John");name.setLastName("TestUrl1");
- contactWithUrl1.saveDetail(&name);
- contactWithUrl1.saveDetail(&url1);
- QVERIFY(trackerEngine->saveContact(&contactWithUrl1, error));
-
- //Context work, homepage url
- QContact contactWithUrl2;
- QContactUrl url2;
- url2.setUrl("http://work.homepage");
- url2.setContexts(QContactDetail::ContextWork);
- url2.setSubType(QContactUrl::SubTypeHomePage);
- QContactName name2;
- name2.setLastName("TestUrl2");
- contactWithUrl2.saveDetail(&name2);
- contactWithUrl2.saveDetail(&url2);
- QVERIFY(trackerEngine->saveContact(&contactWithUrl2, error));
-
- //Context home, favourite url
- QContact contactWithUrl3;
- QContactUrl url3;
- url3.setUrl("http://home.favourite");
- url3.setContexts(QContactDetail::ContextHome);
- url3.setSubType(QContactUrl::SubTypeFavourite);
-
- name2.setLastName("TestUrl3");
- contactWithUrl3.saveDetail(&name2);
- contactWithUrl3.saveDetail(&url3);
- QVERIFY(trackerEngine->saveContact(&contactWithUrl3, error));
-
-
- QContactLocalId id1 = contactWithUrl1.localId();
- QContactLocalId id2 = contactWithUrl2.localId();
- QContactLocalId id3 = contactWithUrl3.localId();
- QCOMPARE(contact(id1).detail<QContactUrl>().url(), QString("http://home.homepage"));
- QCOMPARE(contact(id2).detail<QContactUrl>().url(), QString("http://work.homepage"));
- QCOMPARE(contact(id3).detail<QContactUrl>().url(), QString("http://home.favourite"));
-
- QVERIFY(contact(id1).detail<QContactUrl>().contexts()[0] == QContactDetail::ContextHome );
- QVERIFY(contact(id2).detail<QContactUrl>().contexts()[0] == QContactDetail::ContextWork );
- QVERIFY(contact(id3).detail<QContactUrl>().contexts()[0] == QContactDetail::ContextHome );
-
- QVERIFY(contact(id1).detail<QContactUrl>().subType() == QContactUrl::SubTypeHomePage );
- QVERIFY(contact(id2).detail<QContactUrl>().subType() == QContactUrl::SubTypeHomePage );
- QVERIFY(contact(id3).detail<QContactUrl>().subType() == QContactUrl::SubTypeFavourite );
-
-}
-
-/*
-void ut_qtcontacts_trackerplugin::testGroups()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testGroup()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testSaveGroup()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testRemoveGroup()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testDetailDefinitions()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testDetailDefinition()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testSaveDetailDefinition()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testRemoveDetailDefinition()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-*/
-
-void ut_qtcontacts_trackerplugin::testSyncContactManagerContactsAddedSince()
-{
- // FIXME move this code out: not supposed to compile in and load the same code as dll plugin
- QSKIP("Statically and dinamically linking the same code is not working", SkipAll);
-
- QDateTime start;
- QList<QContactLocalId> addedIds;
- syncContactsAddedSinceHelper(start, addedIds);
-
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventAdded);
- filter.setSince(start);
-
- QList<QContactSortOrder> sortOrder;
-
- QList<QContact> contactIds = ContactManager::instance()->contacts( filter, sortOrder, QStringList() );
- qDebug() << "addedIds" << addedIds.size();
- qDebug() << "contactIds" << contactIds.size();
- QVERIFY2( contactIds.size() == addedIds.size(), "Incorrect number of filtered contacts");
-}
-
-void ut_qtcontacts_trackerplugin::testSyncTrackerEngineContactsIdsAddedSince()
-{
- QDateTime start;
- QList<QContactLocalId> addedIds;
- syncContactsAddedSinceHelper(start, addedIds);
-
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventAdded);
- filter.setSince(start);
-
- QList<QContactSortOrder> sortOrder;
- QContactManager::Error error;
-
- QList<QContactLocalId> contactIds = trackerEngine->contactIds( filter, sortOrder, error );
- qDebug() << "addedIds" << addedIds;
- qDebug() << "contactIds" << contactIds;
- QVERIFY2( contactIds.size() == addedIds.size(), "Incorrect number of filtered contacts");
-}
-
-void ut_qtcontacts_trackerplugin::testSyncContactManagerContactIdsAddedSince()
-{
- // FIXME move this code out: not supposed to compile in and load the same code as dll plugin
- QSKIP("Statically and dinamically linking the same code is not working", SkipAll);
- QDateTime start;
- QList<QContactLocalId> addedIds;
- syncContactsAddedSinceHelper(start, addedIds);
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventAdded);
- filter.setSince(start);
- QList<QContactSortOrder> sortOrder;
-
-
- QList<QContactLocalId> contactIds = ContactManager::instance()->contactIds(filter, sortOrder);
- qDebug() << "addedIds" << addedIds;
- qDebug() << "contactIds" << contactIds;
- QVERIFY2( contactIds.size() == addedIds.size(), "Incorrect number of filtered contacts");
-}
-
-
-void ut_qtcontacts_trackerplugin::syncContactsAddedSinceHelper(QDateTime& start, QList<QContactLocalId>& addedIds)
-{
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("A"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- }
-
- QTest::qWait(1000);
- start = QDateTime::currentDateTime();
-
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("B"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- addedIds.append(c.localId());
- }
-}
-
-void ut_qtcontacts_trackerplugin::testContactsAddedSince()
-{
- QList<QContactLocalId> addedIds;
- QDateTime start;
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("A"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- }
-
- QTest::qWait(1000);
- start = QDateTime::currentDateTime();
-
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("B"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- addedIds.append(c.localId());
- }
-
- // now one asynchronous request to read all the
- QContactFetchRequest request;
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventAdded);
- filter.setSince(start);
- request.setFilter(filter);
-
- // here You specify which details are of interest
- QStringList details;
- details << QContactAvatar::DefinitionName
- << QContactBirthday::DefinitionName
- << QContactAddress::DefinitionName
- << QContactEmailAddress::DefinitionName
- << QContactDisplayLabel::DefinitionName
- << QContactGender::DefinitionName
- << QContactAnniversary::DefinitionName
- << QContactName::DefinitionName
- << QContactOnlineAccount::DefinitionName
- << QContactOrganization::DefinitionName
- << QContactPhoneNumber::DefinitionName;
- request.setDefinitionRestrictions(details);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
-
- // start. clients should, instead of following use
- // request.setManager(trackermanagerinstance);
- // request.start();
- trackerEngine->startRequest(&request);
- trackerEngine->waitForRequestFinished(&request, 10000);
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QCOMPARE(slot.contacts.count(), addedIds.count());
-
- foreach(QContact cont, slot.contacts) {
- QVERIFY2(addedIds.contains(cont.localId()), "One of the added contacts was not reported as added");
- }
-
- QContactLocalIdFetchRequest idreq;
- filter.setSince(start);
- idreq.setFilter(filter);
-
- Slots slot2;
- QObject::connect(&idreq, SIGNAL(resultsAvailable()),
- &slot2, SLOT(idResultsAvailable()));
- trackerEngine->startRequest(&idreq);
- trackerEngine->waitForRequestFinished(&idreq, 10000);
- QVERIFY(idreq.isFinished());
- QCOMPARE(slot2.ids.count(), addedIds.count());
- foreach(QContactLocalId id, slot2.ids) {
- QVERIFY2(addedIds.contains(id), "One of the added contacts was not reported as added");
- }
-
-}
-
-void ut_qtcontacts_trackerplugin::testContactsModifiedSince()
-{
- QDateTime start;
- QList<QContactLocalId> addedIds;
- QList<QContactLocalId> modified;
-
- const int contactsToAdd = 5;
- const int contactsToModify = 3;
- QVERIFY2(contactsToAdd >= contactsToModify, "Cannot modify more contacts than this test has added");
- QVERIFY2(contactsToModify+1 <= contactsToAdd, "Cannot modify more contacts than this test has added");
-
- // Add contacts with only first name and store them to list of added
- for (int i = 0; i < contactsToAdd; i++) {
- QContact c;
- QContactName name;
- name.setFirstName("A"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- addedIds.append(c.localId());
- }
-
- QTest::qWait(2000);
- start = QDateTime::currentDateTime();
-
- // Modify and save rest of the contacts
- for (int i = 0; i < contactsToModify; i++) {
- QContact c = contact(addedIds[i]);
- QContactName name = c.detail<QContactName>();
- // Modify name
- name.setFirstName("B"+QString::number(i));
- QVERIFY2(c.saveDetail(&name), "Failed to save detail");
- QVERIFY2(trackerEngine->saveContact(&c, error), "Failed to save contact");
- modified.append(c.localId());
- }
- // Set filter
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventChanged);
- filter.setSince(start);
-
- QContactLocalIdFetchRequest idfetch;
- QContactFetchRequest fetch;
- idfetch.setFilter(filter);
- fetch.setFilter(filter);
- trackerEngine->startRequest(&idfetch);
- trackerEngine->waitForRequestFinished(&idfetch, 10000);
- QVERIFY2(idfetch.isFinished(), "Id fetch request did not finish on time");
- QVERIFY2(idfetch.error() == QContactManager::NoError, "Id fetch request finished with errors");
- QList<QContactLocalId> actuallyModifiedIds = idfetch.ids();
- trackerEngine->startRequest(&fetch);
- trackerEngine->waitForRequestFinished(&fetch, 10000);
- QVERIFY2(fetch.isFinished(), "Fetch request did not finish on time");
- QVERIFY2(fetch.error() == QContactManager::NoError, "Fetch request finished with errors");
- QList<QContact> actuallyModified = fetch.contacts();
-
- // Num of actually modified should be same as supposedly modified
- QCOMPARE(actuallyModifiedIds.count(), modified.count());
- QCOMPARE(actuallyModified.count(), modified.count());
- // All the ids of the modified contacts should be found in the result list
- foreach (QContactLocalId id, modified) {
- QVERIFY2(actuallyModifiedIds.contains(id), "One the modified contacts was not reported as modified");
- }
-}
-
-void ut_qtcontacts_trackerplugin::testContactsRemovedSince()
-{
- QDateTime start = QDateTime::currentDateTime();
- QContactChangeLogFilter filter(QContactChangeLogFilter::EventRemoved);
- filter.setSince(start);
- QList<QContactSortOrder> sorts;
- QList<QContactLocalId> actuallyRemoved = trackerEngine->contactIds(filter, sorts, error);
- QVERIFY(actuallyRemoved.isEmpty());
- QVERIFY(error == QContactManager::NotSupportedError);
-}
-/*
-void ut_qtcontacts_trackerplugin::testGroupsAddedSince()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testGroupsModifiedSince()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-
-void ut_qtcontacts_trackerplugin::testGroupsRemovedSince()
-{
- qDebug() << "Not implemented";
- QVERIFY(false);
-}
-*/
-
-void ut_qtcontacts_trackerplugin::cleanupTestCase()
-{
- delete trackerEngine;
- delete errorMap;
-}
-
-void ut_qtcontacts_trackerplugin::cleanup()
-{
- foreach (QContactLocalId id, addedContacts) {
- trackerEngine->removeContact(id, error);
- }
- addedContacts.clear();
-}
-
-
-void ut_qtcontacts_trackerplugin::testNcoTypes()
-{
- using namespace SopranoLive;
-
- QList<QContactLocalId> ids;
- RDFVariable RDFContact = RDFVariable::fromType<nco::PersonContact>();
- RDFSelect query;
-
- query.addColumn("contact_uri", RDFContact);
- query.addColumn("contactId", RDFContact.property<nco::contactUID>());
- LiveNodes ncoContacts = ::tracker()->modelQuery(query);
- foreach( Live<nco::PersonContact> p, ncoContacts ) {
- QVERIFY(p.hasType<nco::Contact>());
- QVERIFY(p.hasType<nco::Role>());
- QVERIFY(p.hasType<nco::PersonContact>());
- }
-}
-
-void ut_qtcontacts_trackerplugin::testAsyncReadContacts()
-{
- addedContacts.clear();
- // Add at least one contact to be sure that this doesn't fail because tracker is clean
-
- QStringList firstNames, lastNames;
- firstNames << "aa" << "ab" << "ac" << "dd" << "fe";
- lastNames << "fe" << "ab" << "dd" << "dd" << "aa";
- for (int i = 0; i < firstNames.count(); i++) {
- QContact c;
- QContactName name;
- name.setFirstName(firstNames.at(i));
- name.setLastName(lastNames.at(i));
- QContactAvatar avatar;
- avatar.setAvatar("default_avatar.png");
- avatar.setSubType(QContactAvatar::SubTypeImage);
- QVERIFY(c.saveDetail(&name));
- QVERIFY(c.saveDetail(&avatar));
- QVERIFY(trackerEngine->saveContact(&c, error));
- addedContacts.append(c.localId());
- }
-
- // Prepare the filter for the request - we really should test only the contact we add here.
- QContactLocalIdFilter filter;
- filter.setIds(addedContacts);
-
- // this one will get complete contacts
-
- Slots slot;
- QContactFetchRequest request;
- QList<QContactSortOrder> sorting;
- QContactSortOrder sort, sort1;
- sort.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast);
- sort1.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
- sorting << sort << sort1;
- QStringList details; details << QContactName::DefinitionName << QContactAvatar::DefinitionName;
- request.setDefinitionRestrictions(details);
- request.setSorting(sorting);
- request.setFilter(filter);
-
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
-
- // this one only ids
- QContactLocalIdFetchRequest request1;
- request1.setFilter(filter);
- QObject::connect(&request1, SIGNAL(resultsAvailable()),
- &slot, SLOT(idResultsAvailable()));
-
- // the purpose is to compare if all contacts are loaded, and
- // if optional fields are defined properly in request
-
- // start both at once
- trackerEngine->startRequest(&request);
- trackerEngine->startRequest(&request1);
- trackerEngine->waitForRequestFinished(&request, 10000);
- trackerEngine->waitForRequestFinished(&request1, 10000);
-
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(request1.isFinished());
-
- // there need1 to be something added to be verified
- QVERIFY(!request.contacts().isEmpty());
- // now ask for one contact
- QVERIFY(!slot.contacts.isEmpty());
- // there need to be something added to be verified
- QVERIFY(!request1.ids().isEmpty());
- // now ask for one contact
- QVERIFY(!slot.ids.isEmpty());
-
- QVERIFY2(slot.contacts.count() == slot.ids.count(), "not all contacts were loaded");
- QVERIFY(slot.contacts.count() >= firstNames.count());
- for( int i = 0; i < slot.contacts.size() -1 ; i++)
- {
- QContact contact = slot.contacts[i];
- QContact contact1 = slot.contacts[i+1];
- QString last0 = contact.detail<QContactName>().lastName();
- QString first0 = contact.detail<QContactName>().firstName();
- QString last1 = contact1.detail<QContactName>().lastName();
- QString first1 = contact1.detail<QContactName>().firstName();
- // sorting
- qDebug() << "contacts:" << contact.localId() << first0 << last0;
- bool test = last0 < last1 || (last0 == last1 && first0 <= first1);
- if (!test) {
- qDebug() << "contacts sort failed. First: " << contact1.localId() << first0 << last1 << "lasts: " << last0 << last1;
- }
- QVERIFY2(test, "Sorting failed.");
- }
-
-}
-
-void ut_qtcontacts_trackerplugin::testFilterContacts()
-{
- // this one will get complete contacts
- QContact c;
- QContactName name;
- name.setFirstName("Zuba");
- name.setLastName("Zub");
- c.saveDetail(&name);
- QContactPhoneNumber phone;
-
- phone.setNumber("4872444");
- c.saveDetail(&phone);
-
- QContactBirthday birthday;
- birthday.setDate(QDate(2010, 2, 14));
- c.saveDetail(&birthday);
-
- trackerEngine->saveContact(&c, error);
-
- QStringList details;
- details << QContactName::DefinitionName << QContactAvatar::DefinitionName
- << QContactPhoneNumber::DefinitionName;
-
- QContactFetchRequest request;
- QContactDetailFilter filter;
- filter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
- filter.setValue(QString("4872444"));
- filter.setMatchFlags(QContactFilter::MatchEndsWith);
-
- request.setDefinitionRestrictions(details);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++)
- {
- usleep(100000);
- QCoreApplication::processEvents();
- if(request.isFinished() )
- break;
- }
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(!request.contacts().isEmpty());
-
- QVERIFY(!slot.contacts.isEmpty());
-
- bool containsThisId = false;
- foreach(const QContact &contact, slot.contacts)
- {
- if( contact.localId() == c.localId())
- containsThisId = true;
- bool containsPhone = false;
- foreach(const QContactDetail &detail, contact.details(QContactPhoneNumber::DefinitionName))
- {
- if(detail.value(QContactPhoneNumber::FieldNumber).contains("4872444"))
- {
- containsPhone = true;
- break;
- }
- }
- QVERIFY(containsPhone);
- }
- QVERIFY(containsThisId);
-
- // filter by birthday range
- QContactDetailRangeFilter rangeFilter;
- rangeFilter.setDetailDefinitionName(QContactBirthday::DefinitionName, QContactBirthday::FieldBirthday);
- // include lower & exclude upper by default
- rangeFilter.setRange(QDate(2010, 2, 14), QDate(2010, 2, 15));
- QList<QContact> contacts = trackerEngine->contacts(rangeFilter, QList<QContactSortOrder>(), QStringList()<< QContactBirthday::DefinitionName, error);
- QVERIFY(!contacts.isEmpty());
- bool containsOurContact(false);
- foreach(const QContact &cont, contacts)
- {
- QVERIFY(cont.detail<QContactBirthday>().date() == QDate(2010, 2, 14));
- if( c.id() == cont.id() )
- containsOurContact = true;
- }
- QVERIFY(containsOurContact);
-}
-
-void ut_qtcontacts_trackerplugin::testFilterContactsEndsWith()
-{
- QSettings settings(QSettings::IniFormat, QSettings::UserScope, "Nokia", "Trackerplugin");
- QString restoreValue = settings.value("phoneNumberMatchDigitCount", "7").toString();
-
- QContact matchingContact;
- QContactName name;
- name.setFirstName("Zuba");
- name.setLastName("Zub");
- matchingContact.saveDetail(&name);
- QContactPhoneNumber phone;
- // TODO doesnt work yet phone.setContexts(QContactPhoneNumber::ContextWork);
- phone.setNumber("3210987654321");
- matchingContact.saveDetail(&phone);
- trackerEngine->saveContact(&matchingContact, error);
-
- QStringList details;
- details << QContactName::DefinitionName << QContactAvatar::DefinitionName
- << QContactPhoneNumber::DefinitionName;
-
- QContactFetchRequest request;
- QContactDetailFilter filter;
- filter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
-
- {
- // test matching of 7 last digits
- int matchCount = 7;
- qDebug() << "Test matching of" << matchCount << "last digits.";
- settings.setValue("phoneNumberMatchDigitCount", matchCount);
- QString matchValue = "3000007654321";
- QContact nonMatchingContact;
- nonMatchingContact.saveDetail(&name);
- phone.setNumber("3210980654321");
- nonMatchingContact.saveDetail(&phone);
- trackerEngine->saveContact(&nonMatchingContact, error);
-
- filter.setValue(matchValue);
- filter.setMatchFlags(QContactFilter::MatchEndsWith);
-
- request.setDefinitionRestrictions(details);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++) {
- usleep(100000);
- QCoreApplication::processEvents();
- if (request.isFinished())
- break;
- }
- QVERIFY(request.isFinished());
- QVERIFY(!slot.contacts.isEmpty());
-
- bool containsMatchingId = false;
- bool containsNonMatchingId = false;
- foreach(const QContact &contact, slot.contacts) {
- if (contact.localId() == nonMatchingContact.localId())
- containsNonMatchingId = true;
- if (contact.localId() == matchingContact.localId())
- containsMatchingId = true;
- bool containsPhone = false;
- foreach(const QContactDetail &detail, contact.details(QContactPhoneNumber::DefinitionName)) {
- if (detail.value(QContactPhoneNumber::FieldNumber).endsWith(matchValue.right(matchCount))) {
- containsPhone = true;
- break;
- }
- }
- QVERIFY(containsPhone);
- }
- QVERIFY(containsMatchingId);
- QVERIFY(!containsNonMatchingId);
- }
-
- {
- // test matching of 11 last digits
- int matchCount = 11;
- qDebug() << "Test matching of" << matchCount << "last digits.";
- settings.setValue("phoneNumberMatchDigitCount", matchCount);
- QString matchValue = "3010987654321";
- QContact nonMatchingContact;
- nonMatchingContact.saveDetail(&name);
- phone.setNumber("3200987654321");
- nonMatchingContact.saveDetail(&phone);
- trackerEngine->saveContact(&nonMatchingContact, error);
-
- QContact matchingContactWithShorterNumber;
- QContactName name1;
- name1.setFirstName("ShortNumber");
- name1.setLastName("Zub1");
- matchingContactWithShorterNumber.saveDetail(&name1);
- QContactPhoneNumber phone1;
- phone1.setNumber("54321");
- matchingContactWithShorterNumber.saveDetail(&phone1);
- trackerEngine->saveContact(&matchingContactWithShorterNumber, error);
- QVERIFY(QContactManager::NoError == error);
-
-
- filter.setValue(matchValue);
- filter.setMatchFlags(QContactFilter::MatchEndsWith);
-
- request.setDefinitionRestrictions(details);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++) {
- usleep(100000);
- QCoreApplication::processEvents();
- if (request.isFinished())
- break;
- }
- QVERIFY(request.isFinished());
- QVERIFY(!slot.contacts.isEmpty());
-
- bool containsMatchingId = false;
- bool containsNonMatchingId = false;
- foreach(const QContact &contact, slot.contacts) {
- if (contact.localId() == nonMatchingContact.localId())
- containsNonMatchingId = true;
- if (contact.localId() == matchingContact.localId())
- containsMatchingId = true;
- bool containsPhone = false;
- foreach(const QContactDetail &detail, contact.details(QContactPhoneNumber::DefinitionName)) {
- if (detail.value(QContactPhoneNumber::FieldNumber).endsWith(matchValue.right(matchCount))) {
- containsPhone = true;
- break;
- }
- }
- QVERIFY(containsPhone);
- }
- QVERIFY(containsMatchingId);
- QVERIFY(!containsNonMatchingId);
-
- // now verify with short number
- filter.setValue("54321");
- filter.setMatchFlags(QContactFilter::MatchEndsWith);
-
- request.setDefinitionRestrictions(details);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++) {
- usleep(100000);
- QCoreApplication::processEvents();
- if (request.isFinished())
- break;
- }
- QVERIFY(request.isFinished());
- QVERIFY(!slot.contacts.isEmpty());
- bool containsShort = false;
- foreach(const QContact &contact, slot.contacts) {
- if (contact.localId() == matchingContactWithShorterNumber.localId())
- containsShort = true;
- }
- QVERIFY(containsShort);
- }
- settings.setValue("phoneNumberMatchDigitCount", restoreValue);
-}
-
-void ut_qtcontacts_trackerplugin::testFilterTwoNameFields()
-{
- // init test
- QMap<QContactLocalId, QContactName> names;
- for (int i = 0; i < 3; i++) {
- QContact c;
- QContactName name;
- name.setFirstName(QUuid::createUuid().toString() + QString::number(i));
- name.setLastName(QUuid::createUuid().toString() + QString::number(i));
- c.saveDetail(&name);
- QContactAvatar avatar;
- avatar.setAvatar(QUuid::createUuid().toString());
- c.saveDetail(&avatar);
- QVERIFY(trackerEngine->saveContact(&c, error));
- names.insert(c.localId(), name);
- QCOMPARE(error, QContactManager::NoError);
- addedContacts.append(c.localId());
- }
-
- // Init filter
- QContactLocalId searchId = names.keys().at(1);
- QString searchFirst = names.value(searchId).firstName();
- QString searchLast = names.value(searchId).lastName();
- QContactUnionFilter ufilter;
- QContactDetailFilter filterFirst;
- filterFirst.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
- filterFirst.setMatchFlags(QContactFilter::MatchExactly);
- filterFirst.setValue(searchFirst);
- QContactDetailFilter filterLast;
- filterLast.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast);
- filterLast.setMatchFlags(QContactFilter::MatchExactly);
- filterLast.setValue(searchLast);
- ufilter.setFilters(QList<QContactFilter>() << filterFirst << filterLast);
-
- // Init request
- QContactFetchRequest request;
- request.setFilter(ufilter);
- trackerEngine->startRequest(&request);
- trackerEngine->waitForRequestFinished(&request, 10000);
-
-
- // Test fetch result
- QCOMPARE(request.contacts().count(), 1);
- QCOMPARE(request.contacts().at(0).localId(), searchId);
- QCOMPARE(request.contacts().at(0).detail<QContactName>().firstName(), searchFirst);
- QCOMPARE(request.contacts().at(0).detail<QContactName>().lastName(), searchLast);
-}
-
-void ut_qtcontacts_trackerplugin::testTrackerUriToUniqueId()
-{
- QString uri = "contact:1234567";
- QContactLocalId id = url2UniqueId( uri );
- QCOMPARE( (int)id, 1234567 );
-}
-
-void ut_qtcontacts_trackerplugin::testQRelationshipAndMergingContacts()
-{
- QContact firstContact;
- QContactName name;
- name.setFirstName("FirstMeta");
- firstContact.saveDetail(&name);
- QVERIFY(trackerEngine->saveContact(&firstContact, error));
-
- QList<QContactLocalId> secondIds;
- QStringList names(QStringList()<<"SecondMeta"<<"ThirdMeta");
- foreach (QString firstname, names)
- {
- QContact secondContact;
- QContactName name1;
- name1.setFirstName(firstname);
- secondContact.saveDetail(&name1);
- QVERIFY(trackerEngine->saveContact(&secondContact, error));
- secondIds<<secondContact.id().localId();
- QContactRelationship rel;
- rel.setRelationshipType(QContactRelationship::Is);
- rel.setFirst(firstContact.id());
- rel.setSecond(secondContact.id());
- QContactRelationshipSaveRequest req;
- req.setRelationships(QList<QContactRelationship>()<<rel);
- QVERIFY(trackerEngine->startRequest(&req));
- trackerEngine->waitForRequestFinished(&req, 10000);
- // if it takes more, then something is wrong
- QVERIFY(req.isFinished());
- QVERIFY(QContactManager::NoError == req.error());
- }
-
- // once they are merged - that's it - no contacts or relationship track exists
- foreach( QContactLocalId mergedId, secondIds)
- {
- QContact second = contact(mergedId, QStringList()<<QContactName::DefinitionName);
- QVERIFY(second.localId() == 0); // as not existing
- }
- QVERIFY(contact(firstContact.localId(), QStringList()<<QContactName::DefinitionName).localId() != 0);
- // TODO check that values from secondids are merged to firstcontact
-
-}
-
-void ut_qtcontacts_trackerplugin::insertContact(const QString& URI, QContactLocalId uid, QString imId, QString imStatus, QString accountPath, QString protocol )
-{
- QProcess inserter;
- QStringList args;
- args << URI << QString::number(uid) << imId << accountPath << imStatus << "In Helsinki" << protocol << "Some" << "Guy";
- inserter.start( PATH_TO_SPARQL_TESTS+"/insertTpContact.sparql", args );
- inserter.waitForFinished();
-}
-
-void ut_qtcontacts_trackerplugin::updateIMContactStatus(const QString& uri, QString imStatus)
-{
- QProcess inserter;
- QStringList args;
- args << uri << imStatus;
- inserter.start( PATH_TO_SPARQL_TESTS+"/updateTpStatus.sparql", args );
- inserter.waitForFinished();
-}
-
-void ut_qtcontacts_trackerplugin::testMergeTwoOnlineContacts()
-{
- QList<QContact> contacts;
- for( int i = 0; i < 3; i++ )
- {
- unsigned int contactid = 555+i;
- insertContact(QString("contact:") + QString::number(contactid),
- contactid, QString::number(contactid)+ "@ovi.com", "nco:presence-status-available", QString("/org/freedesktop/fake/account/%1").arg(contactid),"ovi.com");
- QContact c = contact(contactid, QStringList()<<QContactOnlineAccount::DefinitionName);
- contacts << c;
- }
- QContactRelationship rel;
- rel.setFirst(contacts.at(0).id());
- rel.setSecond(contacts.at(1).id());
- QContactRelationship rel2;
- rel2.setFirst(contacts.at(0).id());
- rel2.setSecond(contacts.at(2).id());
-
- QContactRelationshipSaveRequest req;
- //TODO adding rel2 to the following causes segfault
- req.setRelationships(QList<QContactRelationship>()<<rel);
- QVERIFY(trackerEngine->startRequest(&req));
- trackerEngine->waitForRequestFinished(&req, 1000);
- QVERIFY(req.isFinished());
- QVERIFY(QContactManager::NoError == req.error());
-
- QList<QContactOnlineAccount> onlineAccounts = contacts.at(0).details<QContactOnlineAccount>();
- qDebug() << onlineAccounts.size();
- QEXPECT_FAIL("", "Do net yet support merging multiple im contacts", Continue);
- QVERIFY(onlineAccounts.size() == 2);
-}
-
-void ut_qtcontacts_trackerplugin::testIMContactsAndMetacontactMasterPresence()
-{
- if( !QFileInfo(PATH_TO_SPARQL_TESTS).exists() )
- {
- qWarning()<<Q_FUNC_INFO<<"is disabled - test scripts are not installed";
- return;
- }
- QList<unsigned int> idstomerge;
- QContactLocalId masterContactId; // using one master contact later for additional testing
- for( int i = 0; i < 2; i++ )
- {
- unsigned int contactid = 999998+i;
- idstomerge << contactid;
- insertContact(QString("contact:") + QString::number(999998+i),
- contactid, QString::number(999998 + i)+ "@ovi.com", "nco:presence-status-available", QString("/org/freedesktop/fake/account/%1").arg(999998+i),"ovi.com");
- QContact c = contact(contactid, QStringList()<<QContactOnlineAccount::DefinitionName);
- QVERIFY(c.localId() == contactid);
- QVERIFY(c.detail<QContactOnlineAccount>().serviceProvider() == "ovi.com");
- QContact firstContact;
- QContactName name;
- name.setFirstName("FirstMetaWithIM"+QString::number(contactid));
- firstContact.saveDetail(&name);
- QVERIFY(trackerEngine->saveContact(&firstContact, error));
-
- // save metarelationship
- QContactRelationship rel;
- rel.setRelationshipType(QContactRelationship::Is);
- rel.setFirst(firstContact.id());
- masterContactId = firstContact.localId();
- rel.setSecond(c.id());
- QContactRelationshipSaveRequest req;
- req.setRelationships(QList<QContactRelationship>()<<rel);
- QVERIFY(trackerEngine->startRequest(&req));
- trackerEngine->waitForRequestFinished(&req, 1000);
- QVERIFY(req.isFinished());
- QVERIFY(QContactManager::NoError == req.error());
- }
-
- // expected behavior - is that master contact contains all details aggregated
- {
- QList<QContact> cons = contacts(QList<QContactLocalId> ()
- << masterContactId << 999999, QStringList()
- << QContactOnlineAccount::DefinitionName);
- QVERIFY(cons.size() == 1);
- QVERIFY(cons[0].id().localId() == masterContactId);
-
- bool containDetail = false;
- foreach(QContactOnlineAccount det, cons[0].details<QContactOnlineAccount>())
- {
- if (det.value("Account") == "999999@ovi.com" // deprecated, going to account URI
- || det.accountUri() == "999999@ovi.com")
- {
- QVERIFY(det.presence() == QContactOnlineAccount::PresenceAvailable);
- containDetail = true;
- }
- }
- QVERIFY(containDetail);
- }
- //now update presence to IM Address and check it in contact (TODO and if signal is emitted)
- updateIMContactStatus("telepathy:/org/freedesktop/fake/account/999999/999999@ovi.com", "nco:presence-status-offline");
- {
- QList<QContact> cons = contacts(QList<QContactLocalId> ()
- << masterContactId << 999999, QStringList()
- << QContactOnlineAccount::DefinitionName);
- QVERIFY(cons.size() == 1);
- QVERIFY(cons[0].id().localId() == masterContactId);
-
- bool containDetail = false;
- foreach(QContactOnlineAccount det, cons[0].details<QContactOnlineAccount>())
- {
- if (det.value("Account") == "999999@ovi.com" // deprecated, going to account URI
- || det.accountUri() == "999999@ovi.com")
- {
- QVERIFY(det.presence() == QContactOnlineAccount::PresenceOffline);
- containDetail = true;
- }
- }
- QVERIFY(containDetail);
- }
-
- // load contact should load also all merged content from other contacts (that dont exis anymore)
- {
- QList<QContact> cons = contacts(QList<QContactLocalId> ()
- << masterContactId, QStringList()
- << QContactOnlineAccount::DefinitionName);
- QVERIFY(cons.size() == 1);
- QVERIFY(cons[0].id().localId() == masterContactId);
-
- bool containDetail = false;
- foreach(QContactOnlineAccount det, cons[0].details<QContactOnlineAccount>())
- {
- if (det.value("Account") == "999999@ovi.com" // deprecated, going to account URI
- || det.accountUri() == "999999@ovi.com")
- {
- QVERIFY(det.presence() == QContactOnlineAccount::PresenceOffline);
- containDetail = true;
- }
- }
- QVERIFY(containDetail);
- }
-
- // remove them
- QVERIFY2(trackerEngine->removeContact(masterContactId, error), "Removing a contact failed");
-
- foreach(unsigned int id, idstomerge)
- {
- QVERIFY2(!trackerEngine->removeContact(id, error), "Merged contact doesn't exist and removing it shoudl fail");
- }
-}
-
-void ut_qtcontacts_trackerplugin::testIMContactsFilterring()
-{
- QList<unsigned int> idstoremove;
- QList<QContactLocalId> idsToRetrieveThroughFilter;
- for( int i = 0; i < 3; i++ )
- {
- unsigned int contactid = qHash(QString("/org/freedesktop/fake/account/") + QString::number(999995+i) + "@ovi.com");
- idstoremove << contactid;
- insertContact(QString("telepathy:/org/freedesktop/fake/account/") + QString::number(999995+i) + "@ovi.com",
- contactid, QString::number(999995 + i)+ "@ovi.com", "nco:presence-status-available",
- QString("/org/freedesktop/fake/account/%1").arg(i/2), QString("ovi%1.com").arg(i/2));
- if(!i/2)
- idsToRetrieveThroughFilter << contactid;
- }
-
- {
- // now filter by service provider ovi0.com needs to return 2 contacts, 999995 & 999996
- QList<QContactLocalId> ids(idsToRetrieveThroughFilter);
-
- QContactFetchRequest request;
- QContactDetailFilter filter;
- filter.setDetailDefinitionName(QContactOnlineAccount::DefinitionName, QContactOnlineAccount::FieldServiceProvider);
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
- filter.setValue(QString("ovi0.com"));
- filter.setMatchFlags(QContactFilter::MatchExactly);
-
- request.setDefinitionRestrictions(QStringList()<<QContactOnlineAccount::DefinitionName);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++)
- {
- usleep(100000);
- QCoreApplication::processEvents();
- if(request.isFinished() )
- break;
- }
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(!request.contacts().isEmpty());
-
- QVERIFY(request.contacts().size() >= 2);
- foreach(const QContact &contact, request.contacts())
- {
- //qDebug() << contact.localId()<< "acc"<<contact.detail<QContactOnlineAccount>().serviceProvider();
- QVERIFY(contact.detail<QContactOnlineAccount>().serviceProvider() == "ovi0.com");
- ids.removeOne(contact.localId());
- }
- QVERIFY(ids.isEmpty());
- }
-
- // now account path filter
- {
- // now filter by account path 999995 & 999996
- QList<QContactLocalId> ids(idsToRetrieveThroughFilter);
-
- QContactFetchRequest request;
- QContactDetailFilter filter;
- filter.setDetailDefinitionName(QContactOnlineAccount::DefinitionName, "AccountPath");
-
- Slots slot;
- QObject::connect(&request, SIGNAL(resultsAvailable()),
- &slot, SLOT(resultsAvailable()));
- // see insertTpContact
- filter.setValue(QString("/org/freedesktop/fake/account/0"));
- filter.setMatchFlags(QContactFilter::MatchExactly);
-
- request.setDefinitionRestrictions(QStringList()<<QContactOnlineAccount::DefinitionName);
- request.setFilter(filter);
-
- trackerEngine->startRequest(&request);
-
- for(int i = 0; i < 100; i++)
- {
- usleep(100000);
- QCoreApplication::processEvents();
- if(request.isFinished() )
- break;
- }
-
- // if it takes more, then something is wrong
- QVERIFY(request.isFinished());
- QVERIFY(!request.contacts().isEmpty());
-
- QVERIFY(request.contacts().size() >= 2);
- foreach(const QContact &contact, request.contacts())
- {
- QVERIFY(contact.detail<QContactOnlineAccount>().serviceProvider() == "ovi0.com");
- ids.removeOne(contact.localId());
- }
- QVERIFY(ids.isEmpty());
- }
-
-
- // remove them
- foreach(unsigned int id, idstoremove)
- {
- QVERIFY2(trackerEngine->removeContact(id, error), "Removing a contact failed");
- }
-
-}
-
-void ut_qtcontacts_trackerplugin::testContactsWithoutMeContact() {
- QContact c;
- QContactName name;
- name.setFirstName("Totally");
- name.setLastName("Unique");
- c.saveDetail(&name);
- trackerEngine->saveContact(&c, error);
- QContactLocalId id = c.localId(); // Store ID for later removal.
-
- // Prepare the filter for the request - we fetch only the one contact saved above.
- QList<QContactLocalId> ids;
- ids << id;
- QContactLocalIdFilter filter;
- filter.setIds(ids);
-
- // Prepare the requst - give filter to it and specify which fields to fetch. We fetch only the name.
- QStringList details;
- details << QContactName::DefinitionName;
-
- QContactLocalIdFetchRequest nameFetchRequest;
- nameFetchRequest.setFilter(filter);
-
- // Start the request and wait for it to finish.
- trackerEngine->startRequest(&nameFetchRequest);
- trackerEngine->waitForRequestFinished(&nameFetchRequest, 1000);
-
- // Requst finished. Test that only one contact is removed.
- QList<QContactLocalId> contacts = nameFetchRequest.ids();
- QVERIFY2(contacts.count() < 2, "We expected to get only one contact. Got more.");
- QVERIFY2(contacts.count() != 0, "We expected to get one contact. Got none.");
- QVERIFY2(contacts.first() == id, "Did not get the requested contact back.");
-
- // Cleaning up.
- trackerEngine->removeContact(id, error);
-
-}
-
-void ut_qtcontacts_trackerplugin::testDefinitionNames()
-{
- QContactManager *cm(ContactManager::instance());
- QMap<QString, QContactDetailDefinition> defs(cm->detailDefinitions());
-
- foreach(QString key, defs.keys()) {
- QCOMPARE(defs[key].name(), key);
- }
-}
-
-
-/*************************** Helper functions for unit tests ***************'*/
-
-QContact ut_qtcontacts_trackerplugin::contact(QContactLocalId id, QStringList details)
-{
- QContactManager::Error error;
- return trackerEngine->contact_impl(id, details, error);
-}
-
-QList<QContact> ut_qtcontacts_trackerplugin::contacts(QList<QContactLocalId> ids, QStringList details)
-{
- QContactFetchRequest request;
- QContactLocalIdFilter filter;
- filter.setIds(ids);
- request.setFilter(filter);
-
- request.setDefinitionRestrictions(details);
-
- trackerEngine->startRequest(&request);
- trackerEngine->waitForRequestFinished(&request, 1000);
-
- return request.contacts();
-}
-
-void Slots::idResultsAvailable()
-{
- QContactLocalIdFetchRequest* self = qobject_cast<QContactLocalIdFetchRequest*>(sender());
- ids << self->ids();
-}
-
-void Slots::resultsAvailable()
-{
- QContactFetchRequest* self = qobject_cast<QContactFetchRequest*>(sender());
- contacts = self->contacts();
- QList<QContactLocalId> idsFromAllContactReq;
- foreach( QContact contact, contacts)
- {
- idsFromAllContactReq << contact.localId();
- }
-}
-
-QTEST_MAIN(ut_qtcontacts_trackerplugin)
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.h
deleted file mode 100644
index d7589a7778..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef UT_QTCONTACTS_TRACKERPLUGIN_H
-#define UT_QTCONTACTS_TRACKERPLUGIN_H
-
-#include <QObject>
-#include <QtTest/QtTest>
-#include <QString>
-#include <qcontactrequests.h>
-
-QTM_BEGIN_NAMESPACE
-class QContactLocalIdFetchRequest;
-class QContactFetchRequest;
-QTM_END_NAMESPACE
-
-class QContactTrackerEngine;
-QTM_USE_NAMESPACE
-
-/**
- * QtContacts Tracker plugin unittests
- */
-class ut_qtcontacts_trackerplugin : public QObject
-{
-Q_OBJECT
-public:
- ut_qtcontacts_trackerplugin();
-private slots:
- void initTestCase();
- void cleanupTestCase();
- void cleanup();
- void testSavePhoneNumber();
- void testPhoneNumberContext();
- void testWritingOnlyWorkMobile();
- void testContacts();
- void testContact();
- void testAvatar();
-
- void testSaveEmailAddress();
- void testSaveName();
- void testSaveAddress();
-
- void testRemoveContact();
- void testSaveContacts();
- void testRemoveContacts();
- void testUrl();
-
-// void testGroups();
-// void testGroup();
-// void testSaveGroup();
-// void testRemoveGroup();
-// void testDetailDefinitions();
-// void testDetailDefinition();
-// void testSaveDetailDefinition();
-// void testRemoveDetailDefinition();
- void testSyncContactManagerContactsAddedSince();
- void testSyncTrackerEngineContactsIdsAddedSince();
- void testSyncContactManagerContactIdsAddedSince();
- void testContactsAddedSince();
- void testContactsModifiedSince();
- void testContactsRemovedSince();
-// void testGroupsAddedSince();
-// void testGroupsModifiedSince();
-// void testGroupsRemovedSince();
- void testNcoTypes();
- void testMergeTwoOnlineContacts();
- void testQRelationshipAndMergingContacts();
- void testAsyncReadContacts();
- void testFilterContacts();
- void testFilterContactsEndsWith();
- void testFilterTwoNameFields();
- void testTrackerUriToUniqueId();
- void testIMContactsAndMetacontactMasterPresence();
- void testIMContactsFilterring();
- void testContactsWithoutMeContact();
- void testDefinitionNames();
-
-private:
- void syncContactsAddedSinceHelper(QDateTime& start, QList<QContactLocalId>& addedIds);
-
- void insertContact(const QString& contactURI, QContactLocalId uid, QString imId, QString imStatus, QString accountPath, QString protocol = "jabber");
- void updateIMContactStatus(const QString& uri, QString imStatus);
- QContact contact(QContactLocalId uid, QStringList detailsToLoad = QStringList());
- QList<QContact> contacts(QList<QContactLocalId> uids, QStringList detailsToLoad = QStringList());
-
-private:
- QContactTrackerEngine *trackerEngine;
- QContactManager::Error error;
- QMap<int, QContactManager::Error>* errorMap;
- // Filtering and sort options used for QContactTrackerEngine.
- // Not used.
- QContactFilter queryFilter;
- QList<QContactSortOrder> sortOrders;
- QList<QContactLocalId> addedContacts;
-};
-
-class Slots: public QObject
-{
- Q_OBJECT
-public:
- QList<QContactLocalId> ids;
- QList<QContact> contacts;
-public slots:
- void idResultsAvailable();
- void resultsAvailable();
-
-};
-#endif
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.pro b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.pro
deleted file mode 100644
index 8ff45e9e5e..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin.pro
+++ /dev/null
@@ -1,46 +0,0 @@
-TARGET = ut_qtcontacts_trackerplugin
-
-test.depends = all
-QMAKE_EXTRA_TARGETS += test
-QCONTACTS_TRACKER_BACKENDDIR = ../../
-
-CONFIG += test mobility
-MOBILITY += contacts
-QT += testlib
-
-LIBS += -lqttracker
-
-MOC_DIR = .moc
-OBJECTS_DIR = .obj
-
-# CONFIG += contacts
-INCLUDEPATH += $$QCONTACTS_TRACKER_BACKENDDIR
-
-DEFINES += VERSION_INFO=\\\"0\\\"
-
-## Include source files under test.
-HEADERS += $$QCONTACTS_TRACKER_BACKENDDIR/qcontacttrackerbackend_p.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactasyncrequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/trackerchangelistener.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactslive.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactsaverequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipfetchrequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipsaverequest.h \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactidfetchrequest.h
-
-SOURCES += $$QCONTACTS_TRACKER_BACKENDDIR/qcontacttrackerbackend.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactasyncrequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/trackerchangelistener.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactslive.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactsaverequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipfetchrequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackerrelationshipsaverequest.cpp \
- $$QCONTACTS_TRACKER_BACKENDDIR/qtrackercontactidfetchrequest.cpp
-
-## Include unit test files
-HEADERS += ut_qtcontacts_trackerplugin.h \
- contactmanager.h
-
-SOURCES += ut_qtcontacts_trackerplugin.cpp \
- contactmanager.cpp
-
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/insertTpContact.sparql b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/insertTpContact.sparql
deleted file mode 100755
index 1b592a8727..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/insertTpContact.sparql
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" ]; then
-echo "usage: $0 <contact-uri> <contact-uid> <im-id> <accountPath> <imPresence> <statusMessage> <protocol> <nameGiven> <nameFamily>"
-exit 1
-fi
-
-echo "create nco:IMAddress"
-tracker-sparql --update --query "
-INSERT {
- <telepathy:$4/$3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> nco:IMAddress;
- nco:imID '$3';
- nco:imNickname '$8$9';
- nco:imPresence $5;
- nco:imStatusMessage '$6';
- nco:imCapability <bogus>
-}
-"
-
-echo "create nco:IMAccount"
-tracker-sparql -u -q "
-INSERT
-{
-<telepathy:$4>
-<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
-<http://www.semanticdesktop.org/ontologies/2007/03/22/nco#IMAccount>;
-nco:imDisplayName '$7';
-nco:hasIMContact <telepathy:$4/$3>
-}
-"
-
-echo "create nco:PersonContact"
-tracker-sparql -u -q "
-INSERT
-{
- <$1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> nco:PersonContact;
- nco:contactUID '$2';
- nco:hasIMAddress <telepathy:$4/$3>;
- nco:nameGiven '$8';
- nco:nameFamily '$9'
-}
-" \ No newline at end of file
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/updateTpStatus.sparql b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/updateTpStatus.sparql
deleted file mode 100755
index 66baa0980f..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin/ut_qtcontacts_trackerplugin_data/updateTpStatus.sparql
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" ]; then
-echo "usage: $0 <IMAddress-uri> <imPresence>"
-exit 1
-fi
-tracker-sparql --update --query "
-DELETE { <$1> nco:imPresence ?status }
-WHERE { <$1> nco:imPresence ?status }
-INSERT { <$1> nco:imPresence $2 }
-"
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.cpp b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.cpp
deleted file mode 100644
index 1155b8bda6..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.cpp
+++ /dev/null
@@ -1,483 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ut_qtcontacts_trackerplugin_definitions.h"
-
-#include <QContactInvalidFilter>
-
-typedef QSet<QString> QStringSet;
-
-void ut_qtcontacts_trackerplugin_definitions::checkAllDefitionsTested()
-{
- const QStringSet testSlots(testSlotNames());
-
- foreach(const QContactDetailDefinition d, mContactManager->detailDefinitions()) {
- const QString saveAndFetchOne(QLatin1String("saveAndFetchOne") + d.name());
- QVERIFY2(testSlots.contains(saveAndFetchOne), qPrintable(d.name()));
- const QString saveAndFetchMany(QLatin1String("saveAndFetchMany") + d.name());
- QVERIFY2(testSlots.contains(saveAndFetchMany), qPrintable(d.name()));
- const QString saveAndFetchAll(QLatin1String("saveAndFetchAll") + d.name());
- QVERIFY2(testSlots.contains(saveAndFetchAll), qPrintable(d.name()));
- }
-}
-
-class SampleGenerator
-{
-public:
- SampleGenerator(QVariant::Type type, const QVariantList &allowedValues) :
- mType(type), mComplete(false), mIndex(0)
- {
- if (allowedValues.isEmpty()) {
- QVariant sample;
-
- switch(type) {
- case QVariant::Date:
- sample.setValue(QDate::currentDate());
- break;
-
- case QVariant::DateTime:
- sample.setValue(QDateTime::currentDateTime());
- break;
-
- case QVariant::Double:
- sample.setValue(double(qrand()) / RAND_MAX);
- break;
-
- case QVariant::Pixmap:
- sample.setValue(QPixmap(2, 2));
- break;
-
- case QVariant::String:
- sample.setValue(QUuid::createUuid().toString());
- break;
-
- case QVariant::StringList:
- sample.setValue(QStringList(QUuid::createUuid().toString()) <<
- QLatin1String("1") << QLatin1String("2") <<
- QLatin1String("3"));
- break;
-
- default:
- QFAIL(qPrintable(QString("unsupported variant type: %1").
- arg(QVariant::typeToName(type))));
- }
-
- mValues.append(sample);
- } else {
- mValues.append(allowedValues);
-
- switch(type) {
- case QVariant::StringList:
- for(int i = 2; i <= allowedValues.count(); ++i) {
- QStringList stringList;
-
- for(int j = 0; j < i; ++j)
- stringList.append(allowedValues[j].toString());
-
- mValues.append(QVariant(stringList));
- }
-
- break;
-
- default:
- break;
- }
- }
- }
-
- void nextSample(QVariant &result)
- {
- currentSample(result);
-
- if (++mIndex == mValues.count()) {
- mComplete = true;
- mIndex = 0;
- }
- }
-
- void currentSample(QVariant &result)
- {
- result.setValue(mValues[mIndex]);
-
- if (result.isValid()) {
- QVERIFY2(result.convert(mType), QVariant::typeToName(mType));
- }
- }
-
- bool isComplete() const
- {
- return mComplete;
- }
-
-private:
- QVariant::Type mType;
- QVariantList mValues;
- bool mComplete;
- int mIndex;
-};
-
-void ut_qtcontacts_trackerplugin_definitions::createTestContacts(const QString &definitionName, QList<QContact> &result)
-{
- const QContactDetailDefinition &definition
- (mContactManager->detailDefinition(definitionName));
-
- typedef QMap<QString, QContactDetailFieldDefinition> FieldMap;
- const FieldMap fields(definition.fields());
-
- typedef QHash<QString, SampleGenerator> GeneratorMap;
- GeneratorMap generators;
-
- for(FieldMap::const_iterator i(fields.begin()), e(fields.end()); i != e; ++i) {
- const QContactDetailFieldDefinition &field(i.value());
- generators.insert(i.key(), SampleGenerator(field.dataType(), field.allowableValues()));
- CHECK_CURRENT_TEST_FAILED;
- }
-
- QList<QContactDetail> detailList;
-
- for(GeneratorMap::iterator i(generators.begin()), e(generators.end()); i != e; ++i) {
- QVariant sample;
- SampleGenerator &generator(i.value());
- generator.currentSample(sample);
- CHECK_CURRENT_TEST_FAILED;
-
- QContactDetail detail(definition.name());
- detail.setValue(i.key(), sample);
- detailList.append(detail);
- }
-
- forever {
- QContactDetail detail(definition.name());
- bool samplesComplete = true;
-
- for(GeneratorMap::iterator i(generators.begin()), e(generators.end()); i != e; ++i) {
- QVariant sample;
- SampleGenerator &generator(i.value());
- generator.nextSample(sample);
- CHECK_CURRENT_TEST_FAILED;
-
- if (not generator.isComplete())
- samplesComplete = false;
-
- if (sample.isValid())
- detail.setValue(i.key(), sample);
- }
-
- detailList.append(detail);
-
- if (samplesComplete)
- break;
- }
-
- foreach(QContactDetail detail, detailList) {
- QContact contact;
- QVERIFY(contact.saveDetail(&detail));
- result.append(contact);
- }
-}
-
-static bool localIdOrder(const QContact &a, const QContact &b)
-{
- return a.localId() < b.localId();
-}
-
-static bool isEmpty(const QVariant &value)
-{
- const QVariant empty(value.type());
- return value == empty;
-}
-
-static const QStringSet newBrokenDetails()
-{
- return (QStringSet() <<
- QLatin1String("Anniversary") << // FIXME: doesn't load at all
- QLatin1String("Avatar") << // FIXME: doesn't load at all
- QLatin1String("Birthday") << // FIXME: doesn't load at all
- QLatin1String("EmailAddress") << // FIXME: doesn't load for work context
- QLatin1String("Gender") << // FIXME: doesn't load at all
- QLatin1String("GeoLocation") << // FIXME: doesn't load at all
- QLatin1String("Guid") << // FIXME: doesn't load at all
- QLatin1String("Note") << // FIXME: doesn't load at all
- QLatin1String("OnlineAccount") << // FIXME: doesn't load at all
- QLatin1String("Organization") << // FIXME: doesn't load at all
- QLatin1String("StreetAddress") << // FIXME: doesn't load at all
- QLatin1String("SyncTarget") << // FIXME: doesn't load at all
- QLatin1String("Timestamp") << // FIXME: doesn't load at all
- QLatin1String("Url")); // FIXME: doesn't load at all
-}
-
-static const QHash<QString, QStringSet> newBrokenFields()
-{
- QHash<QString, QStringSet> brokenFields;
-
- brokenFields.insert(QLatin1String("EmailAddress"),
- QStringSet() << QLatin1String("Context"));
-
- brokenFields.insert(QLatin1String("Name"),
- QStringSet() << QLatin1String("Context") // FIXME: meaning of this field?
- << QLatin1String("CustomLabel") // FIXME: meaning of this field?
- << QLatin1String("Suffix"));
-
- brokenFields.insert(QLatin1String("Nickname"),
- QStringSet() << QLatin1String("Context")); // FIXME: meaning of this field?
-
- brokenFields.insert(QLatin1String("PhoneNumber"),
- QStringSet() << QLatin1String("Context")
- << QLatin1String("PhoneNumber")
- << QLatin1String("SubTypes"));
-
- return brokenFields;
-}
-
-static const QStringSet newSynthesizedDetails()
-{
- return (QStringSet() <<
- QLatin1String("DisplayLabel") <<
- QLatin1String("Type"));
-}
-
-static const QStringSet brokenDetails(newBrokenDetails());
-static const QHash<QString, QStringSet> brokenFields(newBrokenFields());
-static const QStringSet synthesizedDetails(newSynthesizedDetails());
-
-void ut_qtcontacts_trackerplugin_definitions::verifyContacts(const QString &definitionName,
- QList<QContact> &savedContacts,
- QList<QContact> &fetchedContacts)
-{
- qSort(savedContacts.begin(), savedContacts.end(), localIdOrder);
- qSort(fetchedContacts.begin(), fetchedContacts.end(), localIdOrder);
-
- QCOMPARE(fetchedContacts.count(), savedContacts.count());
-
- for(int i = 0, l = savedContacts.count(); i < l; ++i) {
- const QList<QContactDetail> &savedDetails(savedContacts[i].details(definitionName));
- const QList<QContactDetail> &fetchedDetails(fetchedContacts[i].details(definitionName));
-
- QCOMPARE(savedDetails.count(), 1);
- QCOMPARE(fetchedDetails.count(), 1);
-
- QVariantMap savedValues(savedDetails[0].variantValues());
- QVariantMap fetchedValues(fetchedDetails[0].variantValues());
-
- QStringSet fieldNames(savedValues.keys().toSet());
- fieldNames.unite(fetchedValues.keys().toSet());
-
- foreach(const QString &key, fieldNames) {
- if (brokenFields[definitionName].contains(key)) {
- const QString msg(QString::fromLatin1("ignoring broken %1 field").arg(key));
- QEXPECT_FAIL("", qPrintable(msg), Continue);
- }
-
- if (not savedValues.contains(key)) {
- QVERIFY(isEmpty(fetchedValues[key]));
- } else if (not fetchedValues.contains(key)) {
- QVERIFY(isEmpty(savedValues[key]));
- } else {
- QCOMPARE(savedValues[key], fetchedValues[key]);
- }
- }
- }
-}
-
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchOne(const QString &definitionName)
-{
- qDebug() << "===============================================================================";
- qDebug() << qPrintable(definitionName);
- qDebug() << "===============================================================================";
-
- if (brokenDetails.contains(definitionName)) {
- QSKIP("support for this detail is broken right now", SkipAll);
- }
-
- if (synthesizedDetails.contains(definitionName)) {
- QSKIP("synthesized details are out of scope for now", SkipAll);
- }
-
- QList<QContact> savedContacts;
- QList<QContactLocalId> savedContactIds;
-
- createTestContacts(definitionName, savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContacts(savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- foreach(const QContact &contact, savedContacts) {
- savedContactIds.append(contact.localId());
- }
-
- QCOMPARE(savedContactIds.toSet().count(), savedContacts.count());
-
- QList<QContact> fetchedContacts;
-
- foreach(const QContactLocalId &id, savedContactIds) {
- QContact contact;
- fetchContact(id, contact);
- CHECK_CURRENT_TEST_FAILED;
- fetchedContacts.append(contact);
- }
-
- verifyContacts(definitionName, savedContacts, fetchedContacts);
-}
-
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchMany(const QString &definitionName)
-{
- qDebug() << "===============================================================================";
- qDebug() << qPrintable(definitionName);
- qDebug() << "===============================================================================";
-
- if (brokenDetails.contains(definitionName)) {
- QSKIP("support for this detail is broken right now", SkipAll);
- }
-
- if (synthesizedDetails.contains(definitionName)) {
- QSKIP("synthesized details are out of scope for now", SkipAll);
- }
-
- QList<QContact> savedContacts;
- QList<QContactLocalId> savedContactIds;
-
- createTestContacts(definitionName, savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContacts(savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- foreach(const QContact &contact, savedContacts) {
- savedContactIds.append(contact.localId());
- }
-
- QCOMPARE(savedContactIds.toSet().count(), savedContacts.count());
-
- QList<QContact> fetchedContacts;
- fetchContacts(savedContactIds, fetchedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- verifyContacts(definitionName, savedContacts, fetchedContacts);
-}
-
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchAll(const QString &definitionName)
-{
- qDebug() << "===============================================================================";
- qDebug() << qPrintable(definitionName);
- qDebug() << "===============================================================================";
-
- if (brokenDetails.contains(definitionName)) {
- QSKIP("support for this detail is broken right now", SkipAll);
- }
-
- if (synthesizedDetails.contains(definitionName)) {
- QSKIP("synthesized details are out of scope for now", SkipAll);
- }
-
- QList<QContact> savedContacts;
- QSet<QContactLocalId> savedContactIds;
-
- createTestContacts(definitionName, savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- saveContacts(savedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- foreach(const QContact &contact, savedContacts) {
- savedContactIds.insert(contact.localId());
- }
-
- QCOMPARE(savedContactIds.count(), savedContacts.count());
-
- QList<QContact> fetchedContacts;
- fetchContacts(QContactInvalidFilter(), fetchedContacts);
- CHECK_CURRENT_TEST_FAILED;
-
- QList<QContact>::iterator i = fetchedContacts.begin();
-
- while (i != fetchedContacts.end()) {
- if (not savedContactIds.contains(i->localId())) {
- i = fetchedContacts.erase(i);
- } else {
- ++i;
- }
- }
-
- verifyContacts(definitionName, savedContacts, fetchedContacts);
-}
-
-#define IMPLEMENT_SAVE_AND_FETCH(DefinitionName) \
- \
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchOne##DefinitionName() \
-{ \
- saveAndFetchOne(QString::fromLatin1(#DefinitionName)); \
- CHECK_CURRENT_TEST_FAILED; \
-} \
- \
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchMany##DefinitionName() \
-{ \
- saveAndFetchMany(QString::fromLatin1(#DefinitionName)); \
- CHECK_CURRENT_TEST_FAILED; \
-} \
- \
-void ut_qtcontacts_trackerplugin_definitions::saveAndFetchAll##DefinitionName() \
-{ \
- saveAndFetchAll(QString::fromLatin1(#DefinitionName)); \
- CHECK_CURRENT_TEST_FAILED; \
-}
-
-IMPLEMENT_SAVE_AND_FETCH(Anniversary)
-IMPLEMENT_SAVE_AND_FETCH(Avatar)
-IMPLEMENT_SAVE_AND_FETCH(Birthday)
-IMPLEMENT_SAVE_AND_FETCH(DisplayLabel)
-IMPLEMENT_SAVE_AND_FETCH(EmailAddress)
-IMPLEMENT_SAVE_AND_FETCH(Gender)
-IMPLEMENT_SAVE_AND_FETCH(GeoLocation)
-IMPLEMENT_SAVE_AND_FETCH(Guid)
-IMPLEMENT_SAVE_AND_FETCH(Name)
-IMPLEMENT_SAVE_AND_FETCH(Nickname)
-IMPLEMENT_SAVE_AND_FETCH(Note)
-IMPLEMENT_SAVE_AND_FETCH(OnlineAccount)
-IMPLEMENT_SAVE_AND_FETCH(Organization)
-IMPLEMENT_SAVE_AND_FETCH(PhoneNumber)
-IMPLEMENT_SAVE_AND_FETCH(StreetAddress)
-IMPLEMENT_SAVE_AND_FETCH(SyncTarget)
-IMPLEMENT_SAVE_AND_FETCH(Timestamp)
-IMPLEMENT_SAVE_AND_FETCH(Type)
-IMPLEMENT_SAVE_AND_FETCH(Url)
-
-QTEST_MAIN(ut_qtcontacts_trackerplugin_definitions)
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.h b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.h
deleted file mode 100644
index 088cf47901..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef UT_QTCONTACTS_TRACKERPLUGIN_DEFINITIONS_H
-#define UT_QTCONTACTS_TRACKERPLUGIN_DEFINITIONS_H
-
-#include "ut_qtcontacts_common.h"
-
-QTM_USE_NAMESPACE
-
-class ut_qtcontacts_trackerplugin_definitions : public ut_qtcontacts_common
-{
- Q_OBJECT
-
-private slots:
- void checkAllDefitionsTested();
-
- void saveAndFetchOneAnniversary();
- void saveAndFetchOneAvatar();
- void saveAndFetchOneBirthday();
- void saveAndFetchOneDisplayLabel();
- void saveAndFetchOneEmailAddress();
- void saveAndFetchOneGender();
- void saveAndFetchOneGeoLocation();
- void saveAndFetchOneGuid();
- void saveAndFetchOneName();
- void saveAndFetchOneNickname();
- void saveAndFetchOneNote();
- void saveAndFetchOneOnlineAccount();
- void saveAndFetchOneOrganization();
- void saveAndFetchOnePhoneNumber();
- void saveAndFetchOneStreetAddress();
- void saveAndFetchOneSyncTarget();
- void saveAndFetchOneTimestamp();
- void saveAndFetchOneType();
- void saveAndFetchOneUrl();
-
- void saveAndFetchManyAnniversary();
- void saveAndFetchManyAvatar();
- void saveAndFetchManyBirthday();
- void saveAndFetchManyDisplayLabel();
- void saveAndFetchManyEmailAddress();
- void saveAndFetchManyGender();
- void saveAndFetchManyGeoLocation();
- void saveAndFetchManyGuid();
- void saveAndFetchManyName();
- void saveAndFetchManyNickname();
- void saveAndFetchManyNote();
- void saveAndFetchManyOnlineAccount();
- void saveAndFetchManyOrganization();
- void saveAndFetchManyPhoneNumber();
- void saveAndFetchManyStreetAddress();
- void saveAndFetchManySyncTarget();
- void saveAndFetchManyTimestamp();
- void saveAndFetchManyType();
- void saveAndFetchManyUrl();
-
- void saveAndFetchAllAnniversary();
- void saveAndFetchAllAvatar();
- void saveAndFetchAllBirthday();
- void saveAndFetchAllDisplayLabel();
- void saveAndFetchAllEmailAddress();
- void saveAndFetchAllGender();
- void saveAndFetchAllGeoLocation();
- void saveAndFetchAllGuid();
- void saveAndFetchAllName();
- void saveAndFetchAllNickname();
- void saveAndFetchAllNote();
- void saveAndFetchAllOnlineAccount();
- void saveAndFetchAllOrganization();
- void saveAndFetchAllPhoneNumber();
- void saveAndFetchAllStreetAddress();
- void saveAndFetchAllSyncTarget();
- void saveAndFetchAllTimestamp();
- void saveAndFetchAllType();
- void saveAndFetchAllUrl();
-
-private:
- void createTestContacts(const QString &definitionName, QList<QContact> &result);
- void verifyContacts(const QString &definitionName, QList<QContact> &savedContacts,
- QList<QContact> &fetchedContacts);
-
- void saveAndFetchOne(const QString &definitionName);
- void saveAndFetchMany(const QString &definitionName);
- void saveAndFetchAll(const QString &definitionName);
-};
-
-#endif /* UT_QTCONTACTS_TRACKERPLUGIN_DEFINITIONS_H */
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.pro b/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.pro
deleted file mode 100644
index dc0c81f09c..0000000000
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_trackerplugin_definitions/ut_qtcontacts_trackerplugin_definitions.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-include(../ut_qtcontacts_common/ut_qtcontacts_common.pri)
-
-TARGET = ut_qtcontacts_trackerplugin_definitions
-
-test.depends = all
-QMAKE_EXTRA_TARGETS += test
-QCONTACTS_TRACKER_BACKENDDIR = ../../
-
-## Include unit test files
-HEADERS += ut_qtcontacts_trackerplugin_definitions.h
-SOURCES += ut_qtcontacts_trackerplugin_definitions.cpp
diff --git a/plugins/contacts/qtcontacts-tracker/trackerchangelistener.cpp b/plugins/contacts/qtcontacts-tracker/trackerchangelistener.cpp
deleted file mode 100644
index d4ecdc92be..0000000000
--- a/plugins/contacts/qtcontacts-tracker/trackerchangelistener.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtTracker/ontologies/nco.h>
-
-#include "trackerchangelistener.h"
-#include "qcontact.h"
-
-using namespace SopranoLive;
-
-TrackerChangeListener::TrackerChangeListener(QContactManagerEngine *eng, QObject* parent) :
- QObject(parent), engine(eng)
-{
- signaler_contact = SopranoLive::BackEnds::Tracker::ClassUpdateSignaler::get(nco::Contact::iri());
- if (signaler_contact)
- {
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler * signaler = signaler_contact;
- connect(signaler, SIGNAL(subjectsAdded(const QStringList &)), SLOT(contactsAdded(const QStringList &)));
- connect(signaler,SIGNAL(subjectsRemoved(const QStringList &)),SLOT(contactsRemoved(const QStringList &)));
- connect(signaler,SIGNAL(subjectsChanged(const QStringList &)),SLOT(contactsChanged(const QStringList &)));
- }
-
- signaler_imaccount = SopranoLive::BackEnds::Tracker::ClassUpdateSignaler::get(nco::IMAccount::iri());
- if (signaler_imaccount)
- {
- // same for all signals - emit selfContact changed
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler * signaler = signaler_imaccount;
- connect(signaler, SIGNAL(subjectsAdded(const QStringList &)),SLOT(imAccountsChanged(const QStringList &)));
- connect(signaler,SIGNAL(subjectsRemoved(const QStringList &)),SLOT(imAccountsChanged(const QStringList &)));
- connect(signaler,SIGNAL(subjectsChanged(const QStringList &)),SLOT(imAccountsChanged(const QStringList &)));
- }
-
- signaler_imaddress = SopranoLive::BackEnds::Tracker::ClassUpdateSignaler::get(nco::IMAddress::iri());
- if (signaler_imaddress)
- {
- // same for all signals - contact changed to be emitted
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler * signaler = signaler_imaddress;
- connect(signaler, SIGNAL(subjectsAdded(const QStringList &)),SLOT(imAddressesChanged(const QStringList &)));
- connect(signaler,SIGNAL(subjectsRemoved(const QStringList &)),SLOT(imAddressesChanged(const QStringList &)));
- connect(signaler,SIGNAL(subjectsChanged(const QStringList &)),SLOT(imAddressesChanged(const QStringList &)));
- }
-
-}
-
-TrackerChangeListener::~TrackerChangeListener()
-{
- if (signaler_imaddress)
- signaler_imaddress->disconnect(this);
- if (signaler_contact)
- signaler_contact->disconnect(this);
- if (signaler_imaccount)
- signaler_imaccount->disconnect(this);
-}
-
-QContactLocalId url2UniqueId(const QString &contactUrl)
-{
- /* handle conatact:interger URL types comming from
- which are non telepathy url's
- */
- QRegExp rx("(\\d+)");
- bool conversion = false;
- QContactLocalId id = 0;
- if( rx.indexIn(contactUrl) != -1 )
- {
- id = rx.cap(1).toUInt(&conversion, 10);
- }
- if( !conversion )
- qWarning() << Q_FUNC_INFO << "unparsed uri to uniqueI:" << contactUrl;
- return id;
-}
-
-void TrackerChangeListener::contactsAdded(const QStringList &subjects)
-{
- QList<QContactLocalId> added;
- foreach(const QString &uri, subjects)
- {
- added << url2UniqueId(uri);
- }
- emit contactsAdded(added);
-}
-
-void TrackerChangeListener::contactsRemoved(const QStringList &subjects)
-{
- QList<QContactLocalId> added;
- foreach(const QString &uri, subjects)
- {
- added << url2UniqueId(uri);
- }
- emit contactsRemoved(added);
-}
-
-
-void TrackerChangeListener::contactsChanged(const QStringList &subjects)
-{
- QList<QContactLocalId> changed;
- foreach(const QString &uri, subjects) {
- QContactLocalId id = url2UniqueId(uri);
- if (changed.contains(id) == false) {
- changed << id;
- }
- }
- emit contactsChanged(changed);
-}
-
-void TrackerChangeListener::imAccountsChanged(const QStringList &subjects)
-{
- Q_UNUSED(subjects)
- QContactManager::Error error;
- QContactLocalId selfId = engine->selfContactId(&error);
- if (engine && QContactManager::NoError == error) {
- emit contactsChanged(QList<QContactLocalId>()<<selfId);
- } else {
- qWarning() << __PRETTY_FUNCTION__ << "Signal not propagated:" << engine << error;
- }
-}
-
-void TrackerChangeListener::imAddressesChanged(const QStringList &subjects)
-{
- Q_UNUSED(subjects)
- // TODO use QHash in engine - mapping IMAddress URIs to contacts
- qWarning() << __PRETTY_FUNCTION__ << "Not implemented";
-}
diff --git a/plugins/contacts/qtcontacts-tracker/trackerchangelistener.h b/plugins/contacts/qtcontacts-tracker/trackerchangelistener.h
deleted file mode 100644
index 890e977b97..0000000000
--- a/plugins/contacts/qtcontacts-tracker/trackerchangelistener.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TRACKERCHANGELISTENER_H_
-#define TRACKERCHANGELISTENER_H_
-
-#include <QObject>
-#include <QHash>
-#include <qcontact.h>
-#include <QSharedPointer>
-#include <QtTracker/QLive>
-#include <QtTracker/Tracker>
-#include <qcontactmanagerengine.h>
-
-QTM_USE_NAMESPACE
-
-QContactLocalId url2UniqueId(const QString &contactUrl);
-
-/*!
- * \class TrackerChangeListener
- * \brief Translates signals from tracker and to contact signals
- * Listen for tracker signals, computes which contacts are and what si changed and emits
- * signals about contact change. Initially designed to compute change signals for
- * QContactTrackerEngine
- */
-class TrackerChangeListener : public QObject
-{
- Q_OBJECT
-public:
- explicit TrackerChangeListener(QContactManagerEngine *engine, QObject *parent);
- virtual ~TrackerChangeListener();
-
-signals:
- // signals are with the same semantics as in QContactManagerEngine
- void contactsAdded(const QList<QContactLocalId>& contactIds);
- void contactsChanged(const QList<QContactLocalId>& contactIds);
- void contactsRemoved(const QList<QContactLocalId>& contactIds);
-
-private slots:
- void contactsAdded(const QStringList &subjects);
- void contactsRemoved(const QStringList &subjects);
- void contactsChanged(const QStringList &subjects);
- void imAccountsChanged(const QStringList &subjects);
- void imAddressesChanged(const QStringList &subjects);
-private:
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler *signaler_contact;
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler *signaler_imaccount;
- SopranoLive::BackEnds::Tracker::ClassUpdateSignaler *signaler_imaddress;
- QContactManagerEngine *engine;
-};
-
-
-#endif /* TRACKERCHANGELISTENER_H_ */
diff --git a/plugins/contacts/qtcontacts-tracker/version.pri b/plugins/contacts/qtcontacts-tracker/version.pri
deleted file mode 100644
index e24b4f9975..0000000000
--- a/plugins/contacts/qtcontacts-tracker/version.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-VERSION = 0.3.25
-VERSION_INT = 325
diff --git a/plugins/contacts/symbian/inc/cntabstractrelationship.h b/plugins/contacts/symbian/inc/cntabstractrelationship.h
index 61e7376083..9156107df6 100644
--- a/plugins/contacts/symbian/inc/cntabstractrelationship.h
+++ b/plugins/contacts/symbian/inc/cntabstractrelationship.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/cntdisplaylabel.h b/plugins/contacts/symbian/inc/cntdisplaylabel.h
index 4d981b34cc..1958671162 100644
--- a/plugins/contacts/symbian/inc/cntdisplaylabel.h
+++ b/plugins/contacts/symbian/inc/cntdisplaylabel.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -63,7 +63,6 @@ public:
virtual ~CntDisplayLabel();
QString synthesizedDisplayLabel( const QContact& contact, QContactManager::Error* error) const;
- QString unNamned() const;
QList<QPair<QLatin1String, QLatin1String> > contactFilterDetails() const;
QList<QPair<QLatin1String, QLatin1String> > groupFilterDetails() const;
diff --git a/plugins/contacts/symbian/inc/cntrelationship.h b/plugins/contacts/symbian/inc/cntrelationship.h
index c9b2e51d42..a3e727c4e6 100644
--- a/plugins/contacts/symbian/inc/cntrelationship.h
+++ b/plugins/contacts/symbian/inc/cntrelationship.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/cntrelationshipgroup.h b/plugins/contacts/symbian/inc/cntrelationshipgroup.h
index 5e7d41fe7d..3efd870c8b 100644
--- a/plugins/contacts/symbian/inc/cntrelationshipgroup.h
+++ b/plugins/contacts/symbian/inc/cntrelationshipgroup.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/cntsymbiandatabase.h b/plugins/contacts/symbian/inc/cntsymbiandatabase.h
index 69944de777..64fde3c2d9 100644
--- a/plugins/contacts/symbian/inc/cntsymbiandatabase.h
+++ b/plugins/contacts/symbian/inc/cntsymbiandatabase.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/cntsymbianengine.h b/plugins/contacts/symbian/inc/cntsymbianengine.h
index 8d2721ee82..625b052953 100644
--- a/plugins/contacts/symbian/inc/cntsymbianengine.h
+++ b/plugins/contacts/symbian/inc/cntsymbianengine.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -136,7 +136,7 @@ private:
QList<QContactLocalId> slowSort(const QList<QContactLocalId>& contactIds, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
bool doSaveContact(QContact* contact, QContactChangeSet& changeSet, QContactManager::Error* error);
- QContact fetchContactL(const QContactLocalId &localId, const QStringList& definitionRestrictions) const;
+ QContact fetchContactL(const QContactLocalId &localId, const QStringList& detailDefinitionsHint) const;
/* Add contact */
bool addContact(QContact& contact, QContactChangeSet& changeSet, QContactManager::Error* qtError);
diff --git a/plugins/contacts/symbian/inc/cntsymbiantransformerror.h b/plugins/contacts/symbian/inc/cntsymbiantransformerror.h
index c66aa95d0a..15a3e226d7 100644
--- a/plugins/contacts/symbian/inc/cntsymbiantransformerror.h
+++ b/plugins/contacts/symbian/inc/cntsymbiantransformerror.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntabstractcontactfilter.h b/plugins/contacts/symbian/inc/filtering/cntabstractcontactfilter.h
index c04048d61b..6e9fe7db23 100644
--- a/plugins/contacts/symbian/inc/filtering/cntabstractcontactfilter.h
+++ b/plugins/contacts/symbian/inc/filtering/cntabstractcontactfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntabstractcontactsorter.h b/plugins/contacts/symbian/inc/filtering/cntabstractcontactsorter.h
index 18edd7ef84..c8b88c28ec 100644
--- a/plugins/contacts/symbian/inc/filtering/cntabstractcontactsorter.h
+++ b/plugins/contacts/symbian/inc/filtering/cntabstractcontactsorter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntdbinfo.h b/plugins/contacts/symbian/inc/filtering/cntdbinfo.h
index 61b9492981..3bc6cbdd24 100644
--- a/plugins/contacts/symbian/inc/filtering/cntdbinfo.h
+++ b/plugins/contacts/symbian/inc/filtering/cntdbinfo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntdisplaylabelsqlfilter.h b/plugins/contacts/symbian/inc/filtering/cntdisplaylabelsqlfilter.h
index b8d676e858..8cd42015c2 100644
--- a/plugins/contacts/symbian/inc/filtering/cntdisplaylabelsqlfilter.h
+++ b/plugins/contacts/symbian/inc/filtering/cntdisplaylabelsqlfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterabstract.h b/plugins/contacts/symbian/inc/filtering/cntfilterabstract.h
index 46d07a1cd3..7a8c1e1666 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterabstract.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterabstract.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterchangelog.h b/plugins/contacts/symbian/inc/filtering/cntfilterchangelog.h
index 8587dcb2e9..5b11b80b3b 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterchangelog.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterchangelog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterdefault.h b/plugins/contacts/symbian/inc/filtering/cntfilterdefault.h
index 19c259eb9e..2f53ce77f3 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterdefault.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterdefault.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterdetail.h b/plugins/contacts/symbian/inc/filtering/cntfilterdetail.h
index 9170834d7b..1fc37434e6 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterdetail.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterdetail.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterdetaildisplaylabel.h b/plugins/contacts/symbian/inc/filtering/cntfilterdetaildisplaylabel.h
index 11cd8c8056..b60aadb91f 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterdetaildisplaylabel.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterdetaildisplaylabel.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterdetailrange.h b/plugins/contacts/symbian/inc/filtering/cntfilterdetailrange.h
index 5c4a42b802..4ba3e8fbd8 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterdetailrange.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterdetailrange.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterintersection.h b/plugins/contacts/symbian/inc/filtering/cntfilterintersection.h
index a07397b9a0..c7b9262aa5 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterintersection.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterintersection.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterinvalid.h b/plugins/contacts/symbian/inc/filtering/cntfilterinvalid.h
index 33de1c336f..262c9ebb36 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterinvalid.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterinvalid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterlocalid.h b/plugins/contacts/symbian/inc/filtering/cntfilterlocalid.h
index 63fd1cb8a7..f39e0d527e 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterlocalid.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterlocalid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterrelationship.h b/plugins/contacts/symbian/inc/filtering/cntfilterrelationship.h
index 13fa6dd4d2..9df8735651 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterrelationship.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterrelationship.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntfilterunion.h b/plugins/contacts/symbian/inc/filtering/cntfilterunion.h
index 839d8d16ba..7eaa1cc01c 100644
--- a/plugins/contacts/symbian/inc/filtering/cntfilterunion.h
+++ b/plugins/contacts/symbian/inc/filtering/cntfilterunion.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntsqlsearch.h b/plugins/contacts/symbian/inc/filtering/cntsqlsearch.h
index dbc41e3e34..b283dff7f3 100644
--- a/plugins/contacts/symbian/inc/filtering/cntsqlsearch.h
+++ b/plugins/contacts/symbian/inc/filtering/cntsqlsearch.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntsymbianfilterdbms.h b/plugins/contacts/symbian/inc/filtering/cntsymbianfilterdbms.h
index bf2f817423..8230f7e942 100644
--- a/plugins/contacts/symbian/inc/filtering/cntsymbianfilterdbms.h
+++ b/plugins/contacts/symbian/inc/filtering/cntsymbianfilterdbms.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntsymbianfiltersql.h b/plugins/contacts/symbian/inc/filtering/cntsymbianfiltersql.h
index 2f6b43478d..7ba6aab86d 100644
--- a/plugins/contacts/symbian/inc/filtering/cntsymbianfiltersql.h
+++ b/plugins/contacts/symbian/inc/filtering/cntsymbianfiltersql.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntsymbiansorterdbms.h b/plugins/contacts/symbian/inc/filtering/cntsymbiansorterdbms.h
index 711ed777a8..0d04c8ce76 100644
--- a/plugins/contacts/symbian/inc/filtering/cntsymbiansorterdbms.h
+++ b/plugins/contacts/symbian/inc/filtering/cntsymbiansorterdbms.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/filtering/cntsymbiansrvconnection.h b/plugins/contacts/symbian/inc/filtering/cntsymbiansrvconnection.h
index 11cc8423bb..b0246b51d9 100644
--- a/plugins/contacts/symbian/inc/filtering/cntsymbiansrvconnection.h
+++ b/plugins/contacts/symbian/inc/filtering/cntsymbiansrvconnection.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/transform/cntthumbnailcreator.h b/plugins/contacts/symbian/inc/transform/cntthumbnailcreator.h
index 9f74c5131a..8a13d54451 100644
--- a/plugins/contacts/symbian/inc/transform/cntthumbnailcreator.h
+++ b/plugins/contacts/symbian/inc/transform/cntthumbnailcreator.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformaddress.h b/plugins/contacts/symbian/inc/transform/cnttransformaddress.h
index 78f9c8d8c1..33fd6889c3 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformaddress.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformaddress.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -49,8 +49,8 @@ class CntTransformAddress : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformanniversary.h b/plugins/contacts/symbian/inc/transform/cnttransformanniversary.h
index 7b3d70f67c..a47edeb5af 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformanniversary.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformanniversary.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -48,8 +48,8 @@ class CntTransformAnniversary : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformanniversarysimple.h b/plugins/contacts/symbian/inc/transform/cnttransformanniversarysimple.h
index ea218ea210..000c778c0f 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformanniversarysimple.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformanniversarysimple.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -48,9 +48,9 @@ class CntTransformAnniversarySimple : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
- QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
+ QList<TUid> supportedFields() const;
+ QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
void detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformavatar.h b/plugins/contacts/symbian/inc/transform/cnttransformavatar.h
index bc99416c0e..3c4fc17f5e 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformavatar.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformavatar.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -54,8 +54,8 @@ class CntTransformAvatar : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformbirthday.h b/plugins/contacts/symbian/inc/transform/cnttransformbirthday.h
index c2927ad132..f54ed43739 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformbirthday.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformbirthday.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,9 +50,9 @@ class CntTransformBirthday : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
- QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
+ QList<TUid> supportedFields() const;
+ QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
void detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformcontact.h b/plugins/contacts/symbian/inc/transform/cnttransformcontact.h
index 2d886e0b20..66f3b7cace 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformcontact.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformcontact.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -67,7 +67,7 @@ public:
virtual ~CntTransformContact();
public:
- QContact transformContactL(CContactItem &contact, const QStringList& definitionRestrictions = QStringList()) const;
+ QContact transformContactL(CContactItem &contact);
void transformPostSaveDetailsL(
const CContactItem& contactItem,
QContact& contact,
@@ -77,6 +77,7 @@ public:
QContact &contact,
CContactItem &contactItem) const;
QList<TUid> supportedSortingFieldTypes( QString detailDefinitionName, QString detailFieldName );
+ QList<TUid> itemFieldUidsL(const QString detailDefinitionName) const;
TUint32 GetIdForDetailL(const QContactDetailFilter& detailFilter,bool& isSubtype) const;
void detailDefinitions(QMap<QString, QContactDetailDefinition>& defaultSchema, const QString& contactType, QContactManager::Error* error) const;
QContactDetail *transformGuidItemFieldL(const CContactItem &contactItem, const CContactDatabase &contactDatabase) const;
@@ -107,10 +108,11 @@ private:
void initializeCntTransformContactData();
QList<CContactItemField *> transformDetailL(const QContactDetail &detail) const;
- QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact) const;
+ QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
private:
QMap<ContactData, CntTransformContactData*> m_transformContactData;
+ QHash<TUint32, CntTransformContactData*> m_fieldTypeToTransformContact;
CTzConverter* m_tzConverter;
RTz m_tzoneServer;
};
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformcontactdata.h b/plugins/contacts/symbian/inc/transform/cnttransformcontactdata.h
index 524dd04329..e95b5427cb 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformcontactdata.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformcontactdata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -67,8 +67,14 @@ protected:
public:
virtual QList<CContactItemField *> transformDetailL(const QContactDetail &detail) = 0;
virtual QContactDetail* transformItemField(const CContactItemField& field, const QContact &contact) = 0;
- virtual bool supportsField(TUint32 fieldType) const = 0;
+ virtual bool supportsField(TUint32 fieldType) const
+ {
+ TUid fieldTypeUid;
+ fieldTypeUid.iUid = fieldType;
+ return supportedFields().contains(fieldTypeUid);
+ };
virtual bool supportsDetail(QString detailName) const = 0;
+ virtual QList<TUid> supportedFields() const = 0;
virtual QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const = 0;
virtual bool supportsSubType(const QString& detailName) const = 0;
virtual quint32 getIdForField(const QString& detailName) const = 0;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformemail.h b/plugins/contacts/symbian/inc/transform/cnttransformemail.h
index 0c1260d0f3..486b585322 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformemail.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformemail.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformEmail : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformempty.h b/plugins/contacts/symbian/inc/transform/cnttransformempty.h
index 8d0eaefe1b..6bb5b119cf 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformempty.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformempty.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformEmpty : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformfamily.h b/plugins/contacts/symbian/inc/transform/cnttransformfamily.h
index 27db57d470..a6b0f70dee 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformfamily.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformfamily.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformFamily : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformgender.h b/plugins/contacts/symbian/inc/transform/cnttransformgender.h
index 8104c25346..0611894829 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformgender.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformgender.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformGender : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformgeolocation.h b/plugins/contacts/symbian/inc/transform/cnttransformgeolocation.h
index c729778a6a..b8d45e7168 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformgeolocation.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformgeolocation.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformGeolocation : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformname.h b/plugins/contacts/symbian/inc/transform/cnttransformname.h
index cdea0420f7..75fd62da78 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformname.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformname.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformName : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformnickname.h b/plugins/contacts/symbian/inc/transform/cnttransformnickname.h
index 0121445e8f..b9608208f4 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformnickname.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformnickname.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformNickname : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformnote.h b/plugins/contacts/symbian/inc/transform/cnttransformnote.h
index e98c8843a4..14693570ea 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformnote.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformnote.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformNote : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformonlineaccount.h b/plugins/contacts/symbian/inc/transform/cnttransformonlineaccount.h
index 1413a7879d..7aea8451e8 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformonlineaccount.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformonlineaccount.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -64,8 +64,8 @@ class CntTransformOnlineAccount : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/qtcontacts-tracker/qtrackercontactasyncrequest.h b/plugins/contacts/symbian/inc/transform/cnttransformonlineaccountsimple.h
index a536603a05..fb7a1416bc 100644
--- a/plugins/contacts/qtcontacts-tracker/qtrackercontactasyncrequest.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformonlineaccountsimple.h
@@ -39,26 +39,28 @@
**
****************************************************************************/
-#ifndef QTRACKERCONTACTASYNCREQUEST_H_
-#define QTRACKERCONTACTASYNCREQUEST_H_
+#ifndef SYMBIAN_BACKEND_USE_SQLITE
-#include <qmobilityglobal.h>
-#include <qcontactabstractrequest.h>
+#ifndef TRANSFORMONLINEACCOUNTSIMPLE_H
+#define TRANSFORMONLINEACCOUNTSIMPLE_H
+
+#include "cnttransformcontactdata.h"
QTM_USE_NAMESPACE
-/*!
- * Current implementation only server get all contacts requests.
- * This class is a link between QtMobility async request and tracker signals
- */
-class QTrackerContactAsyncRequest
+class CntTransformOnlineAccount : public CntTransformContactData
{
-public:
- QTrackerContactAsyncRequest(QContactAbstractRequest* req);
- virtual ~QTrackerContactAsyncRequest();
-
protected:
- QContactAbstractRequest* req;
+ QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
+ QContactDetail *transformItemField(const CContactItemField &field, const QContact &contact);
+ bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
+ QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
+ bool supportsSubType(const QString &subType) const;
+ quint32 getIdForField(const QString &fieldName) const;
+ void detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString &contactType) const;
};
-#endif /* QTRACKERCONTACTASYNCREQUEST_H_ */
+#endif // TRANSFORMONLINEACCOUNT_H
+
+#endif // SYMBIAN_BACKEND_USE_SQLITE
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformorganisation.h b/plugins/contacts/symbian/inc/transform/cnttransformorganisation.h
index 0ac0bb6ec5..33b081d491 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformorganisation.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformorganisation.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformOrganisation : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformphonenumber.h b/plugins/contacts/symbian/inc/transform/cnttransformphonenumber.h
index 5b28511b73..6602d7039d 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformphonenumber.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformphonenumber.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformPhoneNumber : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformringtone.h b/plugins/contacts/symbian/inc/transform/cnttransformringtone.h
index a77ad37114..b722f22b65 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformringtone.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformringtone.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformRingtone : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformsynctarget.h b/plugins/contacts/symbian/inc/transform/cnttransformsynctarget.h
index b0199685e0..5261a2666c 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformsynctarget.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformsynctarget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformSyncTarget : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformthumbnail.h b/plugins/contacts/symbian/inc/transform/cnttransformthumbnail.h
index edd55696d8..8e486df741 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformthumbnail.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformthumbnail.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -55,8 +55,8 @@ public:
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/inc/transform/cnttransformurl.h b/plugins/contacts/symbian/inc/transform/cnttransformurl.h
index 67877423f9..ebef739336 100644
--- a/plugins/contacts/symbian/inc/transform/cnttransformurl.h
+++ b/plugins/contacts/symbian/inc/transform/cnttransformurl.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ class CntTransformUrl : public CntTransformContactData
protected:
QList<CContactItemField *> transformDetailL(const QContactDetail &detail);
QContactDetail *transformItemField(const CContactItemField& field, const QContact &contact);
- bool supportsField(TUint32 fieldType) const;
bool supportsDetail(QString detailName) const;
+ QList<TUid> supportedFields() const;
QList<TUid> supportedSortingFieldTypes(QString detailFieldName) const;
bool supportsSubType(const QString& subType) const;
quint32 getIdForField(const QString& fieldName) const;
diff --git a/plugins/contacts/symbian/rss/cntmodel.rss b/plugins/contacts/symbian/rss/cntmodel.rss
index 29d3a18c5d..648978c011 100644
--- a/plugins/contacts/symbian/rss/cntmodel.rss
+++ b/plugins/contacts/symbian/rss/cntmodel.rss
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/rss/cntmodelextuids.h b/plugins/contacts/symbian/rss/cntmodelextuids.h
index fa7c1c8f34..9cdadaad47 100644
--- a/plugins/contacts/symbian/rss/cntmodelextuids.h
+++ b/plugins/contacts/symbian/rss/cntmodelextuids.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/rss/cntmodelextuids.hrh b/plugins/contacts/symbian/rss/cntmodelextuids.hrh
index f5e6d2ae45..5980bad741 100644
--- a/plugins/contacts/symbian/rss/cntmodelextuids.hrh
+++ b/plugins/contacts/symbian/rss/cntmodelextuids.hrh
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/rss/fieldnames.loc b/plugins/contacts/symbian/rss/fieldnames.loc
index dcd0049956..8257b25236 100644
--- a/plugins/contacts/symbian/rss/fieldnames.loc
+++ b/plugins/contacts/symbian/rss/fieldnames.loc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/cntabstractrelationship.cpp b/plugins/contacts/symbian/src/cntabstractrelationship.cpp
index ea9de6650e..e94349451b 100644
--- a/plugins/contacts/symbian/src/cntabstractrelationship.cpp
+++ b/plugins/contacts/symbian/src/cntabstractrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/cntdisplaylabel.cpp b/plugins/contacts/symbian/src/cntdisplaylabel.cpp
index f77cb053fd..45a0abfa20 100644
--- a/plugins/contacts/symbian/src/cntdisplaylabel.cpp
+++ b/plugins/contacts/symbian/src/cntdisplaylabel.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -126,6 +126,8 @@ QString CntDisplayLabel::synthesizedDisplayLabel(const QContact& contact, QConta
*/
QString CntDisplayLabel::generateDisplayLabel( const QContact &contact, const QList<QList<QPair<QLatin1String, QLatin1String> > > detailList) const
{
+ // Default to empty display label. It is up to the client to create a
+ // localised presentation of a contact without a name.
QString displayLabel("");
//loop through the details and create display label
@@ -153,13 +155,6 @@ QString CntDisplayLabel::generateDisplayLabel( const QContact &contact, const QL
}
}
- //no display label, set default value
- if(displayLabel.isEmpty())
- {
- //should the unnamned be read from somewhere?
- displayLabel = unNamned();
- }
-
return displayLabel;
}
@@ -174,14 +169,6 @@ QString CntDisplayLabel::delimiter() const
}
/*!
- * return the name used for unknown contacts
- */
-QString CntDisplayLabel::unNamned() const
-{
- return "Unnamed";
-}
-
-/*!
* Returns the details to be used for contact filtering
*/
QList<QPair<QLatin1String, QLatin1String> > CntDisplayLabel::contactFilterDetails() const
diff --git a/plugins/contacts/symbian/src/cntrelationship.cpp b/plugins/contacts/symbian/src/cntrelationship.cpp
index fdd64117ee..1d216d3749 100644
--- a/plugins/contacts/symbian/src/cntrelationship.cpp
+++ b/plugins/contacts/symbian/src/cntrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/cntrelationshipgroup.cpp b/plugins/contacts/symbian/src/cntrelationshipgroup.cpp
index d059815711..df822ecc1a 100644
--- a/plugins/contacts/symbian/src/cntrelationshipgroup.cpp
+++ b/plugins/contacts/symbian/src/cntrelationshipgroup.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/cntsymbiandatabase.cpp b/plugins/contacts/symbian/src/cntsymbiandatabase.cpp
index 54d788979f..cb712f8bbc 100644
--- a/plugins/contacts/symbian/src/cntsymbiandatabase.cpp
+++ b/plugins/contacts/symbian/src/cntsymbiandatabase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/cntsymbianengine.cpp b/plugins/contacts/symbian/src/cntsymbianengine.cpp
index 585fe8fc4b..c49d1617e9 100644
--- a/plugins/contacts/symbian/src/cntsymbianengine.cpp
+++ b/plugins/contacts/symbian/src/cntsymbianengine.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -355,7 +355,7 @@ bool CntSymbianEngine::doSaveContact(QContact* contact, QContactChangeSet& chang
/*!
* Private leaving implementation for contact()
*/
-QContact CntSymbianEngine::fetchContactL(const QContactLocalId &localId, const QStringList& definitionRestrictions) const
+QContact CntSymbianEngine::fetchContactL(const QContactLocalId &localId, const QStringList& detailDefinitionsHint) const
{
// A contact with a zero id is not expected to exist.
// Symbian contact database uses id 0 internally as the id of the
@@ -364,11 +364,28 @@ QContact CntSymbianEngine::fetchContactL(const QContactLocalId &localId, const Q
User::Leave(KErrNotFound);
// Read the contact from the CContactDatabase
- CContactItem* contactItem = m_dataBase->contactDatabase()->ReadContactL(localId);
+ CContactItem* contactItem(0);
+ if (!detailDefinitionsHint.isEmpty()) {
+ // Create a view definition with only the fields that map to the fetch hint
+ CContactItemViewDef *viewDef = CContactItemViewDef::NewLC(
+ CContactItemViewDef::EIncludeFields, CContactItemViewDef::EMaskHiddenFields);
+ foreach (QString detailDefinitionHint, detailDefinitionsHint) {
+ QList<TUid> uids = m_transformContact->itemFieldUidsL(detailDefinitionHint);
+ foreach (TUid uid, uids) {
+ viewDef->AddL(uid);
+ }
+ }
+ contactItem = m_dataBase->contactDatabase()->ReadContactL(localId, *viewDef);
+ CleanupStack::PopAndDestroy(viewDef);
+ } else {
+ // The fetch hint does not contain detail definitions hint so get all
+ // the contact item fields that are available
+ contactItem = m_dataBase->contactDatabase()->ReadContactL(localId);
+ }
CleanupStack::PushL(contactItem);
// Convert to a QContact
- QContact contact = m_transformContact->transformContactL(*contactItem, definitionRestrictions);
+ QContact contact = m_transformContact->transformContactL(*contactItem);
// Transform details that are not available until the contact has been saved
m_transformContact->transformPostSaveDetailsL(*contactItem, contact, *m_dataBase->contactDatabase(), m_managerUri);
@@ -730,7 +747,6 @@ bool CntSymbianEngine::removeRelationships(const QList<QContactRelationship>& re
QMap<QString, QContactDetailDefinition> CntSymbianEngine::detailDefinitions(const QString& contactType, QContactManager::Error* error) const
{
- // TODO: update for SIM contacts later
if (contactType != QContactType::TypeContact && contactType != QContactType::TypeGroup) {
*error = QContactManager::InvalidContactTypeError;
return QMap<QString, QContactDetailDefinition>();
diff --git a/plugins/contacts/symbian/src/cntsymbiantransformerror.cpp b/plugins/contacts/symbian/src/cntsymbiantransformerror.cpp
index c8566c277c..c44e683e67 100644
--- a/plugins/contacts/symbian/src/cntsymbiantransformerror.cpp
+++ b/plugins/contacts/symbian/src/cntsymbiantransformerror.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntdbinfo.cpp b/plugins/contacts/symbian/src/filtering/cntdbinfo.cpp
index 7eccae8493..0c84e87837 100644
--- a/plugins/contacts/symbian/src/filtering/cntdbinfo.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntdbinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntdisplaylabelsqlfilter.cpp b/plugins/contacts/symbian/src/filtering/cntdisplaylabelsqlfilter.cpp
index 209991c958..8828335b43 100644
--- a/plugins/contacts/symbian/src/filtering/cntdisplaylabelsqlfilter.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntdisplaylabelsqlfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterchangelog.cpp b/plugins/contacts/symbian/src/filtering/cntfilterchangelog.cpp
index 783d32386f..81843c069a 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterchangelog.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterchangelog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterdefault.cpp b/plugins/contacts/symbian/src/filtering/cntfilterdefault.cpp
index 151846d873..dbe65465fc 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterdefault.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterdefault.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp b/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp
index d1f60463c1..c6e71df3b7 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterdetaildisplaylabel.cpp b/plugins/contacts/symbian/src/filtering/cntfilterdetaildisplaylabel.cpp
index 45d6c77973..e636b340ea 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterdetaildisplaylabel.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterdetaildisplaylabel.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterdetailrange.cpp b/plugins/contacts/symbian/src/filtering/cntfilterdetailrange.cpp
index 7cf14477dc..b776632f95 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterdetailrange.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterdetailrange.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterintersection.cpp b/plugins/contacts/symbian/src/filtering/cntfilterintersection.cpp
index 507bfd634a..d27f1be13e 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterintersection.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterintersection.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterinvalid.cpp b/plugins/contacts/symbian/src/filtering/cntfilterinvalid.cpp
index 117b68450b..7dec0190e0 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterinvalid.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterinvalid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterlocalid.cpp b/plugins/contacts/symbian/src/filtering/cntfilterlocalid.cpp
index 8f8e9ac8a5..1fb7cefb9a 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterlocalid.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterlocalid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterrelationship.cpp b/plugins/contacts/symbian/src/filtering/cntfilterrelationship.cpp
index 138614da08..3bb493de1e 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterrelationship.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntfilterunion.cpp b/plugins/contacts/symbian/src/filtering/cntfilterunion.cpp
index 06b274cb96..5bc43a1ae8 100644
--- a/plugins/contacts/symbian/src/filtering/cntfilterunion.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntfilterunion.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntsqlsearch.cpp b/plugins/contacts/symbian/src/filtering/cntsqlsearch.cpp
index c04914383a..1b0711f46a 100644
--- a/plugins/contacts/symbian/src/filtering/cntsqlsearch.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntsqlsearch.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntsymbianfilterdbms.cpp b/plugins/contacts/symbian/src/filtering/cntsymbianfilterdbms.cpp
index 5c2a169abc..db732af8c9 100644
--- a/plugins/contacts/symbian/src/filtering/cntsymbianfilterdbms.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntsymbianfilterdbms.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -148,6 +148,11 @@ QList<QContactLocalId> CntSymbianFilter::contacts(
}
// The resulting filter is handled with a recursive function call
result = contacts(intersectionFilter, sortOrders, filterSupportedFlag, error);
+ } else if (filter == QContactFilter()) {
+ // Empty filter -> don't do any filtering and tell the caller to not
+ // to do any filtering either
+ filterSupportedFlag = true;
+ result = filterContacts(QContactInvalidFilter(), error);
} else {
FilterSupport filterSupport = filterSupportLevel(filter);
if (filterSupport == Supported) {
@@ -283,7 +288,6 @@ CntAbstractContactFilter::FilterSupport CntSymbianFilter::filterSupportLevel(con
}
// display label, this is a special case that contains several name
// fields and company name
- //TODO: "unnamed" display label is not supported currently
} else if (defName == QContactDisplayLabel::DefinitionName) {
if (matchFlags == QContactFilter::MatchStartsWith) {
diff --git a/plugins/contacts/symbian/src/filtering/cntsymbianfiltersql.cpp b/plugins/contacts/symbian/src/filtering/cntsymbianfiltersql.cpp
index f8450536bd..63ad1ccfd1 100644
--- a/plugins/contacts/symbian/src/filtering/cntsymbianfiltersql.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntsymbianfiltersql.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntsymbiansorterdbms.cpp b/plugins/contacts/symbian/src/filtering/cntsymbiansorterdbms.cpp
index 7075174ad4..539799635c 100644
--- a/plugins/contacts/symbian/src/filtering/cntsymbiansorterdbms.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntsymbiansorterdbms.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/filtering/cntsymbiansrvconnection.cpp b/plugins/contacts/symbian/src/filtering/cntsymbiansrvconnection.cpp
index f994bb54a7..654cdebafb 100644
--- a/plugins/contacts/symbian/src/filtering/cntsymbiansrvconnection.cpp
+++ b/plugins/contacts/symbian/src/filtering/cntsymbiansrvconnection.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/transform/cntthumbnailcreator.cpp b/plugins/contacts/symbian/src/transform/cntthumbnailcreator.cpp
index 418ad1dd53..be73a5f206 100644
--- a/plugins/contacts/symbian/src/transform/cntthumbnailcreator.cpp
+++ b/plugins/contacts/symbian/src/transform/cntthumbnailcreator.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/transform/cnttransformaddress.cpp b/plugins/contacts/symbian/src/transform/cnttransformaddress.cpp
index 026a78bc1f..792b39ab09 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformaddress.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformaddress.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -126,27 +126,24 @@ QContactDetail *CntTransformAddress::transformItemField(const CContactItemField&
return detail;
}
-bool CntTransformAddress::supportsField(TUint32 fieldType) const
+bool CntTransformAddress::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldCountry.iUid ||
- fieldType == KUidContactFieldPostcode.iUid ||
- fieldType == KUidContactFieldAddress.iUid ||
- fieldType == KUidContactFieldLocality.iUid ||
- fieldType == KUidContactFieldRegion.iUid ||
- fieldType == KUidContactFieldPostOffice.iUid) {
+ if (detailName == QContactAddress::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformAddress::supportsDetail(QString detailName) const
+QList<TUid> CntTransformAddress::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactAddress::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldAddress
+ << KUidContactFieldLocality
+ << KUidContactFieldRegion
+ << KUidContactFieldPostcode
+ << KUidContactFieldCountry
+ << KUidContactFieldPostOffice;
}
QList<TUid> CntTransformAddress::supportedSortingFieldTypes(QString detailFieldName) const
@@ -245,8 +242,12 @@ void CntTransformAddress::detailDefinitions(QMap<QString, QContactDetailDefiniti
<< QLatin1String(QContactDetail::ContextWork));
fields[QContactDetail::FieldContext] = f;
- // Sub-types not supported in symbian back-end, remove
- fields.remove(QContactAddress::FieldSubTypes);
+ // Sub-types not supported in symbian back-end, replace with an empty list
+ f.setDataType(QVariant::StringList);
+ QVariantList subTypes;
+ f.setAllowableValues(subTypes);
+ fields[QContactAddress::FieldSubTypes] = f;
+
d.setFields(fields);
// Replace original definitions
diff --git a/plugins/contacts/symbian/src/transform/cnttransformanniversary.cpp b/plugins/contacts/symbian/src/transform/cnttransformanniversary.cpp
index 47944da796..fa61c0edbc 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformanniversary.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformanniversary.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,22 +103,19 @@ QContactDetail *CntTransformAnniversary::transformItemField(const CContactItemFi
return anniversary;
}
-bool CntTransformAnniversary::supportsField(TUint32 fieldType) const
+bool CntTransformAnniversary::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldAnniversary.iUid) {
+ if (detailName == QContactAnniversary::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformAnniversary::supportsDetail(QString detailName) const
+QList<TUid> CntTransformAnniversary::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactAnniversary::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldAnniversary;
}
QList<TUid> CntTransformAnniversary::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformanniversarysimple.cpp b/plugins/contacts/symbian/src/transform/cnttransformanniversarysimple.cpp
index f37df3df5b..00610a49ec 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformanniversarysimple.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformanniversarysimple.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -78,22 +78,19 @@ QContactDetail *CntTransformAnniversarySimple::transformItemField(const CContact
return anniversary;
}
-bool CntTransformAnniversarySimple::supportsField(TUint32 fieldType) const
+bool CntTransformAnniversarySimple::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldAnniversary.iUid) {
+ if (detailName == QContactAnniversary::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformAnniversarySimple::supportsDetail(QString detailName) const
+QList<TUid> CntTransformAnniversarySimple::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactAnniversary::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldAnniversary;
}
QList<TUid> CntTransformAnniversarySimple::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformavatar.cpp b/plugins/contacts/symbian/src/transform/cnttransformavatar.cpp
index b6e9b70a00..0d76fa4dc3 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformavatar.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformavatar.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -96,14 +96,6 @@ QContactDetail *CntTransformAvatar::transformItemField(const CContactItemField&
return avatar;
}
-bool CntTransformAvatar::supportsField(TUint32 fieldType) const
-{
- bool ret = false;
- if (fieldType == KUidContactFieldCodImage.iUid)
- ret = true;
- return ret;
-}
-
bool CntTransformAvatar::supportsDetail(QString detailName) const
{
bool ret = false;
@@ -113,6 +105,12 @@ bool CntTransformAvatar::supportsDetail(QString detailName) const
return ret;
}
+QList<TUid> CntTransformAvatar::supportedFields() const
+{
+ return QList<TUid>()
+ << KUidContactFieldCodImage;
+}
+
QList<TUid> CntTransformAvatar::supportedSortingFieldTypes(QString /*detailFieldName*/) const
{
// Sorting not supported
diff --git a/plugins/contacts/symbian/src/transform/cnttransformbirthday.cpp b/plugins/contacts/symbian/src/transform/cnttransformbirthday.cpp
index 538bf16c64..dd643fab1c 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformbirthday.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformbirthday.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -76,22 +76,19 @@ QContactDetail *CntTransformBirthday::transformItemField(const CContactItemField
return birthday;
}
-bool CntTransformBirthday::supportsField(TUint32 fieldType) const
+bool CntTransformBirthday::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldBirthday.iUid) {
+ if (detailName == QContactBirthday::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformBirthday::supportsDetail(QString detailName) const
+QList<TUid> CntTransformBirthday::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactBirthday::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldBirthday;
}
QList<TUid> CntTransformBirthday::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformcontact.cpp b/plugins/contacts/symbian/src/transform/cnttransformcontact.cpp
index 202b8b3255..1ef2315e54 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformcontact.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformcontact.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -49,6 +49,7 @@
#include "cnttransformaddress.h"
#include "cnttransformbirthday.h"
#include "cnttransformonlineaccount.h"
+#include "cnttransformonlineaccountsimple.h"
#include "cnttransformorganisation.h"
#include "cnttransformavatar.h"
#include "cnttransformringtone.h"
@@ -83,6 +84,8 @@ CntTransformContact::~CntTransformContact()
delete m_tzConverter;
m_tzoneServer.Close();
+ m_fieldTypeToTransformContact.clear();
+
QMap<ContactData, CntTransformContactData*>::iterator itr;
for (itr = m_transformContactData.begin(); itr != m_transformContactData.end(); ++itr)
@@ -132,6 +135,7 @@ void CntTransformContact::initializeCntTransformContactData()
// variated transform classes
m_transformContactData.insert(Anniversary, new CntTransformAnniversarySimple);
+ m_transformContactData.insert(OnlineAccount, new CntTransformOnlineAccount);
#endif
}
@@ -143,7 +147,7 @@ void CntTransformContact::initializeCntTransformContactData()
* \param contact A reference to a symbian contact item to be converted.
* \return Qt Contact
*/
-QContact CntTransformContact::transformContactL(CContactItem &contact, const QStringList& definitionRestrictions) const
+QContact CntTransformContact::transformContactL(CContactItem &contact)
{
// Create a new QContact
QContact newQtContact;
@@ -170,11 +174,7 @@ QContact CntTransformContact::transformContactL(CContactItem &contact, const QSt
if(detail)
{
- // add detail if user requested it.
- if(definitionRestrictions.isEmpty() || definitionRestrictions.contains(detail->definitionName()))
- {
- newQtContact.saveDetail(detail);
- }
+ newQtContact.saveDetail(detail);
delete detail;
detail = 0;
}
@@ -288,6 +288,25 @@ QList<TUid> CntTransformContact::supportedSortingFieldTypes( QString detailDefin
return uids;
}
+QList<TUid> CntTransformContact::itemFieldUidsL(const QString detailDefinitionName) const
+{
+ QList<TUid> fieldUids;
+ QMap<ContactData, CntTransformContactData*>::const_iterator i = m_transformContactData.constBegin();
+
+ while (i != m_transformContactData.constEnd()) {
+ if (i.value()->supportsDetail(detailDefinitionName)) {
+ // The leaf class supports this detail, so check which field type
+ // uids it supports, use empty field name to get all the supported uids
+ fieldUids << i.value()->supportedFields();
+
+ // Assume there are no more leaf classes for this detail
+ break;
+ }
+ i++;
+ }
+ return fieldUids;
+}
+
TUint32 CntTransformContact::GetIdForDetailL(const QContactDetailFilter& detailFilter, bool& isSubtype) const
{
isSubtype = false;
@@ -359,24 +378,34 @@ QList<CContactItemField *> CntTransformContact::transformDetailL(const QContactD
return itemFieldList;
}
-QContactDetail *CntTransformContact::transformItemField(const CContactItemField& field, const QContact &contact) const
+QContactDetail *CntTransformContact::transformItemField(const CContactItemField& field, const QContact &contact)
{
QContactDetail *detail(0);
- if(field.ContentType().FieldTypeCount()) {
- TUint32 fieldType(field.ContentType().FieldType(0).iUid);
-
- QMap<ContactData, CntTransformContactData*>::const_iterator i = m_transformContactData.constBegin();
- while (i != m_transformContactData.constEnd()) {
- if (i.value()->supportsField(fieldType)) {
- detail = i.value()->transformItemField(field, contact);
- break;
- }
- ++i;
- }
- }
+ if(field.ContentType().FieldTypeCount()) {
+ TUint32 fieldType(field.ContentType().FieldType(0).iUid);
+
+ // Check if the mapping from field type to transform class pointer is available
+ // (this is faster than iterating through all the transform classes)
+ if (m_fieldTypeToTransformContact.contains(fieldType)) {
+ detail = m_fieldTypeToTransformContact[fieldType]->transformItemField(field, contact);
+ } else {
+ // Mapping from field type to transform class pointer not found,
+ // find the correct transform class by iterating through all the
+ // transform classes
+ QMap<ContactData, CntTransformContactData*>::const_iterator i = m_transformContactData.constBegin();
+ while (i != m_transformContactData.constEnd()) {
+ if (i.value()->supportsField(fieldType)) {
+ detail = i.value()->transformItemField(field, contact);
+ m_fieldTypeToTransformContact.insert(fieldType, i.value());
+ break;
+ }
+ i++;
+ }
+ }
+ }
- return detail;
+ return detail;
}
QContactDetail* CntTransformContact::transformGuidItemFieldL(const CContactItem &contactItem, const CContactDatabase &contactDatabase) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformcontactdata.cpp b/plugins/contacts/symbian/src/transform/cnttransformcontactdata.cpp
index 9f991f5bd1..6f849c8205 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformcontactdata.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformcontactdata.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/src/transform/cnttransformemail.cpp b/plugins/contacts/symbian/src/transform/cnttransformemail.cpp
index 6cbe5ab648..2158fdda5b 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformemail.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformemail.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -75,22 +75,19 @@ QContactDetail *CntTransformEmail::transformItemField(const CContactItemField& f
return email;
}
-bool CntTransformEmail::supportsField(TUint32 fieldType) const
+bool CntTransformEmail::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldEMail.iUid) {
+ if (detailName == QContactEmailAddress::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformEmail::supportsDetail(QString detailName) const
+QList<TUid> CntTransformEmail::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactEmailAddress::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldEMail;
}
QList<TUid> CntTransformEmail::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformempty.cpp b/plugins/contacts/symbian/src/transform/cnttransformempty.cpp
index 4c9e2153a5..e1d441d73d 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformempty.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformempty.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -55,16 +55,15 @@ QContactDetail *CntTransformEmpty::transformItemField(const CContactItemField& f
return new QContactDetail();
}
-bool CntTransformEmpty::supportsField(TUint32 fieldType) const
+bool CntTransformEmpty::supportsDetail(QString detailName) const
{
- Q_UNUSED(fieldType);
+ Q_UNUSED(detailName);
return false;
}
-bool CntTransformEmpty::supportsDetail(QString detailName) const
+QList<TUid> CntTransformEmpty::supportedFields() const
{
- Q_UNUSED(detailName);
- return false;
+ return QList<TUid>();
}
QList<TUid> CntTransformEmpty::supportedSortingFieldTypes(QString detailFieldName) const
@@ -114,9 +113,6 @@ void CntTransformEmpty::detailDefinitions(QMap<QString, QContactDetailDefinition
if(definitions.contains(QContactGeoLocation::DefinitionName)) {
definitions.remove(QContactGeoLocation::DefinitionName);
}
- if(definitions.contains(QContactOnlineAccount::DefinitionName)) {
- definitions.remove(QContactOnlineAccount::DefinitionName);
- }
if(definitions.contains(QContactTag::DefinitionName)) {
definitions.remove(QContactTag::DefinitionName);
}
diff --git a/plugins/contacts/symbian/src/transform/cnttransformfamily.cpp b/plugins/contacts/symbian/src/transform/cnttransformfamily.cpp
index a4b13f0e79..5b2c73d64d 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformfamily.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformfamily.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -83,23 +83,20 @@ QContactDetail *CntTransformFamily::transformItemField(const CContactItemField&
return family;
}
-bool CntTransformFamily::supportsField(TUint32 fieldType) const
+bool CntTransformFamily::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldSpouse.iUid ||
- fieldType == KUidContactFieldChildren.iUid) {
+ if (detailName == QContactFamily::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformFamily::supportsDetail(QString detailName) const
+QList<TUid> CntTransformFamily::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactFamily::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldSpouse
+ << KUidContactFieldChildren;
}
QList<TUid> CntTransformFamily::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformgender.cpp b/plugins/contacts/symbian/src/transform/cnttransformgender.cpp
index 667977ec2a..13a12c6468 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformgender.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformgender.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -70,22 +70,19 @@ QContactDetail *CntTransformGender::transformItemField(const CContactItemField&
return gender;
}
-bool CntTransformGender::supportsField(TUint32 fieldType) const
+bool CntTransformGender::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldGender.iUid) {
+ if (detailName == QContactGender::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformGender::supportsDetail(QString detailName) const
+QList<TUid> CntTransformGender::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactGender::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldGender;
}
QList<TUid> CntTransformGender::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformgeolocation.cpp b/plugins/contacts/symbian/src/transform/cnttransformgeolocation.cpp
index 2be2df098c..2aede56e88 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformgeolocation.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformgeolocation.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -117,22 +117,19 @@ QContactDetail *CntTransformGeolocation::transformItemField(const CContactItemFi
return geolocation;
}
-bool CntTransformGeolocation::supportsField(TUint32 fieldType) const
+bool CntTransformGeolocation::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldGEO.iUid) {
+ if (detailName == QContactGeoLocation::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformGeolocation::supportsDetail(QString detailName) const
+QList<TUid> CntTransformGeolocation::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactGeoLocation::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldGEO;
}
QList<TUid> CntTransformGeolocation::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformname.cpp b/plugins/contacts/symbian/src/transform/cnttransformname.cpp
index 5fc8fc5f19..1288d3b6fc 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformname.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformname.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -101,27 +101,24 @@ QContactDetail *CntTransformName::transformItemField(const CContactItemField& fi
return name;
}
-bool CntTransformName::supportsField(TUint32 fieldType) const
+bool CntTransformName::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldPrefixName.iUid
- || fieldType == KUidContactFieldGivenName.iUid
- || fieldType == KUidContactFieldAdditionalName.iUid
- || fieldType == KUidContactFieldFamilyName.iUid
- || fieldType == KUidContactFieldSuffixName.iUid
- || fieldType == KUidContactFieldTemplateLabel.iUid ) {
+ if (detailName == QContactName::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformName::supportsDetail(QString detailName) const
+QList<TUid> CntTransformName::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactName::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldPrefixName
+ << KUidContactFieldGivenName
+ << KUidContactFieldAdditionalName
+ << KUidContactFieldFamilyName
+ << KUidContactFieldSuffixName
+ << KUidContactFieldTemplateLabel;
}
QList<TUid> CntTransformName::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformnickname.cpp b/plugins/contacts/symbian/src/transform/cnttransformnickname.cpp
index befb59b133..def23076c0 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformnickname.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformnickname.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -78,22 +78,19 @@ QContactDetail *CntTransformNickname::transformItemField(const CContactItemField
return name;
}
-bool CntTransformNickname::supportsField(TUint32 fieldType) const
+bool CntTransformNickname::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldSecondName.iUid) {
+ if (detailName == QContactNickname::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformNickname::supportsDetail(QString detailName) const
+QList<TUid> CntTransformNickname::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactNickname::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldSecondName;
}
QList<TUid> CntTransformNickname::supportedSortingFieldTypes(QString detailFieldName) const
@@ -112,7 +109,7 @@ QList<TUid> CntTransformNickname::supportedSortingFieldTypes(QString detailField
*/
bool CntTransformNickname::supportsSubType(const QString& subType) const
{
- Q_UNUSED(subType);
+ Q_UNUSED(subType);
return false;
}
diff --git a/plugins/contacts/symbian/src/transform/cnttransformnote.cpp b/plugins/contacts/symbian/src/transform/cnttransformnote.cpp
index 37ce20fbad..3958afc8ef 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformnote.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformnote.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -69,22 +69,19 @@ QContactDetail *CntTransformNote::transformItemField(const CContactItemField& fi
return note;
}
-bool CntTransformNote::supportsField(TUint32 fieldType) const
+bool CntTransformNote::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldNote.iUid) {
+ if (detailName == QContactNote::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformNote::supportsDetail(QString detailName) const
+QList<TUid> CntTransformNote::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactNote::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldNote;
}
QList<TUid> CntTransformNote::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp b/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp
index fbbbf79eee..e573ebcea9 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -199,27 +199,23 @@ QContactDetail *CntTransformOnlineAccount::transformItemField(const CContactItem
return onlineAccount;
}
-bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const
+bool CntTransformOnlineAccount::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldSIPID.iUid ||
- fieldType == KUidContactFieldIMPP.iUid ||
- fieldType == KUidContactFieldServiceProvider.iUid ||
- fieldType == KUidContactFieldPresence.iUid ||
- fieldType == KUidContactFieldStatusMsg.iUid )
- {
+ if (detailName == QContactOnlineAccount::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformOnlineAccount::supportsDetail(QString detailName) const
+QList<TUid> CntTransformOnlineAccount::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactOnlineAccount::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldSIPID
+ << KUidContactFieldIMPP
+ << KUidContactFieldServiceProvider
+ << KUidContactFieldPresence
+ << KUidContactFieldStatusMsg;
}
QList<TUid> CntTransformOnlineAccount::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformonlineaccountsimple.cpp b/plugins/contacts/symbian/src/transform/cnttransformonlineaccountsimple.cpp
new file mode 100644
index 0000000000..f040cb3f98
--- /dev/null
+++ b/plugins/contacts/symbian/src/transform/cnttransformonlineaccountsimple.cpp
@@ -0,0 +1,205 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef SYMBIAN_BACKEND_USE_SQLITE
+
+#include "cnttransformonlineaccountsimple.h"
+
+QList<CContactItemField *> CntTransformOnlineAccount::transformDetailL(const QContactDetail &detail)
+{
+ if(detail.definitionName() != QContactOnlineAccount::DefinitionName)
+ User::Leave(KErrArgument);
+
+ QList<CContactItemField *> fieldList;
+
+ //cast to phonenumber
+ const QContactOnlineAccount &onlineAccount(static_cast<const QContactOnlineAccount&>(detail));
+
+ //get the subType
+ QStringList subTypes = onlineAccount.subTypes();
+
+ //no subtype
+ if(!subTypes.count())
+ {
+ User::LeaveIfError(KErrArgument);
+ }
+ else if (subTypes.contains(QContactOnlineAccount::SubTypeSipVoip)) {
+ //internet
+ transformToTextFieldL(onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapVOIP, false);
+ } else if (subTypes.contains(QContactOnlineAccount::SubTypeVideoShare)) {
+ //share video
+ transformToTextFieldL( onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapSWIS, false);
+ } else if (subTypes.contains(QContactOnlineAccount::SubTypeSip)) {
+ //sip
+ transformToTextFieldL( onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapSIPID, false);
+ }
+ else
+ {
+ User::LeaveIfError(KErrNotSupported);
+ }
+
+ return fieldList;
+}
+
+QContactDetail *CntTransformOnlineAccount::transformItemField(const CContactItemField& field, const QContact &contact)
+{
+ Q_UNUSED(contact);
+
+ QContactOnlineAccount *onlineAccount = new QContactOnlineAccount();
+ CContactTextField* storage = field.TextStorage();
+ QString onlineAccountString = QString::fromUtf16(storage->Text().Ptr(), storage->Text().Length());
+
+ // Adding Online Account Detail.
+ for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) {
+
+ if (field.ContentType().ContainsFieldType(KUidContactFieldVCardMapVOIP)) {
+ onlineAccount->setAccountUri(onlineAccountString);
+ onlineAccount->setSubTypes(QContactOnlineAccount::SubTypeSipVoip);
+ }
+ else if (field.ContentType().ContainsFieldType(KUidContactFieldVCardMapSWIS)) {
+ onlineAccount->setAccountUri(onlineAccountString);
+ onlineAccount->setSubTypes(QContactOnlineAccount::SubTypeVideoShare);
+ }
+ else if (field.ContentType().ContainsFieldType(KUidContactFieldVCardMapSIPID)) {
+ onlineAccount->setAccountUri(onlineAccountString);
+ onlineAccount->setSubTypes(QContactOnlineAccount::SubTypeSip);
+ }
+ }
+
+ // set context
+ for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) {
+ setContexts(field.ContentType().FieldType(i), *onlineAccount);
+ }
+
+ return onlineAccount;
+}
+
+bool CntTransformOnlineAccount::supportsDetail(QString detailName) const
+{
+ bool ret = false;
+ if (detailName == QContactOnlineAccount::DefinitionName) {
+ ret = true;
+ }
+ return ret;
+}
+
+QList<TUid> CntTransformOnlineAccount::supportedFields() const
+{
+ return QList<TUid>()
+ << KUidContactFieldSIPID;
+}
+
+QList<TUid> CntTransformOnlineAccount::supportedSortingFieldTypes(QString detailFieldName) const
+{
+ QList<TUid> uids;
+ if (detailFieldName == QContactOnlineAccount::FieldAccountUri) {
+ uids << KUidContactFieldSIPID;
+ }
+ return uids;
+}
+
+
+/*!
+ * Checks whether the subtype is supported
+ *
+ * \a subType The subtype to be checked
+ * \return True if this subtype is supported
+ */
+bool CntTransformOnlineAccount::supportsSubType(const QString& subType) const
+{
+ if(QContactOnlineAccount::FieldSubTypes == subType) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+/*!
+ * Returns the filed id corresponding to a field
+ *
+ * \a fieldName The name of the supported field
+ * \return fieldId for the fieldName, 0 if not supported
+ */
+quint32 CntTransformOnlineAccount::getIdForField(const QString& fieldName) const
+{
+ if (QContactOnlineAccount::FieldAccountUri == fieldName)
+ return 0;
+ else if (QContactOnlineAccount::SubTypeSip == fieldName)
+ return KUidContactFieldSIPID.iUid;
+ else if (QContactOnlineAccount::SubTypeSipVoip == fieldName)
+ return KUidContactFieldVCardMapVOIP.iUid;
+ else if (QContactOnlineAccount::SubTypeVideoShare == fieldName)
+ return KUidContactFieldVCardMapSWIS.iUid;
+ else
+ return 0;
+}
+
+/*!
+ * Modifies the detail definitions. The default detail definitions are
+ * queried from QContactManagerEngine::schemaDefinitions and then modified
+ * with this function in the transform leaf classes.
+ *
+ * \a definitions The detail definitions to modify.
+ * \a contactType The contact type the definitions apply for.
+ */
+void CntTransformOnlineAccount::detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const
+{
+ Q_UNUSED(contactType);
+
+ if(definitions.contains(QContactOnlineAccount::DefinitionName)) {
+ QContactDetailDefinition d = definitions.value(QContactOnlineAccount::DefinitionName);
+ QMap<QString, QContactDetailFieldDefinition> fields = d.fields();
+ QContactDetailFieldDefinition f;
+
+ // Not all fields are supported
+ fields.remove(QContactOnlineAccount::FieldCapabilities);
+ fields.remove(QContactOnlineAccount::FieldDetailUri);
+ fields.remove(QContactOnlineAccount::FieldLinkedDetailUris);
+ fields.remove(QContactOnlineAccount::FieldServiceProvider);
+ fields.remove(QContactOnlineAccount::FieldContext);
+
+ d.setFields(fields);
+
+ // Replace original definitions
+ definitions.insert(d.name(), d);
+ }
+}
+
+#endif // SYMBIAN_BACKEND_USE_SQLITE
diff --git a/plugins/contacts/symbian/src/transform/cnttransformorganisation.cpp b/plugins/contacts/symbian/src/transform/cnttransformorganisation.cpp
index 408148b2e2..8cf3e1408c 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformorganisation.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformorganisation.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,25 +93,22 @@ QContactDetail *CntTransformOrganisation::transformItemField(const CContactItemF
return organisation;
}
-bool CntTransformOrganisation::supportsField(TUint32 fieldType) const
+bool CntTransformOrganisation::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldCompanyName.iUid ||
- fieldType == KUidContactFieldDepartmentName.iUid ||
- fieldType == KUidContactFieldJobTitle.iUid ||
- fieldType == KUidContactFieldAssistant.iUid) {
+ if (detailName == QContactOrganization::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformOrganisation::supportsDetail(QString detailName) const
+QList<TUid> CntTransformOrganisation::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactOrganization::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldCompanyName
+ << KUidContactFieldDepartmentName
+ << KUidContactFieldJobTitle
+ << KUidContactFieldAssistant;
}
QList<TUid> CntTransformOrganisation::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformphonenumber.cpp b/plugins/contacts/symbian/src/transform/cnttransformphonenumber.cpp
index db912b96ae..30c8c47ecd 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformphonenumber.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformphonenumber.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -199,24 +199,21 @@ QContactDetail *CntTransformPhoneNumber::transformItemField(const CContactItemFi
return phoneNumber;
}
-bool CntTransformPhoneNumber::supportsField(TUint32 fieldType) const
+bool CntTransformPhoneNumber::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldPhoneNumber.iUid ||
- fieldType == KUidContactFieldFax.iUid ||
- fieldType == KUidContactFieldDTMF.iUid) {
+ if (detailName == QContactPhoneNumber::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformPhoneNumber::supportsDetail(QString detailName) const
+QList<TUid> CntTransformPhoneNumber::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactPhoneNumber::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldPhoneNumber
+ << KUidContactFieldFax
+ << KUidContactFieldDTMF;
}
QList<TUid> CntTransformPhoneNumber::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformringtone.cpp b/plugins/contacts/symbian/src/transform/cnttransformringtone.cpp
index 7604ee38a2..e3f8e11fe8 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformringtone.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformringtone.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -87,23 +87,20 @@ QContactDetail *CntTransformRingtone::transformItemField(const CContactItemField
return ringtone;
}
-bool CntTransformRingtone::supportsField(TUint32 fieldType) const
+bool CntTransformRingtone::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldRingTone.iUid ||
- fieldType == KUidContactFieldVideoRingTone.iUid) {
+ if (detailName == QContactRingtone::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformRingtone::supportsDetail(QString detailName) const
+QList<TUid> CntTransformRingtone::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactRingtone::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldRingTone
+ << KUidContactFieldVideoRingTone;
}
QList<TUid> CntTransformRingtone::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformsynctarget.cpp b/plugins/contacts/symbian/src/transform/cnttransformsynctarget.cpp
index 90f77b2f67..21eb5eb6ff 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformsynctarget.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformsynctarget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -70,22 +70,19 @@ QContactDetail *CntTransformSyncTarget::transformItemField(const CContactItemFie
return syncTarget;
}
-bool CntTransformSyncTarget::supportsField(TUint32 fieldType) const
+bool CntTransformSyncTarget::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldClass.iUid) {
+ if (detailName == QContactSyncTarget::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformSyncTarget::supportsDetail(QString detailName) const
+QList<TUid> CntTransformSyncTarget::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactSyncTarget::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldClass;
}
QList<TUid> CntTransformSyncTarget::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformthumbnail.cpp b/plugins/contacts/symbian/src/transform/cnttransformthumbnail.cpp
index 9a9792b89d..15343d3389 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformthumbnail.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformthumbnail.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -115,24 +115,21 @@ QContactDetail *CntTransformThumbnail::transformItemField(const CContactItemFiel
return thumbnail;
}
-bool CntTransformThumbnail::supportsField(TUint32 fieldType) const
+bool CntTransformThumbnail::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldPicture.iUid
- // Used as "extra mapping/extra field type" by thumbnail data fields
- || fieldType == KUidContactFieldVCardMapJPEG.iUid) {
+ if (detailName == QContactThumbnail::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformThumbnail::supportsDetail(QString detailName) const
+QList<TUid> CntTransformThumbnail::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactThumbnail::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldPicture
+ // Used as "extra mapping/extra field type" by thumbnail data fields
+ << KUidContactFieldVCardMapJPEG;
}
QList<TUid> CntTransformThumbnail::supportedSortingFieldTypes(QString /*detailFieldName*/) const
diff --git a/plugins/contacts/symbian/src/transform/cnttransformurl.cpp b/plugins/contacts/symbian/src/transform/cnttransformurl.cpp
index 9a2cf23be5..69040abc58 100644
--- a/plugins/contacts/symbian/src/transform/cnttransformurl.cpp
+++ b/plugins/contacts/symbian/src/transform/cnttransformurl.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -94,22 +94,19 @@ QContactDetail *CntTransformUrl::transformItemField(const CContactItemField& fie
return url;
}
-bool CntTransformUrl::supportsField(TUint32 fieldType) const
+bool CntTransformUrl::supportsDetail(QString detailName) const
{
bool ret = false;
- if (fieldType == KUidContactFieldUrl.iUid) {
+ if (detailName == QContactUrl::DefinitionName) {
ret = true;
}
return ret;
}
-bool CntTransformUrl::supportsDetail(QString detailName) const
+QList<TUid> CntTransformUrl::supportedFields() const
{
- bool ret = false;
- if (detailName == QContactUrl::DefinitionName) {
- ret = true;
- }
- return ret;
+ return QList<TUid>()
+ << KUidContactFieldUrl;
}
QList<TUid> CntTransformUrl::supportedSortingFieldTypes(QString detailFieldName) const
diff --git a/plugins/contacts/symbian/symbian.pro b/plugins/contacts/symbian/symbian.pro
index 86943deaf3..a95fda4326 100644
--- a/plugins/contacts/symbian/symbian.pro
+++ b/plugins/contacts/symbian/symbian.pro
@@ -40,6 +40,7 @@ symbian: {
inc/transform/cnttransformurl.h \
inc/transform/cnttransformbirthday.h \
inc/transform/cnttransformonlineaccount.h \
+ inc/transform/cnttransformonlineaccountsimple.h \
inc/transform/cnttransformorganisation.h \
inc/transform/cnttransformringtone.h \
inc/transform/cnttransformthumbnail.h \
@@ -62,8 +63,8 @@ symbian: {
inc/filtering/cntfilterunion.h \
inc/filtering/cntfilterinvalid.h \
inc/filtering/cntfilterlocalid.h \
- inc/filtering/cntfilterchangelog.h \
- inc/filtering/cntfilterdetailrange.h \
+ inc/filtering/cntfilterchangelog.h \
+ inc/filtering/cntfilterdetailrange.h \
inc/filtering/cntabstractcontactsorter.h \
inc/filtering/cntabstractcontactfilter.h \
inc/filtering/cntsymbianfilterdbms.h \
@@ -84,6 +85,7 @@ symbian: {
src/transform/cnttransformurl.cpp \
src/transform/cnttransformbirthday.cpp \
src/transform/cnttransformonlineaccount.cpp \
+ src/transform/cnttransformonlineaccountsimple.cpp \
src/transform/cnttransformorganisation.cpp \
src/transform/cnttransformringtone.cpp \
src/transform/cnttransformthumbnail.cpp \
@@ -106,8 +108,8 @@ symbian: {
src/filtering/cntfilterunion.cpp \
src/filtering/cntfilterinvalid.cpp \
src/filtering/cntfilterlocalid.cpp \
- src/filtering/cntfilterchangelog.cpp \
- src/filtering/cntfilterdetailrange.cpp \
+ src/filtering/cntfilterchangelog.cpp \
+ src/filtering/cntfilterdetailrange.cpp \
src/filtering/cntsymbianfilterdbms.cpp \
src/filtering/cntsymbianfiltersql.cpp \
src/filtering/cntsymbiansorterdbms.cpp \
diff --git a/plugins/contacts/symbian/tsrc/performance/performance.cpp b/plugins/contacts/symbian/tsrc/performance/performance.cpp
index afe3f87f68..2dd77e9b54 100644
--- a/plugins/contacts/symbian/tsrc/performance/performance.cpp
+++ b/plugins/contacts/symbian/tsrc/performance/performance.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/performance/performance.h b/plugins/contacts/symbian/tsrc/performance/performance.h
index e298e47947..15a717ed29 100644
--- a/plugins/contacts/symbian/tsrc/performance/performance.h
+++ b/plugins/contacts/symbian/tsrc/performance/performance.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/tsrc.pri b/plugins/contacts/symbian/tsrc/tsrc.pri
index e6b284e63c..07c2be7b81 100644
--- a/plugins/contacts/symbian/tsrc/tsrc.pri
+++ b/plugins/contacts/symbian/tsrc/tsrc.pri
@@ -22,6 +22,7 @@ SYMBIAN_HEADERS += \
../../inc/transform/cnttransformurl.h \
../../inc/transform/cnttransformbirthday.h \
../../inc/transform/cnttransformonlineaccount.h \
+ ../../inc/transform/cnttransformonlineaccountsimple.h \
../../inc/transform/cnttransformorganisation.h \
../../inc/transform/cnttransformringtone.h \
../../inc/transform/cnttransformthumbnail.h \
@@ -74,6 +75,7 @@ SYMBIAN_SOURCES += \
../../src/transform/cnttransformurl.cpp \
../../src/transform/cnttransformbirthday.cpp \
../../src/transform/cnttransformonlineaccount.cpp \
+ ../../src/transform/cnttransformonlineaccountsimple.cpp \
../../src/transform/cnttransformorganisation.cpp \
../../src/transform/cnttransformringtone.cpp \
../../src/transform/cnttransformthumbnail.cpp \
diff --git a/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.cpp b/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.cpp
index 0eaa0fe6a8..b3503fe163 100644
--- a/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.cpp
+++ b/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.pro b/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.pro
index e16b702e38..7f47544875 100644
--- a/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.pro
+++ b/plugins/contacts/symbian/tsrc/tst_cntfilteringdbms/tst_cntfilteringdbms.pro
@@ -21,7 +21,10 @@ symbian:
CONFIG += mobility
MOBILITY = contacts
- TARGET.CAPABILITY = ALL -TCB
+ TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData
LIBS += $$SYMBIAN_LIBS
}
diff --git a/plugins/contacts/symbian/tsrc/tst_details/tst_details.pro b/plugins/contacts/symbian/tsrc/tst_details/tst_details.pro
index c41759298d..1ec00f7d12 100644
--- a/plugins/contacts/symbian/tsrc/tst_details/tst_details.pro
+++ b/plugins/contacts/symbian/tsrc/tst_details/tst_details.pro
@@ -19,6 +19,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.cpp b/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.cpp
index f177d4ff70..571f367bc7 100644
--- a/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.cpp
+++ b/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -68,6 +68,14 @@ QTM_USE_NAMESPACE
QTRY_COMPARE(spyContactsRemoved.count(), contactsRemoved); \
QTRY_COMPARE(spyRelationshipsAdded.count(), relationshipsAdded); \
QTRY_COMPARE(spyRelationshipsRemoved.count(), relationshipsRemoved); \
+ QTRY_COMPARE(spySelfContactIdChanged.count(), selfContactIdChanged);
+
+#define QTRY_COMPARE_SIGNAL_COUNTS2() \
+ QTRY_COMPARE(spyContactsAdded.count(), contactsAdded); \
+ QTRY_COMPARE(spyContactsChanged.count(), contactsChanged); \
+ QTRY_COMPARE(spyContactsRemoved.count(), contactsRemoved); \
+ QTRY_COMPARE(spyRelationshipsAdded.count(), relationshipsAdded); \
+ QTRY_COMPARE(spyRelationshipsRemoved.count(), relationshipsRemoved); \
QTRY_COMPARE(spySelfContactIdChanged.count(), selfContactIdChanged); \
QTRY_COMPARE(spyContactsAdded2.count(), contactsAdded); \
QTRY_COMPARE(spyContactsChanged2.count(), contactsChanged); \
@@ -101,6 +109,7 @@ public slots:
private slots:
void signalEmission();
+ void signalEmissionWithContactModel();
void filtering();
void avatarImage();
void avatarImage_data();
@@ -110,6 +119,8 @@ private slots:
void displayLabel_data();
void displayLabel();
void timestamp();
+ void onlineAccount_data();
+ void onlineAccount();
void invalidContactItems();
private:
@@ -190,7 +201,7 @@ void tst_QContactManagerSymbian::signalEmission()
QContact group = createContact(QContactType::TypeGroup, "Hesketh", "");
QVERIFY(m_cm->saveContact(&group));
contactsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// change the group
QContactName name = group.detail(QContactName::DefinitionName);
@@ -198,28 +209,28 @@ void tst_QContactManagerSymbian::signalEmission()
group.saveDetail(&name);
QVERIFY(m_cm->saveContact(&group));
contactsChanged++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// remove the group
QVERIFY(m_cm->removeContact(group.localId()));
contactsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Add two contacts
QContact contact1 = createContact(QContactType::TypeContact, "James", "Hunt");
QVERIFY(m_cm->saveContact(&contact1));
contactsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QContact contact2 = createContact(QContactType::TypeContact, "Jochen", "Mass");
QVERIFY(m_cm->saveContact(&contact2));
contactsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Add group 2
QContact group2 = createContact(QContactType::TypeGroup, "McLaren", "");
QVERIFY(m_cm->saveContact(&group2));
contactsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Add a relationship
QContactRelationship r;
@@ -228,7 +239,7 @@ void tst_QContactManagerSymbian::signalEmission()
r.setRelationshipType(QContactRelationship::HasMember);
QVERIFY(m_cm->saveRelationship(&r));
relationshipsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Create one more contact manager instance
QScopedPointer<QContactManager> cm3(QContactManager::fromUri("qtcontacts:symbian"));
@@ -242,44 +253,113 @@ void tst_QContactManagerSymbian::signalEmission()
r2.setRelationshipType(QContactRelationship::HasMember);
QVERIFY(m_cm->saveRelationship(&r2));
relationshipsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Remove relationship 1
QVERIFY(m_cm->removeRelationship(r));
relationshipsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QTRY_COMPARE(spyRelationshipsAdded3.count(), 1);
QTRY_COMPARE(spyRelationshipsRemoved3.count(), 1);
// Remove relationship 2
QVERIFY(m_cm->removeRelationship(r2));
relationshipsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QTRY_COMPARE(spyRelationshipsAdded3.count(), 1);
QTRY_COMPARE(spyRelationshipsRemoved3.count(), 2);
// Remove contacts
QVERIFY(m_cm->removeContact(contact1.localId()));
contactsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QVERIFY(m_cm->removeContact(contact2.localId()));
contactsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QVERIFY(m_cm->removeContact(group2.localId()));
contactsRemoved++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
// Self contact
QContact memyself = createContact(QContactType::TypeContact, "Kimi", "Raikkonen");
QVERIFY(m_cm->saveContact(&memyself));
contactsAdded++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QVERIFY(m_cm->setSelfContactId(memyself.localId()));
selfContactIdChanged++;
- QTRY_COMPARE_SIGNAL_COUNTS();
+ QTRY_COMPARE_SIGNAL_COUNTS2();
QVERIFY(m_cm->removeContact(memyself.localId()));
contactsRemoved++;
selfContactIdChanged++;
+ QTRY_COMPARE_SIGNAL_COUNTS2();
+}
+
+void tst_QContactManagerSymbian::signalEmissionWithContactModel()
+{
+ // Wait a moment to make sure there are no pending database observer events
+ QTest::qWait(500);
+
+ // counters to keep track of the expected signal counts
+ int contactsAdded(0);
+ int contactsChanged(0);
+ int contactsRemoved(0);
+ int relationshipsAdded(0);
+ int relationshipsRemoved(0);
+ int selfContactIdChanged(0);
+
+ // Signal spys for verifying signal emissions
+ qRegisterMetaType<QContactLocalId>("QContactLocalId");
+ qRegisterMetaType<QList<QContactLocalId> >("QList<QContactLocalId>");
+ QSignalSpy spyContactsAdded(m_cm, SIGNAL(contactsAdded(QList<QContactLocalId>)));
+ QSignalSpy spyContactsChanged(m_cm, SIGNAL(contactsChanged(QList<QContactLocalId>)));
+ QSignalSpy spyContactsRemoved(m_cm, SIGNAL(contactsRemoved(QList<QContactLocalId>)));
+ QSignalSpy spyRelationshipsAdded(m_cm, SIGNAL(relationshipsAdded(QList<QContactLocalId>)));
+ QSignalSpy spyRelationshipsRemoved(m_cm, SIGNAL(relationshipsRemoved(QList<QContactLocalId>)));
+ QSignalSpy spySelfContactIdChanged(m_cm, SIGNAL(selfContactIdChanged(QContactLocalId, QContactLocalId)));
+
+ // Add a contact via Qt API and remove it via CntModel API
+ QContact contact1 = createContact(QContactType::TypeContact, "Kimi", "Räikkönen");
+ QVERIFY(m_cm->saveContact(&contact1));
+ contactsAdded++;
+ QTRY_COMPARE_SIGNAL_COUNTS();
+ m_contactDatabase->DeleteContactL(contact1.localId());
+ contactsRemoved++;
+ QTRY_COMPARE_SIGNAL_COUNTS();
+
+ // Add a contact, a group and a relationship between those via
+ // CntModel API and verify signal emissions
+ CContactCard* contactCard = CContactCard::NewL();
+ CleanupStack::PushL(contactCard);
+ m_contactDatabase->AddNewContactL(*contactCard);
+ contactsAdded++;
+ CContactItem *groupItem = m_contactDatabase->CreateContactGroupLC();
+ contactsAdded++;
+ m_contactDatabase->AddContactToGroupL(contactCard->Id(), groupItem->Id());
+ relationshipsAdded++;
+ CleanupStack::PopAndDestroy(groupItem);
+ CleanupStack::PopAndDestroy(contactCard);
+ QTRY_COMPARE_SIGNAL_COUNTS();
+
+ // Add a contact, a group and a relationship between those via Qt API
+ // and then remove the contact via contact database API
+ QContact contact2 = createContact(QContactType::TypeContact, "Kimi", "Räikkönen");
+ QVERIFY(m_cm->saveContact(&contact2));
+ contactsAdded++;
+ QTRY_COMPARE_SIGNAL_COUNTS();
+ QContact group = createContact(QContactType::TypeGroup, "Reb Bull", "");
+ QVERIFY(m_cm->saveContact(&group));
+ contactsAdded++;
+ QTRY_COMPARE_SIGNAL_COUNTS();
+ QContactRelationship r;
+ r.setFirst(group.id());
+ r.setSecond(contact2.id());
+ r.setRelationshipType(QContactRelationship::HasMember);
+ QVERIFY(m_cm->saveRelationship(&r));
+ relationshipsAdded++;
+ QTRY_COMPARE_SIGNAL_COUNTS();
+ m_contactDatabase->DeleteContactL(contact2.localId());
+ contactsRemoved++;
+ relationshipsRemoved++;
QTRY_COMPARE_SIGNAL_COUNTS();
}
@@ -453,35 +533,44 @@ void tst_QContactManagerSymbian::ringTone()
void tst_QContactManagerSymbian::displayLabel_data()
{
// Expected display label
+ QTest::addColumn<QString>("contactType");
QTest::addColumn<QString>("displayLabel");
// A string list containing the detail fields in format <detail definition name>:<field name>:<value>
// For example first name: Name:First:James
// Note: With the current implementation the value must not contain a ':' character
QTest::addColumn<QStringList>("details");
+ QString typeContact = QContactType::TypeContact;
+ QString typeGroup = QContactType::TypeGroup;
+
QTest::newRow("first name")
+ << typeContact
<< "James"
<< (QStringList()
<< "Name:FirstName:James");
QTest::newRow("last name")
+ << typeContact
<< "Hunt"
<< (QStringList()
<< "Name:LastName:Hunt");
QTest::newRow("first and last name") // fail
+ << typeContact
<< "James Hunt"
<< (QStringList()
<< "Name:FirstName:James"
<< "Name:LastName:Hunt");
QTest::newRow("multi-part first name and last name") // fail
+ << typeContact
<< "James Simon Wallis Hunt"
<< (QStringList()
<< "Name:FirstName:James Simon Wallis"
<< "Name:LastName:Hunt");
QTest::newRow("all names")
+ << typeContact
<< "James Hunt"
<< (QStringList()
<< "Name:FirstName:James"
@@ -491,18 +580,21 @@ void tst_QContactManagerSymbian::displayLabel_data()
<< "Name:Prefix:Pre");
QTest::newRow("first name, organization")
+ << typeContact
<< "James"
<< (QStringList()
<< "Name:FirstName:James"
<< "Organization:Name:McLaren");
QTest::newRow("last name, organization")
+ << typeContact
<< "Hunt"
<< (QStringList()
<< "Name:LastName:Hunt"
<< "Organization:Name:McLaren");
QTest::newRow("first name, last name, organization")
+ << typeContact
<< "James Hunt"
<< (QStringList()
<< "Name:FirstName:James"
@@ -510,9 +602,38 @@ void tst_QContactManagerSymbian::displayLabel_data()
<< "Organization:Name:McLaren");
QTest::newRow("organization")
+ << typeContact
<< "McLaren"
<< (QStringList()
<< "Organization:Name:McLaren");
+
+ QTest::newRow("nick name")
+ << typeContact
+ << ""
+ << (QStringList()
+ << "Nickname:Nickname:The Shunt");
+
+ QTest::newRow("phone number")
+ << typeContact
+ << ""
+ << (QStringList()
+ << "PhoneNumber:PhoneNumber:+44759999999");
+
+ QTest::newRow("no details")
+ << typeContact
+ << ""
+ << QStringList();
+
+ QTest::newRow("group, custom label")
+ << typeGroup
+ << "McLaren"
+ << (QStringList()
+ << "Name:CustomLabel:McLaren");
+
+ QTest::newRow("group, no details")
+ << typeGroup
+ << ""
+ << QStringList();
}
/*
@@ -521,12 +642,17 @@ void tst_QContactManagerSymbian::displayLabel_data()
*/
void tst_QContactManagerSymbian::displayLabel()
{
- qDebug() << QTest::currentDataTag();
+ //qDebug() << QTest::currentDataTag();
+ QFETCH(QString, contactType);
QFETCH(QString, displayLabel);
QFETCH(QStringList, details);
- // Parse details and add them to the contact
QContact contact;
+ if (contactType == QContactType::TypeGroup) {
+ contact.setType(QContactType::TypeGroup);
+ }
+
+ // Parse details and add them to the contact
foreach(const QString& detail, details) {
// the expected format is <detail definition name>:<field name>:<value>
QStringList detailParts = detail.split(QChar(':'), QString::KeepEmptyParts, Qt::CaseSensitive);
@@ -582,6 +708,51 @@ void tst_QContactManagerSymbian::timestamp()
QVERIFY(m_cm->removeContact(contact.localId()));
}
+void tst_QContactManagerSymbian::onlineAccount_data()
+{
+ QTest::addColumn<QString>("accountUri");
+ QTest::addColumn<QStringList>("subTypes");
+
+ QTest::newRow("SubTypeSip")
+ << QString("+44728888888")
+ << (QStringList()
+ << QContactOnlineAccount::SubTypeSip);
+
+ QTest::newRow("SubTypeSipVoip")
+ << QString("+44727777777")
+ << (QStringList()
+ << QContactOnlineAccount::SubTypeSipVoip);
+
+ QTest::newRow("SubTypeVideoShare")
+ << QString("+44726666666")
+ << (QStringList()
+ << QContactOnlineAccount::SubTypeVideoShare);
+}
+
+void tst_QContactManagerSymbian::onlineAccount()
+{
+ QFETCH(QString, accountUri);
+ QFETCH(QStringList, subTypes);
+
+ // Save a contact
+ QContact contact = createContact(QContactType::TypeContact, "James", "Hunt");
+ QVERIFY(m_cm->saveContact(&contact));
+ QContactOnlineAccount onlineAccount;
+ onlineAccount.setAccountUri(accountUri);
+ onlineAccount.setSubTypes(subTypes);
+ contact.saveDetail(&onlineAccount);
+ QVERIFY(m_cm->saveContact(&contact));
+
+ // verify by reading the saved contact and comparing online account data
+ QContact retrievedContact = m_cm->contact(contact.localId());
+ QContactOnlineAccount retrievedOnlineAccount = contact.detail(QContactOnlineAccount::DefinitionName);
+ QCOMPARE(retrievedOnlineAccount.accountUri(), accountUri);
+ QCOMPARE(retrievedOnlineAccount.subTypes(), subTypes);
+
+ // Remove contact
+ QVERIFY(m_cm->removeContact(contact.localId()));
+}
+
/*
* Special contact handling test cases that cannot be covered in QtMobility
* system level test cases.
diff --git a/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.pro b/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.pro
index 31720210c3..fed58d9bd4 100644
--- a/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.pro
+++ b/plugins/contacts/symbian/tsrc/tst_qcontactmanagersymbian/tst_qcontactmanagersymbian.pro
@@ -11,7 +11,11 @@ symbian: {
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
SOURCES += tst_qcontactmanagersymbian.cpp
- TARGET.CAPABILITY = ALL -TCB
+ TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData
+
LIBS += -lqtcontacts \
-lcntmodel
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/main.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/main.cpp
index 7da4e4db04..b2da94129a 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/main.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.cpp
index 2cb173183c..077c9cd5c8 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.h b/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.h
index 3627eadee2..a51a5965db 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/mock_cntdb.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.cpp
index a31493b2d2..d171a83d62 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.h b/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.h
index 890b98e75e..978a8d73b7 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/testrunner.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.cpp
index a8c5206cdb..eba99966ea 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.h
index b4786b7420..8434d61de0 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntfiltering.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.cpp
index 3709d195f3..776c264433 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.h
index fceb991983..cbd7305376 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntrelationship.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp
index bd55eb5169..d6503212eb 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.h
index fb3c7f48eb..efce21cc51 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.cpp
index a8686adb15..bbb7badf98 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.h
index f9dad0e128..96cf46fbae 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbiandatabase.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.cpp
index 2f97d3c696..4af87ee09e 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -835,7 +835,7 @@ void TestSymbianEngine::synthesizeDisplaylable()
QContact empty;
QString label = m_engine->synthesizedDisplayLabel(empty, &err);
QVERIFY(err == QContactManager::NoError);
- QVERIFY(label == QString("Unnamed"));
+ QVERIFY(label == QString(""));
QContact first;
QContactName fn;
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.h
index ceeb59774c..a78899ed4b 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsymbianengine.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.cpp b/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.cpp
index 52117ccb56..8ecc3e824e 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.cpp
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.h b/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.h
index 759017c3df..fc65b1808f 100644
--- a/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.h
+++ b/plugins/contacts/symbian/tsrc/ut_symbian/ut_transformcontactdata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbiansim/inc/cntsimstore.h b/plugins/contacts/symbiansim/inc/cntsimstore.h
index 9c3a152e7a..44ba51e457 100644
--- a/plugins/contacts/symbiansim/inc/cntsimstore.h
+++ b/plugins/contacts/symbiansim/inc/cntsimstore.h
@@ -53,13 +53,17 @@
QTM_USE_NAMESPACE
-#ifdef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
-typedef RMobilePhoneBookStore::TMobilePhoneBookInfoV1 TSimStoreInfo;
-typedef RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg TSimStoreInfoPckg;
-#else
-typedef RMobilePhoneBookStore::TMobilePhoneBookInfoV5 TSimStoreInfo;
-typedef RMobilePhoneBookStore::TMobilePhoneBookInfoV5Pckg TSimStoreInfoPckg;
-#endif
+struct SimStoreInfo{
+ QString m_storeName;
+ int m_totalEntries;
+ int m_usedEntries;
+ bool m_readOnlyAccess;
+ bool m_numberSupported;
+ bool m_nameSupported;
+ bool m_secondNameSupported;
+ bool m_additionalNumberSupported;
+ bool m_emailSupported;
+};
class CntSimStorePrivate;
class CntSymbianSimEngine;
@@ -71,17 +75,13 @@ public:
CntSimStore(CntSymbianSimEngine* engine, QString storeName, QContactManager::Error* error);
~CntSimStore();
- QString storeName();
- TSimStoreInfo storeInfo();
-
+ SimStoreInfo storeInfo();
bool read(int index, int numSlots, QContactManager::Error* error);
bool write(const QContact &contact, QContactManager::Error* error);
bool remove(int index, QContactManager::Error* error);
bool getReservedSlots(QContactManager::Error* error);
-
void cancel();
bool isBusy();
-
TInt lastAsyncError();
signals:
diff --git a/plugins/contacts/symbiansim/inc/cntsimstoreprivate.h b/plugins/contacts/symbiansim/inc/cntsimstoreprivate.h
index a4fc1b8502..27c316b585 100644
--- a/plugins/contacts/symbiansim/inc/cntsimstoreprivate.h
+++ b/plugins/contacts/symbiansim/inc/cntsimstoreprivate.h
@@ -73,14 +73,11 @@ public:
static CntSimStorePrivate* NewL(CntSymbianSimEngine &engine, CntSimStore &simStore, const QString &storeName);
~CntSimStorePrivate();
- QString storeName() { return m_storeName; }
- TSimStoreInfo storeInfo() { return m_storeInfo; }
-
+ SimStoreInfo storeInfo() { return m_storeInfo; }
bool read(int index, int numSlots, QContactManager::Error *error);
bool write(const QContact &contact, QContactManager::Error *error);
bool remove(int index, QContactManager::Error *error);
bool getReservedSlots(QContactManager::Error *error);
-
TInt lastAsyncError() { return m_asyncError; }
private:
@@ -97,6 +94,9 @@ private:
void encodeSimContactL(QContact* contact, TDes8& rawData) const;
void putTagAndValueL(CPhoneBookBuffer* pbBuffer, TUint8 tag, QString data) const;
QList<int> decodeReservedSlotsL(TDes8& rawData) const;
+ void writeL(QContact *contact);
+ void removeL(int index);
+ void updateStoreInfoL();
private:
State m_state;
@@ -106,15 +106,13 @@ private:
RTelServer m_etelServer;
RMobilePhone m_etelPhone;
RMobilePhoneBookStore m_etelStore;
- QString m_storeName;
- bool m_readOnlyAccess;
- TSimStoreInfo m_storeInfo;
- TSimStoreInfoPckg m_storeInfoPckg;
+ SimStoreInfo m_storeInfo;
RBuf8 m_buffer;
QContact m_convertedContact;
int m_writeIndex;
CntSimStoreEventListener* m_listener;
TInt m_asyncError;
+ bool m_extraDetailsChecked;
};
#endif // CNTSIMSTOREPRIVATE_H_
diff --git a/plugins/contacts/symbiansim/inc/cntsymbiansimengine.h b/plugins/contacts/symbiansim/inc/cntsymbiansimengine.h
index eafdfc3fd3..c43f77d170 100644
--- a/plugins/contacts/symbiansim/inc/cntsymbiansimengine.h
+++ b/plugins/contacts/symbiansim/inc/cntsymbiansimengine.h
@@ -97,7 +97,8 @@ public:
~CntSymbianSimEngineData();
CntSimStore *m_simStore;
- QMap<QContactAbstractRequest *, CntAbstractSimRequest *> m_asyncRequests;
+ QMap<QContactAbstractRequest *, CntAbstractSimRequest *> m_asyncRequests;
+ int m_phoneNumberMatchLen;
};
class CntSymbianSimEngine : public QContactManagerEngine
@@ -141,15 +142,18 @@ public:
/* Capabilities reporting */
bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType = QContactType::TypeContact) const;
+ bool isFilterSupported(const QContactFilter& filter) const;
QStringList supportedContactTypes() const;
public:
void updateDisplayLabel(QContact& contact) const;
CntSimStore* simStore() { return d->m_simStore; }
void setReadOnlyAccessConstraint(QContactDetail* detail) const;
+ bool filter(const QContactFilter &filter, const QContact &contact);
private:
bool executeRequest(QContactAbstractRequest *req, QContactManager::Error* qtError) const;
+ void getMatchLengthL(int &matchLength);
private:
QExplicitlySharedDataPointer<CntSymbianSimEngineData> d;
diff --git a/plugins/contacts/symbiansim/src/cntsimcontactfetchrequest.cpp b/plugins/contacts/symbiansim/src/cntsimcontactfetchrequest.cpp
index 23699b2a60..725fb30e86 100644
--- a/plugins/contacts/symbiansim/src/cntsimcontactfetchrequest.cpp
+++ b/plugins/contacts/symbiansim/src/cntsimcontactfetchrequest.cpp
@@ -74,7 +74,7 @@ void CntSimContactFetchRequest::run()
// Contacts are fetched starting from index 1, all slots are read
// since slots may be not filled in a sequence.
int index = 1;
- int numSlots = simStore()->storeInfo().iTotalEntries;
+ int numSlots = simStore()->storeInfo().m_totalEntries;
if (lidFilter.ids().count() == 1) {
// Optimization for performance. Fetch a single contact from store.
@@ -108,7 +108,7 @@ void CntSimContactFetchRequest::readComplete(QList<QContact> contacts, QContactM
// Filter & sort results
QList<QContact> filteredAndSorted;
for (int i=0; i<contacts.count(); i++) {
- if (QContactManagerEngine::testFilter(r->filter(), contacts.at(i)))
+ if (engine()->filter(r->filter(), contacts.at(i)))
QContactManagerEngine::addSorted(&filteredAndSorted, contacts.at(i), r->sorting());
}
diff --git a/plugins/contacts/symbiansim/src/cntsimcontactlocalidfetchrequest.cpp b/plugins/contacts/symbiansim/src/cntsimcontactlocalidfetchrequest.cpp
index c9b6a8bb30..e8149c5fbc 100644
--- a/plugins/contacts/symbiansim/src/cntsimcontactlocalidfetchrequest.cpp
+++ b/plugins/contacts/symbiansim/src/cntsimcontactlocalidfetchrequest.cpp
@@ -66,7 +66,7 @@ void CntSimContactLocalIdFetchRequest::run()
// Contacts are fetched starting from index 1, all slots are read
// since slots may be not filled in a sequence.
int index = 1;
- int numSlots = simStore()->storeInfo().iTotalEntries;
+ int numSlots = simStore()->storeInfo().m_totalEntries;
QContactManager::Error error = QContactManager::NoError;
if (!simStore()->read(index, numSlots, &error)) {
@@ -95,7 +95,7 @@ void CntSimContactLocalIdFetchRequest::readComplete(QList<QContact> contacts, QC
// Filter & sort results
QList<QContact> filteredAndSorted;
for (int i=0; i<contacts.count(); i++) {
- if (QContactManagerEngine::testFilter(r->filter(), contacts.at(i)))
+ if (engine()->filter(r->filter(), contacts.at(i)))
QContactManagerEngine::addSorted(&filteredAndSorted, contacts.at(i), r->sorting());
}
diff --git a/plugins/contacts/symbiansim/src/cntsimstore.cpp b/plugins/contacts/symbiansim/src/cntsimstore.cpp
index 8a0793f6d4..627382842a 100644
--- a/plugins/contacts/symbiansim/src/cntsimstore.cpp
+++ b/plugins/contacts/symbiansim/src/cntsimstore.cpp
@@ -65,12 +65,7 @@ CntSimStore::~CntSimStore()
delete d_ptr;
}
-QString CntSimStore::storeName()
-{
- return d_ptr->storeName();
-}
-
-TSimStoreInfo CntSimStore::storeInfo()
+SimStoreInfo CntSimStore::storeInfo()
{
return d_ptr->storeInfo();
}
diff --git a/plugins/contacts/symbiansim/src/cntsimstoreeventlistener.cpp b/plugins/contacts/symbiansim/src/cntsimstoreeventlistener.cpp
index cf0c424056..849b8aa02a 100644
--- a/plugins/contacts/symbiansim/src/cntsimstoreeventlistener.cpp
+++ b/plugins/contacts/symbiansim/src/cntsimstoreeventlistener.cpp
@@ -88,6 +88,7 @@ void CntSimStoreEventListener::RunL()
{
if (iStatus.Int()) {
qWarning() << "Failed to listen store events!" << iStatus.Int();
+ start(); // We cannot do anything about the error. Just try again.
return;
}
diff --git a/plugins/contacts/symbiansim/src/cntsimstoreprivate.cpp b/plugins/contacts/symbiansim/src/cntsimstoreprivate.cpp
index 3887c672ee..5e061abd3d 100644
--- a/plugins/contacts/symbiansim/src/cntsimstoreprivate.cpp
+++ b/plugins/contacts/symbiansim/src/cntsimstoreprivate.cpp
@@ -67,13 +67,26 @@ CntSimStorePrivate::CntSimStorePrivate(CntSymbianSimEngine &engine, CntSimStore
m_state(InactiveState),
m_engine(engine),
m_simStore(simStore),
- m_storeName(storeName),
- m_readOnlyAccess(false),
- m_storeInfoPckg(m_storeInfo),
- m_listener(0)
+ m_listener(0),
+ m_extraDetailsChecked(false)
{
CActiveScheduler::Add(this);
m_managerUri = engine.managerUri();
+
+ // Initialize store info
+ m_storeInfo.m_storeName = storeName;
+ m_storeInfo.m_totalEntries = -1;
+ m_storeInfo.m_usedEntries = -1;
+ m_storeInfo.m_readOnlyAccess = false;
+ m_storeInfo.m_numberSupported = true; // allways supported
+ m_storeInfo.m_nameSupported = true; // allways supported
+ m_storeInfo.m_secondNameSupported = false;
+ m_storeInfo.m_additionalNumberSupported = false;
+ m_storeInfo.m_emailSupported = false;
+
+ // SDN store is allways read only
+ if (m_storeInfo.m_storeName == KParameterValueSimStoreNameSdn)
+ m_storeInfo.m_readOnlyAccess = true;
}
void CntSimStorePrivate::ConstructL()
@@ -81,10 +94,6 @@ void CntSimStorePrivate::ConstructL()
TBuf<RMobilePhoneBookStore::KMaxPBIDSize> storeName;
convertStoreNameL(storeName);
- // SDN store is always read only
- if (m_storeName == KParameterValueSimStoreNameSdn)
- m_readOnlyAccess = true;
-
// Open etel server
User::LeaveIfError(m_etelServer.Connect());
User::LeaveIfError(m_etelServer.LoadPhoneModule(KMmTsyModuleName));
@@ -94,26 +103,13 @@ void CntSimStorePrivate::ConstructL()
User::LeaveIfError(m_etelServer.GetPhoneInfo(0, info));
User::LeaveIfError(m_etelPhone.Open(m_etelServer, info.iName));
- // open Etel store
+ // Open Etel store
User::LeaveIfError(m_etelStore.Open(m_etelPhone, storeName));
+
+ // Update store info
+ updateStoreInfoL();
- //check what information can be saved to the Etel store
- TRequestStatus requestStatus;
- m_etelStore.GetInfo(requestStatus, (TDes8&)m_storeInfoPckg);
- User::WaitForRequest(requestStatus);
- PbkPrintToLog(_L("CntSymbianSimEngine::getEtelStoreInfoL() - GetInfo err = %d"),
- requestStatus.Int());
- User::LeaveIfError(requestStatus.Int());
-
- PbkPrintToLog(_L("CntSymbianSimEngine::getEtelStoreInfoL() - TotalEntries = %d"),
- m_storeInfo.iTotalEntries);
- PbkPrintToLog(_L("CntSymbianSimEngine::getEtelStoreInfoL() - UsedEntries = %d"),
- m_storeInfo.iUsedEntries);
- PbkPrintToLog(_L("CntSymbianSimEngine::getEtelStoreInfoL() - MaxNumLength = %d"),
- m_storeInfo.iMaxNumLength);
- PbkPrintToLog(_L("CntSymbianSimEngine::getEtelStoreInfoL() - MaxTextLength = %d"),
- m_storeInfo.iMaxTextLength);
-
+ // Start listening for events
m_listener = new (ELeave) CntSimStoreEventListener(m_engine, m_etelStore);
m_listener->start();
}
@@ -133,15 +129,15 @@ void CntSimStorePrivate::convertStoreNameL(TDes &storeName)
User::Leave(KErrArgument);
}
- if (m_storeName.isEmpty()) {
+ if (m_storeInfo.m_storeName.isEmpty()) {
// Default to ADN store
- m_storeName = (QLatin1String) KParameterValueSimStoreNameAdn;
+ m_storeInfo.m_storeName = (QLatin1String) KParameterValueSimStoreNameAdn;
storeName.Copy(KETelIccAdnPhoneBook);
- } else if (m_storeName == KParameterValueSimStoreNameFdn) {
+ } else if (m_storeInfo.m_storeName == KParameterValueSimStoreNameFdn) {
storeName.Copy(KETelIccFdnPhoneBook);
- } else if (m_storeName == KParameterValueSimStoreNameAdn) {
+ } else if (m_storeInfo.m_storeName == KParameterValueSimStoreNameAdn) {
storeName.Copy(KETelIccAdnPhoneBook);
- } else if (m_storeName == KParameterValueSimStoreNameSdn) {
+ } else if (m_storeInfo.m_storeName == KParameterValueSimStoreNameSdn) {
storeName.Copy(KETelIccSdnPhoneBook);
}
@@ -233,8 +229,8 @@ bool CntSimStorePrivate::getReservedSlots(QContactManager::Error *error)
// start reading
m_buffer.Zero();
- m_buffer.ReAlloc(KOneSimContactBufferSize*m_storeInfo.iTotalEntries);
- m_etelStore.Read(iStatus, 1, m_storeInfo.iTotalEntries, m_buffer);
+ m_buffer.ReAlloc(KOneSimContactBufferSize*m_storeInfo.m_totalEntries);
+ m_etelStore.Read(iStatus, 1, m_storeInfo.m_totalEntries, m_buffer);
SetActive();
m_state = ReadReservedSlotsState;
@@ -271,7 +267,7 @@ void CntSimStorePrivate::RunL()
{
QList<QContact> contacts = decodeSimContactsL(m_buffer);
- // set sync target and set type as read only
+ // set sync target and read only access constraint and display label
QList<QContact>::iterator i;
for (i = contacts.begin(); i != contacts.end(); ++i) {
QContactSyncTarget syncTarget;
@@ -281,6 +277,7 @@ void CntSimStorePrivate::RunL()
QContactType contactType = i->detail(QContactType::DefinitionName);
m_engine.setReadOnlyAccessConstraint(&contactType);
i->saveDetail(&contactType);
+ m_engine.updateDisplayLabel(*i);
}
emit m_simStore.readComplete(contacts, QContactManager::NoError);
@@ -417,7 +414,7 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
QString number = lastNumber.number();
number.insert(0, "+");
lastNumber.setNumber(number);
- if (m_readOnlyAccess)
+ if (m_storeInfo.m_readOnlyAccess)
m_engine.setReadOnlyAccessConstraint(&lastNumber);
currentContact.saveDetail(&lastNumber);
}
@@ -441,7 +438,7 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
QContactName name;
QString nameString = QString::fromUtf16(bufPtr.Ptr(), bufPtr.Length());
name.setCustomLabel(nameString);
- if (m_readOnlyAccess)
+ if (m_storeInfo.m_readOnlyAccess)
m_engine.setReadOnlyAccessConstraint(&name);
currentContact.saveDetail(&name);
QContactManager::Error error(QContactManager::NoError);
@@ -456,7 +453,7 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
QContactNickname nickName;
QString name = QString::fromUtf16(bufPtr.Ptr(), bufPtr.Length());
nickName.setNickname(name);
- if (m_readOnlyAccess)
+ if (m_storeInfo.m_readOnlyAccess)
m_engine.setReadOnlyAccessConstraint(&nickName);
currentContact.saveDetail(&nickName);
}
@@ -468,7 +465,7 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
QContactPhoneNumber phoneNumber;
QString number = QString::fromUtf16(bufPtr.Ptr(), bufPtr.Length());
phoneNumber.setNumber(number);
- if (m_readOnlyAccess)
+ if (m_storeInfo.m_readOnlyAccess)
m_engine.setReadOnlyAccessConstraint(&phoneNumber);
currentContact.saveDetail(&phoneNumber);
}
@@ -486,7 +483,7 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
QContactEmailAddress email;
QString emailAddress = QString::fromUtf16(bufPtr.Ptr(), bufPtr.Length());
email.setEmailAddress(emailAddress);
- if (m_readOnlyAccess)
+ if (m_storeInfo.m_readOnlyAccess)
m_engine.setReadOnlyAccessConstraint(&email);
currentContact.saveDetail(&email);
}
@@ -531,46 +528,42 @@ QList<QContact> CntSimStorePrivate::decodeSimContactsL(TDes8& rawData) const
*/
void CntSimStorePrivate::encodeSimContactL(QContact* contact, TDes8& rawData) const
{
- // TODO: get detail definition schema and verify (unique)
-
// Keep track of the count of phone numbers added
int phoneNumberCount(0);
- int emailCount(0);
+ // Create buffer
CPhoneBookBuffer* pbBuffer = new(ELeave) CPhoneBookBuffer();
CleanupStack::PushL(pbBuffer);
pbBuffer->Set(&rawData);
User::LeaveIfError(pbBuffer->AddNewEntryTag());
- foreach(QContactDetail detail, contact->details()) {
+ // Loop through details
+ foreach(QContactDetail detail, contact->details())
+ {
QString definitionName = detail.definitionName();
+
+ // NOTE: If the detail is too long let the etel store return
+ // an error about it. We could check the maximum lenghts for each
+ // detail but then we would need to read it before every write operation
+ // bacause it seems to change depending on how full the sim card is.
- if (definitionName == QContactName::DefinitionName) {
- // Name
+ // Name
+ if (definitionName == QContactName::DefinitionName)
+ {
QContactName nameDetail = static_cast<QContactName>(detail);
- // Trim to the max possible length
- QString name = nameDetail.customLabel().left(m_storeInfo.iMaxTextLength);
- if (name.isEmpty()) {
- name = "Unnamed";
- }
- putTagAndValueL(
- pbBuffer,
- RMobilePhoneBookStore::ETagPBText,
- name);
- // Replace detail value with the trimmed one
- nameDetail.setCustomLabel(name);
- contact->saveDetail(&nameDetail);
- } else if (definitionName == QContactPhoneNumber::DefinitionName
-#ifndef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
- && (phoneNumberCount == 0
- || phoneNumberCount <= m_storeInfo.iMaxAdditionalNumbers)) {
-#else
- && phoneNumberCount == 0) {
-#endif
- // Phone number
+ QString name = nameDetail.customLabel();
+ putTagAndValueL(pbBuffer, RMobilePhoneBookStore::ETagPBText, name);
+ }
+ // Phone number
+ else if (definitionName == QContactPhoneNumber::DefinitionName)
+ {
+ if (m_storeInfo.m_additionalNumberSupported == false && phoneNumberCount>0)
+ User::Leave(KErrNotSupported);
+
phoneNumberCount++;
- QContactPhoneNumber numberDetail = static_cast<QContactPhoneNumber>(detail);
- QString number = numberDetail.number();
+ QString number = static_cast<QContactPhoneNumber>(detail).number();
+ if (number.isEmpty())
+ continue;
// Verify the number only contains legal digits
foreach (const QChar character, number) {
@@ -585,58 +578,48 @@ void CntSimStorePrivate::encodeSimContactL(QContact* contact, TDes8& rawData) co
}
}
- // TODO: check if the number is empty (do we have a test case for that?)
-
- // Verify the number length
- PbkPrintToLog(_L("CntSymbianSimEngine::encodeSimContactL() - phone number length = %d"),
- numberDetail.number().length());
- if (numberDetail.number().length() > m_storeInfo.iMaxNumLength) {
- User::Leave(KErrTooBig);
- }
-
if (phoneNumberCount > 1) {
// Mark the beginning of an additional number
User::LeaveIfError(pbBuffer->AddNewNumberTag());
}
// The number itself
- putTagAndValueL(
- pbBuffer,
- RMobilePhoneBookStore::ETagPBNumber,
- number);
-#ifndef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
- // Phonebook info version 1 does not support nick name or e-mail
- } else if (definitionName == QContactNickname::DefinitionName
- && m_storeInfo.iMaxSecondNames > 0) {
- // nickname
- QContactNickname nicknameDetail = static_cast<QContactNickname>(detail);
- // Trim to the max possible length;
- QString nickname = nicknameDetail.nickname().left(m_storeInfo.iMaxTextLengthSecondName);
- putTagAndValueL(
- pbBuffer,
- RMobilePhoneBookStore::ETagPBSecondName,
- nickname);
- // Replace detail value with the trimmed one
- nicknameDetail.setNickname(nickname);
- contact->saveDetail(&nicknameDetail);
- } else if (definitionName == QContactEmailAddress::DefinitionName
- && emailCount < m_storeInfo.iMaxEmailAddr) {
- emailCount++;
- QContactEmailAddress emailDetail = static_cast<QContactEmailAddress>(detail);
- if (emailDetail.emailAddress().length() > m_storeInfo.iMaxTextLengthEmailAddr) {
- User::Leave(KErrTooBig);
- }
- putTagAndValueL(
- pbBuffer,
- RMobilePhoneBookStore::ETagPBEmailAddress,
- emailDetail.emailAddress());
-#endif
+ putTagAndValueL(pbBuffer, RMobilePhoneBookStore::ETagPBNumber, number);
+ }
+ // Nickname
+ else if (definitionName == QContactNickname::DefinitionName)
+ {
+ if (m_storeInfo.m_secondNameSupported == false)
+ User::Leave(KErrNotSupported);
+
+ QString nickname = static_cast<QContactNickname>(detail).nickname();
+ if (nickname.isEmpty())
+ continue;
+
+ putTagAndValueL(pbBuffer, RMobilePhoneBookStore::ETagPBSecondName, nickname);
+ }
+ // email
+ else if (definitionName == QContactEmailAddress::DefinitionName)
+ {
+ if (m_storeInfo.m_emailSupported == false)
+ User::Leave(KErrNotSupported);
+
+ QString email = static_cast<QContactEmailAddress>(detail).emailAddress();
+ if (email.isEmpty())
+ continue;
+
+ putTagAndValueL(pbBuffer, RMobilePhoneBookStore::ETagPBEmailAddress, email);
+ }
// These are ignored in the conversion
- } else if (definitionName == QContactSyncTarget::DefinitionName
+ else if (definitionName == QContactSyncTarget::DefinitionName
|| definitionName == QContactDisplayLabel::DefinitionName
- || definitionName == QContactType::DefinitionName) {
+ || definitionName == QContactType::DefinitionName)
+ {
// Do nothing
- } else {
+ }
+ else
+ {
+ // Unknown detail
User::Leave(KErrArgument);
}
}
@@ -675,3 +658,154 @@ QList<int> CntSimStorePrivate::decodeReservedSlotsL(TDes8& rawData) const
CleanupStack::PopAndDestroy(pbBuffer);
return reservedSlots;
}
+
+void CntSimStorePrivate::writeL(QContact *contact)
+{
+ if (IsActive())
+ User::Leave(KErrLocked);
+
+ // get index
+ int index = KErrNotFound;
+ if (contact->id().managerUri() == m_managerUri &&
+ contact->localId() > 0) {
+ index = contact->localId();
+ }
+
+ // encode
+ m_buffer.Zero();
+ m_buffer.ReAlloc(KOneSimContactBufferSize);
+ encodeSimContactL(contact, m_buffer);
+
+ // write
+ TRequestStatus status;
+ m_etelStore.Write(status, m_buffer, index);
+ User::WaitForRequest(status);
+ User::LeaveIfError(status.Int());
+
+ // update id
+ QContactId id;
+ id.setLocalId(index);
+ id.setManagerUri(m_managerUri);
+ contact->setId(id);
+}
+
+void CntSimStorePrivate::removeL(int index)
+{
+ if (IsActive())
+ User::Leave(KErrLocked);
+
+ // NOTE:
+ // If index points to an empty slot and running in hardware the
+ // delete operation will not return any error.
+
+ TRequestStatus status;
+ m_etelStore.Delete(status, index);
+ User::WaitForRequest(status);
+ User::LeaveIfError(status.Int());
+}
+
+void CntSimStorePrivate::updateStoreInfoL()
+{
+#ifdef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
+ RMobilePhoneBookStore::TMobilePhoneBookInfoV1 info;
+ RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg infoPckg(info);
+#else
+ RMobilePhoneBookStore::TMobilePhoneBookInfoV5 info;
+ RMobilePhoneBookStore::TMobilePhoneBookInfoV5Pckg infoPckg(info);
+#endif
+
+ // Get info
+ TRequestStatus status;
+ m_etelStore.GetInfo(status, infoPckg);
+ User::WaitForRequest(status);
+ User::LeaveIfError(status.Int());
+
+ // Update entry counts
+ m_storeInfo.m_totalEntries = info.iTotalEntries;
+ m_storeInfo.m_usedEntries = info.iUsedEntries;
+
+#ifdef SYMBIANSIM_BACKEND_TEST_EXTRADETAILS
+ // Check if store supports the extra details
+ //
+ // NOTE:
+ // We cannot rely on TMobilePhoneBookInfoV5 to check if we support
+ // these details. For example iMaxSecondNames is allways -1 even if the sim
+ // card supports a second name.
+ //
+ // There is an API for checking these but it's Nokia internal so we must
+ // do it this way - by checking if saving these details is possible.
+
+ // Have we checked these already?
+ if (m_extraDetailsChecked == false)
+ {
+ // Cannot test extra details if sim card is full
+ if (m_storeInfo.m_usedEntries == m_storeInfo.m_totalEntries)
+ return;
+
+ // Cancel store event listener temporarily
+ if (m_listener)
+ m_listener->Cancel();
+
+ // Test writing nickname
+ QContact contact;
+ QContactNickname nick;
+ nick.setNickname("simbackend test");
+ contact.saveDetail(&nick);
+ TRAPD(err, {
+ m_storeInfo.m_secondNameSupported = true; // enable to pass encodeSimContactL()
+ writeL(&contact);
+ removeL(contact.localId());
+ } );
+ if (err)
+ m_storeInfo.m_secondNameSupported = false;
+
+ // Test writing additional number
+ contact = QContact();
+ QContactPhoneNumber num1;
+ num1.setNumber("1111111111");
+ contact.saveDetail(&num1);
+ QContactPhoneNumber num2;
+ num2.setNumber("2222222222");
+ contact.saveDetail(&num2);
+ TRAP(err, {
+ m_storeInfo.m_additionalNumberSupported = true; // enable to pass encodeSimContactL()
+ writeL(&contact);
+ removeL(contact.localId());
+ } );
+ if (err)
+ m_storeInfo.m_additionalNumberSupported = false;
+
+ // Test writing email
+ contact = QContact();
+ QContactEmailAddress email;
+ email.setEmailAddress("simbackend@test.com");
+ contact.saveDetail(&email);
+ TRAP(err, {
+ m_storeInfo.m_emailSupported = true; // enable to pass encodeSimContactL()
+ writeL(&contact);
+ removeL(contact.localId());
+ } );
+ if (err)
+ m_storeInfo.m_emailSupported = false;
+
+ // Start store event listener again
+ if (m_listener)
+ m_listener->start();
+
+ m_extraDetailsChecked = true;
+ }
+#endif
+
+ /*
+ qDebug() << "Store info:"
+ << "\nStore name :" << m_storeInfo.m_storeName
+ << "\nTotal entries :" << m_storeInfo.m_totalEntries
+ << "\nUsed entries :" << m_storeInfo.m_usedEntries
+ << "\nRead only access :" << m_storeInfo.m_readOnlyAccess
+ << "\nNumber supported :" << m_storeInfo.m_numberSupported
+ << "\nName supported :" << m_storeInfo.m_nameSupported
+ << "\nSecond name supported :" << m_storeInfo.m_secondNameSupported
+ << "\nAdditional name supported :" << m_storeInfo.m_additionalNumberSupported
+ << "\nEmail supported :" << m_storeInfo.m_emailSupported;
+ */
+}
diff --git a/plugins/contacts/symbiansim/src/cntsymbiansimengine.cpp b/plugins/contacts/symbiansim/src/cntsymbiansimengine.cpp
index c34d9e4efb..c0a2e0424d 100644
--- a/plugins/contacts/symbiansim/src/cntsymbiansimengine.cpp
+++ b/plugins/contacts/symbiansim/src/cntsymbiansimengine.cpp
@@ -53,7 +53,17 @@
#include <QTimer>
#include <QDebug>
-const int KRequestTimeout = 30000; // in ms
+#include <centralrepository.h>
+
+// Telephony Configuration API
+// Keys under this category are used in defining telephony configuration.
+const TUid KCRUidTelConfiguration = {0x102828B8};
+// Amount of digits to be used in contact matching.
+// This allows a customer to variate the amount of digits to be matched.
+const TUint32 KTelMatchDigits = 0x00000001;
+// Default match length
+const TInt KDefaultMatchLength(7);
+
CntSymbianSimEngineData::CntSymbianSimEngineData()
:m_simStore(0)
@@ -85,11 +95,15 @@ CntSymbianSimEngine::CntSymbianSimEngine(const QMap<QString, QString>& parameter
//qDebug() << "Failed to open SIM store" << error;
return;
}
+
+ // Get phone number match length from cenrep
+ d->m_phoneNumberMatchLen = KDefaultMatchLength;
+ TRAP_IGNORE(getMatchLengthL(d->m_phoneNumberMatchLen)); // ignore error and use default value
- if(d->m_simStore->storeName() == KParameterValueSimStoreNameSdn) {
+ if(d->m_simStore->storeInfo().m_storeName == KParameterValueSimStoreNameSdn) {
// In case of SDN store we need to check if any SDN contacts exist to
// determine if the store is supported or not
- if(d->m_simStore->storeInfo().iUsedEntries == 0)
+ if(d->m_simStore->storeInfo().m_usedEntries == 0)
*error = QContactManager::NotSupportedError;
}
}
@@ -163,8 +177,7 @@ QString CntSymbianSimEngine::synthesizedDisplayLabel(const QContact& contact, QC
if(!name.customLabel().isEmpty()) {
return name.customLabel();
} else {
- // TODO: localize unnamed
- return QString("Unnamed");
+ return QString("");
}
}
@@ -222,7 +235,7 @@ QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(c
}
// Get store information
- TSimStoreInfo storeInfo = d->m_simStore->storeInfo();
+ SimStoreInfo storeInfo = d->m_simStore->storeInfo();
// the map we will eventually return
QMap<QString, QContactDetailDefinition> retn;
@@ -285,8 +298,7 @@ QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(c
retn.insert(def.name(), def);
// email support needs to be checked run-time, because it is SIM specific
-#ifndef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
- if (storeInfo.iMaxEmailAddr > 0) {
+ if (storeInfo.m_emailSupported) {
def.setName(QContactEmailAddress::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
@@ -296,7 +308,6 @@ QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(c
def.setUnique(true);
retn.insert(def.name(), def);
}
-#endif
// phone number
def.setName(QContactPhoneNumber::DefinitionName);
@@ -306,23 +317,17 @@ QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(c
fields.insert(QContactPhoneNumber::FieldNumber, f);
// TODO: subtypes supported in case a sim contact can have multiple phone numbers?
def.setFields(fields);
-#ifndef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
- if (storeInfo.iMaxAdditionalNumbers > 0) {
+ if (storeInfo.m_additionalNumberSupported) {
// multiple numbers supported
def.setUnique(false);
} else {
// only one phone number allowed
def.setUnique(true);
}
-#else
- // only one phone number allowed
- def.setUnique(true);
-#endif
retn.insert(def.name(), def);
// nickname support needs to be checked run-time, because it is SIM specific
-#ifndef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
- if (storeInfo.iMaxSecondNames > 0) {
+ if (storeInfo.m_secondNameSupported) {
def.setName(QContactNickname::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
@@ -332,7 +337,6 @@ QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(c
def.setUnique(true);
retn.insert(def.name(), def);
}
-#endif
// name
def.setName(QContactName::DefinitionName);
@@ -469,6 +473,23 @@ bool CntSymbianSimEngine::hasFeature(QContactManager::ManagerFeature feature, co
}
/*!
+ Returns a whether the supplied \a filter can be implemented
+ natively by this engine. If not, the base class implementation
+ will emulate the functionality.
+ */
+bool CntSymbianSimEngine::isFilterSupported(const QContactFilter& filter) const
+{
+ if (filter.type() == QContactFilter::ContactDetailFilter) {
+ QContactDetailFilter f(filter);
+ if (f.detailDefinitionName() == QContactPhoneNumber::DefinitionName &&
+ f.detailFieldName() == QContactPhoneNumber::FieldNumber &&
+ f.matchFlags() == QContactFilter::MatchPhoneNumber)
+ return true;
+ }
+ return false;
+}
+
+/*!
* Returns the list of data types supported by the manager
*/
QStringList CntSymbianSimEngine::supportedContactTypes() const
@@ -491,6 +512,36 @@ void CntSymbianSimEngine::setReadOnlyAccessConstraint(QContactDetail* detail) co
setDetailAccessConstraints(detail, QContactDetail::ReadOnly);
}
+
+/*!
+ Returns true if the supplied contact \a contact matches the supplied filter \a filter.
+ */
+bool CntSymbianSimEngine::filter(const QContactFilter &filter, const QContact &contact)
+{
+ // Special handling for phonenumber matching:
+ // Matching is done from the right by using a configurable number of digits.
+ // Default number of digits is 7. So for example if we filter with number
+ // +358505555555 the filter should match to +358505555555 and 0505555555.
+ if (filter.type() == QContactFilter::ContactDetailFilter)
+ {
+ QContactDetailFilter f(filter);
+ if (f.detailDefinitionName() == QContactPhoneNumber::DefinitionName &&
+ f.detailFieldName() == QContactPhoneNumber::FieldNumber &&
+ f.matchFlags() == QContactFilter::MatchPhoneNumber)
+ {
+ QString matchNumber = f.value().toString().right(d->m_phoneNumberMatchLen);
+ QList<QContactPhoneNumber> pns = contact.details<QContactPhoneNumber>();
+ foreach (QContactPhoneNumber pn, pns) {
+ QString number = pn.number().right(d->m_phoneNumberMatchLen);
+ if (number == matchNumber)
+ return true;
+ }
+ return false;
+ }
+ }
+ return QContactManagerEngine::testFilter(filter, contact);
+}
+
/*!
* Executes an asynchronous request so that it will appear synchronous. This is
* used internally in all synchronous functions. This way we only need to
@@ -517,8 +568,8 @@ bool CntSymbianSimEngine::executeRequest(QContactAbstractRequest *req, QContactM
if (!engine.startRequest(req)) {
*qtError = QContactManager::LockedError;
} else {
- if (!engine.waitForRequestFinished(req, KRequestTimeout))
- *qtError = QContactManager::UnspecifiedError; // timeout occurred
+ if (!engine.waitForRequestFinished(req, 0)) // no timeout
+ *qtError = QContactManager::UnspecifiedError;
}
engine.requestDestroyed(req);
@@ -528,6 +579,20 @@ bool CntSymbianSimEngine::executeRequest(QContactAbstractRequest *req, QContactM
return (*qtError == QContactManager::NoError);
}
+/*
+ * Get the match length setting used in MatchPhoneNumber type filtering.
+ * \a matchLength Phone number digits to be used in matching (counted from
+ * right).
+ */
+void CntSymbianSimEngine::getMatchLengthL(int &matchLength)
+{
+ //Get number of digits used to match
+ CRepository* repository = CRepository::NewL(KCRUidTelConfiguration);
+ CleanupStack::PushL(repository);
+ User::LeaveIfError(repository->Get(KTelMatchDigits, matchLength));
+ CleanupStack::PopAndDestroy(repository);
+}
+
QContactManagerEngine* CntSymbianSimFactory::engine(const QMap<QString, QString>& parameters, QContactManager::Error* error)
{
CntSymbianSimEngine *engine = new CntSymbianSimEngine(parameters, error);
diff --git a/plugins/contacts/symbiansim/src/cntsymbiansimtransformerror.cpp b/plugins/contacts/symbiansim/src/cntsymbiansimtransformerror.cpp
index fd14581e08..684bfe134d 100644
--- a/plugins/contacts/symbiansim/src/cntsymbiansimtransformerror.cpp
+++ b/plugins/contacts/symbiansim/src/cntsymbiansimtransformerror.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "cntsymbiansimtransformerror.h"
+#include <GsmError.h>
/*! Transform a Symbian contact error id to QContactManager::Error.
*
@@ -91,6 +92,14 @@ void CntSymbianSimTransformError::transformError(TInt symbianError, QContactMana
*qtError = QContactManager::BadArgumentError;
break;
}
+ case KErrTooBig:
+ case KErrGsmSimServSneFull:
+ case KErrGsmSimServAnrFull:
+ case KErrGsmSimServEmailFull:
+ {
+ *qtError = QContactManager::LimitReachedError;
+ break;
+ }
default:
{
*qtError = QContactManager::UnspecifiedError;
diff --git a/plugins/contacts/symbiansim/symbiansim.pro b/plugins/contacts/symbiansim/symbiansim.pro
index f9d2a0c0c9..456600f206 100644
--- a/plugins/contacts/symbiansim/symbiansim.pro
+++ b/plugins/contacts/symbiansim/symbiansim.pro
@@ -57,7 +57,8 @@ symbian: {
LIBS += -lcntmodel \
-lflogger \
- -lefsrv
+ -lefsrv \
+ -lcentralrepository
target.path = /sys/bin
INSTALLS += target
diff --git a/plugins/contacts/symbiansim/symbiansim_defines.pri b/plugins/contacts/symbiansim/symbiansim_defines.pri
index 5e41cb0441..c5863caa60 100644
--- a/plugins/contacts/symbiansim/symbiansim_defines.pri
+++ b/plugins/contacts/symbiansim/symbiansim_defines.pri
@@ -33,11 +33,19 @@ symbian: {
# remove operation has completed the device reboots.
DEFINES += SYMBIANSIM_BACKEND_CHECK_BEFORE_REMOVE
- # In pre 10.1 platforms we need a small delay between requests to prevent
- # S60 3.2 devices from rebooting and S60 5.0 devices from reporting a
- # server busy error. Not sure if this is really needed for S60 3.1 but
- # it does not hurt.
contains(S60_VERSION, 3.1) | contains(S60_VERSION, 3.2) | contains(S60_VERSION, 5.0) {
+
+ # In pre 10.1 platforms we need a small delay between requests to prevent
+ # S60 3.2 devices from rebooting and S60 5.0 devices from reporting a
+ # server busy error. Not sure if this is really needed for S60 3.1 but
+ # it does not hurt.
DEFINES += SYMBIANSIM_BACKEND_USE_DELAY
+
+ # In pre 10.1 platforms we need to check extra detail support
+ # (nickname/additional number/email) by trying to write them to sim card.
+ # This is because when using RMobilePhoneStore::GetInfo() it does not
+ # report them correctly. There is another API for checking this but
+ # it cannot be used as it is not public on these platforms.
+ DEFINES += SYMBIANSIM_BACKEND_TEST_EXTRADETAILS
}
}
diff --git a/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.cpp b/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.cpp
index 208a35fe9f..bbb7991afc 100644
--- a/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.cpp
+++ b/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,6 +53,9 @@
QTM_USE_NAMESPACE
+typedef QList<QContactLocalId> QContactIds;
+Q_DECLARE_METATYPE(QContactIds);
+
#ifndef QTRY_COMPARE
#define QTRY_COMPARE(__expr, __expected) \
do { \
@@ -82,8 +85,6 @@ public:
virtual ~tst_SimCM();
public slots:
- void init();
- void cleanup();
void initTestCase();
void cleanupTestCase();
@@ -105,18 +106,28 @@ private slots:
void updateContactDetail();
void batchOperations_data();
void batchOperations();
+ void detailFilter_data();
+ void detailFilter();
+ void sortingAdn_data();
+ void sortingAdn();
/* Test cases that take no data */
void signalEmission();
void sdnContacts();
+ void fillSlots();
private:
void initManager(QString simStore);
void getEtelStoreInfoL(const TDesC &phonebook, TDes8 &infoPckg) const;
bool isContactSupported(QContact contact);
void parseDetails(QContact &contact, QStringList details, QList<QContactDetail> &parsedDetails);
- void compareDetails(QContact contact, QList<QContactDetail> expectedDetails);
+ bool compareDetails(QContact contact, QList<QContactDetail> expectedDetails);
QContact createContact(QString name, QString number);
+ QContact saveContact(QString name, QString number);
+ void dumpStoreInfo();
+ bool compareContactLists(QList<QContact> lista, QList<QContact> listb);
+ bool compareContacts(QContact ca, QContact cb);
+
private:
QContactManager* m_cm;
@@ -139,20 +150,6 @@ tst_SimCM::~tst_SimCM()
{
}
-void tst_SimCM::init()
-{
- // remove all contacts
- QList<QContactLocalId> ids = m_cm->contactIds();
- m_cm->removeContacts(ids, 0);
-}
-
-void tst_SimCM::cleanup()
-{
- // remove all contacts
- QList<QContactLocalId> ids = m_cm->contactIds();
- m_cm->removeContacts(ids, 0);
-}
-
void tst_SimCM::initTestCase()
{
initManager(QString());
@@ -160,10 +157,15 @@ void tst_SimCM::initTestCase()
// TODO: how about other stores?
TRAPD(err, getEtelStoreInfoL(KETelIccAdnPhoneBook, m_etelStoreInfoPckg));
QCOMPARE(err, KErrNone);
+
+ // remove all contacts
+ m_cm->removeContacts(m_cm->contactIds(), 0);
}
void tst_SimCM::cleanupTestCase()
{
+ // remove all contacts
+ m_cm->removeContacts(m_cm->contactIds(), 0);
delete m_cm;
m_cm = 0;
}
@@ -354,11 +356,13 @@ void tst_SimCM::addContact_data()
QTest::addColumn<int>("expectedResult"); // 1 = pass, 0 = fail, -1 = depends on the SIM card
QTest::addColumn<QString>("expectedDisplayLabel");
QTest::addColumn<QStringList>("details"); // format is <detail definition name>:<field name>:<value>
- QString unnamedLabel("Unnamed");
QString es;
QString tooLongText("James Hunt the 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890th");
- // TODO: what name field to use for a sim contact name?
+#ifdef __WINS__
+ qWarning("Etel test server (emulator) does report an error when saving if contact has too long details!");
+#endif
+
// Note: With the current implementation the value must not contain a ':' character
QTest::newRow("ADN custom label")
<< QString("ADN")
@@ -391,7 +395,11 @@ void tst_SimCM::addContact_data()
QTest::newRow("ADN too long custom label")
<< QString("ADN")
- << 1 // expected to pass. Note: too long display label is truncated
+#ifdef __WINS__
+ << 1 // Etel test server does not enforce the max lengths
+#else
+ << 0 // expected to fail
+#endif
<< tooLongText
<< (QStringList()
<< (QString("Name:CustomLabel:").append(tooLongText)));
@@ -406,7 +414,11 @@ void tst_SimCM::addContact_data()
QTest::newRow("ADN custom label and too long nick name")
<< QString("ADN")
- << -1 // Depends on SIM card support (some cards support second name)
+#ifdef __WINS__
+ << 1 // Etel test server does not enforce the max lengths
+#else
+ << 0 // expected to fail
+#endif
<< "James Hunt"
<< (QStringList()
<< "Name:CustomLabel:James Hunt"
@@ -415,10 +427,18 @@ void tst_SimCM::addContact_data()
QTest::newRow("ADN phone number")
<< QString("ADN")
<< 1
- << unnamedLabel
+ << es
<< (QStringList()
<< "PhoneNumber:PhoneNumber:+44752222222");
+ QTest::newRow("ADN empty name and phone number")
+ << QString("ADN")
+ << 1
+ << es
+ << (QStringList()
+ << "Name:CustomLabel:"
+ << "PhoneNumber:PhoneNumber:+44752222222");
+
QTest::newRow("ADN custom label and phone number")
<< QString("ADN")
<< 1
@@ -514,7 +534,11 @@ void tst_SimCM::addContact_data()
QTest::newRow("ADN custom label and too long email")
<< QString("ADN")
+#ifdef __WINS__
+ << 1 // Etel test server does not enforce the max lengths
+#else
<< 0 // long enough e-mail to fail on any SIM card
+#endif
<< "James Hunt"
<< (QStringList()
<< "Name:CustomLabel:James Hunt"
@@ -620,14 +644,19 @@ void tst_SimCM::addContact()
QVERIFY(contact.id() != QContactId());
// verify that the details were saved as expected
- compareDetails(contact, expectedDetails);
+ QVERIFY(compareDetails(contact, expectedDetails));
- // verify display label, allow truncating to the max text length
- QCOMPARE(contact.displayLabel(), expectedDisplayLabel.left(m_etelStoreInfo.iMaxTextLength));
+ // verify display label
+ QCOMPARE(contact.displayLabel(), expectedDisplayLabel);
// TODO: verify that no extra details were added?
//?QCOMPARE(contact.details().count(), detailsUnderTest.count() + 2);
+ // Read the contact from SIM and re-verify the result
+ contact = m_cm->contact(contact.localId());
+ QVERIFY(compareDetails(contact, expectedDetails));
+ QCOMPARE(contact.displayLabel(), expectedDisplayLabel);
+
// verify contact removal
QVERIFY(m_cm->removeContact(contact.localId()));
QCOMPARE(m_cm->error(), QContactManager::NoError);
@@ -659,7 +688,8 @@ void tst_SimCM::fetchContacts_data()
<< QString("SDN")
<< int(0); // You cannot save a contact to SDN
- // TODO: How to save to FDN? A dialog for PIN2 should be shown...
+ // Requires that PIN2 has been given (for example by activating and
+ // de-activating FDN via S60 Phonebook)
QTest::newRow("FDN")
<< QString("FDN")
<< int(1);
@@ -848,7 +878,7 @@ void tst_SimCM::updateContactDetail()
}
QVERIFY(m_cm->saveContact(&contact));
QCOMPARE(m_cm->error(), QContactManager::NoError);
- compareDetails(contact, parsedDetails);
+ QVERIFY(compareDetails(contact, parsedDetails));
// 3. Update contact detail and verify result
foreach (const QContactDetail& detail, parsedDetails) {
@@ -862,7 +892,7 @@ void tst_SimCM::updateContactDetail()
}
QVERIFY(m_cm->saveContact(&contact));
QCOMPARE(m_cm->error(), QContactManager::NoError);
- compareDetails(contact, parsedDetails);
+ QVERIFY(compareDetails(contact, parsedDetails));
// 4. Remove the contact
QVERIFY(m_cm->removeContact(contact.localId()));
@@ -884,7 +914,8 @@ void tst_SimCM::batchOperations_data()
<< 10
<< false; // You cannot save contacts to SDN
- // TODO: How to save to FDN? A dialog for PIN2 should be shown...
+ // Requires that PIN2 has been given (for example by activating and
+ // de-activating FDN via S60 Phonebook)
QTest::newRow("FDN")
<< QString("FDN")
<< 10
@@ -961,6 +992,122 @@ void tst_SimCM::batchOperations()
}
}
+void tst_SimCM::detailFilter_data()
+{
+ QTest::addColumn<QString>("detailName");
+ QTest::addColumn<QString>("detailField");
+ QTest::addColumn<QString>("value");
+ QTest::addColumn<int>("flags");
+ QTest::addColumn<bool>("filterSupported");
+ QTest::addColumn<QString>("expected");
+
+ // Phone number
+
+ QString detail = QContactPhoneNumber::DefinitionName;
+ QString field = QContactPhoneNumber::FieldNumber;
+
+ QTest::newRow("phonenumber=123456789, flags=MatchExactly")
+ << detail << field << "123456789" << (int) QContactFilter::MatchExactly << false << "a";
+
+ QTest::newRow("phonenumber=123456789, flags=MatchContains")
+ << detail << field << "123456789" << (int) QContactFilter::MatchContains << false << "abc";
+
+ QTest::newRow("phonenumber=#, flags=MatchContains")
+ << detail << field << "#" << (int) QContactFilter::MatchContains << false << "f";
+
+ QTest::newRow("phonenumber=p, flags=MatchContains")
+ << detail << field << "p" << (int) QContactFilter::MatchContains << false << "e";
+
+ QTest::newRow("phonenumber=0, flags=MatchStartsWith")
+ << detail << field << "0" << (int) QContactFilter::MatchStartsWith << false << "defi";
+
+ QTest::newRow("phonenumber=012, flags=MatchEndsWith")
+ << detail << field << "012" << (int) QContactFilter::MatchEndsWith << false << "c";
+
+ QTest::newRow("phonenumber=+358505555555, flags=MatchPhoneNumber")
+ << detail << field << "+358505555555" << (int) QContactFilter::MatchPhoneNumber << true << "ij";
+
+ QTest::newRow("phonenumber=313, flags=MatchPhoneNumber")
+ << detail << field << "313" << (int) QContactFilter::MatchPhoneNumber << true << "h";
+
+ // Custom label
+ detail = (QLatin1String) QContactName::DefinitionName;
+ field = (QLatin1String) QContactName::FieldCustomLabel;
+
+ QTest::newRow("customlabel=frederik")
+ << detail << field << "frederik" << 0 << false << "c";
+
+ QTest::newRow("customlabel=Kallasvuo flags=MatchContains")
+ << detail << field << "Kallasvuo" << (int) (QContactFilter::MatchContains) << false << "d";
+
+ QTest::newRow("customlabel=Matti flags=MatchStartsWith")
+ << detail << field << "Matti" << (int) (QContactFilter::MatchStartsWith) << false << "b";
+
+ QTest::newRow("customlabel=co flags=MatchEndsWith")
+ << detail << field << "co" << (int) (QContactFilter::MatchEndsWith) << false << "f";
+
+ // ITU-T standard keypad collation:
+ // 2 = abc, 3 = def, 4 = ghi, 5 = jkl, 6 = mno, 7 = pqrs, 8 = tuv, 9 = wxyz, 0 = space
+
+ QTest::newRow("customlabel T9 olli, flags=MatchKeypadCollation|MatchExactly")
+ << detail << field << "6554" << (int) (QContactFilter::MatchKeypadCollation | QContactFilter::MatchExactly) << false << "g";
+
+ QTest::newRow("customlabel T9 olli, flags=MatchKeypadCollation|MatchContains")
+ << detail << field << "6554" << (int) (QContactFilter::MatchKeypadCollation | QContactFilter::MatchContains) << false << "adg";
+
+ QTest::newRow("customlabel T9 jorma, flags=MatchKeypadCollation|MatchStartsWith")
+ << detail << field << "56762" << (int) (QContactFilter::MatchKeypadCollation | QContactFilter::MatchStartsWith) << false << "a";
+
+ QTest::newRow("customlabel T9 nen, flags=MatchKeypadCollation|MatchEndsWith")
+ << detail << field << "636" << (int) (QContactFilter::MatchKeypadCollation | QContactFilter::MatchEndsWith) << false << "b";
+}
+
+void tst_SimCM::detailFilter()
+{
+ QFETCH(QString, detailName);
+ QFETCH(QString, detailField);
+ QFETCH(QString, value);
+ QFETCH(int, flags);
+ QFETCH(bool, filterSupported);
+ QFETCH(QString, expected);
+
+ initManager("ADN");
+ QVERIFY(m_cm->error() == QContactManager::NoError);
+
+ QMap<QContactLocalId, QString> saved;
+ saved.insert(saveContact("Jorma Ollila", "123456789").localId(), "a");
+ saved.insert(saveContact("Matti Nykänen", "+123456789").localId(), "b");
+ saved.insert(saveContact("Frederik", "+123456789012").localId(), "c");
+ saved.insert(saveContact("Olli-Pekka Kallasvuo", "0718008000").localId(), "d");
+ saved.insert(saveContact("Foobar", "0987654321p").localId(), "e");
+ saved.insert(saveContact("Telco", "0718008000#1234#123").localId(), "f");
+ saved.insert(saveContact("Olli", "543253425").localId(), "g");
+ saved.insert(saveContact("Donald Duck", "313").localId(), "h");
+ saved.insert(saveContact("Daisy Duck", "0505555555").localId(), "i");
+ saved.insert(saveContact("Daisy Duck (int)", "+358505555555").localId(), "j");
+
+ QContactDetailFilter f;
+ f.setDetailDefinitionName(detailName, detailField);
+ f.setMatchFlags(QContactFilter::MatchFlags(flags));
+ f.setValue(value);
+
+ QVERIFY(m_cm->isFilterSupported(f) == filterSupported);
+
+ QList<QContactLocalId> ids = m_cm->contactIds(f);
+ QVERIFY(m_cm->error() == QContactManager::NoError);
+
+ QString result;
+ foreach (QContactLocalId id, ids)
+ result += saved.value(id);
+
+ // Remove all
+ m_cm->removeContacts(m_cm->contactIds(), 0);
+
+ QCOMPARE(result, expected);
+}
+
+
+
/*
* Test if signals contactsAdded, contactsChanged and contactsRemoved are
* emitted correctly.
@@ -1035,7 +1182,6 @@ void tst_SimCM::sdnContacts()
foreach(const QContact& c, contacts) {
// Assume a valid SDN contact always has a display label and a phone number
QVERIFY(!c.displayLabel().isEmpty());
- QVERIFY(!c.displayLabel().contains("unnamed", Qt::CaseInsensitive));
QVERIFY(!c.detail(QContactPhoneNumber::DefinitionName).isEmpty());
foreach(const QContactDetail& d, c.details()) {
qDebug() << "Detail: " << d.definitionName();
@@ -1053,6 +1199,321 @@ void tst_SimCM::sdnContacts()
QVERIFY(!cm->saveContact(&c));
}
+void tst_SimCM::fillSlots()
+{
+ initManager("ADN");
+
+ // remove all contacts
+ QList<QContactLocalId> ids = m_cm->contactIds();
+ m_cm->removeContacts(ids, 0);
+
+ // Update store info for empty sim card
+ TRAPD(err, getEtelStoreInfoL(KETelIccAdnPhoneBook, m_etelStoreInfoPckg));
+ QVERIFY(err == KErrNone);
+ //dumpStoreInfo();
+
+ // Get detail definitions
+ QMap<QString, QContactDetailDefinition> defs = m_cm->detailDefinitions();
+ bool nicknameSupported = defs.contains(QContactNickname::DefinitionName);
+ bool additionalNumberSupported = !defs.value(QContactPhoneNumber::DefinitionName).isUnique();
+ bool emailSupported = defs.contains(QContactNickname::DefinitionName);
+
+ // Fill all slots with a name
+ QList<QContact> savedContacts;
+ int i;
+ for (i=0; i<m_etelStoreInfo.iTotalEntries; i++)
+ {
+ QContact c;
+ QString label;
+ label.fill('x', 10);
+ QString tmp = QString("%1-").arg(i);
+ label.replace(0, tmp.size(), tmp);
+ QContactName name;
+ name.setCustomLabel(label);
+ c.saveDetail(&name);
+ QVERIFY(m_cm->saveContact(&c));
+ savedContacts << c;
+ }
+ qDebug() << QString("Wrote %1 contacts with a name").arg(i);
+
+ // Sim card should be full now. Try writing one more.
+ {
+ QContact c;
+ QContactName name;
+ name.setCustomLabel("foobar");
+ c.saveDetail(&name);
+ QVERIFY(!m_cm->saveContact(&c));
+ }
+
+ // Write all slots with a number
+ for (i=0; i<m_etelStoreInfo.iTotalEntries; i++)
+ {
+ QContact &c = savedContacts[i];
+ QString num;
+ num.fill('0', 10);
+ QString tmp = QString("%1#").arg(i);
+ num.replace(0, tmp.size(), tmp);
+ QContactPhoneNumber number;
+ number.setNumber(num);
+ c.saveDetail(&number);
+ QVERIFY(m_cm->saveContact(&c));
+ }
+ qDebug() << QString("Wrote %1 contacts with a number").arg(i);
+
+ // Write all slots with a nickname
+ for (i=0; i<m_etelStoreInfo.iTotalEntries && nicknameSupported; i++)
+ {
+ QContact c = savedContacts[i];
+ QContactNickname nickname;
+ QString nick;
+ nick.fill('x', 10);
+ QString tmp = QString("%1-").arg(i);
+ nick.replace(0, tmp.size(), tmp);
+ nickname.setNickname(nick);
+ c.saveDetail(&nickname);
+ if (!m_cm->saveContact(&c)) {
+ if (m_cm->error() == QContactManager::LimitReachedError)
+ break;
+ else
+ QFAIL("Failed to write nickname");
+ }
+ savedContacts[i] = c;
+ }
+ qDebug() << QString("Wrote %1 contacts with a nickname").arg(i);
+
+ // Write all slots with a additional number
+ for (i=0; i<m_etelStoreInfo.iTotalEntries && additionalNumberSupported; i++)
+ {
+ QContact c = savedContacts[i];
+ QString num;
+ num.fill('0', 10);
+ QString tmp = QString("%1#1").arg(i);
+ num.replace(0, tmp.size(), tmp);
+ QContactPhoneNumber additionalNumber;
+ additionalNumber.setNumber(num);
+ c.saveDetail(&additionalNumber);
+ if (!m_cm->saveContact(&c)) {
+ if (m_cm->error() == QContactManager::LimitReachedError)
+ break;
+ else
+ QFAIL("Failed to write additional number");
+ }
+ savedContacts[i] = c;
+ }
+ qDebug() << QString("Wrote %1 contacts with additional number").arg(i);
+
+ // Write all slots with a email
+ for (i=0; i<m_etelStoreInfo.iTotalEntries && emailSupported; i++)
+ {
+ QContact c = savedContacts[i];
+ QContactEmailAddress emailAddress;
+ QString email;
+ email.fill('x', 10);
+ QString tmp = QString("%1@").arg(i);
+ email.replace(0, tmp.size(), tmp);
+ emailAddress.setEmailAddress(email);
+ c.saveDetail(&emailAddress);
+ if (!m_cm->saveContact(&c)) {
+ if (m_cm->error() == QContactManager::LimitReachedError)
+ break;
+ else
+ QFAIL("Failed to write email");
+ }
+ savedContacts[i] = c;
+ }
+ qDebug() << QString("Wrote %1 contacts with an email").arg(i);
+
+ TRAP(err, getEtelStoreInfoL(KETelIccAdnPhoneBook, m_etelStoreInfoPckg));
+ QVERIFY(err == KErrNone);
+ //dumpStoreInfo();
+
+ QList<QContact> contacts = m_cm->contacts();
+#ifdef __WINS__
+ // Cannot do full compare in emulator because of etel test server bug.
+ // If saving for example nickname fails with QContactManager::LimitReachedError
+ // it will still save the contact.
+ QVERIFY(contacts.count() == savedContacts.count());
+#else
+ QVERIFY(compareContactLists(contacts, savedContacts));
+#endif
+ QVERIFY(m_cm->removeContacts(m_cm->contactIds(), 0));
+}
+
+void tst_SimCM::sortingAdn_data()
+{
+ QTest::addColumn<QString>("definitionName");
+ QTest::addColumn<QString>("fieldName");
+ QTest::addColumn<int>("direction");
+ QTest::addColumn<int>("caseSensitivity");
+ QTest::addColumn<int>("blankPolicy");
+ QTest::addColumn<QContactIds>("expectedResult");
+ QTest::addColumn<QContactIds>("unknownResult");
+
+ initManager("ADN");
+ QContact blankName = createContact(QString(""), QString("+44752222222"));
+ QVERIFY(m_cm->saveContact(&blankName));
+ QContact james = createContact(QString("James Hunt"), QString("+44753333333"));
+ QVERIFY(m_cm->saveContact(&james));
+ QContact kimi = createContact(QString("Kimi Räikkönen"), QString("+358441111111"));
+ QVERIFY(m_cm->saveContact(&kimi));
+ QContact kimiNoCaps = createContact(QString("kimi räikkönen"), QString("+358442222222"));
+ QVERIFY(m_cm->saveContact(&kimiNoCaps));
+ QContact sebastianNoPhone = createContact(QString("Sebastian Vettel"), QString(""));
+ QVERIFY(m_cm->saveContact(&sebastianNoPhone));
+
+ QString contactNameDef = QContactName::DefinitionName;
+ QString customLabel = QContactName::FieldCustomLabel;
+ QString phoneNumberDef = QContactPhoneNumber::DefinitionName;
+ QString phoneNumber = QContactPhoneNumber::FieldNumber;
+
+ // The relative order of "kimi" and "Kimi" are undefined in this case
+ QTest::newRow("custom label, ascending, case insensitive, blanks first")
+ << contactNameDef
+ << customLabel
+ << (int) Qt::AscendingOrder
+ << (int) Qt::CaseInsensitive
+ << (int) QContactSortOrder::BlanksFirst
+ << (QContactIds()
+ << blankName.localId()
+ << james.localId()
+ << kimi.localId()
+ << kimiNoCaps.localId()
+ << sebastianNoPhone.localId())
+ << (QContactIds()
+ << kimi.localId()
+ << kimiNoCaps.localId());
+
+ QTest::newRow("custom label, ascending, case sensitive, blanks first")
+ << contactNameDef
+ << customLabel
+ << (int) Qt::AscendingOrder
+ << (int) Qt::CaseSensitive
+ << (int) QContactSortOrder::BlanksFirst
+ << (QContactIds()
+ << blankName.localId()
+ << james.localId()
+ << kimiNoCaps.localId()
+ << kimi.localId()
+ << sebastianNoPhone.localId())
+ << QContactIds();
+
+ // The relative order of "kimi" and "Kimi" are undefined in this case
+ QTest::newRow("custom label, descending, case insensitive, blanks first")
+ << contactNameDef
+ << customLabel
+ << (int) Qt::DescendingOrder
+ << (int) Qt::CaseInsensitive
+ << (int) QContactSortOrder::BlanksFirst
+ << (QContactIds()
+ << blankName.localId()
+ << sebastianNoPhone.localId()
+ << kimi.localId()
+ << kimiNoCaps.localId()
+ << james.localId())
+ << (QContactIds()
+ << kimi.localId()
+ << kimiNoCaps.localId());
+
+ QTest::newRow("phone number, ascending, case insensitive, blanks first")
+ << phoneNumberDef
+ << phoneNumber
+ << (int) Qt::AscendingOrder
+ << (int) Qt::CaseInsensitive
+ << (int) QContactSortOrder::BlanksFirst
+ << (QContactIds()
+ << sebastianNoPhone.localId()
+ << kimi.localId()
+ << kimiNoCaps.localId()
+ << blankName.localId()
+ << james.localId())
+ << QContactIds();
+
+ QTest::newRow("phone number, ascending, case sensitive, blanks last")
+ << phoneNumberDef
+ << phoneNumber
+ << (int) Qt::AscendingOrder
+ << (int) Qt::CaseSensitive
+ << (int) QContactSortOrder::BlanksLast
+ << (QContactIds()
+ << kimi.localId()
+ << kimiNoCaps.localId()
+ << blankName.localId()
+ << james.localId()
+ << sebastianNoPhone.localId())
+ << QContactIds();
+
+ QTest::newRow("phone number, descending, case insensitive, blanks first")
+ << phoneNumberDef
+ << phoneNumber
+ << (int) Qt::DescendingOrder
+ << (int) Qt::CaseInsensitive
+ << (int) QContactSortOrder::BlanksFirst
+ << (QContactIds()
+ << sebastianNoPhone.localId()
+ << james.localId()
+ << blankName.localId()
+ << kimiNoCaps.localId()
+ << kimi.localId())
+ << QContactIds();
+}
+
+/*!
+ * Contact sorting needs to be tested here, because the system tests in
+ * \tests\auto\qcontactmanagerfiltering\tst_QContactManagerFiltering are not
+ * compatible with the sim backend.
+ */
+void tst_SimCM::sortingAdn()
+{
+ QFETCH(QString, definitionName);
+ QFETCH(QString, fieldName);
+ QFETCH(int, direction);
+ QFETCH(int, caseSensitivity);
+ QFETCH(int, blankPolicy);
+ QFETCH(QContactIds, expectedResult);
+ QFETCH(QContactIds, unknownResult);
+
+ QContactSortOrder sortOrder;
+ sortOrder.setDetailDefinitionName(definitionName, fieldName);
+ sortOrder.setDirection((Qt::SortOrder) direction);
+ sortOrder.setCaseSensitivity((Qt::CaseSensitivity) caseSensitivity);
+ sortOrder.setBlankPolicy((QContactSortOrder::BlankPolicy) blankPolicy);
+ QVERIFY(sortOrder.isValid());
+
+ QList<QContactSortOrder> sortOrders;
+ sortOrders.append(sortOrder);
+
+ /*
+ TODO
+ QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
+ QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
+ */
+
+ // First variant
+ QList<QContactLocalId> ids = m_cm->contactIds(sortOrders);
+ qDebug() << "result: " << ids;
+ qDebug() << "expected: " << expectedResult;
+ QCOMPARE(m_cm->error(), QContactManager::NoError);
+ if (unknownResult.count()) {
+ // TODO: how to check all possible alternatives?
+ foreach (QContactLocalId id, unknownResult) {
+ QVERIFY(expectedResult.removeOne(id));
+ QVERIFY(ids.removeOne(id));
+ }
+ }
+ QCOMPARE(ids, expectedResult);
+
+ // Second variant with filter
+ ids = m_cm->contactIds(QContactFilter(), sortOrders);
+ QCOMPARE(m_cm->error(), QContactManager::NoError);
+ if (unknownResult.count()) {
+ // TODO: how to check all possible alternatives?
+ foreach (QContactLocalId id, unknownResult) {
+ QVERIFY(ids.removeOne(id));
+ }
+ }
+ QCOMPARE(ids, expectedResult);
+}
+
/*!
* Private helper function for checking the data format that the store supports
*/
@@ -1158,11 +1619,11 @@ void tst_SimCM::parseDetails(QContact &contact, QStringList details, QList<QCont
contactDetail = contact.detail(detailParts[0]);
}
- // Set the field value only if not empty (do not add empty fields)
- if (!detailParts[2].isEmpty()) {
+ if (detailParts[2].isNull()) {
+ QVERIFY(contactDetail.setValue(detailParts[1], QString("")));
+ } else {
QVERIFY(contactDetail.setValue(detailParts[1], detailParts[2]));
}
-
QVERIFY(contact.saveDetail(&contactDetail));
parsedDetails.append(contactDetail);
}
@@ -1171,36 +1632,45 @@ void tst_SimCM::parseDetails(QContact &contact, QStringList details, QList<QCont
/*
* Private helper function for comparing QContact details to a well-known set
* of QContactDetails.
- * \return true if all the expected contact details have a match in the \contact.
*/
-void tst_SimCM::compareDetails(QContact contact, QList<QContactDetail> expectedDetails)
+bool tst_SimCM::compareDetails(QContact contact, QList<QContactDetail> expectedDetails)
{
+ bool result(true);
+
foreach (QContactDetail expectedDetail, expectedDetails) {
- QContactDetail actualDetail = contact.detail(expectedDetail.definitionName());
- QVERIFY(!actualDetail.isEmpty());
-
- // Allow truncating the custom label to the max text length
- if (expectedDetail.definitionName() == QContactName::DefinitionName) {
- QContactName nameDetail = static_cast<QContactName>(expectedDetail);
- nameDetail.setCustomLabel(nameDetail.customLabel().left(m_etelStoreInfo.iMaxTextLength));
- expectedDetail = static_cast<QContactDetail>(nameDetail);
- // Allow truncating the nick name to the max text length
- } else if (expectedDetail.definitionName() == QContactNickname::DefinitionName) {
- QContactNickname nick = static_cast<QContactNickname>(expectedDetail);
- nick.setNickname(nick.nickname().left(m_etelStoreInfo.iMaxTextLength));
- expectedDetail = static_cast<QContactDetail>(nick);
- }
+ QString detailName = expectedDetail.definitionName();
+ foreach (const QString& key, expectedDetail.variantValues().keys()) {
+ bool match(false);
+ // Go through the actual details to see if the expected detail is included there
+ foreach (QContactDetail actualDetail, contact.details(expectedDetail.definitionName())) {
+ QString a = actualDetail.variantValue(key).toString();
+ QString b = expectedDetail.variantValue(key).toString();
+ if (!actualDetail.variantValues().contains(key)) {
+ qDebug() << "field does not exist, detail:"
+ << detailName
+ << "key:"
+ << key
+ << " value: "
+ << expectedDetail.variantValue(key);
+ } else if (actualDetail.variantValue(key) != expectedDetail.variantValue(key)) {
+ qDebug() << "Detail found, but value does not match. Detail:"
+ << detailName
+ << "Expected: "
+ << expectedDetail.variantValue(key)
+ << " actual: "
+ << actualDetail.variantValue(key);
+ } else {
+ match = true;
+ }
+ }
- if(!contact.details().contains(expectedDetail)) {
- // FAIL! Make it easier to debug the output by
- // comparing the contact detail field contents
- foreach (const QString& key, expectedDetail.variantValues().keys()) {
- QVariant value1 = actualDetail.value(key);
- QVariant value2 = expectedDetail.value(key);
- QCOMPARE(actualDetail.value(key), expectedDetail.value(key));
+ // Allow empty details, since they are not saved
+ if (!match && !expectedDetail.variantValue(key).toString().isEmpty()) {
+ result = false;
}
}
}
+ return result;
}
QContact tst_SimCM::createContact(QString name, QString number)
@@ -1218,5 +1688,105 @@ QContact tst_SimCM::createContact(QString name, QString number)
return c;
}
+QContact tst_SimCM::saveContact(QString name, QString number)
+{
+ QContact c;
+
+ QContactName n;
+ n.setCustomLabel(name);
+ c.saveDetail(&n);
+
+ QContactPhoneNumber nb;
+ nb.setNumber(number);
+ c.saveDetail(&nb);
+
+ if (!m_cm->saveContact(&c)) {
+ qWarning() <<
+ QString("Failed to save a contact! (name=%1,number=%2) error:%3")
+ .arg(name).arg(number).arg(m_cm->error());
+ }
+
+ return c;
+}
+
+void tst_SimCM::dumpStoreInfo()
+{
+ TPtrC name = m_etelStoreInfo.iName;
+ TPtrC8 identity = m_etelStoreInfo.iIdentity;
+
+ qDebug() << "Store info:"
+ << "\nType " << m_etelStoreInfo.iType
+ << "\nTotalEntries " << m_etelStoreInfo.iTotalEntries
+ << "\nUsedEntries " << m_etelStoreInfo.iUsedEntries
+ << "\nCaps " << m_etelStoreInfo.iCaps
+ << "\nName " << QString::fromUtf16(name.Ptr(), name.Length())
+ << "\nMaxNumLength " << m_etelStoreInfo.iMaxNumLength
+ << "\nMaxTextLength " << m_etelStoreInfo.iMaxTextLength
+ << "\nLocation " << m_etelStoreInfo.iLocation
+ << "\nChangeCounter " << m_etelStoreInfo.iChangeCounter
+ << "\nIdentity " << QString::fromUtf8((const char*)identity.Ptr(), identity.Length())
+#ifdef SYMBIANSIM_BACKEND_PHONEBOOKINFOV1
+ ;
+#else
+ << "\nMaxSecondNames " << m_etelStoreInfo.iMaxSecondNames
+ << "\nMaxTextLengthSecondName " << m_etelStoreInfo.iMaxTextLengthSecondName
+ << "\nMaxAdditionalNumbers " << m_etelStoreInfo.iMaxAdditionalNumbers
+ << "\nMaxNumLengthAdditionalNumber " << m_etelStoreInfo.iMaxNumLengthAdditionalNumber
+ << "\nMaxTextLengthAdditionalNumber" << m_etelStoreInfo.iMaxTextLengthAdditionalNumber
+ << "\nMaxGroupNames " << m_etelStoreInfo.iMaxGroupNames
+ << "\nMaxTextLengthGroupName " << m_etelStoreInfo.iMaxTextLengthGroupName
+ << "\nMaxEmailAddr " << m_etelStoreInfo.iMaxEmailAddr
+ << "\nMaxTextLengthEmailAddr " << m_etelStoreInfo.iMaxTextLengthEmailAddr;
+#endif
+}
+
+bool tst_SimCM::compareContactLists(QList<QContact> lista, QList<QContact> listb)
+{
+ // NOTE: This compare is contact order insensitive.
+
+ // Remove matching contacts
+ foreach (QContact a, lista) {
+ foreach (QContact b, listb) {
+ if (compareContacts(a, b)) {
+ lista.removeOne(a);
+ listb.removeOne(b);
+ break;
+ }
+ }
+ }
+
+ //if (lista.count() != 0) qDebug() << "\nList A:\n" << lista;
+ //if (listb.count() != 0) qDebug() << "\nList B:\n" << listb;
+
+ return (lista.count() == 0 && listb.count() == 0);
+}
+
+bool tst_SimCM::compareContacts(QContact ca, QContact cb)
+{
+ // NOTE: This compare is contact detail order insensitive.
+
+ if (ca.localId() != cb.localId())
+ return false;
+
+ QList<QContactDetail> aDetails = ca.details();
+ QList<QContactDetail> bDetails = cb.details();
+
+ // Remove matching details
+ foreach (QContactDetail ad, aDetails) {
+ foreach (QContactDetail bd, bDetails) {
+ if (ad == bd) {
+ ca.removeDetail(&ad);
+ cb.removeDetail(&bd);
+ break;
+ }
+ }
+ }
+
+ if (ca != cb)
+ qDebug() << "\nCompare failed:\n" << "A:\n" << ca << "\nB:\n" << cb;
+
+ return (ca == cb);
+}
+
QTEST_MAIN(tst_SimCM)
#include "tst_simcm.moc"
diff --git a/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.pro b/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.pro
index 32f67cd3ca..bc24a63ea3 100644
--- a/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.pro
+++ b/plugins/contacts/symbiansim/tsrc/tst_simcm/tst_simcm.pro
@@ -16,6 +16,9 @@ symbian: {
../../../../../src/contacts/requests
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
SOURCES += tst_simcm.cpp
- TARGET.CAPABILITY = ALL -TCB
+ TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData
LIBS += -lqtcontacts
}
diff --git a/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.cpp b/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.cpp
index 8bf13079e7..e366b44b1a 100644
--- a/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.cpp
+++ b/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.pro b/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.pro
index c8216b3247..010f0ed7f2 100644
--- a/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.pro
+++ b/plugins/contacts/symbiansim/tsrc/tst_simcmasync/tst_simcmasync.pro
@@ -16,6 +16,9 @@ symbian: {
../../../../../src/contacts/requests
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
SOURCES += tst_simcmasync.cpp
- TARGET.CAPABILITY = ALL -TCB
+ TARGET.CAPABILITY = ReadUserData \
+ WriteUserData \
+ ReadDeviceData \
+ WriteDeviceData
LIBS += -lqtcontacts
}
diff --git a/plugins/contacts/wince/contactconversions.cpp b/plugins/contacts/wince/contactconversions.cpp
index b69735480c..91f3d28aee 100644
--- a/plugins/contacts/wince/contactconversions.cpp
+++ b/plugins/contacts/wince/contactconversions.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/wince/qcontactrequestworker.cpp b/plugins/contacts/wince/qcontactrequestworker.cpp
index 9cec9bbce5..5e717adf47 100644
--- a/plugins/contacts/wince/qcontactrequestworker.cpp
+++ b/plugins/contacts/wince/qcontactrequestworker.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/wince/qcontactrequestworker.h b/plugins/contacts/wince/qcontactrequestworker.h
index 593ea83c21..3787eb1568 100644
--- a/plugins/contacts/wince/qcontactrequestworker.h
+++ b/plugins/contacts/wince/qcontactrequestworker.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/wince/qcontactrequestworker_p.h b/plugins/contacts/wince/qcontactrequestworker_p.h
index 8bfff35661..934504452b 100644
--- a/plugins/contacts/wince/qcontactrequestworker_p.h
+++ b/plugins/contacts/wince/qcontactrequestworker_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/wince/qcontactwincebackend.cpp b/plugins/contacts/wince/qcontactwincebackend.cpp
index 4655246b5f..471f87c581 100644
--- a/plugins/contacts/wince/qcontactwincebackend.cpp
+++ b/plugins/contacts/wince/qcontactwincebackend.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/contacts/wince/qcontactwincebackend_p.h b/plugins/contacts/wince/qcontactwincebackend_p.h
index 5e9afd23b9..23ec9efb13 100644
--- a/plugins/contacts/wince/qcontactwincebackend_p.h
+++ b/plugins/contacts/wince/qcontactwincebackend_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/declarative/declarative.pro b/plugins/declarative/declarative.pro
index 4d27b0531d..ae2829c1e8 100644
--- a/plugins/declarative/declarative.pro
+++ b/plugins/declarative/declarative.pro
@@ -3,3 +3,4 @@ include(../../staticconfig.pri)
TEMPLATE = subdirs
contains(mobility_modules,serviceframework): SUBDIRS += serviceframework
+contains(mobility_modules,publishsubscribe): SUBDIRS += publishsubscribe
diff --git a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.h b/plugins/declarative/publishsubscribe/publishsubscribe.cpp
index f43e91cd96..331a2b4af2 100644
--- a/plugins/contacts/qtcontacts-tracker/tests/ut_qtcontacts_fetch/ut_qtcontacts_fetch.h
+++ b/plugins/declarative/publishsubscribe/publishsubscribe.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the Qt Mobility Components.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,36 +39,32 @@
**
****************************************************************************/
-#ifndef UT_QTCONTACTS_TRACKERPLUGIN_FETCH_H
-#define UT_QTCONTACTS_TRACKERPLUGIN_FETCH_H
+#include <QtDeclarative/qdeclarativeextensionplugin.h>
+#include <QtDeclarative/qdeclarative.h>
-#include "ut_qtcontacts_common.h"
+#include "qvaluespacesubscriber.h"
+
+QT_BEGIN_NAMESPACE
QTM_USE_NAMESPACE
-class ut_qtcontacts_fetch : public ut_qtcontacts_common
+QML_DECLARE_TYPE(QValueSpaceSubscriber);
+
+class QSubscriberDeclarativeModule : public QDeclarativeExtensionPlugin
{
Q_OBJECT
-
public:
- ut_qtcontacts_fetch();
+ virtual void registerTypes(const char *uri)
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("QtMobility.publishsubscribe"));
-private slots:
- void checkDatabaseEmpty();
-
- void testSaveContact();
- void testSaveContactCopy();
- void testFetchSavedContact();
+ qmlRegisterType<QValueSpaceSubscriber>(uri, 1, 0, "ValueSpaceSubscriber");
+ }
+};
-private:
- void setupTestContact(QContact &contact);
+QT_END_NAMESPACE
- QContactDetailFilter mNameFilter;
+#include "publishsubscribe.moc"
- QString mUuid;
- QString mFirstName;
- QString mLastName;
- QString mWebPage;
-};
+Q_EXPORT_PLUGIN2(qsubscriberdeclarativemodule, QT_PREPEND_NAMESPACE(QSubscriberDeclarativeModule));
-#endif /* UT_QTCONTACTS_TRACKERPLUGIN_FETCH_H */
diff --git a/plugins/declarative/publishsubscribe/publishsubscribe.pro b/plugins/declarative/publishsubscribe/publishsubscribe.pro
new file mode 100644
index 0000000000..642f6d29b4
--- /dev/null
+++ b/plugins/declarative/publishsubscribe/publishsubscribe.pro
@@ -0,0 +1,24 @@
+INCLUDEPATH += ../../../src/publishsubscribe
+DEPENDPATH += ../../../src/publishsubscribe
+INCLUDEPATH += ../../../src/global
+
+TARGET = declarative_publishsubscribe
+TARGETPATH = QtMobility/publishsubscribe
+include(../../qimportbase.pri)
+include(../../../common.pri)
+
+QT += declarative
+
+SOURCES += publishsubscribe.cpp
+
+CONFIG += mobility
+MOBILITY += publishsubscribe
+
+DESTDIR = $$[QT_INSTALL_PREFIX]/imports/$$TARGETPATH
+target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+qmldir.files += $$PWD/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+INSTALLS += target qmldir
+
diff --git a/plugins/declarative/publishsubscribe/qmldir b/plugins/declarative/publishsubscribe/qmldir
new file mode 100644
index 0000000000..f5f88531c4
--- /dev/null
+++ b/plugins/declarative/publishsubscribe/qmldir
@@ -0,0 +1 @@
+plugin declarative_publishsubscribe
diff --git a/plugins/declarative/serviceframework/qdeclarativeservice.cpp b/plugins/declarative/serviceframework/qdeclarativeservice.cpp
index 916ccd25c2..0d112fe82c 100644
--- a/plugins/declarative/serviceframework/qdeclarativeservice.cpp
+++ b/plugins/declarative/serviceframework/qdeclarativeservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -41,23 +41,23 @@
#include "qdeclarativeservice.h"
-QServiceWrapper::QServiceWrapper()
+QDeclarativeService::QDeclarativeService()
: serviceInstance(0)
{
serviceManager = new QServiceManager();
}
-QServiceWrapper::~QServiceWrapper()
+QDeclarativeService::~QDeclarativeService()
{
delete serviceInstance;
}
-bool QServiceWrapper::isValid() const
+bool QDeclarativeService::isValid() const
{
return m_descriptor.isValid();
}
-void QServiceWrapper::setInterfaceDesc(const QServiceInterfaceDescriptor &desc)
+void QDeclarativeService::setInterfaceDesc(const QServiceInterfaceDescriptor &desc)
{
if (desc == m_descriptor)
return;
@@ -70,12 +70,12 @@ void QServiceWrapper::setInterfaceDesc(const QServiceInterfaceDescriptor &desc)
serviceInstance = 0;
}
-QServiceInterfaceDescriptor QServiceWrapper::interfaceDesc() const
+QServiceInterfaceDescriptor QDeclarativeService::interfaceDesc() const
{
return m_descriptor;
}
-void QServiceWrapper::setInterfaceName(const QString &interface)
+void QDeclarativeService::setInterfaceName(const QString &interface)
{
m_descriptor = serviceManager->interfaceDefault(interface);
@@ -83,7 +83,7 @@ void QServiceWrapper::setInterfaceName(const QString &interface)
qWarning() << "WARNING: No default service found for interface name: " << interface;
}
-QString QServiceWrapper::interfaceName() const
+QString QDeclarativeService::interfaceName() const
{
if (isValid())
return m_descriptor.interfaceName();
@@ -91,7 +91,7 @@ QString QServiceWrapper::interfaceName() const
return "No Interface";
}
-QString QServiceWrapper::serviceName() const
+QString QDeclarativeService::serviceName() const
{
if (isValid())
return m_descriptor.serviceName();
@@ -99,7 +99,7 @@ QString QServiceWrapper::serviceName() const
return "No Service";
}
-QString QServiceWrapper::versionNumber() const
+QString QDeclarativeService::versionNumber() const
{
if (isValid())
return (QString::number(m_descriptor.majorVersion())+"."+QString::number(m_descriptor.minorVersion()));
@@ -107,7 +107,7 @@ QString QServiceWrapper::versionNumber() const
return "0.0";
}
-QObject* QServiceWrapper::serviceObject()
+QObject* QDeclarativeService::serviceObject()
{
if (serviceInstance) {
return serviceInstance;
@@ -123,47 +123,47 @@ QObject* QServiceWrapper::serviceObject()
}
}
-QServiceListWrapper::QServiceListWrapper()
+QDeclarativeServiceList::QDeclarativeServiceList()
{
serviceManager = new QServiceManager();
}
-QServiceListWrapper::~QServiceListWrapper()
+QDeclarativeServiceList::~QDeclarativeServiceList()
{
}
-void QServiceListWrapper::setInterfaceName(const QString &interface)
+void QDeclarativeServiceList::setInterfaceName(const QString &interface)
{
m_interface = interface;
// ![0]
- QServiceWrapper *service;
+ QDeclarativeService *service;
QServiceFilter filter(m_interface, m_version);
QList<QServiceInterfaceDescriptor> list = serviceManager->findInterfaces(filter);
for (int i = 0; i < list.size(); i++) {
- service = new QServiceWrapper();
+ service = new QDeclarativeService();
service->setInterfaceDesc(list.at(i));
m_services.append(service);
}
// ![0]
}
-QString QServiceListWrapper::interfaceName() const
+QString QDeclarativeServiceList::interfaceName() const
{
return m_interface;
}
-void QServiceListWrapper::setMinVersion(const QString &version)
+void QDeclarativeServiceList::setMinVersion(const QString &version)
{
m_version = version;
}
-QString QServiceListWrapper::minVersion() const
+QString QDeclarativeServiceList::minVersion() const
{
return m_version;
}
-QDeclarativeListProperty<QServiceWrapper> QServiceListWrapper::services()
+QDeclarativeListProperty<QDeclarativeService> QDeclarativeServiceList::services()
{
- return QDeclarativeListProperty<QServiceWrapper>(this, m_services);
+ return QDeclarativeListProperty<QDeclarativeService>(this, m_services);
}
diff --git a/plugins/declarative/serviceframework/qdeclarativeservice.h b/plugins/declarative/serviceframework/qdeclarativeservice.h
index 2e3f50ae68..a6eaa4af96 100644
--- a/plugins/declarative/serviceframework/qdeclarativeservice.h
+++ b/plugins/declarative/serviceframework/qdeclarativeservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -52,7 +52,7 @@ QTM_USE_NAMESPACE
Q_DECLARE_METATYPE(QServiceInterfaceDescriptor)
-class QServiceWrapper : public QObject {
+class QDeclarativeService : public QObject {
Q_OBJECT
Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
Q_PROPERTY(QString serviceName READ serviceName);
@@ -61,8 +61,8 @@ class QServiceWrapper : public QObject {
Q_PROPERTY(QObject* serviceObject READ serviceObject NOTIFY serviceObjectChanged);
public:
- QServiceWrapper();
- ~QServiceWrapper();
+ QDeclarativeService();
+ ~QDeclarativeService();
void setInterfaceDesc(const QServiceInterfaceDescriptor& desc);
QServiceInterfaceDescriptor interfaceDesc() const;
@@ -86,19 +86,19 @@ private:
QObject* serviceInstance;
};
-QML_DECLARE_TYPE(QServiceWrapper)
+QML_DECLARE_TYPE(QDeclarativeService)
-class QServiceListWrapper : public QObject {
+class QDeclarativeServiceList : public QObject {
Q_OBJECT
Q_PROPERTY(QString interfaceName READ interfaceName WRITE setInterfaceName);
Q_PROPERTY(QString minVersion READ minVersion WRITE setMinVersion);
- Q_PROPERTY(QDeclarativeListProperty<QServiceWrapper> services READ services NOTIFY servicesChanged);
+ Q_PROPERTY(QDeclarativeListProperty<QDeclarativeService> services READ services NOTIFY servicesChanged);
public:
- QServiceListWrapper();
- ~QServiceListWrapper();
+ QDeclarativeServiceList();
+ ~QDeclarativeServiceList();
- QDeclarativeListProperty<QServiceWrapper> services();
+ QDeclarativeListProperty<QDeclarativeService> services();
void setInterfaceName(const QString& interface);
QString interfaceName() const;
@@ -108,15 +108,15 @@ public:
private:
QServiceManager* serviceManager;
- QList<QServiceWrapper *> m_services;
+ QList<QDeclarativeService *> m_services;
QString m_interface;
QString m_version;
Q_SIGNALS:
- void servicesChanged(const QDeclarativeListProperty<QServiceWrapper>&);
+ void servicesChanged(const QDeclarativeListProperty<QDeclarativeService>&);
};
-QML_DECLARE_TYPE(QServiceListWrapper)
+QML_DECLARE_TYPE(QDeclarativeServiceList)
#endif
diff --git a/plugins/declarative/serviceframework/serviceframework.cpp b/plugins/declarative/serviceframework/serviceframework.cpp
index 3476476c8a..85b7a5fd90 100644
--- a/plugins/declarative/serviceframework/serviceframework.cpp
+++ b/plugins/declarative/serviceframework/serviceframework.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,9 +53,9 @@ public:
virtual void registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("QtMobility.serviceframework"));
-
- qmlRegisterType<QServiceWrapper>(uri, 1, 0, "Service");
- qmlRegisterType<QServiceListWrapper>(uri, 1, 0, "ServiceList");
+
+ qmlRegisterType<QDeclarativeService>(uri, 1, 0, "Service");
+ qmlRegisterType<QDeclarativeServiceList>(uri, 1, 0, "ServiceList");
}
};
diff --git a/plugins/declarative/serviceframework/serviceframework.pro b/plugins/declarative/serviceframework/serviceframework.pro
index 2d4f181563..0682b8721e 100644
--- a/plugins/declarative/serviceframework/serviceframework.pro
+++ b/plugins/declarative/serviceframework/serviceframework.pro
@@ -11,7 +11,7 @@ QT += declarative
HEADERS += qdeclarativeservice.h
SOURCES += qdeclarativeservice.cpp \
- serviceframework.cpp \
+ serviceframework.cpp
CONFIG += mobility
MOBILITY += serviceframework
diff --git a/plugins/multimedia/audiocapture/audiocaptureservice.cpp b/plugins/multimedia/audiocapture/audiocaptureservice.cpp
index a85aab2800..fd4fdac403 100644
--- a/plugins/multimedia/audiocapture/audiocaptureservice.cpp
+++ b/plugins/multimedia/audiocapture/audiocaptureservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocaptureservice.h b/plugins/multimedia/audiocapture/audiocaptureservice.h
index 18b72c0bb6..bf8d2a2fae 100644
--- a/plugins/multimedia/audiocapture/audiocaptureservice.h
+++ b/plugins/multimedia/audiocapture/audiocaptureservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocaptureserviceplugin.cpp b/plugins/multimedia/audiocapture/audiocaptureserviceplugin.cpp
index d815c1a568..7c13ab2650 100644
--- a/plugins/multimedia/audiocapture/audiocaptureserviceplugin.cpp
+++ b/plugins/multimedia/audiocapture/audiocaptureserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocaptureserviceplugin.h b/plugins/multimedia/audiocapture/audiocaptureserviceplugin.h
index 8c1c2c43bd..cea1250668 100644
--- a/plugins/multimedia/audiocapture/audiocaptureserviceplugin.h
+++ b/plugins/multimedia/audiocapture/audiocaptureserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocapturesession.cpp b/plugins/multimedia/audiocapture/audiocapturesession.cpp
index 73c24eddb6..2a4751ee05 100644
--- a/plugins/multimedia/audiocapture/audiocapturesession.cpp
+++ b/plugins/multimedia/audiocapture/audiocapturesession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocapturesession.h b/plugins/multimedia/audiocapture/audiocapturesession.h
index de4dee295d..4ac7a18d2a 100644
--- a/plugins/multimedia/audiocapture/audiocapturesession.h
+++ b/plugins/multimedia/audiocapture/audiocapturesession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocontainercontrol.cpp b/plugins/multimedia/audiocapture/audiocontainercontrol.cpp
index e50418be85..454f43eda6 100644
--- a/plugins/multimedia/audiocapture/audiocontainercontrol.cpp
+++ b/plugins/multimedia/audiocapture/audiocontainercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiocontainercontrol.h b/plugins/multimedia/audiocapture/audiocontainercontrol.h
index f3be686b25..0e0b3e5e20 100644
--- a/plugins/multimedia/audiocapture/audiocontainercontrol.h
+++ b/plugins/multimedia/audiocapture/audiocontainercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audioencodercontrol.cpp b/plugins/multimedia/audiocapture/audioencodercontrol.cpp
index a029997c42..a5bafd19c9 100644
--- a/plugins/multimedia/audiocapture/audioencodercontrol.cpp
+++ b/plugins/multimedia/audiocapture/audioencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audioencodercontrol.h b/plugins/multimedia/audiocapture/audioencodercontrol.h
index 6571672eea..4cc49ee64d 100644
--- a/plugins/multimedia/audiocapture/audioencodercontrol.h
+++ b/plugins/multimedia/audiocapture/audioencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audioendpointselector.cpp b/plugins/multimedia/audiocapture/audioendpointselector.cpp
index 45a0d30437..7f6178287f 100644
--- a/plugins/multimedia/audiocapture/audioendpointselector.cpp
+++ b/plugins/multimedia/audiocapture/audioendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audioendpointselector.h b/plugins/multimedia/audiocapture/audioendpointselector.h
index c2be26d5ef..02512c231e 100644
--- a/plugins/multimedia/audiocapture/audioendpointselector.h
+++ b/plugins/multimedia/audiocapture/audioendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiomediarecordercontrol.cpp b/plugins/multimedia/audiocapture/audiomediarecordercontrol.cpp
index c1023189f7..19c7a06342 100644
--- a/plugins/multimedia/audiocapture/audiomediarecordercontrol.cpp
+++ b/plugins/multimedia/audiocapture/audiomediarecordercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/audiocapture/audiomediarecordercontrol.h b/plugins/multimedia/audiocapture/audiomediarecordercontrol.h
index 1ae6681050..1c70cbc3cf 100644
--- a/plugins/multimedia/audiocapture/audiomediarecordercontrol.h
+++ b/plugins/multimedia/audiocapture/audiomediarecordercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/dsserviceplugin.cpp b/plugins/multimedia/directshow/dsserviceplugin.cpp
index febf91b416..f5cae27a4c 100644
--- a/plugins/multimedia/directshow/dsserviceplugin.cpp
+++ b/plugins/multimedia/directshow/dsserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/dsserviceplugin.h b/plugins/multimedia/directshow/dsserviceplugin.h
index b7126d5c12..a6365605eb 100644
--- a/plugins/multimedia/directshow/dsserviceplugin.h
+++ b/plugins/multimedia/directshow/dsserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.cpp b/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.cpp
index 2e9ab4ea19..01c8797320 100644
--- a/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.cpp
+++ b/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.h b/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.h
index 57a49380ca..71dcef92a6 100644
--- a/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.h
+++ b/plugins/multimedia/directshow/player/directshowaudioendpointcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshoweventloop.cpp b/plugins/multimedia/directshow/player/directshoweventloop.cpp
index 76cd3be301..f863aa8350 100644
--- a/plugins/multimedia/directshow/player/directshoweventloop.cpp
+++ b/plugins/multimedia/directshow/player/directshoweventloop.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshoweventloop.h b/plugins/multimedia/directshow/player/directshoweventloop.h
index ebba3d2e12..6f1a51cd5b 100644
--- a/plugins/multimedia/directshow/player/directshoweventloop.h
+++ b/plugins/multimedia/directshow/player/directshoweventloop.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowglobal.h b/plugins/multimedia/directshow/player/directshowglobal.h
index c1f6af5258..d14c117ec9 100644
--- a/plugins/multimedia/directshow/player/directshowglobal.h
+++ b/plugins/multimedia/directshow/player/directshowglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowioreader.cpp b/plugins/multimedia/directshow/player/directshowioreader.cpp
index 1cfa36d335..5442f30d96 100644
--- a/plugins/multimedia/directshow/player/directshowioreader.cpp
+++ b/plugins/multimedia/directshow/player/directshowioreader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowioreader.h b/plugins/multimedia/directshow/player/directshowioreader.h
index 22bd13d54d..ca398f12e9 100644
--- a/plugins/multimedia/directshow/player/directshowioreader.h
+++ b/plugins/multimedia/directshow/player/directshowioreader.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowiosource.cpp b/plugins/multimedia/directshow/player/directshowiosource.cpp
index 3f49158c07..c8f3e6a97b 100644
--- a/plugins/multimedia/directshow/player/directshowiosource.cpp
+++ b/plugins/multimedia/directshow/player/directshowiosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowiosource.h b/plugins/multimedia/directshow/player/directshowiosource.h
index 071977c02a..3019bdbe93 100644
--- a/plugins/multimedia/directshow/player/directshowiosource.h
+++ b/plugins/multimedia/directshow/player/directshowiosource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmediatype.cpp b/plugins/multimedia/directshow/player/directshowmediatype.cpp
index 6e41a6f0c9..667d9491e0 100644
--- a/plugins/multimedia/directshow/player/directshowmediatype.cpp
+++ b/plugins/multimedia/directshow/player/directshowmediatype.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmediatype.h b/plugins/multimedia/directshow/player/directshowmediatype.h
index fdbb745a88..1923539d68 100644
--- a/plugins/multimedia/directshow/player/directshowmediatype.h
+++ b/plugins/multimedia/directshow/player/directshowmediatype.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmediatypelist.cpp b/plugins/multimedia/directshow/player/directshowmediatypelist.cpp
index e76107e5a1..3060975fc9 100644
--- a/plugins/multimedia/directshow/player/directshowmediatypelist.cpp
+++ b/plugins/multimedia/directshow/player/directshowmediatypelist.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmediatypelist.h b/plugins/multimedia/directshow/player/directshowmediatypelist.h
index 5413361fbb..1b33606cb4 100644
--- a/plugins/multimedia/directshow/player/directshowmediatypelist.h
+++ b/plugins/multimedia/directshow/player/directshowmediatypelist.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp b/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp
index 39998e31c6..0b4e28fa07 100644
--- a/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp
+++ b/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowmetadatacontrol.h b/plugins/multimedia/directshow/player/directshowmetadatacontrol.h
index 26648505cd..57a6375230 100644
--- a/plugins/multimedia/directshow/player/directshowmetadatacontrol.h
+++ b/plugins/multimedia/directshow/player/directshowmetadatacontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowpinenum.cpp b/plugins/multimedia/directshow/player/directshowpinenum.cpp
index b109e8b411..009e60e5a2 100644
--- a/plugins/multimedia/directshow/player/directshowpinenum.cpp
+++ b/plugins/multimedia/directshow/player/directshowpinenum.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowpinenum.h b/plugins/multimedia/directshow/player/directshowpinenum.h
index b52f982cb7..9fba3e84e2 100644
--- a/plugins/multimedia/directshow/player/directshowpinenum.h
+++ b/plugins/multimedia/directshow/player/directshowpinenum.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowplayercontrol.cpp b/plugins/multimedia/directshow/player/directshowplayercontrol.cpp
index d149fa64b3..3c874b0978 100644
--- a/plugins/multimedia/directshow/player/directshowplayercontrol.cpp
+++ b/plugins/multimedia/directshow/player/directshowplayercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowplayercontrol.h b/plugins/multimedia/directshow/player/directshowplayercontrol.h
index 2037a9ee7e..2557eeebd3 100644
--- a/plugins/multimedia/directshow/player/directshowplayercontrol.h
+++ b/plugins/multimedia/directshow/player/directshowplayercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowplayerservice.cpp b/plugins/multimedia/directshow/player/directshowplayerservice.cpp
index f368112ae4..e542f070fd 100644
--- a/plugins/multimedia/directshow/player/directshowplayerservice.cpp
+++ b/plugins/multimedia/directshow/player/directshowplayerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowplayerservice.h b/plugins/multimedia/directshow/player/directshowplayerservice.h
index af21329eae..6ec55456ef 100644
--- a/plugins/multimedia/directshow/player/directshowplayerservice.h
+++ b/plugins/multimedia/directshow/player/directshowplayerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowsamplescheduler.cpp b/plugins/multimedia/directshow/player/directshowsamplescheduler.cpp
index 6383a6d08a..48b7899c6e 100644
--- a/plugins/multimedia/directshow/player/directshowsamplescheduler.cpp
+++ b/plugins/multimedia/directshow/player/directshowsamplescheduler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowsamplescheduler.h b/plugins/multimedia/directshow/player/directshowsamplescheduler.h
index 3e6e7c7adb..bea833ef9a 100644
--- a/plugins/multimedia/directshow/player/directshowsamplescheduler.h
+++ b/plugins/multimedia/directshow/player/directshowsamplescheduler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowvideooutputcontrol.cpp b/plugins/multimedia/directshow/player/directshowvideooutputcontrol.cpp
index 20a39d6098..5795aefb07 100644
--- a/plugins/multimedia/directshow/player/directshowvideooutputcontrol.cpp
+++ b/plugins/multimedia/directshow/player/directshowvideooutputcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowvideooutputcontrol.h b/plugins/multimedia/directshow/player/directshowvideooutputcontrol.h
index c9779c22c4..9f40668c0c 100644
--- a/plugins/multimedia/directshow/player/directshowvideooutputcontrol.h
+++ b/plugins/multimedia/directshow/player/directshowvideooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowvideorenderercontrol.cpp b/plugins/multimedia/directshow/player/directshowvideorenderercontrol.cpp
index 7d60102e3c..429d5e1ec2 100644
--- a/plugins/multimedia/directshow/player/directshowvideorenderercontrol.cpp
+++ b/plugins/multimedia/directshow/player/directshowvideorenderercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/directshowvideorenderercontrol.h b/plugins/multimedia/directshow/player/directshowvideorenderercontrol.h
index fb6c21e9f0..7220d79d42 100644
--- a/plugins/multimedia/directshow/player/directshowvideorenderercontrol.h
+++ b/plugins/multimedia/directshow/player/directshowvideorenderercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/mediasamplevideobuffer.cpp b/plugins/multimedia/directshow/player/mediasamplevideobuffer.cpp
index 48c942d407..cd3c0775f1 100644
--- a/plugins/multimedia/directshow/player/mediasamplevideobuffer.cpp
+++ b/plugins/multimedia/directshow/player/mediasamplevideobuffer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/mediasamplevideobuffer.h b/plugins/multimedia/directshow/player/mediasamplevideobuffer.h
index 918714a563..09dffd411a 100644
--- a/plugins/multimedia/directshow/player/mediasamplevideobuffer.h
+++ b/plugins/multimedia/directshow/player/mediasamplevideobuffer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/videosurfacefilter.cpp b/plugins/multimedia/directshow/player/videosurfacefilter.cpp
index 94fa8029b4..0ff6cb7867 100644
--- a/plugins/multimedia/directshow/player/videosurfacefilter.cpp
+++ b/plugins/multimedia/directshow/player/videosurfacefilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/videosurfacefilter.h b/plugins/multimedia/directshow/player/videosurfacefilter.h
index ae7447fe60..a589716307 100644
--- a/plugins/multimedia/directshow/player/videosurfacefilter.h
+++ b/plugins/multimedia/directshow/player/videosurfacefilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/vmr9videowindowcontrol.cpp b/plugins/multimedia/directshow/player/vmr9videowindowcontrol.cpp
index 59461ee961..fca344c020 100644
--- a/plugins/multimedia/directshow/player/vmr9videowindowcontrol.cpp
+++ b/plugins/multimedia/directshow/player/vmr9videowindowcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/directshow/player/vmr9videowindowcontrol.h b/plugins/multimedia/directshow/player/vmr9videowindowcontrol.h
index f7eabda105..665d5ebc28 100644
--- a/plugins/multimedia/directshow/player/vmr9videowindowcontrol.h
+++ b/plugins/multimedia/directshow/player/vmr9videowindowcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp
index 65d3c63112..b948d352c0 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.h
index 060525a369..db8605a978 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.cpp
index 27191aa9e9..775e70a6ad 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.h
index da42fd9b15..5bf52e3b54 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturemetadatacontrol_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.cpp
index 8a0ab735e9..df262e051c 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.h
index b073413196..a04476620a 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercaptureservice_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.cpp
index 0854a03ec6..653157c958 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.h
index 663aeaddd0..0724e6920d 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamercapturesession_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.cpp
index 41c20abcb4..15ea1d72f4 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.h
index 62e5cb5233..9d720d5c08 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamermediacontainercontrol_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp
index 4e60c68ad9..4761c75edd 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.h
index 4f147dcc3c..9c18fe8df3 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.cpp b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.cpp
index fbfbe99edf..bfe94e07b7 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.h b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.h
index 4cb20e2d84..c042efd25c 100644
--- a/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.h
+++ b/plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamervideoencode_maemo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp
index b7c8c74dad..bf7d2750af 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.h b/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.h
index 060525a369..db8605a978 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.cpp
index 79f994cf5f..ad20333b2b 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h
index da42fd9b15..5bf52e3b54 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp
index 8a6f28910f..8b6bf15a24 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.h
index 1688a3829a..04bbf71c16 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp
index eaf97164fc..3482a9c5aa 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.h
index d1f033c62f..ca8a1f4a2f 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
index 8974f4a820..62f2749840 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
index 62e5cb5233..9d720d5c08 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
index ea9a3113b5..2d20191401 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.h
index 80d9fb5784..390e357169 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.cpp
index c510a98194..70907b2dd2 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.h
index f5512ffb4d..5dbdd54532 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamerv4l2input.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.cpp b/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.cpp
index e55098de7b..88df944488 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.cpp
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.h b/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.h
index 4cb20e2d84..c042efd25c 100644
--- a/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.h
+++ b/plugins/multimedia/gstreamer/mediacapture/qgstreamervideoencode.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
index b2f3660d16..e9bf3ddfe1 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.h b/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.h
index ac3b0fd36f..8a37ceb7f3 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.h
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamermetadataprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
index 2558b317af..9aa7ccf6ac 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.h b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.h
index 2b5baa5dec..88a0781629 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.h
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
index ad33177a6b..10888ebfaf 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.h b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.h
index 1f0d303eb8..739e5e2752 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.h
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index 9b2a5d698e..657a3ca83d 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
index 352763d3d8..cc58025b1a 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp
index 18b6b71411..cde3ba8f31 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.h b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
index 15fd45c05e..6c7f1fe0cd 100644
--- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
+++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.cpp b/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.cpp
index 64c3519a30..606f06052c 100644
--- a/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.cpp
+++ b/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.h b/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.h
index d8a7f89175..c9587fcb85 100644
--- a/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.h
+++ b/plugins/multimedia/gstreamer/qgstreameraudioinputendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamerbushelper.cpp b/plugins/multimedia/gstreamer/qgstreamerbushelper.cpp
index 0f09c6b03b..a60ec7fab1 100644
--- a/plugins/multimedia/gstreamer/qgstreamerbushelper.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamerbushelper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamerbushelper.h b/plugins/multimedia/gstreamer/qgstreamerbushelper.h
index fe384321a9..5375c44ae2 100644
--- a/plugins/multimedia/gstreamer/qgstreamerbushelper.h
+++ b/plugins/multimedia/gstreamer/qgstreamerbushelper.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamermessage.cpp b/plugins/multimedia/gstreamer/qgstreamermessage.cpp
index 19cdfb19fa..3b8057e093 100644
--- a/plugins/multimedia/gstreamer/qgstreamermessage.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamermessage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamermessage.h b/plugins/multimedia/gstreamer/qgstreamermessage.h
index 73028d29e5..2bdc2a9c87 100644
--- a/plugins/multimedia/gstreamer/qgstreamermessage.h
+++ b/plugins/multimedia/gstreamer/qgstreamermessage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamerserviceplugin.cpp b/plugins/multimedia/gstreamer/qgstreamerserviceplugin.cpp
index 629bea9d3f..6dbe294f54 100644
--- a/plugins/multimedia/gstreamer/qgstreamerserviceplugin.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamerserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamerserviceplugin.h b/plugins/multimedia/gstreamer/qgstreamerserviceplugin.h
index b66f0c3547..bed2527fa6 100644
--- a/plugins/multimedia/gstreamer/qgstreamerserviceplugin.h
+++ b/plugins/multimedia/gstreamer/qgstreamerserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.cpp b/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.cpp
index 8e7b9fe3e5..16bb5afae0 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.h b/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.h
index 7141d65ad8..a316362394 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideoinputdevicecontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.cpp b/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.cpp
index 10d446f056..54b06630ca 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.h b/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.h
index 2722fd1681..537f5d37e3 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideooverlay.cpp b/plugins/multimedia/gstreamer/qgstreamervideooverlay.cpp
index 6ad73b9a0e..915ea1e5c7 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideooverlay.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideooverlay.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideooverlay.h b/plugins/multimedia/gstreamer/qgstreamervideooverlay.h
index a2d465fbb4..ab8169cbe4 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideooverlay.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideooverlay.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideorenderer.cpp b/plugins/multimedia/gstreamer/qgstreamervideorenderer.cpp
index 7e10fbfdcd..1822b087a8 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideorenderer.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideorenderer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideorenderer.h b/plugins/multimedia/gstreamer/qgstreamervideorenderer.h
index 73925bbdcb..f61393af5b 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideorenderer.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideorenderer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.cpp b/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.cpp
index 57df692e2e..b8358ba1cd 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.h b/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.h
index 3ac49ac3e7..ee7c50099e 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideorendererinterface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideowidget.cpp b/plugins/multimedia/gstreamer/qgstreamervideowidget.cpp
index 423c38b28c..8e58eb8b04 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideowidget.cpp
+++ b/plugins/multimedia/gstreamer/qgstreamervideowidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstreamervideowidget.h b/plugins/multimedia/gstreamer/qgstreamervideowidget.h
index 54600580a2..0f79f7e998 100644
--- a/plugins/multimedia/gstreamer/qgstreamervideowidget.h
+++ b/plugins/multimedia/gstreamer/qgstreamervideowidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstvideobuffer.cpp b/plugins/multimedia/gstreamer/qgstvideobuffer.cpp
index 6fac81915f..4ea6a7004b 100644
--- a/plugins/multimedia/gstreamer/qgstvideobuffer.cpp
+++ b/plugins/multimedia/gstreamer/qgstvideobuffer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstvideobuffer.h b/plugins/multimedia/gstreamer/qgstvideobuffer.h
index bc3c126330..bf244cb4fb 100644
--- a/plugins/multimedia/gstreamer/qgstvideobuffer.h
+++ b/plugins/multimedia/gstreamer/qgstvideobuffer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstxvimagebuffer.cpp b/plugins/multimedia/gstreamer/qgstxvimagebuffer.cpp
index d58625a9ad..148cc39b90 100644
--- a/plugins/multimedia/gstreamer/qgstxvimagebuffer.cpp
+++ b/plugins/multimedia/gstreamer/qgstxvimagebuffer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qgstxvimagebuffer.h b/plugins/multimedia/gstreamer/qgstxvimagebuffer.h
index e5811a0c4a..c09b7149a0 100644
--- a/plugins/multimedia/gstreamer/qgstxvimagebuffer.h
+++ b/plugins/multimedia/gstreamer/qgstxvimagebuffer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qvideosurfacegstsink.cpp b/plugins/multimedia/gstreamer/qvideosurfacegstsink.cpp
index 4c04a23392..21048b5818 100644
--- a/plugins/multimedia/gstreamer/qvideosurfacegstsink.cpp
+++ b/plugins/multimedia/gstreamer/qvideosurfacegstsink.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qvideosurfacegstsink.h b/plugins/multimedia/gstreamer/qvideosurfacegstsink.h
index 689347e475..63ceac62d4 100644
--- a/plugins/multimedia/gstreamer/qvideosurfacegstsink.h
+++ b/plugins/multimedia/gstreamer/qvideosurfacegstsink.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qx11videosurface.cpp b/plugins/multimedia/gstreamer/qx11videosurface.cpp
index 4f0b3456da..413875f567 100644
--- a/plugins/multimedia/gstreamer/qx11videosurface.cpp
+++ b/plugins/multimedia/gstreamer/qx11videosurface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/gstreamer/qx11videosurface.h b/plugins/multimedia/gstreamer/qx11videosurface.h
index 07ae9e7d8d..b3f90a0a83 100644
--- a/plugins/multimedia/gstreamer/qx11videosurface.h
+++ b/plugins/multimedia/gstreamer/qx11videosurface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/m3u/main.cpp b/plugins/multimedia/m3u/main.cpp
index 2483e37679..37400fbd51 100644
--- a/plugins/multimedia/m3u/main.cpp
+++ b/plugins/multimedia/m3u/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/m3u/qm3uhandler.cpp b/plugins/multimedia/m3u/qm3uhandler.cpp
index 66716bf0b7..ac03b8d4c9 100644
--- a/plugins/multimedia/m3u/qm3uhandler.cpp
+++ b/plugins/multimedia/m3u/qm3uhandler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/m3u/qm3uhandler.h b/plugins/multimedia/m3u/qm3uhandler.h
index 6f9850a176..9013137bf2 100644
--- a/plugins/multimedia/m3u/qm3uhandler.h
+++ b/plugins/multimedia/m3u/qm3uhandler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qcvdisplaylink.h b/plugins/multimedia/qt7/qcvdisplaylink.h
index f6a4920bd3..5410775c5a 100644
--- a/plugins/multimedia/qt7/qcvdisplaylink.h
+++ b/plugins/multimedia/qt7/qcvdisplaylink.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qcvdisplaylink.mm b/plugins/multimedia/qt7/qcvdisplaylink.mm
index 5d1b4283c5..ecc4235bd7 100644
--- a/plugins/multimedia/qt7/qcvdisplaylink.mm
+++ b/plugins/multimedia/qt7/qcvdisplaylink.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7backend.h b/plugins/multimedia/qt7/qt7backend.h
index eec8c4d365..f873cbb955 100644
--- a/plugins/multimedia/qt7/qt7backend.h
+++ b/plugins/multimedia/qt7/qt7backend.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7backend.mm b/plugins/multimedia/qt7/qt7backend.mm
index 0c628b32db..83a044dab8 100644
--- a/plugins/multimedia/qt7/qt7backend.mm
+++ b/plugins/multimedia/qt7/qt7backend.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movierenderer.h b/plugins/multimedia/qt7/qt7movierenderer.h
index f43cae4669..693de2d838 100644
--- a/plugins/multimedia/qt7/qt7movierenderer.h
+++ b/plugins/multimedia/qt7/qt7movierenderer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movierenderer.mm b/plugins/multimedia/qt7/qt7movierenderer.mm
index 51503a7068..0a99812da8 100644
--- a/plugins/multimedia/qt7/qt7movierenderer.mm
+++ b/plugins/multimedia/qt7/qt7movierenderer.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movievideowidget.h b/plugins/multimedia/qt7/qt7movievideowidget.h
index a88787048a..6678204364 100644
--- a/plugins/multimedia/qt7/qt7movievideowidget.h
+++ b/plugins/multimedia/qt7/qt7movievideowidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movievideowidget.mm b/plugins/multimedia/qt7/qt7movievideowidget.mm
index 0b16998568..f0a3a1e6cb 100644
--- a/plugins/multimedia/qt7/qt7movievideowidget.mm
+++ b/plugins/multimedia/qt7/qt7movievideowidget.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movieviewoutput.h b/plugins/multimedia/qt7/qt7movieviewoutput.h
index 5d502620b9..fdf12c137b 100644
--- a/plugins/multimedia/qt7/qt7movieviewoutput.h
+++ b/plugins/multimedia/qt7/qt7movieviewoutput.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movieviewoutput.mm b/plugins/multimedia/qt7/qt7movieviewoutput.mm
index 0e6387876b..bb41dd8413 100644
--- a/plugins/multimedia/qt7/qt7movieviewoutput.mm
+++ b/plugins/multimedia/qt7/qt7movieviewoutput.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movieviewrenderer.h b/plugins/multimedia/qt7/qt7movieviewrenderer.h
index 1ef18026e2..2148406b3c 100644
--- a/plugins/multimedia/qt7/qt7movieviewrenderer.h
+++ b/plugins/multimedia/qt7/qt7movieviewrenderer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7movieviewrenderer.mm b/plugins/multimedia/qt7/qt7movieviewrenderer.mm
index 561b88959a..62a5a21a3b 100644
--- a/plugins/multimedia/qt7/qt7movieviewrenderer.mm
+++ b/plugins/multimedia/qt7/qt7movieviewrenderer.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playercontrol.h b/plugins/multimedia/qt7/qt7playercontrol.h
index a646d4d75c..b3371839fc 100644
--- a/plugins/multimedia/qt7/qt7playercontrol.h
+++ b/plugins/multimedia/qt7/qt7playercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playercontrol.mm b/plugins/multimedia/qt7/qt7playercontrol.mm
index 7c4dabfbfe..c4734d1a5d 100644
--- a/plugins/multimedia/qt7/qt7playercontrol.mm
+++ b/plugins/multimedia/qt7/qt7playercontrol.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playermetadata.h b/plugins/multimedia/qt7/qt7playermetadata.h
index 9921120303..5683c5c245 100644
--- a/plugins/multimedia/qt7/qt7playermetadata.h
+++ b/plugins/multimedia/qt7/qt7playermetadata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playermetadata.mm b/plugins/multimedia/qt7/qt7playermetadata.mm
index dcaaa4cc29..76548277cc 100644
--- a/plugins/multimedia/qt7/qt7playermetadata.mm
+++ b/plugins/multimedia/qt7/qt7playermetadata.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playerservice.h b/plugins/multimedia/qt7/qt7playerservice.h
index f658fa4b96..04dffa9c47 100644
--- a/plugins/multimedia/qt7/qt7playerservice.h
+++ b/plugins/multimedia/qt7/qt7playerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playerservice.mm b/plugins/multimedia/qt7/qt7playerservice.mm
index f16f61449c..9765ab8da7 100644
--- a/plugins/multimedia/qt7/qt7playerservice.mm
+++ b/plugins/multimedia/qt7/qt7playerservice.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playersession.h b/plugins/multimedia/qt7/qt7playersession.h
index 41e7d488e9..47e18e9593 100644
--- a/plugins/multimedia/qt7/qt7playersession.h
+++ b/plugins/multimedia/qt7/qt7playersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7playersession.mm b/plugins/multimedia/qt7/qt7playersession.mm
index 87d0ed202f..cff60e88e2 100644
--- a/plugins/multimedia/qt7/qt7playersession.mm
+++ b/plugins/multimedia/qt7/qt7playersession.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7serviceplugin.h b/plugins/multimedia/qt7/qt7serviceplugin.h
index a499953dc8..da4ac9419c 100644
--- a/plugins/multimedia/qt7/qt7serviceplugin.h
+++ b/plugins/multimedia/qt7/qt7serviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7serviceplugin.mm b/plugins/multimedia/qt7/qt7serviceplugin.mm
index 38f0ded11d..b0335f4bbc 100644
--- a/plugins/multimedia/qt7/qt7serviceplugin.mm
+++ b/plugins/multimedia/qt7/qt7serviceplugin.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7videooutputcontrol.h b/plugins/multimedia/qt7/qt7videooutputcontrol.h
index a13ae9a2a9..0ff50c367a 100644
--- a/plugins/multimedia/qt7/qt7videooutputcontrol.h
+++ b/plugins/multimedia/qt7/qt7videooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/qt7/qt7videooutputcontrol.mm b/plugins/multimedia/qt7/qt7videooutputcontrol.mm
index a57ecc3d33..2a9bfd61a6 100644
--- a/plugins/multimedia/qt7/qt7videooutputcontrol.mm
+++ b/plugins/multimedia/qt7/qt7videooutputcontrol.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp b/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp
index f2e868ae57..9a84ceb496 100644
--- a/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp
+++ b/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/common/s60videooutputcontrol.h b/plugins/multimedia/symbian/common/s60videooutputcontrol.h
index 10d21b7ab6..e1f3880679 100644
--- a/plugins/multimedia/symbian/common/s60videooutputcontrol.h
+++ b/plugins/multimedia/symbian/common/s60videooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.cpp
index fac5927a7e..023009d1ab 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.h b/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.h
index 18cddbd525..b975eb0d13 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocaptureservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.cpp
index 52d5b7b9ac..1f4cddb1ec 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.h b/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.h
index 35d006c40d..8f6b58ba7d 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocapturesession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.cpp
index ed5260fc9c..f68942efc2 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.h b/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.h
index 9a179632ec..3d328e3b46 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiocontainercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.cpp
index cffad40465..69d8c9f0df 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.h b/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.h
index de9e56b525..8e2eb96942 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audioencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.cpp
index 98b709ff32..b6b0cbdc51 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.h b/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.h
index 316fd21f20..ced5ef86df 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audioendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.cpp b/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.cpp
index 2e8f9bd54e..b9bf4f6f73 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.cpp
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.h b/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.h
index b8c864f156..7d2f48c8eb 100644
--- a/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.h
+++ b/plugins/multimedia/symbian/mmf/audiosource/s60audiomediarecordercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/ms60mediaplayerresolver.h b/plugins/multimedia/symbian/mmf/mediaplayer/ms60mediaplayerresolver.h
index 4b427ef2de..d836dae3ef 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/ms60mediaplayerresolver.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/ms60mediaplayerresolver.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.cpp
index 1248330608..ef2c9d9b44 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h
index 51d486628e..934b381b75 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.cpp
index b05da12895..980937f1ce 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.h
index f3807ef15f..1a2e205cfc 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediametadataprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp
index d592ce6d8e..d29a89c0cf 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h
index eb8215b005..638cbd42b6 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp
index cb711d332c..7c25cb0fec 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.h
index af3879b789..d3d912f37a 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp
index b80df24024..e599fb61b6 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.h
index 28f13a16f8..ebd98bee32 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
index f01d055b8a..f52d700b02 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -472,20 +472,20 @@ void S60MediaPlayerSession::stopStalledTimer()
{
m_stalledTimer->stop();
}
-QString S60MediaPlayerSession::TDesC2QString(const TDesC& aDescriptor)
-{
- return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length());
-}
-TPtrC S60MediaPlayerSession::QString2TPtrC( const QString& string )
-{
- // Returned TPtrC is valid as long as the given parameter is valid and unmodified
- return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length());
-}
-QRect S60MediaPlayerSession::TRect2QRect(const TRect& tr)
-{
- return QRect(tr.iTl.iX, tr.iTl.iY, tr.Width(), tr.Height());
-}
-TRect S60MediaPlayerSession::QRect2TRect(const QRect& qr)
-{
- return TRect(TPoint(qr.left(), qr.top()), TSize(qr.width(), qr.height()));
+QString S60MediaPlayerSession::TDesC2QString(const TDesC& aDescriptor)
+{
+ return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length());
+}
+TPtrC S60MediaPlayerSession::QString2TPtrC( const QString& string )
+{
+ // Returned TPtrC is valid as long as the given parameter is valid and unmodified
+ return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length());
+}
+QRect S60MediaPlayerSession::TRect2QRect(const TRect& tr)
+{
+ return QRect(tr.iTl.iX, tr.iTl.iY, tr.Width(), tr.Height());
+}
+TRect S60MediaPlayerSession::QRect2TRect(const QRect& qr)
+{
+ return TRect(TPoint(qr.left(), qr.top()), TSize(qr.width(), qr.height()));
}
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
index 60f854f66b..1330541be3 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -124,7 +124,7 @@ protected:
void stopProgressTimer();
void startStalledTimer();
void stopStalledTimer();
- QString TDesC2QString(const TDesC& aDescriptor);
+ QString TDesC2QString(const TDesC& aDescriptor);
TPtrC QString2TPtrC( const QString& string );
QRect TRect2QRect(const TRect& tr);
TRect QRect2TRect(const QRect& qr);
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp
index 91db159417..2a8a662f68 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.h
index 493be90942..847b79e9e6 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.cpp
index 6c36046424..603d25ee04 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.h
index 4fd27ee2fb..6e2f9e74c7 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videooverlay.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp
index 29244d8655..e6d9274e11 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h
index 56eef5fc90..14a59b00ee 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.cpp
index 55c55502a6..6b433d2cc8 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.h
index f725bcd068..1086edd75a 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videorenderer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.cpp
index 9fd83f6661..93d8cddfb8 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.h
index d3eebae8cc..1fd565fe4f 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videosurface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.cpp
index c093c97dea..b8588fff00 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.cpp
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.h
index e0c4b65e51..bb2c165b00 100644
--- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.h
+++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videowidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.cpp b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.cpp
index 93c26e4a9f..ca6558882f 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.cpp
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.h b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.h
index 3e2198e660..c1291b48b0 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.h
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_31.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp
index 1517cb6ce8..7364661a0b 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.h b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.h
index 7183794edb..3cb3554425 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.h
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.cpp b/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.cpp
index 33b8c94832..06eb9203b4 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.cpp
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.h b/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.h
index 946b726e73..fc937184be 100644
--- a/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.h
+++ b/plugins/multimedia/symbian/mmf/radio/s60radiotunerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.cpp b/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.cpp
index f5b7bf22cb..1846a557e0 100644
--- a/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.cpp
+++ b/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.h b/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.h
index 8e6c7165f5..a4985c8b4f 100644
--- a/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.h
+++ b/plugins/multimedia/symbian/mmf/s60mediaserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.cpp
index 38bbffd479..2826f79a2f 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.h
index 745b82649b..117d36fdce 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.cpp
index 1b7659bbce..7e546595c3 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.h
index 6e74a39026..5fbadbc643 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxaaudioendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxacommon.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxacommon.h
index 06e0653002..dcd21cef26 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxacommon.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxacommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.cpp
index e8ad19bcd2..0d97fd5e5a 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.h
index ec6649bc3f..4b05fc190d 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediacontainercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.cpp
index 2f21f1a081..182e444fd1 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.h
index 70e19944cf..c12d307b99 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxamediarecordercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.cpp
index 75b6dd4baa..7edf56b595 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.h
index b3b3389d79..e56b016acd 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.cpp
index bace9eb282..62421a58be 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.h
index a6f66c73dc..5d1363f486 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordmediaserviceproviderplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp
index 24da04cbdd..d00f233338 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -57,7 +57,7 @@ Q_DECLARE_METATYPE(QList<int>)
#define RETURN_s_IF_m_impl_IS_NULL(s) \
if (!m_impl) { \
- emit error(QMediaRecorder::ResourceError, tr("Service has not been started")); \
+ emit error(QMediaRecorder::ResourceError, QXARecordSession::tr("Service has not been started")); \
SIGNAL_EMIT_TRACE1("emit error(QMediaRecorder::ResourceError, tr(\"Service has not been started\"))"); \
return s; \
}
@@ -68,7 +68,7 @@ Q_DECLARE_METATYPE(QList<int>)
*/
#define RETURN_IF_m_impl_IS_NULL \
if (!m_impl) { \
- emit error(QMediaRecorder::ResourceError, tr("Service has not been started")); \
+ emit error(QMediaRecorder::ResourceError, QXARecordSession::tr("Service has not been started")); \
SIGNAL_EMIT_TRACE1("emit error(QMediaRecorder::ResourceError, tr(\"Service has not been started\"))"); \
return; \
}
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.h
index 2f2cd30594..3c76d11865 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessioncommon.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessioncommon.h
index 8b6fc4b3fd..95d748f9ef 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessioncommon.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessioncommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.cpp b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.cpp
index 0303886fee..b03cbff789 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.cpp
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.h b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.h
index e5280e4e6e..64796ef7dd 100644
--- a/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.h
+++ b/plugins/multimedia/symbian/openmaxal/mediarecorder/xarecordsessionimpl.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp b/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp
index 92c36e976a..ae7c21c72c 100644
--- a/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp
+++ b/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradiocontrol.h b/plugins/multimedia/v4l/radio/v4lradiocontrol.h
index ac031a42ae..201e6d6873 100644
--- a/plugins/multimedia/v4l/radio/v4lradiocontrol.h
+++ b/plugins/multimedia/v4l/radio/v4lradiocontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.cpp b/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.cpp
index 07d1cc7720..ce11e97bf8 100644
--- a/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.cpp
+++ b/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.h b/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.h
index 70c54fba11..77f5d016cf 100644
--- a/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.h
+++ b/plugins/multimedia/v4l/radio/v4lradiocontrol_maemo5.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradioservice.cpp b/plugins/multimedia/v4l/radio/v4lradioservice.cpp
index 44dd408d05..9b3037d324 100644
--- a/plugins/multimedia/v4l/radio/v4lradioservice.cpp
+++ b/plugins/multimedia/v4l/radio/v4lradioservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/radio/v4lradioservice.h b/plugins/multimedia/v4l/radio/v4lradioservice.h
index 7e82b46a74..f256b6b936 100644
--- a/plugins/multimedia/v4l/radio/v4lradioservice.h
+++ b/plugins/multimedia/v4l/radio/v4lradioservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/v4lserviceplugin.cpp b/plugins/multimedia/v4l/v4lserviceplugin.cpp
index 0a2e6b94c2..3e02be9fa7 100644
--- a/plugins/multimedia/v4l/v4lserviceplugin.cpp
+++ b/plugins/multimedia/v4l/v4lserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/v4l/v4lserviceplugin.h b/plugins/multimedia/v4l/v4lserviceplugin.h
index 9342ccb1c4..b95d70358a 100644
--- a/plugins/multimedia/v4l/v4lserviceplugin.h
+++ b/plugins/multimedia/v4l/v4lserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qevrvideooverlay.cpp b/plugins/multimedia/wmp/qevrvideooverlay.cpp
index 56e0eb3380..8840ac8dd2 100644
--- a/plugins/multimedia/wmp/qevrvideooverlay.cpp
+++ b/plugins/multimedia/wmp/qevrvideooverlay.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qevrvideooverlay.h b/plugins/multimedia/wmp/qevrvideooverlay.h
index 496646f44e..0f7f31e5b4 100644
--- a/plugins/multimedia/wmp/qevrvideooverlay.h
+++ b/plugins/multimedia/wmp/qevrvideooverlay.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qmfactivate.cpp b/plugins/multimedia/wmp/qmfactivate.cpp
index 15c3192f60..8cd64b0e47 100644
--- a/plugins/multimedia/wmp/qmfactivate.cpp
+++ b/plugins/multimedia/wmp/qmfactivate.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qmfactivate.h b/plugins/multimedia/wmp/qmfactivate.h
index c7982a094a..0e16926890 100644
--- a/plugins/multimedia/wmp/qmfactivate.h
+++ b/plugins/multimedia/wmp/qmfactivate.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpevents.cpp b/plugins/multimedia/wmp/qwmpevents.cpp
index d2df920286..66df07b4a6 100644
--- a/plugins/multimedia/wmp/qwmpevents.cpp
+++ b/plugins/multimedia/wmp/qwmpevents.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpevents.h b/plugins/multimedia/wmp/qwmpevents.h
index a200abde9e..1fb40309d1 100644
--- a/plugins/multimedia/wmp/qwmpevents.h
+++ b/plugins/multimedia/wmp/qwmpevents.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpglobal.cpp b/plugins/multimedia/wmp/qwmpglobal.cpp
index ae10c896e1..4196bbc4f4 100644
--- a/plugins/multimedia/wmp/qwmpglobal.cpp
+++ b/plugins/multimedia/wmp/qwmpglobal.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpglobal.h b/plugins/multimedia/wmp/qwmpglobal.h
index 8dcef41b39..f8152903f9 100644
--- a/plugins/multimedia/wmp/qwmpglobal.h
+++ b/plugins/multimedia/wmp/qwmpglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpmetadata.cpp b/plugins/multimedia/wmp/qwmpmetadata.cpp
index a59136710a..9ed76c1873 100644
--- a/plugins/multimedia/wmp/qwmpmetadata.cpp
+++ b/plugins/multimedia/wmp/qwmpmetadata.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpmetadata.h b/plugins/multimedia/wmp/qwmpmetadata.h
index d1bd6f63d2..f8d13894a9 100644
--- a/plugins/multimedia/wmp/qwmpmetadata.h
+++ b/plugins/multimedia/wmp/qwmpmetadata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplayercontrol.cpp b/plugins/multimedia/wmp/qwmpplayercontrol.cpp
index ae93caff94..ed3b4e0998 100644
--- a/plugins/multimedia/wmp/qwmpplayercontrol.cpp
+++ b/plugins/multimedia/wmp/qwmpplayercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplayercontrol.h b/plugins/multimedia/wmp/qwmpplayercontrol.h
index 9d282c5102..52bb3cbb95 100644
--- a/plugins/multimedia/wmp/qwmpplayercontrol.h
+++ b/plugins/multimedia/wmp/qwmpplayercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplayerservice.cpp b/plugins/multimedia/wmp/qwmpplayerservice.cpp
index f8291c81f8..895feee473 100644
--- a/plugins/multimedia/wmp/qwmpplayerservice.cpp
+++ b/plugins/multimedia/wmp/qwmpplayerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplayerservice.h b/plugins/multimedia/wmp/qwmpplayerservice.h
index 823779e39b..4d005d169b 100644
--- a/plugins/multimedia/wmp/qwmpplayerservice.h
+++ b/plugins/multimedia/wmp/qwmpplayerservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplaylist.cpp b/plugins/multimedia/wmp/qwmpplaylist.cpp
index 6d287f7fa5..10ce753b17 100644
--- a/plugins/multimedia/wmp/qwmpplaylist.cpp
+++ b/plugins/multimedia/wmp/qwmpplaylist.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplaylist.h b/plugins/multimedia/wmp/qwmpplaylist.h
index 158508cca9..be168a7b5c 100644
--- a/plugins/multimedia/wmp/qwmpplaylist.h
+++ b/plugins/multimedia/wmp/qwmpplaylist.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplaylistcontrol.cpp b/plugins/multimedia/wmp/qwmpplaylistcontrol.cpp
index e3a3e94560..9e84b9afff 100644
--- a/plugins/multimedia/wmp/qwmpplaylistcontrol.cpp
+++ b/plugins/multimedia/wmp/qwmpplaylistcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpplaylistcontrol.h b/plugins/multimedia/wmp/qwmpplaylistcontrol.h
index b152ad4edf..cf519aebb3 100644
--- a/plugins/multimedia/wmp/qwmpplaylistcontrol.h
+++ b/plugins/multimedia/wmp/qwmpplaylistcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpserviceprovider.cpp b/plugins/multimedia/wmp/qwmpserviceprovider.cpp
index 5397750518..eec06008e2 100644
--- a/plugins/multimedia/wmp/qwmpserviceprovider.cpp
+++ b/plugins/multimedia/wmp/qwmpserviceprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpserviceprovider.h b/plugins/multimedia/wmp/qwmpserviceprovider.h
index 3b8d5def1e..d58fb3bc8c 100644
--- a/plugins/multimedia/wmp/qwmpserviceprovider.h
+++ b/plugins/multimedia/wmp/qwmpserviceprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpvideooutputcontrol.cpp b/plugins/multimedia/wmp/qwmpvideooutputcontrol.cpp
index c0cd89ecd0..7494bd1cdc 100644
--- a/plugins/multimedia/wmp/qwmpvideooutputcontrol.cpp
+++ b/plugins/multimedia/wmp/qwmpvideooutputcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpvideooutputcontrol.h b/plugins/multimedia/wmp/qwmpvideooutputcontrol.h
index ae710dd40f..ad30915fa0 100644
--- a/plugins/multimedia/wmp/qwmpvideooutputcontrol.h
+++ b/plugins/multimedia/wmp/qwmpvideooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpvideooverlay.cpp b/plugins/multimedia/wmp/qwmpvideooverlay.cpp
index 8d9c73c433..bb8a1bc20c 100644
--- a/plugins/multimedia/wmp/qwmpvideooverlay.cpp
+++ b/plugins/multimedia/wmp/qwmpvideooverlay.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/multimedia/wmp/qwmpvideooverlay.h b/plugins/multimedia/wmp/qwmpvideooverlay.h
index e4790ca465..2c3b77de8f 100644
--- a/plugins/multimedia/wmp/qwmpvideooverlay.h
+++ b/plugins/multimedia/wmp/qwmpvideooverlay.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/dummy/dummy.pro b/plugins/sensors/dummy/dummy.pro
index c1a6baa78e..0a261852c9 100644
--- a/plugins/sensors/dummy/dummy.pro
+++ b/plugins/sensors/dummy/dummy.pro
@@ -10,7 +10,6 @@ include(../../../common.pri)
TARGET = $$qtLibraryTarget(qtsensors_dummy)
-symbian:TARGET.EPOCALLOWDLLDATA = 1
QT=core
CONFIG+=mobility
diff --git a/plugins/sensors/dummy/dummyaccelerometer.cpp b/plugins/sensors/dummy/dummyaccelerometer.cpp
index 99abe2e1c5..5db80f5288 100644
--- a/plugins/sensors/dummy/dummyaccelerometer.cpp
+++ b/plugins/sensors/dummy/dummyaccelerometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,14 +43,13 @@
#include <QDebug>
#include <QtGlobal>
-const char *dummyaccelerometer::id("dummy.accelerometer");
+char const * const dummyaccelerometer::id("dummy.accelerometer");
dummyaccelerometer::dummyaccelerometer(QSensor *sensor)
: dummycommon(sensor)
{
setReading<QAccelerometerReading>(&m_reading);
addDataRate(100, 100); // 100Hz
- sensor->setDataRate(100); // default is 100Hz
}
void dummyaccelerometer::poll()
diff --git a/plugins/sensors/dummy/dummyaccelerometer.h b/plugins/sensors/dummy/dummyaccelerometer.h
index b0810667bb..f912929609 100644
--- a/plugins/sensors/dummy/dummyaccelerometer.h
+++ b/plugins/sensors/dummy/dummyaccelerometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,7 +50,7 @@ QTM_USE_NAMESPACE
class dummyaccelerometer : public dummycommon
{
public:
- static const char *id;
+ static char const * const id;
dummyaccelerometer(QSensor *sensor);
diff --git a/plugins/sensors/dummy/dummycommon.cpp b/plugins/sensors/dummy/dummycommon.cpp
index baf956e296..e0ae46f7f9 100644
--- a/plugins/sensors/dummy/dummycommon.cpp
+++ b/plugins/sensors/dummy/dummycommon.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -60,9 +60,16 @@ void dummycommon::start()
if (m_timerid)
return;
- int interval = 1000 / sensor()->dataRate();
- if (interval < 0)
- interval = 1000;
+ int dataRate = sensor()->dataRate();
+ if (dataRate == 0) {
+ if (sensor()->availableDataRates().count())
+ // Use the first available rate when -1 is chosen
+ dataRate = sensor()->availableDataRates().first().first;
+ else
+ dataRate = 1;
+ }
+
+ int interval = 1000 / dataRate;
if (interval)
m_timerid = startTimer(interval);
diff --git a/plugins/sensors/dummy/dummycommon.h b/plugins/sensors/dummy/dummycommon.h
index ddf65df15a..c910e594ae 100644
--- a/plugins/sensors/dummy/dummycommon.h
+++ b/plugins/sensors/dummy/dummycommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/dummy/dummylightsensor.cpp b/plugins/sensors/dummy/dummylightsensor.cpp
index c99775b8f8..a4bc6fe828 100644
--- a/plugins/sensors/dummy/dummylightsensor.cpp
+++ b/plugins/sensors/dummy/dummylightsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,12 +43,13 @@
#include <QDebug>
#include <QtGlobal>
-const char *dummylightsensor::id("dummy.lightsensor");
+char const * const dummylightsensor::id("dummy.lightsensor");
dummylightsensor::dummylightsensor(QSensor *sensor)
: dummycommon(sensor)
{
setReading<QAmbientLightReading>(&m_reading);
+ addDataRate(100,100);
}
void dummylightsensor::poll()
diff --git a/plugins/sensors/dummy/dummylightsensor.h b/plugins/sensors/dummy/dummylightsensor.h
index f0283d6e23..1b7e8fbb89 100644
--- a/plugins/sensors/dummy/dummylightsensor.h
+++ b/plugins/sensors/dummy/dummylightsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,7 +50,7 @@ QTM_USE_NAMESPACE
class dummylightsensor : public dummycommon
{
public:
- static const char *id;
+ static char const * const id;
dummylightsensor(QSensor *sensor);
diff --git a/plugins/sensors/dummy/main.cpp b/plugins/sensors/dummy/main.cpp
index f7f052587c..99563ebf67 100644
--- a/plugins/sensors/dummy/main.cpp
+++ b/plugins/sensors/dummy/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/generic/generic.pro b/plugins/sensors/generic/generic.pro
index ee09764efe..77500a3f73 100644
--- a/plugins/sensors/generic/generic.pro
+++ b/plugins/sensors/generic/generic.pro
@@ -11,13 +11,13 @@ include(generic.pri)
include(../../../common.pri)
symbian {
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0x2002BFC3
- TARGET.CAPABILITY = ALL -TCB
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x2002BFC3
+ TARGET.CAPABILITY = ALL -TCB
- pluginDep.sources = $${TARGET}.dll
- pluginDep.path = $${QT_PLUGINS_BASE_DIR}/$${PLUGIN_TYPE}
- DEPLOYMENT += pluginDep
+ pluginDep.sources = $${TARGET}.dll
+ pluginDep.path = $${QT_PLUGINS_BASE_DIR}/$${PLUGIN_TYPE}
+ DEPLOYMENT += pluginDep
}
QT=core
diff --git a/plugins/sensors/generic/genericorientationsensor.cpp b/plugins/sensors/generic/genericorientationsensor.cpp
index acea82277e..483c4e9ade 100644
--- a/plugins/sensors/generic/genericorientationsensor.cpp
+++ b/plugins/sensors/generic/genericorientationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -42,7 +42,7 @@
#include "genericorientationsensor.h"
#include <QDebug>
-const char *genericorientationsensor::id("generic.orientation");
+char const * const genericorientationsensor::id("generic.orientation");
genericorientationsensor::genericorientationsensor(QSensor *sensor)
: QSensorBackend(sensor)
diff --git a/plugins/sensors/generic/genericorientationsensor.h b/plugins/sensors/generic/genericorientationsensor.h
index 8d436bb44b..91016484c8 100644
--- a/plugins/sensors/generic/genericorientationsensor.h
+++ b/plugins/sensors/generic/genericorientationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -51,7 +51,7 @@ QTM_USE_NAMESPACE
class genericorientationsensor : public QSensorBackend, public QAccelerometerFilter
{
public:
- static const char *id;
+ static char const * const id;
genericorientationsensor(QSensor *sensor);
diff --git a/plugins/sensors/generic/genericrotationsensor.cpp b/plugins/sensors/generic/genericrotationsensor.cpp
index 143db32d99..4c735c1071 100644
--- a/plugins/sensors/generic/genericrotationsensor.cpp
+++ b/plugins/sensors/generic/genericrotationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,7 @@
#define RADIANS_TO_DEGREES 57.2957795
-const char *genericrotationsensor::id("generic.rotation");
+char const * const genericrotationsensor::id("generic.rotation");
genericrotationsensor::genericrotationsensor(QSensor *sensor)
: QSensorBackend(sensor)
diff --git a/plugins/sensors/generic/genericrotationsensor.h b/plugins/sensors/generic/genericrotationsensor.h
index df890b94d5..d690b1fdd8 100644
--- a/plugins/sensors/generic/genericrotationsensor.h
+++ b/plugins/sensors/generic/genericrotationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -52,7 +52,7 @@ QTM_USE_NAMESPACE
class genericrotationsensor : public QSensorBackend, public QSensorFilter
{
public:
- static const char *id;
+ static char const * const id;
genericrotationsensor(QSensor *sensor);
diff --git a/plugins/sensors/generic/main.cpp b/plugins/sensors/generic/main.cpp
index 93ac50c9b3..dd096b4faa 100644
--- a/plugins/sensors/generic/main.cpp
+++ b/plugins/sensors/generic/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/generic/plugin_commonU.def b/plugins/sensors/generic/plugin_commonU.def
deleted file mode 100644
index 9212bb6091..0000000000
--- a/plugins/sensors/generic/plugin_commonU.def
+++ /dev/null
@@ -1,16 +0,0 @@
-; ==============================================================================
-; Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-19T08:14:19
-; This file is generated by qmake and should not be modified by the
-; user.
-; Name : plugin_commonU.def
-; Part of : sensors_generic
-; Description : Fixes common plugin symbols to known ordinals
-; Version :
-;
-; ==============================================================================
-
-
-EXPORTS
- qt_plugin_query_verification_data @ 1 NONAME
- qt_plugin_instance @ 2 NONAME
-
diff --git a/plugins/sensors/maemo6/maemo6.pro b/plugins/sensors/maemo6/maemo6.pro
index a17244a70a..478abf987f 100644
--- a/plugins/sensors/maemo6/maemo6.pro
+++ b/plugins/sensors/maemo6/maemo6.pro
@@ -15,3 +15,6 @@ CONFIG += mobility
MOBILITY += sensors
CONFIG += link_pkgconfig
PKGCONFIG += sensord
+
+target.path=$$[QT_INSTALL_PLUGINS]/$${PLUGIN_TYPE}
+INSTALLS += target
diff --git a/plugins/sensors/maemo6/maemo6accelerometer.cpp b/plugins/sensors/maemo6/maemo6accelerometer.cpp
index 8623e734d8..1f0b5f2ac4 100644
--- a/plugins/sensors/maemo6/maemo6accelerometer.cpp
+++ b/plugins/sensors/maemo6/maemo6accelerometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,31 +47,28 @@ bool maemo6accelerometer::m_initDone = false;
maemo6accelerometer::maemo6accelerometer(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QAccelerometerReading>(&m_reading);
-
- if (!m_initDone) {
- qDBusRegisterMetaType<XYZ>();
-
- initSensor<AccelerometerSensorChannelInterface>("accelerometersensor");
+ const QString sensorName = "accelerometersensor";
+ initSensor<AccelerometerSensorChannelInterface>(sensorName, m_initDone);
- if (m_sensorInterface)
- QObject::connect(static_cast<AccelerometerSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const XYZ&)), this, SLOT(slotDataAvailable(const XYZ&)));
- else
- qWarning() << "Unable to initialize accelerometer sensor.";
- // adding metadata
- addDataRate(142, 142); // 142Hz
- sensor->setDataRate(142);
- //addDataRate(400, 400); // 400Hz
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const XYZ&)),
+ this, SLOT(slotDataAvailable(const XYZ&)))))
+ qWarning() << "Unable to connect "<< sensorName;
+ }
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
- // accuracy - or resolution???
- // 2^8 = 256 256/2 - 1 = 127
- addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
- addOutputRange(-8*GRAVITY_EARTH, 8*GRAVITY_EARTH, 8*GRAVITY_EARTH/127); // 8G
- setDescription(QLatin1String("Measures x, y, and z axes accelerations in m/s^2"));
+ setReading<QAccelerometerReading>(&m_reading);
+ // adding metadata
+ addDataRate(1, 130); // 130 Hz
+ //addDataRate(400, 400); // 400Hz
- m_initDone = true;
- }
+ // accuracy - or resolution???
+ // 2^8 = 256 256/2 - 1 = 127
+ addOutputRange(-2*GRAVITY_EARTH, 2*GRAVITY_EARTH, 2*GRAVITY_EARTH/127); // 2G
+ //addOutputRange(-8*GRAVITY_EARTH, 8*GRAVITY_EARTH, 8*GRAVITY_EARTH/127); // 8G
+ setDescription(QLatin1String("Measures x, y, and z axes accelerations in m/s^2"));
}
void maemo6accelerometer::slotDataAvailable(const XYZ& data)
@@ -85,7 +82,6 @@ void maemo6accelerometer::slotDataAvailable(const XYZ& data)
m_reading.setX(ax);
m_reading.setY(ay);
m_reading.setZ(az);
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.XYZData().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6accelerometer.h b/plugins/sensors/maemo6/maemo6accelerometer.h
index 9a5c879b23..fadaa37712 100644
--- a/plugins/sensors/maemo6/maemo6accelerometer.h
+++ b/plugins/sensors/maemo6/maemo6accelerometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,10 +44,9 @@
#include "maemo6sensorbase.h"
#include <qaccelerometer.h>
-#include <qsensorbackend.h>
-#include <sensord/accelerometersensor_i.h>
-#include <sensord/datatypes/xyz.h>
+#include <accelerometersensor_i.h>
+#include <datatypes/xyz.h>
QTM_USE_NAMESPACE
@@ -57,7 +56,6 @@ class maemo6accelerometer : public maemo6sensorbase
public:
static const char *id;
-
maemo6accelerometer(QSensor *sensor);
private:
diff --git a/plugins/sensors/maemo6/maemo6als.cpp b/plugins/sensors/maemo6/maemo6als.cpp
index 40512c9acc..4a6cdace72 100644
--- a/plugins/sensors/maemo6/maemo6als.cpp
+++ b/plugins/sensors/maemo6/maemo6als.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,48 +47,46 @@ bool maemo6als::m_initDone = false;
maemo6als::maemo6als(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QAmbientLightReading>(&m_reading);
- if (!m_initDone) {
- initSensor<ALSSensorChannelInterface>("alssensor");
-
- if (m_sensorInterface)
- QObject::connect(static_cast<const ALSSensorChannelInterface*>(m_sensorInterface), SIGNAL(ALSChanged(const int&)), this, SLOT(slotDataAvailable(const int&)));
- else
- qWarning() << "Unable to initialize ambient light sensor.";
+ const QString sensorName = "alssensor";
+ initSensor<ALSSensorChannelInterface>(sensorName, m_initDone);
- // metadata
- addDataRate(1, 1); // 1Hz
- sensor->setDataRate(1);
- addOutputRange(0, 5, 1);
- setDescription(QLatin1String("Ambient light intensity given as 5 pre-defined levels"));
- m_initDone = true;
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(ALSChanged(const Unsigned&)),
+ this, SLOT(slotDataAvailable(const Unsigned&)))))
+ qWarning() << "Unable to connect "<< sensorName;
}
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
+ setReading<QAmbientLightReading>(&m_reading);
+ // metadata
+ addDataRate(1, 1); // 1 Hz
+ addOutputRange(0, 5, 1);
+ setDescription(QLatin1String("Measures ambient light intensity given as 5 pre-defined levels"));
}
-void maemo6als::slotDataAvailable(const int& data)
+void maemo6als::slotDataAvailable(const Unsigned& data)
{
// Convert from integer to fixed levels
// TODO: verify levels
QAmbientLightReading::LightLevel level;
- if (data < 0) {
+ int x = data.x();
+ if (x < 0) {
level = QAmbientLightReading::Undefined;
- } else if (data < 10) {
+ } else if (x < 10) {
level = QAmbientLightReading::Dark;
- } else if (data < 50) {
+ } else if (x < 50) {
level = QAmbientLightReading::Twilight;
- } else if (data < 100) {
+ } else if (x < 100) {
level = QAmbientLightReading::Light;
- } else if (data < 150) {
+ } else if (x < 150) {
level = QAmbientLightReading::Bright;
} else {
level = QAmbientLightReading::Sunny;
}
-
if (level != m_reading.lightLevel()) {
m_reading.setLightLevel(level);
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
}
}
diff --git a/plugins/sensors/maemo6/maemo6als.h b/plugins/sensors/maemo6/maemo6als.h
index 440bc7021b..e66ee4a032 100644
--- a/plugins/sensors/maemo6/maemo6als.h
+++ b/plugins/sensors/maemo6/maemo6als.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,8 @@
#include "maemo6sensorbase.h"
#include <qambientlightsensor.h>
-#include <sensord/alssensor_i.h>
+#include <alssensor_i.h>
+#include <unsigned.h>
QTM_USE_NAMESPACE
@@ -55,7 +56,6 @@ class maemo6als : public maemo6sensorbase
public:
static const char *id;
-
maemo6als(QSensor *sensor);
private:
@@ -63,7 +63,7 @@ private:
static bool m_initDone;
private slots:
- void slotDataAvailable(const int& data);
+ void slotDataAvailable(const Unsigned& data);
};
#endif
diff --git a/plugins/sensors/maemo6/maemo6compass.cpp b/plugins/sensors/maemo6/maemo6compass.cpp
index 7ed6261f1b..854a382d77 100644
--- a/plugins/sensors/maemo6/maemo6compass.cpp
+++ b/plugins/sensors/maemo6/maemo6compass.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,48 +47,34 @@ bool maemo6compass::m_initDone = false;
maemo6compass::maemo6compass(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QCompassReading>(&m_reading);
-
- if (!m_initDone) {
- initSensor<CompassSensorChannelInterface>("compasssensor");
-
- if (m_sensorInterface) {
- QObject::connect(static_cast<CompassSensorChannelInterface*>(m_sensorInterface), SIGNAL(levelChanged(const int&)), this, SLOT(slotLevelChanged(const int&)));
- QObject::connect(static_cast<CompassSensorChannelInterface*>(m_sensorInterface), SIGNAL(degreesChanged(const int&)), this, SLOT(slotDegreesChanged(const int&)));
- } else {
- qWarning() << "Unable to initialize compass sensor.";
- }
+ const QString sensorName = "compasssensor";
+ initSensor<CompassSensorChannelInterface>(sensorName, m_initDone);
- // metadata TODO accuracy
- addDataRate(43, 43); // 43Hz
- sensor->setDataRate(43);
- addOutputRange(0, 359, 1);
- setDescription(QLatin1String("Measures compass north in degrees"));
-
- m_initDone = true;
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const Compass&)),
+ this, SLOT(slotDataAvailable(const Compass&)))))
+ qWarning() << "Unable to connect "<< sensorName;
}
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
+
+ setReading<QCompassReading>(&m_reading);
+ // metadata
+ addDataRate(1, 130); // 43 Hz
+ addOutputRange(0, 359, 1);
+ setDescription(QLatin1String("Measures compass north in degrees"));
}
-void maemo6compass::slotLevelChanged(const int& level)
+void maemo6compass::slotDataAvailable(const Compass& data)
{
// The scale for level is [0,3], where 3 is the best
// Qt: Measured as a value from 0 to 1 with higher values being better.
- float l = ((float) level) / 3.0;
+ m_reading.setCalibrationLevel(((float) data.level()) / 3.0);
- qreal calibrationLevel = l;
- m_reading.setCalibrationLevel(calibrationLevel);
- //m_reading.setTimestamp(level.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
- newReadingAvailable();
-}
-
-void maemo6compass::slotDegreesChanged(const int& degrees)
-{
// The scale for degrees from sensord is [0,359]
// Value can be directly used as azimuth
- qreal azimuth = degrees;
- m_reading.setAzimuth(azimuth);
- //m_reading.setTimestamp(degrees.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setAzimuth(data.degrees());
+
+ m_reading.setTimestamp(data.data().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6compass.h b/plugins/sensors/maemo6/maemo6compass.h
index dc3297982b..3ebc269d17 100644
--- a/plugins/sensors/maemo6/maemo6compass.h
+++ b/plugins/sensors/maemo6/maemo6compass.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,9 +44,9 @@
#include "maemo6sensorbase.h"
#include <qcompass.h>
-#include <qsensorbackend.h>
-#include <sensord/compasssensor_i.h>
+#include <compasssensor_i.h>
+#include <compass.h>
QTM_USE_NAMESPACE
@@ -63,8 +63,7 @@ private:
static bool m_initDone;
private slots:
- void slotLevelChanged(const int& level);
- void slotDegreesChanged(const int& degrees);
+ void slotDataAvailable(const Compass& data);
};
#endif
diff --git a/plugins/sensors/maemo6/maemo6magnetometer.cpp b/plugins/sensors/maemo6/maemo6magnetometer.cpp
index fafc0785b5..ba424b34cb 100644
--- a/plugins/sensors/maemo6/maemo6magnetometer.cpp
+++ b/plugins/sensors/maemo6/maemo6magnetometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,33 +45,38 @@ const char *maemo6magnetometer::id("maemo6.magnetometer");
bool maemo6magnetometer::m_initDone = false;
maemo6magnetometer::maemo6magnetometer(QSensor *sensor)
- : maemo6sensorbase(sensor), m_sensor(sensor)
+ : maemo6sensorbase(sensor)
{
- setReading<QMagnetometerReading>(&m_reading);
+ const QString sensorName = "magnetometersensor";
+ initSensor<MagnetometerSensorChannelInterface>(sensorName, m_initDone);
- if (!m_initDone) {
- qDBusRegisterMetaType<MagneticField>();
- initSensor<MagnetometerSensorChannelInterface>("magnetometersensor");
- if (m_sensorInterface)
- QObject::connect(static_cast<const MagnetometerSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const MagneticField&)), this, SLOT(slotDataAvailable(const MagneticField&)));
- else
- qWarning() << "Unable to initialize magnetometer sensor.";
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const MagneticField&)),
+ this, SLOT(slotDataAvailable(const MagneticField&)))))
+ qWarning() << "Unable to connect "<< sensorName;
+ }
+ else
+ qWarning() << "Unable to initialize "<< sensorName;
- // metadata
- addDataRate(43, 43); // 43Hz
- sensor->setDataRate(43);
- addOutputRange(-0.000614, 0.000614, 0.0000003); // -600 ... 600 mikroteslas, 0.3 uT resolution
- setDescription(QLatin1String("Magnetic flux density measured in teslas"));
+ setReading<QMagnetometerReading>(&m_reading);
+ // metadata
+ addDataRate(1, 130); // 43 Hz
+ addOutputRange(-0.000614, 0.000614, 0.0000003); // -600 ... 600 mikroteslas, 0.3 uT resolution
+ setDescription(QLatin1String("Measures magnetic flux density in teslas"));
- m_initDone = true;
- }
+}
+
+void maemo6magnetometer::start(){
+ maemo6sensorbase::start();
+ QVariant v = sensor()->property("returnGeoValues");
+ m_isGeoMagnetometer = v.isValid() && v.toBool()? true: false;
}
void maemo6magnetometer::slotDataAvailable(const MagneticField& data)
{
- QVariant v = m_sensor->property("returnGeoValues");
- if (v.isValid() && v.toBool()) {
+
+ if (m_isGeoMagnetometer){
m_reading.setX( 0.0000003 * data.x() );
m_reading.setY( 0.0000003 * data.y() );
m_reading.setZ( 0.0000003 * data.z() );
@@ -82,7 +87,6 @@ void maemo6magnetometer::slotDataAvailable(const MagneticField& data)
m_reading.setZ( 0.0000003 * data.rz() );
m_reading.setCalibrationLevel(1);
}
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.timestamp());
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6magnetometer.h b/plugins/sensors/maemo6/maemo6magnetometer.h
index bd0b75095f..a4cafc2c15 100644
--- a/plugins/sensors/maemo6/maemo6magnetometer.h
+++ b/plugins/sensors/maemo6/maemo6magnetometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,8 +45,8 @@
#include "maemo6sensorbase.h"
#include <qmagnetometer.h>
-#include <sensord/magnetometersensor_i.h>
-#include <sensord/datatypes/magneticfield.h>
+#include <magnetometersensor_i.h>
+#include <magneticfield.h>
QTM_USE_NAMESPACE
@@ -56,13 +56,15 @@ class maemo6magnetometer : public maemo6sensorbase
public:
static const char *id;
-
maemo6magnetometer(QSensor *sensor);
+protected:
+ virtual void start();
+
private:
QMagnetometerReading m_reading;
static bool m_initDone;
- QSensor *m_sensor;
+ bool m_isGeoMagnetometer;
private slots:
void slotDataAvailable(const MagneticField& data);
diff --git a/plugins/sensors/maemo6/maemo6orientationsensor.cpp b/plugins/sensors/maemo6/maemo6orientationsensor.cpp
index b2a06d4dde..497092f036 100644
--- a/plugins/sensors/maemo6/maemo6orientationsensor.cpp
+++ b/plugins/sensors/maemo6/maemo6orientationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -41,7 +41,7 @@
#include "maemo6orientationsensor.h"
-#include "sensord/filters/posedata.h"
+#include <posedata.h>
const char *maemo6orientationsensor::id("maemo6.orientationsensor");
bool maemo6orientationsensor::m_initDone = false;
@@ -49,30 +49,29 @@ bool maemo6orientationsensor::m_initDone = false;
maemo6orientationsensor::maemo6orientationsensor(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QOrientationReading>(&m_reading);
-
- if (!m_initDone) {
- initSensor<OrientationSensorChannelInterface>("orientationsensor");
-
- if (m_sensorInterface)
- QObject::connect(static_cast<OrientationSensorChannelInterface*>(m_sensorInterface), SIGNAL(orientationChanged(const int&)), this, SLOT(slotOrientationChanged(const int&)));
- else
- qWarning() << "Unable to initialize orientation sensor.";
+ const QString sensorName = "orientationsensor";
+ initSensor<OrientationSensorChannelInterface>(sensorName, m_initDone);
- // metadata
- addDataRate(142, 142); // 142Hz
- sensor->setDataRate(142);
- addOutputRange(0, 6, 1);
- setDescription(QLatin1String("Orientation of the device screen"));
-
- m_initDone = true;
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(orientationChanged(const Unsigned&)),
+ this, SLOT(slotDataAvailable(const Unsigned&)))))
+ qWarning() << "Unable to connect "<< sensorName;
}
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
+
+ setReading<QOrientationReading>(&m_reading);
+ // metadata
+ addDataRate(130, 130);
+ addDataRate(1, 130); // TODO: this is for testing only
+ addOutputRange(0, 6, 1);
+ setDescription(QLatin1String("Measures orientation of the device screen as 6 pre-defined positions"));
}
-void maemo6orientationsensor::slotOrientationChanged(const int& data)
+void maemo6orientationsensor::slotDataAvailable(const Unsigned& data)
{
QOrientationReading::Orientation o;
- switch (data) {
+ switch (data.x()) {
case PoseData::BottomDown: o = QOrientationReading::TopUp; break;
case PoseData::BottomUp: o = QOrientationReading::TopDown; break;
case PoseData::LeftUp: o = QOrientationReading::LeftUp; break;
@@ -82,7 +81,6 @@ void maemo6orientationsensor::slotOrientationChanged(const int& data)
default: o = QOrientationReading::Undefined;
}
m_reading.setOrientation(o);
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6orientationsensor.h b/plugins/sensors/maemo6/maemo6orientationsensor.h
index 7d04ce4ed7..6ec27e631f 100644
--- a/plugins/sensors/maemo6/maemo6orientationsensor.h
+++ b/plugins/sensors/maemo6/maemo6orientationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,9 +44,9 @@
#include "maemo6sensorbase.h"
#include <qorientationsensor.h>
-#include <qsensorbackend.h>
-#include <sensord/orientationsensor_i.h>
+#include <orientationsensor_i.h>
+#include <unsigned.h>
QTM_USE_NAMESPACE
@@ -56,7 +56,6 @@ class maemo6orientationsensor : public maemo6sensorbase
public:
static const char *id;
-
maemo6orientationsensor(QSensor *sensor);
private:
@@ -64,7 +63,7 @@ private:
static bool m_initDone;
private slots:
- void slotOrientationChanged(const int& orientation);
+ void slotDataAvailable(const Unsigned& orientation);
};
#endif
diff --git a/plugins/sensors/maemo6/maemo6proximitysensor.cpp b/plugins/sensors/maemo6/maemo6proximitysensor.cpp
index b732030ecd..93ca8641a2 100644
--- a/plugins/sensors/maemo6/maemo6proximitysensor.cpp
+++ b/plugins/sensors/maemo6/maemo6proximitysensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,36 +47,26 @@ bool maemo6proximitysensor::m_initDone = false;
maemo6proximitysensor::maemo6proximitysensor(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QProximityReading>(&m_reading);
-
- if (!m_initDone) {
- initSensor<ProximitySensorChannelInterface>("proximitysensor");
-
- if (m_sensorInterface)
- QObject::connect(static_cast<ProximitySensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const int&)), this, SLOT(slotDataAvailable(const int&)));
- else
- qWarning() << "Unable to initialize proximity sensor.";
-
- // metadata
- addDataRate(2, 2); // 2Hz
- sensor->setDataRate(2);
- addOutputRange(0, 1, 1); // close definition in meters - may be used as metadata even the sensor gives true/false values
- setDescription(QLatin1String("Measures if a living object is in proximity or not"));
+ const QString sensorName = "proximitysensor";
+ initSensor<ProximitySensorChannelInterface>(sensorName, m_initDone);
- m_initDone = true;
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const Unsigned&)),
+ this, SLOT(slotDataAvailable(const Unsigned&)))))
+ qWarning() << "Unable to connect "<< sensorName;
}
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
+ setReading<QProximityReading>(&m_reading);
+ // metadata
+ addDataRate(2, 2); // 2 Hz
+ addOutputRange(0, 1, 1); // close definition in meters - may be used as metadata even the sensor gives true/false values
+ setDescription(QLatin1String("Measures if a living object is in proximity or not"));
}
-void maemo6proximitysensor::slotDataAvailable(const int& data)
+void maemo6proximitysensor::slotDataAvailable(const Unsigned& data)
{
- bool close;
- if (data)
- close = true;
- else
- close = false;
-
- m_reading.setClose(close);
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setClose(data.x()? true: false);
+ m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6proximitysensor.h b/plugins/sensors/maemo6/maemo6proximitysensor.h
index 086c47da68..b1734da5c2 100644
--- a/plugins/sensors/maemo6/maemo6proximitysensor.h
+++ b/plugins/sensors/maemo6/maemo6proximitysensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,8 @@
#include "maemo6sensorbase.h"
#include <qproximitysensor.h>
-#include <sensord/proximitysensor_i.h>
+#include <proximitysensor_i.h>
+#include <unsigned.h>
QTM_USE_NAMESPACE
@@ -55,7 +56,6 @@ class maemo6proximitysensor : public maemo6sensorbase
public:
static const char *id;
-
maemo6proximitysensor(QSensor *sensor);
private:
@@ -63,7 +63,7 @@ private:
static bool m_initDone;
private slots:
- void slotDataAvailable(const int& data);
+ void slotDataAvailable(const Unsigned& data);
};
#endif
diff --git a/plugins/sensors/maemo6/maemo6rotationsensor.cpp b/plugins/sensors/maemo6/maemo6rotationsensor.cpp
index 08a270c0c6..fce42138e7 100644
--- a/plugins/sensors/maemo6/maemo6rotationsensor.cpp
+++ b/plugins/sensors/maemo6/maemo6rotationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,26 +47,21 @@ bool maemo6rotationsensor::m_initDone = false;
maemo6rotationsensor::maemo6rotationsensor(QSensor *sensor)
: maemo6sensorbase(sensor)
{
- setReading<QRotationReading>(&m_reading);
-
- if (!m_initDone) {
- qDBusRegisterMetaType<XYZ>();
-
- initSensor<RotationSensorChannelInterface>("rotationsensor");
+ const QString sensorName = "rotationsensor";
+ initSensor<RotationSensorChannelInterface>(sensorName, m_initDone);
- if (m_sensorInterface)
- QObject::connect(static_cast<RotationSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const XYZ&)), this, SLOT(slotDataAvailable(const XYZ&)));
- else
- qWarning() << "Unable to initialize rotation sensor.";
-
- // metadata
- addDataRate(23, 23); // 23Hz
- sensor->setDataRate(23);
- addOutputRange(-180, 180, 1);
- setDescription(QLatin1String("Measures x, y, and z axes rotation"));
-
- m_initDone = true;
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const XYZ&)),
+ this, SLOT(slotDataAvailable(const XYZ&)))))
+ qWarning() << "Unable to connect "<< sensorName;
}
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
+ setReading<QRotationReading>(&m_reading);
+ // metadata
+ addDataRate(1, 130); // 43 Hz
+ addOutputRange(-179, 180, 1);
+ setDescription(QLatin1String("Measures x, y, and z axes rotation in degrees"));
sensor->setProperty("hasZ", true);
}
@@ -75,7 +70,6 @@ void maemo6rotationsensor::slotDataAvailable(const XYZ& data)
m_reading.setX(data.x());
m_reading.setY(data.y());
m_reading.setZ(data.z());
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.XYZData().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6rotationsensor.h b/plugins/sensors/maemo6/maemo6rotationsensor.h
index cc4621527c..a877364e21 100644
--- a/plugins/sensors/maemo6/maemo6rotationsensor.h
+++ b/plugins/sensors/maemo6/maemo6rotationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,10 +44,9 @@
#include "maemo6sensorbase.h"
#include <qrotationsensor.h>
-#include <qsensorbackend.h>
-#include <sensord/rotationsensor_i.h>
-#include <sensord/datatypes/xyz.h>
+#include <rotationsensor_i.h>
+#include <xyz.h>
QTM_USE_NAMESPACE
@@ -57,7 +56,6 @@ class maemo6rotationsensor : public maemo6sensorbase
public:
static const char *id;
-
maemo6rotationsensor(QSensor *sensor);
private:
diff --git a/plugins/sensors/maemo6/maemo6sensorbase.cpp b/plugins/sensors/maemo6/maemo6sensorbase.cpp
index 9cae8b311f..9b9ad3f6b9 100644
--- a/plugins/sensors/maemo6/maemo6sensorbase.cpp
+++ b/plugins/sensors/maemo6/maemo6sensorbase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -40,14 +40,16 @@
****************************************************************************/
#include "maemo6sensorbase.h"
-#include <ctime>
+
SensorManagerInterface* maemo6sensorbase::m_remoteSensorManager = 0;
+
+
const float maemo6sensorbase::GRAVITY_EARTH = 9.80665;
const float maemo6sensorbase::GRAVITY_EARTH_THOUSANDTH = 0.00980665;
maemo6sensorbase::maemo6sensorbase(QSensor *sensor)
- : QSensorBackend(sensor), m_sensorRunning(false)
+ : QSensorBackend(sensor), m_sensorInterface(0)
{
if (!m_remoteSensorManager)
m_remoteSensorManager = &SensorManagerInterface::instance();
@@ -55,7 +57,7 @@ maemo6sensorbase::maemo6sensorbase(QSensor *sensor)
maemo6sensorbase::~maemo6sensorbase()
{
- if (m_sensorInterface) {
+ if (m_sensorInterface) {
stop();
QObject::disconnect(m_sensorInterface);
delete m_sensorInterface, m_sensorInterface = 0;
@@ -64,40 +66,28 @@ maemo6sensorbase::~maemo6sensorbase()
void maemo6sensorbase::start()
{
- if (m_sensorRunning)
- return;
+
if (m_sensorInterface) {
int dataRate = sensor()->dataRate();
- int interval = 1000 / dataRate;
- // for testing max speed
- //interval = 1;
- //dataRate = 1000;
if (dataRate > 0) {
+ int interval = 1000 / dataRate;
+ // for testing maximum speed
+ //interval = 1;
+ //dataRate = 1000;
qDebug() << "Setting data rate" << dataRate << "Hz (interval" << interval << "ms) for" << m_sensorInterface->id();
m_sensorInterface->setInterval(interval);
} else {
- qDebug() << "Sensor data rate" << dataRate << "Hz";
+ qDebug() << "Data rate in don't care mode (interval" << m_sensorInterface->interval() << "ms) for" << m_sensorInterface->id();
}
- m_sensorInterface->start();
+ int returnCode = m_sensorInterface->start().error().type();
+ if (returnCode==0) return;
+ qWarning()<<"m_sensorInterface did not start, error code:"<<returnCode;
}
- m_sensorRunning = true;
+ sensorStopped();
}
void maemo6sensorbase::stop()
{
- if (!m_sensorRunning)
- return;
if (m_sensorInterface)
m_sensorInterface->stop();
- m_sensorRunning = false;
-}
-
-qtimestamp maemo6sensorbase::createTimestamp()
-{
- timespec stamp;
- clock_gettime(CLOCK_MONOTONIC, &stamp);
- qtimestamp data = stamp.tv_sec;
- data = data * 1000000;
- data = stamp.tv_nsec / 1000 + data;
- return data;
}
diff --git a/plugins/sensors/maemo6/maemo6sensorbase.h b/plugins/sensors/maemo6/maemo6sensorbase.h
index 85efd269f7..148501da08 100644
--- a/plugins/sensors/maemo6/maemo6sensorbase.h
+++ b/plugins/sensors/maemo6/maemo6sensorbase.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,8 +43,9 @@
#define MAEMO6SENSORBASE_H
#include <qsensorbackend.h>
-#include "sensord/sensormanagerinterface.h"
-#include "sensord/abstractsensor_i.h"
+#include <sensormanagerinterface.h>
+#include <abstractsensor_i.h>
+
QTM_USE_NAMESPACE
@@ -54,29 +55,34 @@ public:
maemo6sensorbase(QSensor *sensor);
virtual ~maemo6sensorbase();
- virtual void start();
- virtual void stop();
protected:
- static SensorManagerInterface* m_remoteSensorManager;
+ virtual void start();
+ virtual void stop();
AbstractSensorChannelInterface* m_sensorInterface;
- bool m_sensorRunning;
static const float GRAVITY_EARTH;
static const float GRAVITY_EARTH_THOUSANDTH; //for speed
template<typename T>
- void initSensor(QString sensorName)
+ void initSensor(QString sensorName, bool &initDone)
{
- m_remoteSensorManager->loadPlugin(sensorName);
- m_remoteSensorManager->registerSensorInterface<T>(sensorName);
+
+ if (!initDone) {
+ m_remoteSensorManager->loadPlugin(sensorName);
+ m_remoteSensorManager->registerSensorInterface<T>(sensorName);
+ }
m_sensorInterface = T::controlInterface(sensorName);
if (!m_sensorInterface) {
m_sensorInterface = const_cast<T*>(T::listenInterface(sensorName));
+
}
- }
+ initDone = true;
+ };
+
+private:
+ static SensorManagerInterface* m_remoteSensorManager;
- qtimestamp createTimestamp();
};
#endif
diff --git a/plugins/sensors/maemo6/maemo6tapsensor.cpp b/plugins/sensors/maemo6/maemo6tapsensor.cpp
index 177e026a06..1aedefd0bc 100644
--- a/plugins/sensors/maemo6/maemo6tapsensor.cpp
+++ b/plugins/sensors/maemo6/maemo6tapsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -41,49 +41,49 @@
#include "maemo6tapsensor.h"
-#include "sensord/filters/tapdata.h"
-
const char *maemo6tapsensor::id("maemo6.tapsensor");
bool maemo6tapsensor::m_initDone = false;
maemo6tapsensor::maemo6tapsensor(QSensor *sensor)
- : maemo6sensorbase(sensor), m_sensor(sensor)
+ : maemo6sensorbase(sensor)
{
- setReading<QTapReading>(&m_reading);
+ const QString sensorName = "tapsensor";
+ initSensor<TapSensorChannelInterface>(sensorName, m_initDone);
- if (!m_initDone) {
- qDBusRegisterMetaType<Tap>();
- initSensor<TapSensorChannelInterface>("tapsensor");
+ if (m_sensorInterface){
+ if (!(QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(const Tap&)),
+ this, SLOT(slotDataAvailable(const Tap&)))))
+ qWarning() << "Unable to connect "<< sensorName;
+ }
+ else
+ qWarning() << "Unable to initialize "<<sensorName;
- if (m_sensorInterface)
- QObject::connect(static_cast<TapSensorChannelInterface*>(m_sensorInterface), SIGNAL(dataAvailable(const Tap&)), this, SLOT(slotDataAvailable(const Tap&)));
- else
- qWarning() << "Unable to initialize tap sensor.";
+ setReading<QTapReading>(&m_reading);
+ // metadata
+ addDataRate(130, 130);
+ addDataRate(1, 130); // TODO: this is for testing only
+ addOutputRange(0, 9, 1);
+ setDescription(QLatin1String("Measures either single or double taps and gives tap direction"));
- // metadata
- addDataRate(100, 100); // 100Hz
- sensor->setDataRate(100);
- addOutputRange(0, 9, 1);
- setDescription(QLatin1String("Measures single and double taps and gives tap direction"));
+}
- m_initDone = true;
- }
+
+void maemo6tapsensor::start(){
+ maemo6sensorbase::start();
+ QVariant v = sensor()->property("returnDoubleTapEvents");
+ m_isDoubleTapSensor = v.isValid() && v.toBool()? true: false;
+ // Set tap type (single/double)
+ m_reading.setDoubleTap(m_isDoubleTapSensor);
}
+
void maemo6tapsensor::slotDataAvailable(const Tap& data)
{
- // Set tap type (single/double)
- bool doubleTap;
- switch (data.type()) {
- case TapData::DoubleTap: doubleTap = true; break;
- case TapData::SingleTap: doubleTap = false; break;
- default: doubleTap = false;
+
+ if (data.type() == TapData::DoubleTap){
+ if (!m_isDoubleTapSensor) return;
}
- QVariant v = m_sensor->property("returnDoubleTapEvents");
- if (v.isValid() && v.toBool() == false)
- m_reading.setDoubleTap(false);
- else
- m_reading.setDoubleTap(doubleTap);
+ else if (m_isDoubleTapSensor) return;
// Set tap direction
QTapReading::TapDirection o;
@@ -100,8 +100,6 @@ void maemo6tapsensor::slotDataAvailable(const Tap& data)
default: o = QTapReading::Undefined;
}
m_reading.setTapDirection(o);
-
- //m_reading.setTimestamp(data.timestamp());
- m_reading.setTimestamp(createTimestamp()); //TODO: use correct timestamp
+ m_reading.setTimestamp(data.tapData().timestamp_);
newReadingAvailable();
}
diff --git a/plugins/sensors/maemo6/maemo6tapsensor.h b/plugins/sensors/maemo6/maemo6tapsensor.h
index 43a600e034..fc0c74eda5 100644
--- a/plugins/sensors/maemo6/maemo6tapsensor.h
+++ b/plugins/sensors/maemo6/maemo6tapsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,10 +44,9 @@
#include "maemo6sensorbase.h"
#include <qtapsensor.h>
-#include <qsensorbackend.h>
-#include <sensord/tapsensor_i.h>
-#include <sensord/datatypes/tap.h>
+#include <tapsensor_i.h>
+#include <tap.h>
QTM_USE_NAMESPACE
@@ -57,13 +56,15 @@ class maemo6tapsensor : public maemo6sensorbase
public:
static const char *id;
-
maemo6tapsensor(QSensor *sensor);
+protected:
+ virtual void start();
+
private:
QTapReading m_reading;
static bool m_initDone;
- QSensor *m_sensor;
+ bool m_isDoubleTapSensor;
private slots:
void slotDataAvailable(const Tap&);
diff --git a/plugins/sensors/maemo6/main.cpp b/plugins/sensors/maemo6/main.cpp
index 8f49969c45..40c429b34d 100644
--- a/plugins/sensors/maemo6/main.cpp
+++ b/plugins/sensors/maemo6/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -67,7 +67,7 @@ public:
QSensorManager::registerBackend(QProximitySensor::type, maemo6proximitysensor::id, this);
QSensorManager::registerBackend(QRotationSensor::type, maemo6rotationsensor::id, this);
QSensorManager::registerBackend(QTapSensor::type, maemo6tapsensor::id, this);
- qDebug() << "loaded the Maemo 6 plugin";
+ qDebug() << "Loaded the Maemo 6 sensor plugin";
}
QSensorBackend *createBackend(QSensor *sensor)
diff --git a/plugins/sensors/n900/main.cpp b/plugins/sensors/n900/main.cpp
index a37bbc2575..b3af05e488 100644
--- a/plugins/sensors/n900/main.cpp
+++ b/plugins/sensors/n900/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/n900/n900accelerometer.cpp b/plugins/sensors/n900/n900accelerometer.cpp
index 280b5d5c64..69517d46e4 100644
--- a/plugins/sensors/n900/n900accelerometer.cpp
+++ b/plugins/sensors/n900/n900accelerometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,10 +45,10 @@
#include <time.h>
#include <stdio.h>
-const char *n900accelerometer::id("n900.accelerometer");
-const char *n900accelerometer::filename("/sys/class/i2c-adapter/i2c-3/3-001d/coord");
-const char *n900accelerometer::range("/sys/class/i2c-adapter/i2c-3/3-001d/scale");
-const char *n900accelerometer::rate("/sys/class/i2c-adapter/i2c-3/3-001d/rate");
+char const * const n900accelerometer::id("n900.accelerometer");
+char const * const n900accelerometer::filename("/sys/class/i2c-adapter/i2c-3/3-001d/coord");
+char const * const n900accelerometer::range("/sys/class/i2c-adapter/i2c-3/3-001d/scale");
+char const * const n900accelerometer::rate("/sys/class/i2c-adapter/i2c-3/3-001d/rate");
n900accelerometer::n900accelerometer(QSensor *sensor)
: n900filebasedsensor(sensor)
@@ -57,7 +57,6 @@ n900accelerometer::n900accelerometer(QSensor *sensor)
// Details derived from the kernel driver
addDataRate(100, 100); // 100Hz
addDataRate(400, 400); // 400Hz
- sensor->setDataRate(100); // default is 100Hz
addOutputRange(-22.418, 22.418, 0.17651); // 2G
addOutputRange(-89.672, 89.672, 0.70608); // 8G
setDescription(QLatin1String("lis302dl"));
@@ -71,19 +70,23 @@ void n900accelerometer::start()
goto error;
// Configure the range
- fd = fopen(range, "w");
- if (!fd) goto error;
- if (sensor()->outputRange() == 0)
- fprintf(fd, "normal\n");
- else
- fprintf(fd, "full\n");
- fclose(fd);
+ if (sensor()->outputRange() != -1) {
+ fd = fopen(range, "w");
+ if (!fd) goto error;
+ if (sensor()->outputRange() == 0)
+ fprintf(fd, "normal\n");
+ else
+ fprintf(fd, "full\n");
+ fclose(fd);
+ }
// Configure the rate
- fd = fopen(rate, "w");
- if (!fd) goto error;
- fprintf(fd, "%d\n", sensor()->dataRate());
- fclose(fd);
+ if (sensor()->dataRate() != 0) {
+ fd = fopen(rate, "w");
+ if (!fd) goto error;
+ fprintf(fd, "%d\n", sensor()->dataRate());
+ fclose(fd);
+ }
n900filebasedsensor::start();
return;
diff --git a/plugins/sensors/n900/n900accelerometer.h b/plugins/sensors/n900/n900accelerometer.h
index 4ea678fa89..22a99001f4 100644
--- a/plugins/sensors/n900/n900accelerometer.h
+++ b/plugins/sensors/n900/n900accelerometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,10 +50,10 @@ QTM_USE_NAMESPACE
class n900accelerometer : public n900filebasedsensor
{
public:
- static const char *id;
- static const char *filename;
- static const char *range;
- static const char *rate;
+ static char const * const id;
+ static char const * const filename;
+ static char const * const range;
+ static char const * const rate;
n900accelerometer(QSensor *sensor);
diff --git a/plugins/sensors/n900/n900filebasedsensor.cpp b/plugins/sensors/n900/n900filebasedsensor.cpp
index 1236d736c7..ec9051fef8 100644
--- a/plugins/sensors/n900/n900filebasedsensor.cpp
+++ b/plugins/sensors/n900/n900filebasedsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -56,14 +56,16 @@ void n900filebasedsensor::start()
if (m_timerid)
return;
- if (sensor()->dataRate() == 0) {
- sensorStopped();
- return;
+ int dataRate = sensor()->dataRate();
+ if (dataRate == 0) {
+ if (sensor()->availableDataRates().count())
+ // Use the first available rate when -1 is chosen
+ dataRate = sensor()->availableDataRates().first().first;
+ else
+ dataRate = 1;
}
- int interval = 1000 / sensor()->dataRate();
- if (interval < 0)
- interval = 1000;
+ int interval = 1000 / dataRate;
if (interval)
m_timerid = startTimer(interval);
diff --git a/plugins/sensors/n900/n900filebasedsensor.h b/plugins/sensors/n900/n900filebasedsensor.h
index 59dbee7457..7cd26ef329 100644
--- a/plugins/sensors/n900/n900filebasedsensor.h
+++ b/plugins/sensors/n900/n900filebasedsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/n900/n900lightsensor.cpp b/plugins/sensors/n900/n900lightsensor.cpp
index f3a31979dc..d72626efd7 100644
--- a/plugins/sensors/n900/n900lightsensor.cpp
+++ b/plugins/sensors/n900/n900lightsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,8 +44,8 @@
#include <QDebug>
#include <time.h>
-const char *n900lightsensor::id("n900.ambientlight");
-const char *n900lightsensor::filename("/sys/class/i2c-adapter/i2c-2/2-0029/lux");
+char const * const n900lightsensor::id("n900.ambientlight");
+char const * const n900lightsensor::filename("/sys/class/i2c-adapter/i2c-2/2-0029/lux");
n900lightsensor::n900lightsensor(QSensor *sensor)
: n900filebasedsensor(sensor)
@@ -55,7 +55,6 @@ n900lightsensor::n900lightsensor(QSensor *sensor)
// a read of the /sys file (no interrupt/timing loop/etc. is used).
// Since no continuous operation is possible, don't set a data rate.
addDataRate(2, 2); // Close enough to 2 Hz
- sensor->setDataRate(2);
setDescription(QLatin1String("tsl2563"));
}
diff --git a/plugins/sensors/n900/n900lightsensor.h b/plugins/sensors/n900/n900lightsensor.h
index a9758579b1..4466eab966 100644
--- a/plugins/sensors/n900/n900lightsensor.h
+++ b/plugins/sensors/n900/n900lightsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ QTM_USE_NAMESPACE
class n900lightsensor : public n900filebasedsensor
{
public:
- static const char *id;
- static const char *filename;
+ static char const * const id;
+ static char const * const filename;
n900lightsensor(QSensor *sensor);
diff --git a/plugins/sensors/n900/n900proximitysensor.cpp b/plugins/sensors/n900/n900proximitysensor.cpp
index 1c44e4e7b5..8eaa73f219 100644
--- a/plugins/sensors/n900/n900proximitysensor.cpp
+++ b/plugins/sensors/n900/n900proximitysensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,15 +45,14 @@
#include <string.h>
#include <time.h>
-const char *n900proximitysensor::id("n900.proximity");
-const char *n900proximitysensor::filename("/sys/bus/platform/devices/proximity/state");
+char const * const n900proximitysensor::id("n900.proximity");
+char const * const n900proximitysensor::filename("/sys/bus/platform/devices/proximity/state");
n900proximitysensor::n900proximitysensor(QSensor *sensor)
: n900filebasedsensor(sensor)
{
setReading<QProximityReading>(&m_reading);
addDataRate(100, 100); // 100Hz
- sensor->setDataRate(100); // default is 10Hz
}
void n900proximitysensor::start()
diff --git a/plugins/sensors/n900/n900proximitysensor.h b/plugins/sensors/n900/n900proximitysensor.h
index 831caa84b5..cc7023ae39 100644
--- a/plugins/sensors/n900/n900proximitysensor.h
+++ b/plugins/sensors/n900/n900proximitysensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,8 +50,8 @@ QTM_USE_NAMESPACE
class n900proximitysensor : public n900filebasedsensor
{
public:
- static const char *id;
- static const char *filename;
+ static char const * const id;
+ static char const * const filename;
n900proximitysensor(QSensor *sensor);
diff --git a/plugins/sensors/s60_sensor_api/main.cpp b/plugins/sensors/s60_sensor_api/main.cpp
index b67750c117..81516a7797 100644
--- a/plugins/sensors/s60_sensor_api/main.cpp
+++ b/plugins/sensors/s60_sensor_api/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -55,13 +55,17 @@ class s60SensorApiSensorPlugin : public QObject, public QSensorPluginInterface,
public:
void registerSensors()
{
+#if !defined(HAS_NO_SENSOR_PROVISION)
QSensorManager::registerBackend(QAccelerometer::type, QS60SensorApiAccelerometer::id, this);
+#endif
}
QSensorBackend *createBackend(QSensor *sensor)
{
+#if !defined(HAS_NO_SENSOR_PROVISION)
if (sensor->identifier() == QS60SensorApiAccelerometer::id)
return new QS60SensorApiAccelerometer(sensor);
+#endif
return 0;
}
diff --git a/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.cpp b/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.cpp
index 8676aa6972..b807631a9c 100644
--- a/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.cpp
+++ b/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -38,6 +38,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
+#if !defined(HAS_NO_SENSOR_PROVISION)
//Symbian
#include <e32std.h>
#include <rrsensorapi.h>
@@ -48,7 +50,7 @@
// Constants
const int KAccelerometerSensorUID = 0x10273024;
-const char *QS60SensorApiAccelerometer::id("s60sensorapi.accelerometer");
+char const * const QS60SensorApiAccelerometer::id("s60sensorapi.accelerometer");
QS60SensorApiAccelerometer::QS60SensorApiAccelerometer(QSensor *sensor)
: QSensorBackend(sensor)
@@ -70,7 +72,6 @@ QS60SensorApiAccelerometer::QS60SensorApiAccelerometer(QSensor *sensor)
// 2G - mode
addDataRate(100, 100);
- sensor->setDataRate(100);
addOutputRange(-22.418, 22.418, 0.17651);
setDescription(QLatin1String("lis302dl"));
@@ -141,3 +142,4 @@ void QS60SensorApiAccelerometer::findAndCreateNativeSensorL()
CleanupStack::PopAndDestroy(&sensorList);
}
+#endif
diff --git a/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.h b/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.h
index 626d170622..a93d58aaaf 100644
--- a/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.h
+++ b/plugins/sensors/s60_sensor_api/qs60sensorapiaccelerometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,6 +46,8 @@
#include <qsensorbackend.h>
#include <qaccelerometer.h>
+#if !defined(HAS_NO_SENSOR_PROVISION)
+
// symbian
#include <rrsensorapi.h>
@@ -54,7 +56,7 @@ QTM_USE_NAMESPACE
class QS60SensorApiAccelerometer : public QSensorBackend, public MRRSensorDataListener
{
public:
- static const char *id;
+ static char const * const id;
QS60SensorApiAccelerometer(QSensor *sensor);
virtual ~QS60SensorApiAccelerometer();
@@ -76,4 +78,6 @@ private:
qreal m_sampleFactor;
};
+#endif // !HAS_NO_SENSOR_PROVISION
+
#endif // QS60SENSORAPIACCELEROMETER_H
diff --git a/plugins/sensors/s60_sensor_api/s60_sensor_api.pri b/plugins/sensors/s60_sensor_api/s60_sensor_api.pri
index e054458d53..7df494a9e2 100644
--- a/plugins/sensors/s60_sensor_api/s60_sensor_api.pri
+++ b/plugins/sensors/s60_sensor_api/s60_sensor_api.pri
@@ -5,11 +5,15 @@ HEADERS += qs60sensorapiaccelerometer.h
SOURCES += main.cpp \
qs60sensorapiaccelerometer.cpp
-LIBS += -lRRSensorApi
# Enable this to build winscw and comment LIBS += -lRRSensorApi out
# MMP_RULES does not work with sbsv2
# Sbsv2 does not work with s60 v3.1 winscw (works fine with armv5)
-#MMP_RULES += "$${LITERAL_HASH}ifndef WINSCW" \
-# "LIBRARY RRSensorApi.lib" \
-# "$${LITERAL_HASH}endif"
+#LIBS += -lRRSensorApi
+MMP_RULES += "$${LITERAL_HASH}ifndef WINSCW" \
+ "LIBRARY RRSensorApi.lib" \
+ "$${LITERAL_HASH}else" \
+ "MACRO HAS_NO_SENSOR_PROVISION" \
+ "$${LITERAL_HASH}endif"
+
+message("Note: RRSensor API not supported for 3.1 winscw target")
diff --git a/plugins/sensors/symbian/accelerometersym.cpp b/plugins/sensors/symbian/accelerometersym.cpp
index d8538e6dd4..6cdc83dfa9 100644
--- a/plugins/sensors/symbian/accelerometersym.cpp
+++ b/plugins/sensors/symbian/accelerometersym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -48,7 +48,7 @@
/**
* set the id of the accelerometer sensor
*/
-const char *CAccelerometerSensorSym::id("sym.accelerometer");
+char const * const CAccelerometerSensorSym::id("sym.accelerometer");
/**
* Factory function, this is used to create the accelerometer object
diff --git a/plugins/sensors/symbian/accelerometersym.h b/plugins/sensors/symbian/accelerometersym.h
index e2ef1f6d49..e25ff683c4 100644
--- a/plugins/sensors/symbian/accelerometersym.h
+++ b/plugins/sensors/symbian/accelerometersym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,7 +93,7 @@ public:
/**
* Holds the id of the accelerometer
*/
- static const char *id;
+ static char const * const id;
private:
QAccelerometerReading iReading;
diff --git a/plugins/sensors/symbian/ambientlightsensorsym.cpp b/plugins/sensors/symbian/ambientlightsensorsym.cpp
index f8f60860ef..812f6c9fc4 100644
--- a/plugins/sensors/symbian/ambientlightsensorsym.cpp
+++ b/plugins/sensors/symbian/ambientlightsensorsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,7 @@
/**
* set the id of the ambient light sensor
*/
-const char *CAmbientLightSensorSym::id("sym.ambientlight");
+char const * const CAmbientLightSensorSym::id("sym.ambientlight");
/**
* Factory function, this is used to create the ambient light sensor object
diff --git a/plugins/sensors/symbian/ambientlightsensorsym.h b/plugins/sensors/symbian/ambientlightsensorsym.h
index f50d207656..c36a2ecfae 100644
--- a/plugins/sensors/symbian/ambientlightsensorsym.h
+++ b/plugins/sensors/symbian/ambientlightsensorsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,7 +93,7 @@ public:
/**
* Holds the id of the accelerometer
*/
- static const char *id;
+ static char const * const id;
private:
QAmbientLightReading iReading;
diff --git a/plugins/sensors/symbian/compasssym.cpp b/plugins/sensors/symbian/compasssym.cpp
index 52398db233..0c4a8909ca 100644
--- a/plugins/sensors/symbian/compasssym.cpp
+++ b/plugins/sensors/symbian/compasssym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,7 @@
/**
* set the id of the accelerometer sensor
*/
-const char *CCompassSym::id("sym.compass");
+char const * const CCompassSym::id("sym.compass");
/**
* Factory function, this is used to create the compass object
diff --git a/plugins/sensors/symbian/compasssym.h b/plugins/sensors/symbian/compasssym.h
index a9390b7b99..a17b2c9c6b 100644
--- a/plugins/sensors/symbian/compasssym.h
+++ b/plugins/sensors/symbian/compasssym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -108,7 +108,7 @@ public:
/**
* Holds the id of the compass
*/
- static const char *id;
+ static char const * const id;
private:
QCompassReading iReading;
diff --git a/plugins/sensors/symbian/magnetometersensorsym.cpp b/plugins/sensors/symbian/magnetometersensorsym.cpp
index 42665009a4..f28152c654 100644
--- a/plugins/sensors/symbian/magnetometersensorsym.cpp
+++ b/plugins/sensors/symbian/magnetometersensorsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,7 @@
/**
* set the id of the magnetometer sensor
*/
-const char *CMagnetometerSensorSym::id("sym.magnetometer");
+char const * const CMagnetometerSensorSym::id("sym.magnetometer");
/**
* Factory function, this is used to create the magnetometer sensor object
diff --git a/plugins/sensors/symbian/magnetometersensorsym.h b/plugins/sensors/symbian/magnetometersensorsym.h
index 2ee344cb94..5f7f12eee7 100644
--- a/plugins/sensors/symbian/magnetometersensorsym.h
+++ b/plugins/sensors/symbian/magnetometersensorsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -111,7 +111,7 @@ public:
/**
* Holds the id of the magnetometer
*/
- static const char *id;
+ static char const * const id;
private:
QMagnetometerReading iReading;
diff --git a/plugins/sensors/symbian/main.cpp b/plugins/sensors/symbian/main.cpp
index 8e534113b0..6680ce291d 100644
--- a/plugins/sensors/symbian/main.cpp
+++ b/plugins/sensors/symbian/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/symbian/orientationsym.cpp b/plugins/sensors/symbian/orientationsym.cpp
index c8e209e511..4e74fed185 100644
--- a/plugins/sensors/symbian/orientationsym.cpp
+++ b/plugins/sensors/symbian/orientationsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,7 @@
/**
* set the id of the orientation sensor
*/
-const char *COrientationSensorSym::id("sym.orientation");
+char const * const COrientationSensorSym::id("sym.orientation");
/**
* Factory function, this is used to create the orientation sensor object
diff --git a/plugins/sensors/symbian/orientationsym.h b/plugins/sensors/symbian/orientationsym.h
index 9a5915eee7..50cbb958db 100644
--- a/plugins/sensors/symbian/orientationsym.h
+++ b/plugins/sensors/symbian/orientationsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,7 +93,7 @@ public:
/**
* Holds the id of the orientation sensor
*/
- static const char *id;
+ static char const * const id;
private:
QOrientationReading iReading;
diff --git a/plugins/sensors/symbian/proximitysensorsym.cpp b/plugins/sensors/symbian/proximitysensorsym.cpp
index 9a2694837e..e4d3eb210b 100644
--- a/plugins/sensors/symbian/proximitysensorsym.cpp
+++ b/plugins/sensors/symbian/proximitysensorsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,7 @@
/**
* set the id of the proximity sensor
*/
-const char *CProximitySensorSym::id("sym.proximity");
+char const * const CProximitySensorSym::id("sym.proximity");
/**
* Factory function, this is used to create the proximity sensor object
diff --git a/plugins/sensors/symbian/proximitysensorsym.h b/plugins/sensors/symbian/proximitysensorsym.h
index 4867e2262c..f7580cc414 100644
--- a/plugins/sensors/symbian/proximitysensorsym.h
+++ b/plugins/sensors/symbian/proximitysensorsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,7 +93,7 @@ public:
/**
* Holds the id of the proximity sensor
*/
- static const char *id;
+ static char const * const id;
private:
QProximityReading iReading;
diff --git a/plugins/sensors/symbian/rotationsensorsym.cpp b/plugins/sensors/symbian/rotationsensorsym.cpp
index a242f17a6d..1b5c220a45 100644
--- a/plugins/sensors/symbian/rotationsensorsym.cpp
+++ b/plugins/sensors/symbian/rotationsensorsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,7 @@
/**
* set the id of the proximity sensor
*/
-const char *CRotationSensorSym::id("sym.rotation");
+char const * const CRotationSensorSym::id("sym.rotation");
/**
* Factory function, this is used to create the rotation sensor object
diff --git a/plugins/sensors/symbian/rotationsensorsym.h b/plugins/sensors/symbian/rotationsensorsym.h
index a2a69f09b6..5119c976bc 100644
--- a/plugins/sensors/symbian/rotationsensorsym.h
+++ b/plugins/sensors/symbian/rotationsensorsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -93,7 +93,7 @@ public:
/**
* Holds the id of the proximity sensor
*/
- static const char *id;
+ static char const * const id;
private:
QRotationReading iReading;
diff --git a/plugins/sensors/symbian/sensorbackenddatasym.h b/plugins/sensors/symbian/sensorbackenddatasym.h
index 02d48e5728..58d1dffe91 100644
--- a/plugins/sensors/symbian/sensorbackenddatasym.h
+++ b/plugins/sensors/symbian/sensorbackenddatasym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/symbian/sensorbackendsym.cpp b/plugins/sensors/symbian/sensorbackendsym.cpp
index 64e66bfb12..563cc52b06 100644
--- a/plugins/sensors/symbian/sensorbackendsym.cpp
+++ b/plugins/sensors/symbian/sensorbackendsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,7 +47,6 @@
const TInt KDesiredReadingCount = 1;
const TInt KMaximumReadingCount = 1;
const TInt KDefaultBufferingPeriod = 0;
-const TInt KInvalidDataRate = 123456;
const TInt KAccuracyInvalid = -1;
///// Internal Functions
@@ -180,6 +179,7 @@ TInt CSensorBackendSym::SetMeasurementRange()
{
return SetProperty(KSensrvPropIdMeasureRange, ESensrvIntProperty, ESensrvArrayPropertyInfo, sensor()->outputRange());
}
+ return KErrNone;
}
TInt CSensorBackendSym::SetDataRate()
@@ -211,7 +211,7 @@ TInt CSensorBackendSym::SetDataRate()
void CSensorBackendSym::SetProperties()
{
- if(sensor())
+ if(sensor()->outputRange() != -1)
{
//Set measurement range
TInt err = SetMeasurementRange();
@@ -219,8 +219,11 @@ void CSensorBackendSym::SetProperties()
{
sensorError(err);
}
+ }
+ if(sensor()->dataRate() != -1)
+ {
//Set data rate
- err = SetDataRate();
+ TInt err = SetDataRate();
if(err != KErrNone)
{
sensorError(err);
@@ -323,8 +326,6 @@ void CSensorBackendSym::GetDataRate()
//Set datarate as range
addDataRate(min, max);
list[0].GetValue(value);
- //Set current datarate as default
- sensor()->setDataRate(value);
}
//if list has more than one item, data rate will be having descrete values, agreed with DS team
else
@@ -337,8 +338,6 @@ void CSensorBackendSym::GetDataRate()
//If array index is ESensrvArrayPropertyInfo, getting the value to get current datarate
list[i].GetValue(index);
list[index].GetValue(datarate);
- //Setting current datarate as default
- sensor()->setDataRate(datarate);
continue;
}
list[i].GetValue(datarate);
diff --git a/plugins/sensors/symbian/sensorbackendsym.h b/plugins/sensors/symbian/sensorbackendsym.h
index 7e3ca97c2e..ee4206337e 100644
--- a/plugins/sensors/symbian/sensorbackendsym.h
+++ b/plugins/sensors/symbian/sensorbackendsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/plugins/sensors/symbian/symbian.pri b/plugins/sensors/symbian/symbian.pri
deleted file mode 100644
index ca1b775583..0000000000
--- a/plugins/sensors/symbian/symbian.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-HEADERS += \
-SOURCES += \
diff --git a/plugins/sensors/symbian/symbian.pro b/plugins/sensors/symbian/symbian.pro
index c6dcd9ee80..b219aaad6e 100644
--- a/plugins/sensors/symbian/symbian.pro
+++ b/plugins/sensors/symbian/symbian.pro
@@ -1,5 +1,4 @@
-INCLUDEPATH+=../../../src/sensors
-INCLUDEPATH+=../../sensors \epoc32\include\osextensions
+INCLUDEPATH+=$$(EPOCROOT)\epoc32\include\osextensions
PLUGIN_TYPE = sensors
@@ -8,10 +7,9 @@ CONFIG += plugin
TARGET = $$qtLibraryTarget(qtsensors_sym)
include(version.pri)
-#include(symbian.pri)
include(../../../common.pri)
-SOURCES += \
+SOURCES += \
sensorbackendsym.cpp \
proximitysensorsym.cpp \
ambientlightsensorsym.cpp \
@@ -20,10 +18,10 @@ SOURCES += \
accelerometersym.cpp \
orientationsym.cpp \
rotationsensorsym.cpp \
- tapsensorsym.cpp \
+ tapsensorsym.cpp \
main.cpp \
-PRIVATE_HEADERS += \
+HEADERS += \
sensorbackendsym.h \
sensorbackenddatasym.h \
proximitysensorsym.h \
@@ -35,28 +33,18 @@ PRIVATE_HEADERS += \
rotationsensorsym.h \
tapsensorsym.h \
-HEADERS = $$PRIVATE_HEADERS
-
-#SYSTEM_INCLUDE += ../../sensors
-
-LIBS += -lqtsensors
QT=core
CONFIG+=mobility
MOBILITY+=sensors
-DEFINES+=QT_MAKEDLL
symbian {
+ TARGET.EPOCALLOWDLLDATA = 1
TARGET.UID3 = 0x2002BFC8
TARGET.CAPABILITY = ALL -TCB
LIBS += -lSensrvClient
LIBS += -lsensrvutil
-}
-symbian: {
- # Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files
- load(data_caging_paths)
-
- # Defines plugin files into Symbian .pkg package
- pluginDep.sources = qtsensors_sym.dll
+
+ pluginDep.sources = $${TARGET}.dll
pluginDep.path = $${QT_PLUGINS_BASE_DIR}/$${PLUGIN_TYPE}
DEPLOYMENT += pluginDep
}
diff --git a/plugins/sensors/symbian/tapsensorsym.cpp b/plugins/sensors/symbian/tapsensorsym.cpp
index bb10dd4f04..43fcf3a6d5 100644
--- a/plugins/sensors/symbian/tapsensorsym.cpp
+++ b/plugins/sensors/symbian/tapsensorsym.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,7 +43,7 @@
/**
* set the id of the Tap sensor
*/
-const char *CTapSensorSym::id("sym.tap");
+char const * const CTapSensorSym::id("sym.tap");
/**
* Factory function, this is used to create the tap sensor object
diff --git a/plugins/sensors/symbian/tapsensorsym.h b/plugins/sensors/symbian/tapsensorsym.h
index 041312a976..b0642ac79b 100644
--- a/plugins/sensors/symbian/tapsensorsym.h
+++ b/plugins/sensors/symbian/tapsensorsym.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -90,7 +90,7 @@ public:
/**
* Holds the id of the magnetometer
*/
- static const char *id;
+ static char const * const id;
private:
QTapReading iReading;
diff --git a/qtmobility.pro b/qtmobility.pro
index d3f379bb47..1426ba5c3e 100644
--- a/qtmobility.pro
+++ b/qtmobility.pro
@@ -78,6 +78,9 @@ contains(build_docs, yes) {
contains(build_unit_tests, yes):SUBDIRS+=tests
contains(build_examples, yes):SUBDIRS+=examples
+#updating and deployment of translations requires Qt 4.6.3/qtPrepareTool
+!symbian:defined(qtPrepareTool):SUBDIRS += translations
+
# install Qt style headers
qtmheaders.path = $${QT_MOBILITY_INCLUDE}
@@ -94,16 +97,6 @@ qtmheaders.path = $${QT_MOBILITY_INCLUDE}
$${QT_MOBILITY_BUILD_TREE}/include/QtmSensors/*
INSTALLS += qtmheaders
} else {
-
-# Can we assume the path exists?
-# paths = $$MW_LAYER_PUBLIC_EXPORT_PATH("") \
-# $$APP_LAYER_PUBLIC_EXPORT_PATH("")
-# for(i, paths) {
-# exportPath=$$EPOCROOT"."$$dirname($$i)
-# nativePath=$$replace(exportPath, /,\)
-# !exists($$nativePath):system($$QMAKE_MKDIR $$nativePath)
-# }
-
#absolute path does not work and so is shadow building for Symbian
qtmAppHeaders = include/QtmContacts/* \
include/QtmVersit/*
diff --git a/src/bearer/qcorewlanengine_mac.mm b/src/bearer/qcorewlanengine_mac.mm
index d4f88132f7..0469148bd9 100644
--- a/src/bearer/qcorewlanengine_mac.mm
+++ b/src/bearer/qcorewlanengine_mac.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,6 +43,7 @@
#include "qnetworkconfiguration_p.h"
#include <QtCore/qthread.h>
+#include <QThread>
#include <QtCore/qmutex.h>
#include <QtCore/qcoreapplication.h>
#include <QtCore/qstringlist.h>
@@ -105,6 +106,8 @@ QMap <QString, QString> networkInterfaces;
QTM_NAMESPACE::QCoreWlanEngine::instance()->requestUpdate();
}
@end
+
+QNSListener *listener = 0;
#endif
QTM_BEGIN_NAMESPACE
@@ -143,11 +146,6 @@ inline QStringList nsarrayToQStringList(void *nsarray)
return result;
}
-static QString qGetInterfaceType(const QString &interfaceString)
-{
- return networkInterfaces.value(interfaceString, QLatin1String("Unknown"));
-}
-
void networkChangeCallback(SCDynamicStoreRef/* store*/, CFArrayRef changedKeys, void *info)
{
for ( long i = 0; i < CFArrayGetCount(changedKeys); i++) {
@@ -161,23 +159,314 @@ void networkChangeCallback(SCDynamicStoreRef/* store*/, CFArrayRef changedKeys,
return;
}
-QCoreWlanEngine::QCoreWlanEngine(QObject *parent)
-: QNetworkSessionEngine(parent)
+QScanThread::QScanThread(QObject *parent)
+ :QThread(parent), interfaceName(nil)
{
+}
+
+QScanThread::~QScanThread()
+{
+}
+
+void QScanThread::quit()
+{
+ wait();
+}
+
+void QScanThread::run()
+{
+#if defined(MAC_SDK_10_6)
+ getUserProfiles();
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- getAllScInterfaces();
- startNetworkChangeLoop();
-#ifdef MAC_SDK_10_6
- if([[CWInterface supportedInterfaces] count] > 0 ) {
- QNSListener *listener;
- listener = [[QNSListener alloc] init];
- hasWifi = true;
+ QStringList found;
+ mutex.lock();
+ CWInterface *currentInterface;
+ if(interfaceName.isEmpty()) {
+ currentInterface = [CWInterface interfaceWithName:nil];
+ interfaceName = nsstringToQString([currentInterface name]);
} else {
- hasWifi = false;
+ currentInterface = [CWInterface interfaceWithName:qstringToNSString(interfaceName)];
+ }
+ mutex.unlock();
+
+ if([currentInterface power]) {
+ NSError *err = nil;
+ NSDictionary *parametersDict = [NSDictionary dictionaryWithObjectsAndKeys:
+ [NSNumber numberWithBool:YES], kCWScanKeyMerge,
+ [NSNumber numberWithInteger:100], kCWScanKeyRestTime, nil];
+
+ NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err];
+ CWNetwork *apNetwork;
+
+ if (!err) {
+ for(uint row=0; row < [apArray count]; row++ ) {
+ apNetwork = [apArray objectAtIndex:row];
+
+ const QString networkSsid = nsstringToQString([apNetwork ssid]);
+ found.append(networkSsid);
+
+ QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
+
+ bool known = isKnownSsid(networkSsid);
+ if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
+ if( networkSsid == nsstringToQString( [currentInterface ssid])) {
+ state = QNetworkConfiguration::Active;
+ }
+ }
+ if(state == QNetworkConfiguration::Undefined) {
+ if(known) {
+ state = QNetworkConfiguration::Discovered;
+ } else {
+ state = QNetworkConfiguration::Undefined;
+ }
+ }
+
+ QNetworkConfiguration::Purpose purpose = QNetworkConfiguration::UnknownPurpose;
+ if([[apNetwork securityMode] intValue] == kCWSecurityModeOpen) {
+ purpose = QNetworkConfiguration::PublicPurpose;
+ } else {
+ purpose = QNetworkConfiguration::PrivatePurpose;
+ }
+
+ found.append(foundNetwork(networkSsid, networkSsid, state, interfaceName, purpose));
+
+ } //end row
+ }//end error
+ }// endwifi power
+
+// add known configurations that are not around.
+ QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
+ while (i.hasNext()) {
+ i.next();
+
+ QString networkName = i.key();
+ const QString id = networkName;
+
+ if(!found.contains(id)) {
+ QString networkSsid = getSsidFromNetworkName(networkName);
+ const QString ssidId = QString::number(qHash(QLatin1String("corewlan:") + networkSsid));
+ QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
+ QString interfaceName;
+ QMapIterator<QString, QString> ij(i.value());
+ while (ij.hasNext()) {
+ ij.next();
+ interfaceName = ij.value();
+ }
+
+ if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
+ if( networkSsid == nsstringToQString([currentInterface ssid])) {
+ state = QNetworkConfiguration::Active;
+ }
+ }
+ if(state == QNetworkConfiguration::Undefined) {
+ if( userProfiles.contains(networkName)
+ && found.contains(ssidId)) {
+ state = QNetworkConfiguration::Discovered;
+ }
+ }
+
+ if(state == QNetworkConfiguration::Undefined) {
+ state = QNetworkConfiguration::Defined;
+ }
+
+ found.append(foundNetwork(id, networkName, state, interfaceName, QNetworkConfiguration::UnknownPurpose));
+ }
}
+ emit networksChanged();
+ [pool release];
#endif
- getUserConfigurations();
- requestUpdate();
+}
+
+QStringList QScanThread::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName, const QNetworkConfiguration::Purpose purpose)
+{
+ QStringList found;
+ QMutexLocker locker(&mutex);
+ QNetworkConfigurationPrivate *ptr = new QNetworkConfigurationPrivate;
+
+ ptr->name = name;
+ ptr->isValid = true;
+ ptr->id = id;
+ ptr->state = state;
+ ptr->type = QNetworkConfiguration::InternetAccessPoint;
+ ptr->bearer = QLatin1String("WLAN");
+ ptr->purpose = purpose;
+ ptr->internet = true;
+ ptr->serviceInterface = QNetworkInterface::interfaceFromName(interfaceName);
+
+ fetchedConfigurations.append( ptr);
+ configurationInterface[name] = interfaceName;
+
+ locker.unlock();
+ locker.relock();
+ found.append(id);
+ return found;
+}
+
+QList<QNetworkConfigurationPrivate *> QScanThread::getConfigurations()
+{
+ QMutexLocker locker(&mutex);
+
+ QList<QNetworkConfigurationPrivate *> foundConfigurations;
+
+ for (int i = 0; i < fetchedConfigurations.count(); ++i) {
+ QNetworkConfigurationPrivate *config = new QNetworkConfigurationPrivate;
+ config->name = fetchedConfigurations.at(i)->name;
+ config->isValid = fetchedConfigurations.at(i)->isValid;
+ config->id = fetchedConfigurations.at(i)->id;
+ config->state = fetchedConfigurations.at(i)->state;
+
+ config->type = fetchedConfigurations.at(i)->type;
+ config->roamingSupported = fetchedConfigurations.at(i)->roamingSupported;
+ config->purpose = fetchedConfigurations.at(i)->purpose;
+ config->internet = fetchedConfigurations.at(i)->internet;
+ foundConfigurations.append(config);
+ }
+
+ return foundConfigurations;
+}
+
+void QScanThread::getUserProfiles()
+{
+#if defined(MAC_SDK_10_6)
+ QMutexLocker locker(&mutex);
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ userProfiles.clear();
+
+ NSArray *wifiInterfaces = [CWInterface supportedInterfaces];
+ for(uint row=0; row < [wifiInterfaces count]; row++ ) {
+
+ CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]];
+ NSString *nsInterfaceName = [wifiInterface name];
+// add user configured system networks
+ SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil);
+ NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", nsInterfaceName]);
+ CFRelease(dynRef);
+
+ NSDictionary *prefNetDict = [airportPlist objectForKey:@"PreferredNetworks"];
+
+ NSArray *thisSsidarray = [prefNetDict valueForKey:@"SSID_STR"];
+ NSEnumerator *ssidEnumerator = [thisSsidarray objectEnumerator];
+ NSString *ssidkey;
+ while ((ssidkey = [ssidEnumerator nextObject])) {
+ QString thisSsid = nsstringToQString(ssidkey);
+ if(!userProfiles.contains(thisSsid)) {
+ QMap <QString,QString> map;
+ map.insert(thisSsid, nsstringToQString(nsInterfaceName));
+ userProfiles.insert(thisSsid, map);
+ }
+ }
+ CFRelease(airportPlist);
+
+ // 802.1X user profiles
+ QString userProfilePath = QDir::homePath() + "/Library/Preferences/com.apple.eap.profiles.plist";
+ NSDictionary* eapDict = [[[NSDictionary alloc] initWithContentsOfFile:qstringToNSString(userProfilePath)] autorelease];
+ NSString *profileStr= @"Profiles";
+ NSString *nameStr = @"UserDefinedName";
+ NSString *networkSsidStr = @"Wireless Network";
+
+ id profileKey;
+ NSEnumerator *dictEnumerator = [eapDict objectEnumerator];
+ while ((profileKey = [dictEnumerator nextObject])) {
+
+ if ([profileStr isEqualToString:profileKey]) {
+ NSDictionary *itemDict = [eapDict objectForKey:profileKey];
+ id itemKey;
+ NSEnumerator *dictEnumerator = [thisSsidarray objectEnumerator];
+ while ((itemKey = [dictEnumerator nextObject])) {
+
+ NSInteger dictSize = [itemKey count];
+ id objects[dictSize];
+ id keys[dictSize];
+
+ [itemKey getObjects:objects andKeys:keys];
+ QString networkName;
+ QString ssid;
+ for(int i = 0; i < dictSize; i++) {
+ if([nameStr isEqualToString:keys[i]]) {
+ networkName = nsstringToQString(objects[i]);
+ }
+ if([networkSsidStr isEqualToString:keys[i]]) {
+ ssid = nsstringToQString(objects[i]);
+ }
+ if(!userProfiles.contains(networkName)
+ && !ssid.isEmpty()) {
+ QMap<QString,QString> map;
+ map.insert(ssid, nsstringToQString(nsInterfaceName));
+ userProfiles.insert(networkName, map);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ [pool release];
+#endif
+}
+
+QString QScanThread::getSsidFromNetworkName(const QString &name)
+{
+ QMutexLocker locker(&mutex);
+ QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
+ while (i.hasNext()) {
+ i.next();
+ QMap<QString,QString> map = i.value();
+ QMapIterator<QString, QString> ij(i.value());
+ while (ij.hasNext()) {
+ ij.next();
+ const QString networkNameHash = QString::number(qHash(QLatin1String("corewlan:") +i.key()));
+ if(name == i.key() || name == networkNameHash) {
+ return ij.key();
+ }
+ }
+ }
+ return QString();
+}
+
+QString QScanThread::getNetworkNameFromSsid(const QString &ssid)
+{
+ QMutexLocker locker(&mutex);
+ QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
+ while (i.hasNext()) {
+ i.next();
+ QMap<QString,QString> map = i.value();
+ QMapIterator<QString, QString> ij(i.value());
+ while (ij.hasNext()) {
+ ij.next();
+ if(ij.key() == ssid) {
+ return i.key();
+ }
+ }
+ }
+ return QString();
+}
+
+bool QScanThread::isKnownSsid(const QString &ssid)
+{
+ QMutexLocker locker(&mutex);
+
+ QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
+ while (i.hasNext()) {
+ i.next();
+ QMap<QString,QString> map = i.value();
+ if(map.keys().contains(ssid)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+QCoreWlanEngine::QCoreWlanEngine(QObject *parent)
+: QNetworkSessionEngine(parent)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ getAllScInterfaces();
+ scanThread = new QScanThread(this);
+ connect(scanThread, SIGNAL(networksChanged()),
+ this, SIGNAL(configurationsChanged()));
+
+ QTimer::singleShot(0,this,SLOT(init()));
[pool release];
}
@@ -191,82 +480,65 @@ QCoreWlanEngine::~QCoreWlanEngine()
}
}
+void QCoreWlanEngine::init()
+{
+#ifdef MAC_SDK_10_6
+ if([[CWInterface supportedInterfaces] count] > 0 && !listener) {
+ listener = [[QNSListener alloc] init];
+ hasWifi = true;
+ } else {
+ hasWifi = false;
+ }
+#endif
+ storeSession = NULL;
+ scanThread->start();
+
+ startNetworkChangeLoop();
+}
+
+
QList<QNetworkConfigurationPrivate *> QCoreWlanEngine::getConfigurations(bool *ok)
{
if (ok)
*ok = true;
foundConfigurations.clear();
- uint identifier;
- QMapIterator<QString, QString> i(networkInterfaces);
QNetworkConfigurationPrivate* cpPriv = 0;
- while (i.hasNext()) {
- i.next();
- if (i.value() == "WLAN") {
- QList<QNetworkConfigurationPrivate *> fetchedConfigurations = scanForSsids(i.key());
- for (int i = 0; i < fetchedConfigurations.count(); ++i) {
-
- QNetworkConfigurationPrivate *config = new QNetworkConfigurationPrivate();
- cpPriv = fetchedConfigurations.at(i);
- config->name = cpPriv->name;
- config->isValid = cpPriv->isValid;
- config->id = cpPriv->id;
-
- config->state = cpPriv->state;
- config->type = cpPriv->type;
- config->roamingSupported = cpPriv->roamingSupported;
- config->purpose = cpPriv->purpose;
- config->internet = cpPriv->internet;
- config->serviceInterface = cpPriv->serviceInterface;
- config->bearer = cpPriv->bearer;
-
- identifier = config->name.toUInt();
- configurationInterface[identifier] = config->serviceInterface.name();
- foundConfigurations.append(config);
- delete cpPriv;
- }
- }
-
- QNetworkInterface interface = QNetworkInterface::interfaceFromName(i.key());
- QNetworkConfigurationPrivate *cpPriv = new QNetworkConfigurationPrivate();
- const QString humanReadableName = interface.humanReadableName();
- cpPriv->name = humanReadableName.isEmpty() ? interface.name() : humanReadableName;
- cpPriv->isValid = true;
-
- if (interface.index())
- identifier = interface.index();
- else
- identifier = qHash(interface.hardwareAddress());
-
- cpPriv->id = QString::number(identifier);
- cpPriv->type = QNetworkConfiguration::InternetAccessPoint;
- cpPriv->state = QNetworkConfiguration::Undefined;
-
- if (interface.flags() & QNetworkInterface::IsRunning) {
- cpPriv->state = QNetworkConfiguration::Defined;
- cpPriv->internet = true;
- }
- if ( !interface.addressEntries().isEmpty()) {
- cpPriv->state |= QNetworkConfiguration::Active;
- cpPriv->internet = true;
- }
- configurationInterface[identifier] = interface.name();
- cpPriv->bearer = interface.name().isEmpty()? QLatin1String("Unknown") : qGetInterfaceType(interface.name());
- foundConfigurations.append(cpPriv);
- }
-
- pollTimer.start();
- return foundConfigurations;
+ QMutexLocker locker(&mutex);
+ QList<QNetworkConfigurationPrivate *> fetchedConfigurations = scanThread->getConfigurations();
+locker.unlock();
+
+ for (int i = 0; i < fetchedConfigurations.count(); ++i) {
+
+ QNetworkConfigurationPrivate *config = new QNetworkConfigurationPrivate();
+ cpPriv = fetchedConfigurations.at(i);
+ config->name = cpPriv->name;
+ config->isValid = cpPriv->isValid;
+ config->id = cpPriv->id;
+ config->state = cpPriv->state;
+ config->type = cpPriv->type;
+ config->roamingSupported = cpPriv->roamingSupported;
+ config->purpose = cpPriv->purpose;
+ config->internet = cpPriv->internet;
+ config->serviceInterface = cpPriv->serviceInterface;
+ config->bearer = cpPriv->bearer;
+
+ foundConfigurations.append(config);
+ delete cpPriv;
+ }
+
+
+ return foundConfigurations;
}
QString QCoreWlanEngine::getInterfaceFromId(const QString &id)
{
- return configurationInterface.value(id.toUInt());
+ return scanThread->configurationInterface.value(id);
}
bool QCoreWlanEngine::hasIdentifier(const QString &id)
{
- return configurationInterface.contains(id.toUInt());
+ return scanThread->configurationInterface.contains(id);
}
void QCoreWlanEngine::connectToId(const QString &id)
@@ -285,13 +557,13 @@ void QCoreWlanEngine::connectToId(const QString &id)
QString wantedSsid = 0;
bool using8021X = false;
- if(getNetworkNameFromSsid(id) != id) {
+ if(scanThread->getNetworkNameFromSsid(id) != id) {
NSArray *array = [CW8021XProfile allUser8021XProfiles];
for (NSUInteger i=0; i<[array count]; ++i) {
if(id == nsstringToQString([[array objectAtIndex:i] userDefinedName])
|| id == nsstringToQString([[array objectAtIndex:i] ssid]) ) {
- QString thisName = getSsidFromNetworkName(id);
+ QString thisName = scanThread->getSsidFromNetworkName(id);
if(thisName.isEmpty()) {
wantedSsid = id;
} else {
@@ -306,12 +578,12 @@ void QCoreWlanEngine::connectToId(const QString &id)
if(!using8021X) {
QString wantedNetwork;
- QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
+ QMapIterator<QString, QMap<QString,QString> > i(scanThread->userProfiles);
while (i.hasNext()) {
i.next();
wantedNetwork = i.key();
if(id == wantedNetwork) {
- wantedSsid = getSsidFromNetworkName(wantedNetwork);
+ wantedSsid = scanThread->getSsidFromNetworkName(wantedNetwork);
break;
}
}
@@ -319,12 +591,12 @@ void QCoreWlanEngine::connectToId(const QString &id)
NSDictionary *parametersDict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], kCWScanKeyMerge,
+ [NSNumber numberWithInt:kCWScanTypeFast], kCWScanKeyScanType,
[NSNumber numberWithInteger:100], kCWScanKeyRestTime,
qstringToNSString(wantedSsid), kCWScanKeySSID,
nil];
-
- NSArray *scanArray = [NSMutableArray arrayWithArray:[wifiInterface scanForNetworksWithParameters:parametersDict error:&err]];
+ NSArray *scanArray = [wifiInterface scanForNetworksWithParameters:parametersDict error:&err];
if(!err) {
for(uint row=0; row < [scanArray count]; row++ ) {
CWNetwork *apNetwork = [scanArray objectAtIndex:row];
@@ -353,11 +625,13 @@ void QCoreWlanEngine::connectToId(const QString &id)
SecKeychainSearchRef searchRef;
OSErr result = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef);
-
+Q_UNUSED(result);
NSString *password = @"";
SecKeychainItemRef searchItem;
+ OSStatus resultStatus;
+ resultStatus = SecKeychainSearchCopyNext(searchRef, &searchItem);
- if (SecKeychainSearchCopyNext(searchRef, &searchItem) == noErr) {
+ if (resultStatus == errSecSuccess) {
UInt32 realPasswordLength;
SecKeychainAttribute attributesW[8];
attributesW[0].tag = kSecAccountItemAttr;
@@ -380,7 +654,7 @@ void QCoreWlanEngine::connectToId(const QString &id)
CFRelease(searchItem);
SecKeychainItemFreeContent(&listW, realPassword);
} else {
- qDebug() << "SecKeychainSearchCopyNext error";
+ qDebug() << "SecKeychainSearchCopyNext error" << cfstringRefToQstring(SecCopyErrorMessageString(resultStatus, NULL));
}
[params setValue: password forKey: kCWAssocKeyPassphrase];
} // end using8021X
@@ -403,6 +677,7 @@ void QCoreWlanEngine::connectToId(const QString &id)
[autoreleasepool release];
} else {
+ qDebug() << "wifi power off";
// not wifi
}
#endif
@@ -433,8 +708,8 @@ void QCoreWlanEngine::disconnectFromId(const QString &id)
void QCoreWlanEngine::requestUpdate()
{
getAllScInterfaces();
- getUserConfigurations();
- emit configurationsChanged();
+ scanThread->getUserProfiles();
+ scanThread->start();
}
QCoreWlanEngine *QCoreWlanEngine::instance()
@@ -442,148 +717,6 @@ QCoreWlanEngine *QCoreWlanEngine::instance()
return coreWlanEngine();
}
-QString QCoreWlanEngine::getSsidFromNetworkName(const QString &name)
-{
- QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
- while (i.hasNext()) {
- i.next();
- QMap<QString,QString> map = i.value();
- QMapIterator<QString, QString> ij(i.value());
- while (ij.hasNext()) {
- ij.next();
- if(name == i.key()) {
- return ij.key();
- }
- }
- }
- return QString();
-}
-
-QString QCoreWlanEngine::getNetworkNameFromSsid(const QString &ssid)
-{
- QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
- while (i.hasNext()) {
- i.next();
- QMap<QString,QString> map = i.value();
- QMapIterator<QString, QString> ij(i.value());
- while (ij.hasNext()) {
- ij.next();
- if(ij.key() == ssid) {
- return i.key();
- }
- }
- }
- return QString();
-}
-
-QList<QNetworkConfigurationPrivate *> QCoreWlanEngine::scanForSsids(const QString &interfaceName)
-{
- QList<QNetworkConfigurationPrivate *> foundConfigs;
- if(!hasWifi) {
- return foundConfigs;
- }
-#if defined(MAC_SDK_10_6)
- NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
- CWInterface *currentInterface = [CWInterface interfaceWithName:qstringToNSString(interfaceName)];
- QStringList addedConfigs;
-
- if([currentInterface power]) {
- NSError *err = nil;
- NSDictionary *parametersDict = [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithBool:YES], kCWScanKeyMerge,
- [NSNumber numberWithInt:kCWScanTypeFast], kCWScanKeyScanType, // get the networks in the scan cache
- [NSNumber numberWithInteger:100], kCWScanKeyRestTime, nil];
- NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err];
- CWNetwork *apNetwork;
- if(!err) {
- for(uint row=0; row < [apArray count]; row++ ) {
- apNetwork = [apArray objectAtIndex:row];
-
- QString networkSsid = nsstringToQString([apNetwork ssid]);
-
- QNetworkConfigurationPrivate* cpPriv = new QNetworkConfigurationPrivate();
- cpPriv->name = networkSsid;
- cpPriv->isValid = true;
- cpPriv->id = networkSsid;
- cpPriv->internet = true;
- cpPriv->bearer = QLatin1String("WLAN");
- cpPriv->type = QNetworkConfiguration::InternetAccessPoint;
- cpPriv->serviceInterface = QNetworkInterface::interfaceFromName(interfaceName);
- bool known = isKnownSsid(networkSsid);
- if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
- if( cpPriv->name == nsstringToQString( [currentInterface ssid])) {
- cpPriv->state |= QNetworkConfiguration::Active;
- }
- }
-
- if(!cpPriv->state) {
- if(known) {
- cpPriv->state = QNetworkConfiguration::Discovered;
- } else {
- cpPriv->state = QNetworkConfiguration::Undefined;
- }
- }
- if([[apNetwork securityMode ] intValue]== kCWSecurityModeOpen)
- cpPriv->purpose = QNetworkConfiguration::PublicPurpose;
- else
- cpPriv->purpose = QNetworkConfiguration::PrivatePurpose;
-
- foundConfigs.append(cpPriv);
- addedConfigs << networkSsid;
-
- } //end scanned row
- }
- } //end power
-
-
- // add known configurations that are not around.
- QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
- while (i.hasNext()) {
- i.next();
- QString networkName = i.key();
-
- if(!addedConfigs.contains(networkName)) {
- QString interfaceName;
- QMapIterator<QString, QString> ij(i.value());
- while (ij.hasNext()) {
- ij.next();
- interfaceName = ij.value();
- }
-
- QNetworkConfigurationPrivate* cpPriv = new QNetworkConfigurationPrivate();
- cpPriv->name = networkName;
- cpPriv->isValid = true;
- cpPriv->id = networkName;
- cpPriv->internet = true;
- cpPriv->bearer = QLatin1String("WLAN");
- cpPriv->type = QNetworkConfiguration::InternetAccessPoint;
- cpPriv->serviceInterface = QNetworkInterface::interfaceFromName(interfaceName);
- QString ssid = getSsidFromNetworkName(networkName);
- if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
- if( ssid == nsstringToQString( [currentInterface ssid])) {
- cpPriv->state |= QNetworkConfiguration::Active;
- }
- }
-
- if( addedConfigs.contains(ssid)) {
- cpPriv->state |= QNetworkConfiguration::Discovered;
- }
-
- if(!cpPriv->state) {
- cpPriv->state = QNetworkConfiguration::Defined;
- }
-
- foundConfigs.append(cpPriv);
- }
- }
-
- [autoreleasepool drain];
-#else
- Q_UNUSED(interfaceName);
-#endif
- return foundConfigs;
-}
-
bool QCoreWlanEngine::isWifiReady(const QString &wifiDeviceName)
{
#if defined(MAC_SDK_10_6)
@@ -598,23 +731,6 @@ bool QCoreWlanEngine::isWifiReady(const QString &wifiDeviceName)
return false;
}
-bool QCoreWlanEngine::isKnownSsid( const QString &ssid)
-{
-#if defined(MAC_SDK_10_6)
- QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
- while (i.hasNext()) {
- i.next();
- QMap<QString,QString> map = i.value();
- if(map.keys().contains(ssid)) {
- return true;
- }
- }
-#else
- Q_UNUSED(ssid);
-#endif
- return false;
-}
-
bool QCoreWlanEngine::getAllScInterfaces()
{
networkInterfaces.clear();
@@ -665,7 +781,7 @@ void QCoreWlanEngine::startNetworkChangeLoop()
networkChangeCallback,
&dynStoreContext);
if (!storeSession ) {
- qWarning() << "could not open dynamic store: error:" << SCErrorString(SCError());
+ qDebug() << "could not open dynamic store: error:" << SCErrorString(SCError());
return;
}
@@ -689,7 +805,7 @@ void QCoreWlanEngine::startNetworkChangeLoop()
CFRelease(storeKey);
if (!SCDynamicStoreSetNotificationKeys(storeSession , notificationKeys, patternsArray)) {
- qWarning() << "register notification error:"<< SCErrorString(SCError());
+ qDebug() << "register notification error:"<< SCErrorString(SCError());
CFRelease(storeSession );
CFRelease(notificationKeys);
CFRelease(patternsArray);
@@ -700,7 +816,7 @@ void QCoreWlanEngine::startNetworkChangeLoop()
runloopSource = SCDynamicStoreCreateRunLoopSource(NULL, storeSession , 0);
if (!runloopSource) {
- qWarning() << "runloop source error:"<< SCErrorString(SCError());
+ qDebug() << "runloop source error:"<< SCErrorString(SCError());
CFRelease(storeSession );
return;
}
@@ -708,79 +824,6 @@ void QCoreWlanEngine::startNetworkChangeLoop()
CFRunLoopAddSource(CFRunLoopGetCurrent(), runloopSource, kCFRunLoopDefaultMode);
return;
}
-
-void QCoreWlanEngine::getUserConfigurations()
-{
-#ifdef MAC_SDK_10_6
- NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
- userProfiles.clear();
-
- NSArray *wifiInterfaces = [CWInterface supportedInterfaces];
- for(uint row=0; row < [wifiInterfaces count]; row++ ) {
-
- CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]];
- NSString *nsInterfaceName = [wifiInterface name];
-// add user configured system networks
- SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil);
- NSDictionary *airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", nsInterfaceName] autorelease]);
- CFRelease(dynRef);
-
- NSDictionary *prefNetDict = [airportPlist objectForKey:@"PreferredNetworks"];
-
- NSArray *thisSsidarray = [prefNetDict valueForKey:@"SSID_STR"];
- for(NSString *ssidkey in thisSsidarray) {
- QString thisSsid = nsstringToQString(ssidkey);
- if(!userProfiles.contains(thisSsid)) {
- QMap <QString,QString> map;
- map.insert(thisSsid, nsstringToQString(nsInterfaceName));
- userProfiles.insert(thisSsid, map);
- }
- }
- CFRelease(airportPlist);
-
- // 802.1X user profiles
- QString userProfilePath = QDir::homePath() + "/Library/Preferences/com.apple.eap.profiles.plist";
- NSDictionary* eapDict = [[NSDictionary alloc] initWithContentsOfFile:qstringToNSString(userProfilePath)];
- NSString *profileStr= @"Profiles";
- NSString *nameStr = @"UserDefinedName";
- NSString *networkSsidStr = @"Wireless Network";
- for (id profileKey in eapDict) {
- if ([profileStr isEqualToString:profileKey]) {
- NSDictionary *itemDict = [eapDict objectForKey:profileKey];
- for (id itemKey in itemDict) {
-
- NSInteger dictSize = [itemKey count];
- id objects[dictSize];
- id keys[dictSize];
-
- [itemKey getObjects:objects andKeys:keys];
- QString networkName;
- QString ssid;
- for(int i = 0; i < dictSize; i++) {
- if([nameStr isEqualToString:keys[i]]) {
- networkName = nsstringToQString(objects[i]);
- }
- if([networkSsidStr isEqualToString:keys[i]]) {
- ssid = nsstringToQString(objects[i]);
- }
- if(!userProfiles.contains(networkName)
- && !ssid.isEmpty()) {
- QMap<QString,QString> map;
- map.insert(ssid, nsstringToQString(nsInterfaceName));
- userProfiles.insert(networkName, map);
- }
- }
- }
- [itemDict release];
- }
- }
- [eapDict release];
- }
- [autoreleasepool release];
-#endif
-
-}
-
#include "moc_qcorewlanengine_mac_p.cpp"
QTM_END_NAMESPACE
diff --git a/src/bearer/qcorewlanengine_mac_p.h b/src/bearer/qcorewlanengine_mac_p.h
index bc28acdbfe..fdc2cc0c0d 100644
--- a/src/bearer/qcorewlanengine_mac_p.h
+++ b/src/bearer/qcorewlanengine_mac_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -54,17 +54,23 @@
//
#include "qnetworksessionengine_p.h"
+#include "qnetworkconfiguration.h"
+
#include <QMap>
#include <QTimer>
#include <SystemConfiguration/SystemConfiguration.h>
+#include <QThread>
+#include <QMutex>
QTM_BEGIN_NAMESPACE
class QNetworkConfigurationPrivate;
+class QScanThread;
class QCoreWlanEngine : public QNetworkSessionEngine
{
Q_OBJECT
+ friend class QScanThread;
public:
QCoreWlanEngine(QObject *parent = 0);
@@ -82,30 +88,62 @@ public:
void requestUpdate();
static QCoreWlanEngine *instance();
- static bool getAllScInterfaces();
+ QString interfaceName;
private:
bool isWifiReady(const QString &dev);
- QMap<uint, QString> configurationInterface;
QTimer pollTimer;
- QList<QNetworkConfigurationPrivate *> scanForSsids(const QString &interfaceName);
-
- bool isKnownSsid(const QString &ssid);
QList<QNetworkConfigurationPrivate *> foundConfigurations;
SCDynamicStoreRef storeSession;
CFRunLoopSourceRef runloopSource;
bool hasWifi;
+ QScanThread *scanThread;
+ QMutex mutex;
+ static bool getAllScInterfaces();
-protected:
- QMap<QString, QMap<QString,QString> > userProfiles;
+private Q_SLOTS:
+ void init();
+protected:
void startNetworkChangeLoop();
- void getUserConfigurations();
+};
+
+class QScanThread : public QThread
+{
+ Q_OBJECT
+
+public:
+ QScanThread(QObject *parent = 0);
+ ~QScanThread();
+
+ void quit();
+ QList<QNetworkConfigurationPrivate *> getConfigurations();
+ QString interfaceName;
+ QMap<QString, QString> configurationInterface;
+ void getUserProfiles();
QString getNetworkNameFromSsid(const QString &ssid);
QString getSsidFromNetworkName(const QString &name);
+ bool isKnownSsid(const QString &ssid);
+ QMap<QString, QMap<QString,QString> > userProfiles;
+
+signals:
+ void networksChanged();
+
+protected:
+ void run();
+
+private:
+ QList<QNetworkConfigurationPrivate *> fetchedConfigurations;
+ QMutex mutex;
+ QStringList foundNetwork(const QString &id, const QString &ssid,
+ const QNetworkConfiguration::StateFlags state,
+ const QString &interfaceName,
+ const QNetworkConfiguration::Purpose purpose);
+
};
+
QTM_END_NAMESPACE
#endif
diff --git a/src/bearer/qgenericengine.cpp b/src/bearer/qgenericengine.cpp
index 35e78791e3..dc9bb306bb 100644
--- a/src/bearer/qgenericengine.cpp
+++ b/src/bearer/qgenericengine.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qgenericengine_p.h b/src/bearer/qgenericengine_p.h
index 5c08aa229e..ade485596e 100644
--- a/src/bearer/qgenericengine_p.h
+++ b/src/bearer/qgenericengine_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnativewifiengine_win.cpp b/src/bearer/qnativewifiengine_win.cpp
index 20db09307a..758e54821c 100644
--- a/src/bearer/qnativewifiengine_win.cpp
+++ b/src/bearer/qnativewifiengine_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnativewifiengine_win_p.h b/src/bearer/qnativewifiengine_win_p.h
index e911746cc3..7f835f12c3 100644
--- a/src/bearer/qnativewifiengine_win_p.h
+++ b/src/bearer/qnativewifiengine_win_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfigmanager_maemo_p.h b/src/bearer/qnetworkconfigmanager_maemo_p.h
index 7f22ddcd12..ded58ce0bf 100644
--- a/src/bearer/qnetworkconfigmanager_maemo_p.h
+++ b/src/bearer/qnetworkconfigmanager_maemo_p.h
@@ -60,7 +60,6 @@
#include "qnetworkconfigmanager.h"
#include "qnetworkconfiguration_maemo_p.h"
-#include "qnetworksession_maemo_p.h"
QTM_BEGIN_NAMESPACE
diff --git a/src/bearer/qnetworkconfigmanager_p.cpp b/src/bearer/qnetworkconfigmanager_p.cpp
index 39426d0b96..fcab31579c 100644
--- a/src/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/bearer/qnetworkconfigmanager_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfigmanager_p.h b/src/bearer/qnetworkconfigmanager_p.h
index 0c42f9b58e..ac9a269aef 100644
--- a/src/bearer/qnetworkconfigmanager_p.h
+++ b/src/bearer/qnetworkconfigmanager_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfigmanager_s60_p.cpp b/src/bearer/qnetworkconfigmanager_s60_p.cpp
index 2540e99d95..56d165bac8 100644
--- a/src/bearer/qnetworkconfigmanager_s60_p.cpp
+++ b/src/bearer/qnetworkconfigmanager_s60_p.cpp
@@ -44,14 +44,13 @@
#include <commdb.h>
#include <cdbcols.h>
#include <d32dbms.h>
-#include <QEventLoop>
+#include <nifvar.h>
#include <QTimer>
#include <QTime> // For randgen seeding
#include <QtCore> // For randgen seeding
-// #define QT_BEARERMGMT_CONFIGMGR_DEBUG
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
#include <QDebug>
#endif
@@ -70,19 +69,20 @@
QTM_BEGIN_NAMESPACE
-static const int KValueThatWillBeAddedToSNAPId = 1000;
+#ifdef SNAP_FUNCTIONALITY_AVAILABLE
+ static const int KValueThatWillBeAddedToSNAPId = 1000;
+#endif
static const int KUserChoiceIAPId = 0;
QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate()
: QObject(0), CActive(CActive::EPriorityIdle), capFlags(0),
- iFirstUpdate(true), iInitOk(true), iIgnoringUpdates(false),
- iTimeToWait(0), iIgnoreEventLoop(0)
+ iFirstUpdate(true), iInitOk(true), iUpdatePending(false),
+ iTimeToWait(0)
{
CActiveScheduler::Add(this);
// Seed the randomgenerator
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()) + QCoreApplication::applicationPid());
- iIgnoreEventLoop = new QEventLoop(this);
registerPlatformCapabilities();
TRAPD(error, ipCommsDB = CCommsDatabase::NewL(EDatabaseTypeIAP));
@@ -165,6 +165,25 @@ QNetworkConfigurationManagerPrivate::~QNetworkConfigurationManagerPrivate()
delete cleanup;
}
+void QNetworkConfigurationManagerPrivate::delayedConfigurationUpdate()
+{
+ if (iUpdatePending) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM delayed configuration update (ECommit or ERecover occurred).");
+#endif
+ TRAPD(error, updateConfigurationsL());
+ if (error == KErrNone) {
+ updateStatesToSnaps();
+ }
+ iUpdatePending = false;
+ // Start monitoring again.
+ if (!IsActive()) {
+ SetActive();
+ // Start waiting for new notification
+ ipCommsDB->RequestNotification(iStatus);
+ }
+ }
+}
void QNetworkConfigurationManagerPrivate::registerPlatformCapabilities()
{
@@ -229,7 +248,11 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
- emit configurationAdded(item);
+ // Emit configuration added. Connected slots may throw execptions
+ // which propagate here --> must be converted to leaves (standard
+ // std::exception would cause any TRAP trapping this function to terminate
+ // program).
+ QT_TRYCATCH_LEAVING(emit configurationAdded(item));
}
}
}
@@ -250,10 +273,9 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
knownSnapConfigs.removeOne(ident);
} else {
QNetworkConfigurationPrivate* cpPriv = new QNetworkConfigurationPrivate();
- CleanupStack::PushL(cpPriv);
HBufC *pName = destination.NameLC();
- cpPriv->name = QString::fromUtf16(pName->Ptr(),pName->Length());
+ QT_TRYCATCH_LEAVING(cpPriv->name = QString::fromUtf16(pName->Ptr(),pName->Length()));
CleanupStack::PopAndDestroy(pName);
pName = NULL;
@@ -272,10 +294,8 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
- emit configurationAdded(item);
+ QT_TRYCATCH_LEAVING(emit configurationAdded(item));
}
-
- CleanupStack::Pop(cpPriv);
}
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> privSNAP = snapConfigurations.value(ident);
@@ -297,7 +317,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
- emit configurationAdded(item);
+ QT_TRYCATCH_LEAVING(emit configurationAdded(item));
}
privSNAP->serviceNetworkMembers.append(ptr);
}
@@ -349,7 +369,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
- emit configurationAdded(item);
+ QT_TRYCATCH_LEAVING(emit configurationAdded(item));
}
} else {
delete cpPriv;
@@ -359,7 +379,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
}
CleanupStack::PopAndDestroy(pDbTView);
#endif
- updateActiveAccessPoints();
+ QT_TRYCATCH_LEAVING(updateActiveAccessPoints());
foreach (const QString &oldIface, knownConfigs) {
//remove non existing IAP
@@ -368,7 +388,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = priv;
- emit configurationRemoved(item);
+ QT_TRYCATCH_LEAVING(emit configurationRemoved(item));
}
// Remove non existing IAP from SNAPs
foreach (const QString &iface, snapConfigurations.keys()) {
@@ -389,7 +409,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurationsL()
if (!iFirstUpdate) {
QNetworkConfiguration item;
item.d = priv;
- emit configurationRemoved(item);
+ QT_TRYCATCH_LEAVING(emit configurationRemoved(item));
}
}
}
@@ -399,14 +419,12 @@ QNetworkConfigurationPrivate* QNetworkConfigurationManagerPrivate::configFromCon
RCmConnectionMethod& connectionMethod)
{
QNetworkConfigurationPrivate* cpPriv = new QNetworkConfigurationPrivate();
- CleanupStack::PushL(cpPriv);
-
TUint32 iapId = connectionMethod.GetIntAttributeL(CMManager::ECmIapId);
QString ident = QString::number(qHash(iapId));
HBufC *pName = connectionMethod.GetStringAttributeL(CMManager::ECmName);
CleanupStack::PushL(pName);
- cpPriv->name = QString::fromUtf16(pName->Ptr(),pName->Length());
+ QT_TRYCATCH_LEAVING(cpPriv->name = QString::fromUtf16(pName->Ptr(),pName->Length()));
CleanupStack::PopAndDestroy(pName);
pName = NULL;
@@ -454,7 +472,7 @@ QNetworkConfigurationPrivate* QNetworkConfigurationManagerPrivate::configFromCon
if (error == KErrNone && pName) {
CleanupStack::PushL(pName);
- cpPriv->mappingName = QString::fromUtf16(pName->Ptr(),pName->Length());
+ QT_TRYCATCH_LEAVING(cpPriv->mappingName = QString::fromUtf16(pName->Ptr(),pName->Length()));
CleanupStack::PopAndDestroy(pName);
pName = NULL;
}
@@ -473,8 +491,6 @@ QNetworkConfigurationPrivate* QNetworkConfigurationManagerPrivate::configFromCon
cpPriv->purpose = QNetworkConfiguration::UnknownPurpose;
cpPriv->roamingSupported = false;
cpPriv->manager = this;
-
- CleanupStack::Pop(cpPriv);
return cpPriv;
}
#else
@@ -507,7 +523,7 @@ void QNetworkConfigurationManagerPrivate::readNetworkConfigurationValuesFromComm
QString ident = QString::number(qHash(aApId));
- apNetworkConfiguration->name = QString::fromUtf16(name.Ptr(),name.Length());
+ QT_TRYCATCH_LEAVING(apNetworkConfiguration->name = QString::fromUtf16(name.Ptr(),name.Length()));
apNetworkConfiguration->isValid = true;
apNetworkConfiguration->id = ident;
apNetworkConfiguration->numericId = aApId;
@@ -607,10 +623,14 @@ void QNetworkConfigurationManagerPrivate::updateActiveAccessPoints()
iConnectionMonitor.GetConnectionCount(connectionCount, status);
User::WaitForRequest(status);
- // Go through all connections and set state of related IAPs to Active
+ // Go through all connections and set state of related IAPs to Active.
+ // Status needs to be checked carefully, because ConnMon lists also e.g.
+ // WLAN connections that are being currently tried --> we don't want to
+ // state these as active.
TUint connectionId;
TUint subConnectionCount;
TUint apId;
+ TInt connectionStatus;
if (status.Int() == KErrNone) {
for (TUint i = 1; i <= connectionCount; i++) {
iConnectionMonitor.GetConnectionInfo(i, connectionId, subConnectionCount);
@@ -619,11 +639,15 @@ void QNetworkConfigurationManagerPrivate::updateActiveAccessPoints()
QString ident = QString::number(qHash(apId));
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
if (priv.data()) {
- online = true;
- inactiveConfigs.removeOne(ident);
- priv.data()->connectionId = connectionId;
- // Configuration is Active
- changeConfigurationStateTo(priv, QNetworkConfiguration::Active);
+ iConnectionMonitor.GetIntAttribute(connectionId, subConnectionCount, KConnectionStatus, connectionStatus, status);
+ User::WaitForRequest(status);
+ if (connectionStatus == KLinkLayerOpen) {
+ online = true;
+ inactiveConfigs.removeOne(ident);
+ priv.data()->connectionId = connectionId;
+ // Configuration is Active
+ changeConfigurationStateTo(priv, QNetworkConfiguration::Active);
+ }
}
}
}
@@ -674,12 +698,12 @@ void QNetworkConfigurationManagerPrivate::accessPointScanningReady(TBool scanSuc
}
}
- // Make sure that state of rest of the IAPs won't be Discovered or Active
+ // Make sure that state of rest of the IAPs won't be Active
foreach (const QString &iface, unavailableConfigs) {
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(iface);
if (priv.data()) {
// Configuration is Defined
- changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Defined);
+ changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Discovered);
}
}
}
@@ -807,47 +831,26 @@ void QNetworkConfigurationManagerPrivate::stopCommsDatabaseNotifications()
void QNetworkConfigurationManagerPrivate::RunL()
{
- if (iIgnoringUpdates) {
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("CommsDB event handling postponed (postpone-timer running because IAPs/SNAPs were updated very recently).");
-#endif
- return;
- }
if (iStatus != KErrCancel) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM CommsDB event (of type RDbNotifier::TEvent) received: %d", iStatus.Int());
+#endif
+ // By default, start relistening notifications. Stop only if interesting event occured.
+ iWaitingCommsDatabaseNotifications = true;
RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int());
switch (event) {
- case RDbNotifier::EUnlock: /** All read locks have been removed. */
case RDbNotifier::ECommit: /** A transaction has been committed. */
- case RDbNotifier::ERollback: /** A transaction has been rolled back */
case RDbNotifier::ERecover: /** The database has been recovered */
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("CommsDB event (of type RDbNotifier::TEvent) received: %d", iStatus.Int());
-#endif
- iIgnoringUpdates = true;
- // Other events than ECommit get lower priority. In practice with those events,
- // we delay_before_updating methods, whereas
- // with ECommit we _update_before_delaying the reaction to next event.
- // Few important notes: 1) listening to only ECommit does not seem to be adequate,
- // but updates will be missed. Hence other events are reacted upon too.
- // 2) RDbNotifier records the most significant event, and that will be returned once
- // we issue new RequestNotification, and hence updates will not be missed even
- // when we are 'not reacting to them' for few seconds.
- if (event == RDbNotifier::ECommit) {
- TRAPD(error, updateConfigurationsL());
- if (error == KErrNone) {
- updateStatesToSnaps();
- }
- waitRandomTime();
- } else {
- waitRandomTime();
- TRAPD(error, updateConfigurationsL());
- if (error == KErrNone) {
- updateStatesToSnaps();
- }
+ // Mark that there is update pending. No need to ask more events,
+ // as we know we will be updating anyway when the timer expires.
+ if (!iUpdatePending) {
+ iUpdatePending = true;
+ iWaitingCommsDatabaseNotifications = false;
+ // Update after random time, so that many processes won't
+ // start updating simultaneously
+ updateConfigurationsAfterRandomTime();
}
- iIgnoringUpdates = false; // Wait time done, allow updating again
- iWaitingCommsDatabaseNotifications = true;
- break;
+ break;
default:
// Do nothing
break;
@@ -867,64 +870,91 @@ void QNetworkConfigurationManagerPrivate::DoCancel()
ipCommsDB->CancelRequestNotification();
}
-
void QNetworkConfigurationManagerPrivate::EventL(const CConnMonEventBase& aEvent)
{
switch (aEvent.EventType()) {
- case EConnMonCreateConnection:
+ case EConnMonConnectionStatusChange:
{
- CConnMonCreateConnection* realEvent;
- realEvent = (CConnMonCreateConnection*) &aEvent;
- TUint subConnectionCount = 0;
- TUint apId;
- TUint connectionId = realEvent->ConnectionId();
- TRequestStatus status;
- iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
- User::WaitForRequest(status);
- QString ident = QString::number(qHash(apId));
- QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
- if (priv.data()) {
- priv.data()->connectionId = connectionId;
- // Configuration is Active
- if (changeConfigurationStateTo(priv, QNetworkConfiguration::Active)) {
- updateStatesToSnaps();
+ CConnMonConnectionStatusChange* realEvent;
+ realEvent = (CConnMonConnectionStatusChange*) &aEvent;
+ TInt connectionStatus = realEvent->ConnectionStatus();
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM Connection status : " << QString::number(connectionStatus) << " , connection monitor Id : " << realEvent->ConnectionId();
+#endif
+ if (connectionStatus == KConfigDaemonStartingRegistration) {
+ TUint connectionId = realEvent->ConnectionId();
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
+ if (priv.data()) {
+ priv.data()->connectionId = connectionId;
+ QT_TRYCATCH_LEAVING(emit this->configurationStateChanged(priv.data()->numericId, connectionId, QNetworkSession::Connecting));
+ }
+ } else if (connectionStatus == KLinkLayerOpen) {
+ // Connection has been successfully opened
+ TUint connectionId = realEvent->ConnectionId();
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
+ if (priv.data()) {
+ priv.data()->connectionId = connectionId;
+ // Configuration is Active
+ QT_TRYCATCH_LEAVING(
+ if (changeConfigurationStateTo(priv, QNetworkConfiguration::Active)) {
+ updateStatesToSnaps();
+ }
+ emit this->configurationStateChanged(priv.data()->numericId, connectionId, QNetworkSession::Connected);
+ if (!iOnline) {
+ iOnline = true;
+ emit this->onlineStateChanged(iOnline);
+ }
+ );
}
- if (!iOnline) {
- iOnline = true;
- emit this->onlineStateChanged(iOnline);
+ } else if (connectionStatus == KConfigDaemonStartingDeregistration) {
+ TUint connectionId = realEvent->ConnectionId();
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = dataByConnectionId(connectionId);
+ if (priv.data()) {
+ QT_TRYCATCH_LEAVING(emit this->configurationStateChanged(priv.data()->numericId, connectionId, QNetworkSession::Closing));
}
- }
- }
- break;
-
- case EConnMonDeleteConnection:
- {
- CConnMonDeleteConnection* realEvent;
- realEvent = (CConnMonDeleteConnection*) &aEvent;
- TUint connectionId = realEvent->ConnectionId();
- QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = dataByConnectionId(connectionId);
- if (priv.data()) {
- priv.data()->connectionId = 0;
- // Configuration is either Defined or Discovered
- if (changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Discovered)) {
- updateStatesToSnaps();
+ } else if (connectionStatus == KLinkLayerClosed ||
+ connectionStatus == KConnectionClosed) {
+ // Connection has been closed. Which of the above events is reported, depends on the Symbian
+ // platform.
+ TUint connectionId = realEvent->ConnectionId();
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = dataByConnectionId(connectionId);
+ if (priv.data()) {
+ // Configuration is either Defined or Discovered
+ QT_TRYCATCH_LEAVING(
+ if (changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Discovered)) {
+ updateStatesToSnaps();
+ }
+ emit this->configurationStateChanged(priv.data()->numericId, connectionId, QNetworkSession::Disconnected);
+ );
}
- }
-
- bool online = false;
- foreach (const QString &iface, accessPointConfigurations.keys()) {
- QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(iface);
- if (priv.data()->state == QNetworkConfiguration::Active) {
- online = true;
- break;
+
+ bool online = false;
+ foreach (const QString &iface, accessPointConfigurations.keys()) {
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(iface);
+ if (priv.data()->state == QNetworkConfiguration::Active) {
+ online = true;
+ break;
+ }
+ }
+ if (iOnline != online) {
+ iOnline = online;
+ QT_TRYCATCH_LEAVING(emit this->onlineStateChanged(iOnline));
}
- }
- if (iOnline != online) {
- iOnline = online;
- emit this->onlineStateChanged(iOnline);
}
}
- break;
+ break;
case EConnMonIapAvailabilityChange:
{
@@ -937,7 +967,7 @@ void QNetworkConfigurationManagerPrivate::EventL(const CConnMonEventBase& aEvent
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
if (priv.data()) {
// Configuration is either Discovered or Active
- changeConfigurationStateAtMinTo(priv, QNetworkConfiguration::Discovered);
+ QT_TRYCATCH_LEAVING(changeConfigurationStateAtMinTo(priv, QNetworkConfiguration::Discovered));
unDiscoveredConfigs.removeOne(ident);
}
}
@@ -945,36 +975,87 @@ void QNetworkConfigurationManagerPrivate::EventL(const CConnMonEventBase& aEvent
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(iface);
if (priv.data()) {
// Configuration is Defined
- changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Defined);
+ QT_TRYCATCH_LEAVING(changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Defined));
}
}
}
break;
+ case EConnMonCreateConnection:
+ {
+ // This event is caught to keep connection monitor IDs up-to-date.
+ CConnMonCreateConnection* realEvent;
+ realEvent = (CConnMonCreateConnection*) &aEvent;
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TUint connectionId = realEvent->ConnectionId();
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
+ if (priv.data()) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM updating connection monitor ID : from, to, whose: " << priv.data()->connectionId << connectionId << priv->name;
+#endif
+ priv.data()->connectionId = connectionId;
+ }
+ }
+ break;
default:
// For unrecognized events
break;
}
}
-// Waits for 1..4 seconds.
-void QNetworkConfigurationManagerPrivate::waitRandomTime()
+// Sessions may use this function to report configuration state changes,
+// because on some Symbian platforms (especially Symbian^3) all state changes are not
+// reported by the RConnectionMonitor, in particular in relation to stop() call,
+// whereas they _are_ reported on RConnection progress notifier used by sessions --> centralize
+// this data here so that other sessions may benefit from it too (not all sessions necessarily have
+// RConnection progress notifiers available but they relay on having e.g. disconnected information from
+// manager). Currently only 'Disconnected' state is of interest because it has proven to be troublesome.
+void QNetworkConfigurationManagerPrivate::configurationStateChangeReport(TUint32 accessPointId, QNetworkSession::State newState)
+{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM A session reported state change for IAP ID: " << accessPointId << " whose new state is: " << newState;
+#endif
+ switch (newState) {
+ case QNetworkSession::Disconnected:
+ {
+ QString ident = QString::number(qHash(accessPointId));
+ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.value(ident);
+ if (priv.data()) {
+ // Configuration is either Defined or Discovered
+ if (changeConfigurationStateAtMaxTo(priv, QNetworkConfiguration::Discovered)) {
+ updateStatesToSnaps();
+ }
+ emit this->configurationStateChanged(
+ priv.data()->numericId, priv.data()->connectionId, QNetworkSession::Disconnected);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+// Waits for 2..6 seconds.
+void QNetworkConfigurationManagerPrivate::updateConfigurationsAfterRandomTime()
{
- iTimeToWait = (qAbs(qrand()) % 5) * 1000;
+ iTimeToWait = (qAbs(qrand()) % 68) * 100;
if (iTimeToWait < 1000) {
iTimeToWait = 1000;
}
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("QNetworkConfigurationManager waiting random time: %d ms", iTimeToWait);
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM waiting random time: %d ms", iTimeToWait);
#endif
- QTimer::singleShot(iTimeToWait, iIgnoreEventLoop, SLOT(quit()));
- iIgnoreEventLoop->exec();
+ QTimer::singleShot(iTimeToWait, this, SLOT(delayedConfigurationUpdate()));
}
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> QNetworkConfigurationManagerPrivate::dataByConnectionId(TUint aConnectionId)
{
QNetworkConfiguration item;
-
QHash<QString, QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> >::const_iterator i =
accessPointConfigurations.constBegin();
while (i != accessPointConfigurations.constEnd()) {
@@ -990,7 +1071,7 @@ QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> QNetworkConfiguration
AccessPointsAvailabilityScanner::AccessPointsAvailabilityScanner(QNetworkConfigurationManagerPrivate& owner,
RConnectionMonitor& connectionMonitor)
- : CActive(CActive::EPriorityStandard), iOwner(owner), iConnectionMonitor(connectionMonitor)
+ : CActive(CActive::EPriorityHigh), iOwner(owner), iConnectionMonitor(connectionMonitor)
{
CActiveScheduler::Add(this);
}
@@ -1028,9 +1109,9 @@ void AccessPointsAvailabilityScanner::RunL()
{
if (iStatus.Int() != KErrNone) {
iIapBuf().iCount = 0;
- iOwner.accessPointScanningReady(false,iIapBuf());
+ QT_TRYCATCH_LEAVING(iOwner.accessPointScanningReady(false,iIapBuf()));
} else {
- iOwner.accessPointScanningReady(true,iIapBuf());
+ QT_TRYCATCH_LEAVING(iOwner.accessPointScanningReady(true,iIapBuf()));
}
}
#include "moc_qnetworkconfigmanager_s60_p.cpp"
diff --git a/src/bearer/qnetworkconfigmanager_s60_p.h b/src/bearer/qnetworkconfigmanager_s60_p.h
index 50b23b0f51..86fd382329 100644
--- a/src/bearer/qnetworkconfigmanager_s60_p.h
+++ b/src/bearer/qnetworkconfigmanager_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -55,6 +55,7 @@
#include <qnetworkconfigmanager.h>
#include <qnetworkconfiguration_s60_p.h>
+#include <qnetworksession.h>
#include <QHash>
#include <rconnmon.h>
@@ -62,6 +63,9 @@
#include <cmmanager.h>
#endif
+// Uncomment and compile QtBearer to gain detailed state tracing
+// #define QT_BEARERMGMT_SYMBIAN_DEBUG
+
class CCommsDatabase;
class QEventLoop;
@@ -92,8 +96,12 @@ Q_SIGNALS:
void configurationChanged(const QNetworkConfiguration& config);
void onlineStateChanged(bool isOnline);
+ void configurationStateChanged(TUint32 accessPointId, TUint32 connMonId,
+ QNetworkSession::State newState);
+
public Q_SLOTS:
void updateConfigurations();
+ void delayedConfigurationUpdate();
private:
void registerPlatformCapabilities();
@@ -119,19 +127,24 @@ private:
void accessPointScanningReady(TBool scanSuccessful, TConnMonIapInfo iapInfo);
void startCommsDatabaseNotifications();
void stopCommsDatabaseNotifications();
- void waitRandomTime();
+ void updateConfigurationsAfterRandomTime();
QNetworkConfiguration defaultConfigurationL();
TBool GetS60PlatformVersion(TUint& aMajor, TUint& aMinor) const;
void startMonitoringIAPData(TUint32 aIapId);
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> dataByConnectionId(TUint aConnectionId);
-protected: // From CActive
+protected:
+ // From CActive
void RunL();
void DoCancel();
-private: // MConnectionMonitorObserver
+private:
+ // MConnectionMonitorObserver
void EventL(const CConnMonEventBase& aEvent);
+ // For QNetworkSessionPrivate to indicate about state changes
+ void configurationStateChangeReport(TUint32 accessPointId,
+ QNetworkSession::State newState);
public: // Data
//this table contains an up to date list of all configs at any time.
@@ -151,9 +164,8 @@ private: // Data
TBool iOnline;
TBool iInitOk;
TBool iUpdateGoingOn;
- TBool iIgnoringUpdates;
+ TBool iUpdatePending;
TUint iTimeToWait;
- QEventLoop* iIgnoreEventLoop;
AccessPointsAvailabilityScanner* ipAccessPointsAvailabilityScanner;
diff --git a/src/bearer/qnetworkconfiguration.cpp b/src/bearer/qnetworkconfiguration.cpp
index 1fc0582610..933b8b5684 100644
--- a/src/bearer/qnetworkconfiguration.cpp
+++ b/src/bearer/qnetworkconfiguration.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfiguration.h b/src/bearer/qnetworkconfiguration.h
index 860be4b0ec..a050a28a43 100644
--- a/src/bearer/qnetworkconfiguration.h
+++ b/src/bearer/qnetworkconfiguration.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfiguration_maemo_p.h b/src/bearer/qnetworkconfiguration_maemo_p.h
index d912b904b5..7e54f0ef22 100644
--- a/src/bearer/qnetworkconfiguration_maemo_p.h
+++ b/src/bearer/qnetworkconfiguration_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfiguration_p.h b/src/bearer/qnetworkconfiguration_p.h
index c2834e6d94..28c5ade4b5 100644
--- a/src/bearer/qnetworkconfiguration_p.h
+++ b/src/bearer/qnetworkconfiguration_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfiguration_s60_p.cpp b/src/bearer/qnetworkconfiguration_s60_p.cpp
index ee50bd5b5d..316030b5db 100644
--- a/src/bearer/qnetworkconfiguration_s60_p.cpp
+++ b/src/bearer/qnetworkconfiguration_s60_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkconfiguration_s60_p.h b/src/bearer/qnetworkconfiguration_s60_p.h
index 6c8720026e..add0e97c05 100644
--- a/src/bearer/qnetworkconfiguration_s60_p.h
+++ b/src/bearer/qnetworkconfiguration_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -88,7 +88,18 @@ public:
QNetworkConfigurationPrivate::Bearer bearer;
QString bearerName() const;
+ // So called IAP id from the platform. Remains constant as long as the
+ // platform is aware of the configuration ie. it is stored in the databases
+ // --> does not depend on whether connections are currently open or not.
+ // In practice is the same for the lifetime of the QNetworkConfiguration.
TUint32 numericId;
+ // So called connection id, or connection monitor ID. A dynamic ID assigned
+ // by RConnectionMonitor whenever a new connection is opened. ConnectionID and
+ // numericId/IAP id have 1-to-1 mapping during the lifetime of the connection at
+ // connection monitor. Notably however it changes whenever a new connection to
+ // a given IAP is created. In a sense it is constant during the time the
+ // configuration remains between states Discovered..Active..Discovered, do not
+ // however relay on this.
TUint connectionId;
TAny* manager;
diff --git a/src/bearer/qnetworkmanagerservice_p.cpp b/src/bearer/qnetworkmanagerservice_p.cpp
index aedb11982c..60126a54f2 100644
--- a/src/bearer/qnetworkmanagerservice_p.cpp
+++ b/src/bearer/qnetworkmanagerservice_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworkmanagerservice_p.h b/src/bearer/qnetworkmanagerservice_p.h
index 11c04caf0c..1dcd2848b3 100644
--- a/src/bearer/qnetworkmanagerservice_p.h
+++ b/src/bearer/qnetworkmanagerservice_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession.cpp b/src/bearer/qnetworksession.cpp
index 66ee3c328e..c066553b97 100644
--- a/src/bearer/qnetworksession.cpp
+++ b/src/bearer/qnetworksession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession.h b/src/bearer/qnetworksession.h
index ee52c8fc0e..39a0ed7082 100644
--- a/src/bearer/qnetworksession.h
+++ b/src/bearer/qnetworksession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession_maemo.cpp b/src/bearer/qnetworksession_maemo.cpp
index 1942de41c6..28f4ebbac4 100644
--- a/src/bearer/qnetworksession_maemo.cpp
+++ b/src/bearer/qnetworksession_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession_maemo_p.h b/src/bearer/qnetworksession_maemo_p.h
index 56e63e5403..170c3e0375 100644
--- a/src/bearer/qnetworksession_maemo_p.h
+++ b/src/bearer/qnetworksession_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession_p.cpp b/src/bearer/qnetworksession_p.cpp
index 76ea95eb56..795fee7ce1 100644
--- a/src/bearer/qnetworksession_p.cpp
+++ b/src/bearer/qnetworksession_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession_p.h b/src/bearer/qnetworksession_p.h
index 09fcfca241..1a8fdb4b51 100644
--- a/src/bearer/qnetworksession_p.h
+++ b/src/bearer/qnetworksession_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksession_s60_p.cpp b/src/bearer/qnetworksession_s60_p.cpp
index 2f857cc4d2..cf648576b4 100644
--- a/src/bearer/qnetworksession_s60_p.cpp
+++ b/src/bearer/qnetworksession_s60_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -52,15 +52,17 @@
QTM_BEGIN_NAMESPACE
QNetworkSessionPrivate::QNetworkSessionPrivate()
- : CActive(CActive::EPriorityStandard), state(QNetworkSession::Invalid),
- isOpen(false), ipConnectionNotifier(0), iError(QNetworkSession::UnknownSessionError),
- iALREnabled(0), iConnectInBackground(false)
+ : CActive(CActive::EPriorityUserInput), state(QNetworkSession::Invalid),
+ isOpen(false), ipConnectionNotifier(0), iHandleStateNotificationsFromManager(false),
+ iFirstSync(true), iStoppedByUser(false), iClosedByUser(false), iDeprecatedConnectionId(0),
+ iError(QNetworkSession::UnknownSessionError), iALREnabled(0), iConnectInBackground(false)
{
CActiveScheduler::Add(this);
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
iMobility = NULL;
#endif
+
TRAP_IGNORE(iConnectionMonitor.ConnectL());
}
@@ -89,19 +91,62 @@ QNetworkSessionPrivate::~QNetworkSessionPrivate()
// Close global 'Open C' RConnection
setdefaultif(0);
-
- iConnectionMonitor.CancelNotifications();
+
iConnectionMonitor.Close();
}
+void QNetworkSessionPrivate::configurationStateChanged(TUint32 accessPointId, TUint32 connMonId, QNetworkSession::State newState)
+{
+ if (iHandleStateNotificationsFromManager) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "configurationStateChanged from manager for IAP : " << QString::number(accessPointId)
+ << "configurationStateChanged connMon ID : " << QString::number(connMonId)
+ << " : to a state: " << newState
+ << " whereas my current state is: " << state;
+#endif
+ if (connMonId == iDeprecatedConnectionId) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "however status update from manager ignored because it related to already closed connection.";
+#endif
+ return;
+ }
+ this->newState(newState, accessPointId);
+ }
+}
+
+void QNetworkSessionPrivate::configurationRemoved(const QNetworkConfiguration& config)
+{
+ if (!publicConfig.d.data()) {
+ return;
+ }
+ if (config.d.data()->numericId == publicConfig.d.data()->numericId) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "configurationRemoved IAP: " << QString::number(publicConfig.d.data()->numericId) << " : going to State: Invalid";
+#endif
+ this->newState(QNetworkSession::Invalid, publicConfig.d.data()->numericId);
+ }
+}
+
void QNetworkSessionPrivate::syncStateWithInterface()
{
if (!publicConfig.d) {
return;
}
- // Start monitoring changes in IAP states
- TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this));
+ if (iFirstSync && publicConfig.d.data()) {
+ QObject::connect(((QNetworkConfigurationManagerPrivate*)publicConfig.d.data()->manager), SIGNAL(configurationStateChanged(TUint32, TUint32, QNetworkSession::State)),
+ this, SLOT(configurationStateChanged(TUint32, TUint32, QNetworkSession::State)));
+ // Listen to configuration removals, so that in case the configuration
+ // this session is based on is removed, session knows to enter Invalid -state.
+ QObject::connect(((QNetworkConfigurationManagerPrivate*)publicConfig.d.data()->manager),
+ SIGNAL(configurationRemoved(QNetworkConfiguration)),
+ this, SLOT(configurationRemoved(QNetworkConfiguration)));
+ }
+ // Start listening IAP state changes from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
// Check open connections to see if there is already
// an open connection to selected IAP or SNAP
@@ -137,11 +182,7 @@ void QNetworkSessionPrivate::syncStateWithInterface()
}
if (state != QNetworkSession::Connected) {
- // There were no open connections to used IAP or SNAP
- if (iError == QNetworkSession::InvalidConfigurationError) {
- newState(QNetworkSession::Invalid);
- }
- else if ((publicConfig.d.data()->state & QNetworkConfiguration::Discovered) ==
+ if ((publicConfig.d.data()->state & QNetworkConfiguration::Discovered) ==
QNetworkConfiguration::Discovered) {
newState(QNetworkSession::Disconnected);
} else {
@@ -242,13 +283,18 @@ QNetworkSession::SessionError QNetworkSessionPrivate::error() const
void QNetworkSessionPrivate::open()
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "open() called, session state is: " << state << " and isOpen is: "
+ << isOpen;
+#endif
if (isOpen || (state == QNetworkSession::Connecting)) {
return;
}
-
- // Cancel notifications from RConnectionMonitor
+
+ // Stop handling IAP state change signals from QNetworkConfigurationManagerPrivate
// => RConnection::ProgressNotification will be used for IAP/SNAP monitoring
- iConnectionMonitor.CancelNotifications();
+ iHandleStateNotificationsFromManager = false;
// Configuration may have been invalidated after session creation by platform
// (e.g. configuration has been deleted).
@@ -256,19 +302,25 @@ void QNetworkSessionPrivate::open()
newState(QNetworkSession::Invalid);
iError = QNetworkSession::InvalidConfigurationError;
emit q->error(iError);
- syncStateWithInterface();
return;
}
- // If opening a (un)defined configuration, session emits error and enters
- // NotAvailable -state.
- if (publicConfig.state() == QNetworkConfiguration::Undefined ||
- publicConfig.state() == QNetworkConfiguration::Defined) {
+ // If opening a undefined configuration, session emits error and enters
+ // NotAvailable -state. Note that we will try ones in 'defined' state to avoid excessive
+ // need for WLAN scans (via updateConfigurations()), because user may have walked
+ // into a WLAN range, but periodic background scan has not occurred yet -->
+ // we don't want to force application to make frequent updateConfigurations() calls
+ // to be able to try if e.g. home WLAN is available.
+ if (publicConfig.state() == QNetworkConfiguration::Undefined) {
newState(QNetworkSession::NotAvailable);
iError = QNetworkSession::InvalidConfigurationError;
emit q->error(iError);
return;
}
-
+ // Clear possible previous states
+ iStoppedByUser = false;
+ iClosedByUser = false;
+ iDeprecatedConnectionId = 0;
+
TInt error = iSocketServ.Connect();
if (error != KErrNone) {
// Could not open RSocketServ
@@ -420,11 +472,19 @@ TUint QNetworkSessionPrivate::iapClientCount(TUint aIAPId) const
void QNetworkSessionPrivate::close(bool allowSignals)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "close() called, session state is: " << state << " and isOpen is : "
+ << isOpen;
+#endif
if (!isOpen) {
return;
}
+ // Mark this session as closed-by-user so that we are able to report
+ // distinguish between stop() and close() state transitions
+ // when reporting.
+ iClosedByUser = true;
- TUint activeIap = activeConfig.d.data()->numericId;
isOpen = false;
activeConfig = QNetworkConfiguration();
serviceConfig = QNetworkConfiguration();
@@ -437,8 +497,10 @@ void QNetworkSessionPrivate::close(bool allowSignals)
}
#endif
- if (ipConnectionNotifier) {
+ if (ipConnectionNotifier && !iHandleStateNotificationsFromManager) {
ipConnectionNotifier->StopNotifications();
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
}
iConnection.Close();
@@ -447,29 +509,31 @@ void QNetworkSessionPrivate::close(bool allowSignals)
// Close global 'Open C' RConnection
setdefaultif(0);
-#ifdef Q_CC_NOKIAX86
- if ((allowSignals && iapClientCount(activeIap) <= 0) ||
-#else
- if ((allowSignals && iapClientCount(activeIap) <= 1) ||
-#endif
- (publicConfig.type() == QNetworkConfiguration::UserChoice)) {
+ if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
newState(QNetworkSession::Closing);
+ newState(QNetworkSession::Disconnected);
}
- syncStateWithInterface();
if (allowSignals) {
- if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
- newState(QNetworkSession::Disconnected);
- }
emit q->closed();
}
}
void QNetworkSessionPrivate::stop()
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "stop() called, session state is: " << state << " and isOpen is : "
+ << isOpen;
+#endif
if (!isOpen &&
publicConfig.isValid() &&
publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "since session is not open, using RConnectionMonitor to stop() the interface";
+#endif
+ iStoppedByUser = true;
// If the publicConfig is type of IAP, enumerate through connections at
// connection monitor. If publicConfig is active in that list, stop it.
// Otherwise there is nothing to stop. Note: because this QNetworkSession is not open,
@@ -483,7 +547,7 @@ void QNetworkSessionPrivate::stop()
}
TUint numSubConnections; // Not used but needed by GetConnectionInfo i/f
TUint connectionId;
- for (TInt i = 1; i <= count; ++i) {
+ for (TUint i = 1; i <= count; ++i) {
// Get (connection monitor's assigned) connection ID
TInt ret = iConnectionMonitor.GetConnectionInfo(i, connectionId, numSubConnections);
if (ret == KErrNone) {
@@ -495,11 +559,25 @@ void QNetworkSessionPrivate::stop()
ETrue);
}
}
+ // Enter disconnected state right away since the session is not even open.
+ // Symbian^3 connection monitor does not emit KLinkLayerClosed when
+ // connection is stopped via connection monitor.
+ newState(QNetworkSession::Disconnected);
}
} else if (isOpen) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "since session is open, using RConnection to stop() the interface";
+#endif
// Since we are open, use RConnection to stop the interface
isOpen = false;
+ iStoppedByUser = true;
newState(QNetworkSession::Closing);
+ if (ipConnectionNotifier) {
+ ipConnectionNotifier->StopNotifications();
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
+ }
iConnection.Stop(RConnection::EStopAuthoritative);
isOpen = true;
close(false);
@@ -592,7 +670,15 @@ void QNetworkSessionPrivate::PreferredCarrierAvailable(TAccessPointInfo aOldAPIn
QList<QNetworkConfiguration> configs = publicConfig.children();
for (int i=0; i < configs.count(); i++) {
if (configs[i].d.data()->numericId == aNewAPInfo.AccessPoint()) {
- emit q->preferredConfigurationChanged(configs[i],aIsSeamless);
+ // Any slot connected to the signal might throw an std::exception,
+ // which must not propagate into Symbian code (this function is a callback
+ // from platform). We could convert exception to a symbian Leave, but since the
+ // prototype of this function bans this (no trailing 'L'), we just catch
+ // and drop.
+ QT_TRY {
+ emit q->preferredConfigurationChanged(configs[i],aIsSeamless);
+ }
+ QT_CATCH (std::exception&) {}
}
}
} else {
@@ -603,7 +689,10 @@ void QNetworkSessionPrivate::PreferredCarrierAvailable(TAccessPointInfo aOldAPIn
void QNetworkSessionPrivate::NewCarrierActive(TAccessPointInfo /*aNewAPInfo*/, TBool /*aIsSeamless*/)
{
if (iALREnabled > 0) {
- emit q->newConfigurationActivated();
+ QT_TRY {
+ emit q->newConfigurationActivated();
+ }
+ QT_CATCH (std::exception&) {}
} else {
accept();
}
@@ -611,6 +700,10 @@ void QNetworkSessionPrivate::NewCarrierActive(TAccessPointInfo /*aNewAPInfo*/, T
void QNetworkSessionPrivate::Error(TInt /*aError*/)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "roaming Error() occured";
+#endif
if (isOpen) {
isOpen = false;
activeConfig = QNetworkConfiguration();
@@ -621,13 +714,24 @@ void QNetworkSessionPrivate::Error(TInt /*aError*/)
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- syncStateWithInterface();
- // In some cases IAP is still in Connected state when
- // syncStateWithInterface(); is called
- // => Following call makes sure that Session state
- // changes immediately to Disconnected.
- newState(QNetworkSession::Disconnected);
- emit q->closed();
+ QT_TRY {
+ syncStateWithInterface();
+ // In some cases IAP is still in Connected state when
+ // syncStateWithInterface(); is called
+ // => Following call makes sure that Session state
+ // changes immediately to Disconnected.
+ newState(QNetworkSession::Disconnected);
+ emit q->closed();
+ }
+ QT_CATCH (std::exception&) {}
+ } else if (iStoppedByUser) {
+ // If the user of this session has called the stop() and
+ // configuration is based on internet SNAP, this needs to be
+ // done here because platform might roam.
+ QT_TRY {
+ newState(QNetworkSession::Disconnected);
+ }
+ QT_CATCH (std::exception&) {}
}
}
#endif
@@ -854,12 +958,12 @@ void QNetworkSessionPrivate::RunL()
if (error != KErrNone) {
isOpen = false;
iError = QNetworkSession::UnknownSessionError;
- emit q->error(iError);
+ QT_TRYCATCH_LEAVING(emit q->error(iError));
Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- syncStateWithInterface();
+ QT_TRYCATCH_LEAVING(syncStateWithInterface());
return;
}
@@ -880,8 +984,10 @@ void QNetworkSessionPrivate::RunL()
startTime = QDateTime::currentDateTime();
- newState(QNetworkSession::Connected);
- emit quitPendingWaitsForOpened();
+ QT_TRYCATCH_LEAVING({
+ newState(QNetworkSession::Connected);
+ emit quitPendingWaitsForOpened();
+ });
}
break;
case KErrNotFound: // Connection failed
@@ -889,12 +995,12 @@ void QNetworkSessionPrivate::RunL()
activeConfig = QNetworkConfiguration();
serviceConfig = QNetworkConfiguration();
iError = QNetworkSession::InvalidConfigurationError;
- emit q->error(iError);
+ QT_TRYCATCH_LEAVING(emit q->error(iError));
Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- syncStateWithInterface();
+ QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
case KErrCancel: // Connection attempt cancelled
case KErrAlreadyExists: // Connection already exists
@@ -902,13 +1008,18 @@ void QNetworkSessionPrivate::RunL()
isOpen = false;
activeConfig = QNetworkConfiguration();
serviceConfig = QNetworkConfiguration();
- iError = QNetworkSession::UnknownSessionError;
- emit q->error(iError);
+ if (publicConfig.state() == QNetworkConfiguration::Undefined ||
+ publicConfig.state() == QNetworkConfiguration::Defined) {
+ iError = QNetworkSession::InvalidConfigurationError;
+ } else {
+ iError = QNetworkSession::UnknownSessionError;
+ }
+ QT_TRYCATCH_LEAVING(emit q->error(iError));
Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- syncStateWithInterface();
+ QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
}
}
@@ -918,8 +1029,16 @@ void QNetworkSessionPrivate::DoCancel()
iConnection.Close();
}
+// Enters newState if feasible according to current state.
+// AccessPointId may be given as parameter. If it is zero, state-change is assumed to
+// concern this session's configuration. If non-zero, the configuration is looked up
+// and checked if it matches the configuration this session is based on.
bool QNetworkSessionPrivate::newState(QNetworkSession::State newState, TUint accessPointId)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "NEW STATE, IAP ID : " << QString::number(accessPointId) << " , newState : " << QString::number(newState);
+#endif
// Make sure that activeConfig is always updated when SNAP is signaled to be
// connected.
if (isOpen && publicConfig.type() == QNetworkConfiguration::ServiceNetwork &&
@@ -937,9 +1056,29 @@ bool QNetworkSessionPrivate::newState(QNetworkSession::State newState, TUint acc
if (state == QNetworkSession::Roaming && newState == QNetworkSession::Connecting) {
return false;
}
+
+ // Make sure that Connected state is not reported when Connection is
+ // already Closing.
+ // Note: Stopping connection results sometimes KLinkLayerOpen
+ // to be reported first (just before KLinkLayerClosed).
+ if (state == QNetworkSession::Closing && newState == QNetworkSession::Connected) {
+ return false;
+ }
+
+ // Make sure that some lagging 'closing' state-changes do not overwrite
+ // if we are already disconnected or closed.
+ if (state == QNetworkSession::Disconnected && newState == QNetworkSession::Closing) {
+ return false;
+ }
bool emitSessionClosed = false;
- if (isOpen && state == QNetworkSession::Connected && newState == QNetworkSession::Disconnected) {
+
+ // If we abruptly go down and user hasn't closed the session, we've been aborted.
+ // Note that session may be in 'closing' state and not in 'connected' state, because
+ // depending on platform the platform may report KConfigDaemonStartingDeregistration
+ // event before KLinkLayerClosed
+ if ((isOpen && state == QNetworkSession::Connected && newState == QNetworkSession::Disconnected) ||
+ (isOpen && !iClosedByUser && newState == QNetworkSession::Disconnected)) {
// Active & Connected state should change directly to Disconnected state
// only when something forces connection to close (eg. when another
// application or session stops connection or when network drops
@@ -953,26 +1092,35 @@ bool QNetworkSessionPrivate::newState(QNetworkSession::State newState, TUint acc
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- // Start monitoring changes in IAP states
- TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this));
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
emitSessionClosed = true; // Emit SessionClosed after state change has been reported
}
bool retVal = false;
if (accessPointId == 0) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed A to: " << state;
+#endif
emit q->stateChanged(state);
retVal = true;
} else {
if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
if (publicConfig.d.data()->numericId == accessPointId) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed B to: " << state;
+#endif
emit q->stateChanged(state);
retVal = true;
}
} else if (publicConfig.type() == QNetworkConfiguration::UserChoice && isOpen) {
if (activeConfig.d.data()->numericId == accessPointId) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed C to: " << state;
+#endif
emit q->stateChanged(state);
retVal = true;
}
@@ -980,26 +1128,33 @@ bool QNetworkSessionPrivate::newState(QNetworkSession::State newState, TUint acc
QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
for (int i = 0; i < subConfigurations.count(); i++) {
if (subConfigurations[i].d.data()->numericId == accessPointId) {
- if (newState == QNetworkSession::Connected) {
- // Make sure that when AccessPoint is reported to be Connected
- // also state of the related configuration changes to Active.
- subConfigurations[i].d.data()->state = QNetworkConfiguration::Active;
-
+ if (newState != QNetworkSession::Disconnected) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed D to: " << state;
+#endif
emit q->stateChanged(state);
retVal = true;
} else {
- if (newState == QNetworkSession::Disconnected) {
- // Make sure that when AccessPoint is reported to be disconnected
- // also state of the related configuration changes from Active to Defined.
- subConfigurations[i].d.data()->state = QNetworkConfiguration::Defined;
- }
QNetworkConfiguration config = bestConfigFromSNAP(publicConfig);
if ((config.state() == QNetworkConfiguration::Defined) ||
(config.state() == QNetworkConfiguration::Discovered)) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed E to: " << state;
+#endif
emit q->stateChanged(state);
retVal = true;
+ } else if (config.state() == QNetworkConfiguration::Active) {
+ // Connection to used IAP was closed, but there is another
+ // IAP that's active in used SNAP
+ // => Change state back to Connected
+ state = QNetworkSession::Connected;
+ emit q->stateChanged(state);
+ retVal = true;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed F to: " << state;
+#endif
}
}
}
@@ -1010,6 +1165,13 @@ bool QNetworkSessionPrivate::newState(QNetworkSession::State newState, TUint acc
if (emitSessionClosed) {
emit q->closed();
}
+ if (state == QNetworkSession::Disconnected) {
+ // The connection has gone down, and processing of status updates must be
+ // stopped. Depending on platform, there may come 'connecting/connected' states
+ // considerably later (almost a second). Connection id is an increasing
+ // number, so this does not affect next _real_ 'conneting/connected' states.
+ iDeprecatedConnectionId = publicConfig.d.data()->connectionId;
+ }
return retVal;
}
@@ -1018,6 +1180,9 @@ void QNetworkSessionPrivate::handleSymbianConnectionStatusChange(TInt aConnectio
TInt aError,
TUint accessPointId)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << QString::number(accessPointId) << " , status : " << QString::number(aConnectionStatus);
+#endif
switch (aConnectionStatus)
{
// Connection unitialised
@@ -1056,6 +1221,7 @@ void QNetworkSessionPrivate::handleSymbianConnectionStatusChange(TInt aConnectio
case KCsdGotLoginInfo:
break;
+ case KConfigDaemonStartingRegistration:
// Creating connection (e.g. GPRS activation)
case KCsdStartingConnect:
case KCsdFinishedConnect:
@@ -1082,6 +1248,7 @@ void QNetworkSessionPrivate::handleSymbianConnectionStatusChange(TInt aConnectio
case KDataTransferTemporarilyBlocked:
break;
+ case KConfigDaemonStartingDeregistration:
// Hangup or GRPS deactivation
case KConnectionStartingClose:
newState(QNetworkSession::Closing,accessPointId);
@@ -1089,110 +1256,27 @@ void QNetworkSessionPrivate::handleSymbianConnectionStatusChange(TInt aConnectio
// Connection closed
case KConnectionClosed:
- break;
-
case KLinkLayerClosed:
newState(QNetworkSession::Disconnected,accessPointId);
+ // Report manager about this to make sure this event
+ // is received by all interseted parties (mediated by
+ // manager because it does always receive all events from
+ // connection monitor).
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "reporting disconnection to manager.";
+#endif
+ if (publicConfig.d.data()) {
+ ((QNetworkConfigurationManagerPrivate*)publicConfig.d.data()->manager)->configurationStateChangeReport(publicConfig.d.data()->numericId, QNetworkSession::Disconnected);
+ }
break;
-
// Unhandled state
default:
break;
}
}
-void QNetworkSessionPrivate::EventL(const CConnMonEventBase& aEvent)
-{
- switch (aEvent.EventType())
- {
- case EConnMonConnectionStatusChange:
- {
- CConnMonConnectionStatusChange* realEvent;
- realEvent = (CConnMonConnectionStatusChange*) &aEvent;
-
- TUint connectionId = realEvent->ConnectionId();
- TInt connectionStatus = realEvent->ConnectionStatus();
-
- // Try to Find IAP Id using connection Id
- TUint apId = 0;
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- if (subConfigurations[i].d.data()->connectionId == connectionId) {
- apId = subConfigurations[i].d.data()->numericId;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
- if (publicConfig.d.data()->connectionId == connectionId) {
- apId = publicConfig.d.data()->numericId;
- }
- }
-
- if (apId > 0) {
- handleSymbianConnectionStatusChange(connectionStatus, KErrNone, apId);
- }
- }
- break;
-
- case EConnMonCreateConnection:
- {
- CConnMonCreateConnection* realEvent;
- realEvent = (CConnMonCreateConnection*) &aEvent;
- TUint apId;
- TUint connectionId = realEvent->ConnectionId();
- TRequestStatus status;
- iConnectionMonitor.GetUintAttribute(connectionId, 0, KIAPId, apId, status);
- User::WaitForRequest(status);
- if (status.Int() == KErrNone) {
- // Store connection id to related AccessPoint Configuration
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- if (subConfigurations[i].d.data()->numericId == apId) {
- subConfigurations[i].d.data()->connectionId = connectionId;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
- if (publicConfig.d.data()->numericId == apId) {
- publicConfig.d.data()->connectionId = connectionId;
- }
- }
- }
- }
- break;
-
- case EConnMonDeleteConnection:
- {
- CConnMonDeleteConnection* realEvent;
- realEvent = (CConnMonDeleteConnection*) &aEvent;
- TUint connectionId = realEvent->ConnectionId();
- // Remove connection id from related AccessPoint Configuration
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- if (subConfigurations[i].d.data()->connectionId == connectionId) {
- subConfigurations[i].d.data()->connectionId = 0;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
- if (publicConfig.d.data()->connectionId == connectionId) {
- publicConfig.d.data()->connectionId = 0;
- }
- }
- }
- break;
-
- default:
- // For unrecognized events
- break;
- }
-}
-
ConnectionProgressNotifier::ConnectionProgressNotifier(QNetworkSessionPrivate& owner, RConnection& connection)
- : CActive(CActive::EPriorityStandard), iOwner(owner), iConnection(connection)
+ : CActive(CActive::EPriorityUserInput), iOwner(owner), iConnection(connection)
{
CActiveScheduler::Add(this);
}
@@ -1223,7 +1307,7 @@ void ConnectionProgressNotifier::DoCancel()
void ConnectionProgressNotifier::RunL()
{
if (iStatus == KErrNone) {
- iOwner.handleSymbianConnectionStatusChange(iProgress().iStage, iProgress().iError);
+ QT_TRYCATCH_LEAVING(iOwner.handleSymbianConnectionStatusChange(iProgress().iStage, iProgress().iError));
SetActive();
iConnection.ProgressNotification(iProgress, iStatus);
diff --git a/src/bearer/qnetworksession_s60_p.h b/src/bearer/qnetworksession_s60_p.h
index 48e69f044c..6d6b695571 100644
--- a/src/bearer/qnetworksession_s60_p.h
+++ b/src/bearer/qnetworksession_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,11 +72,10 @@ QTM_BEGIN_NAMESPACE
class ConnectionProgressNotifier;
-class QNetworkSessionPrivate : public QObject, public CActive,
+class QNetworkSessionPrivate : public QObject, public CActive
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
- public MMobilityProtocolResp,
+ , public MMobilityProtocolResp
#endif
- public MConnectionMonitorObserver
{
Q_OBJECT
public:
@@ -129,8 +128,9 @@ protected: // From CActive
void RunL();
void DoCancel();
-private: // MConnectionMonitorObserver
- void EventL(const CConnMonEventBase& aEvent);
+private Q_SLOTS:
+ void configurationStateChanged(TUint32 accessPointId, TUint32 connMonId, QNetworkSession::State newState);
+ void configurationRemoved(const QNetworkConfiguration& config);
private:
TUint iapClientCount(TUint aIAPId) const;
@@ -166,6 +166,13 @@ private: // data
mutable RConnection iConnection;
mutable RConnectionMonitor iConnectionMonitor;
ConnectionProgressNotifier* ipConnectionNotifier;
+
+ bool iHandleStateNotificationsFromManager;
+ bool iFirstSync;
+ bool iStoppedByUser;
+ bool iClosedByUser;
+ TUint32 iDeprecatedConnectionId;
+
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
CActiveCommsMobilityApiExt* iMobility;
#endif
diff --git a/src/bearer/qnetworksessionengine.cpp b/src/bearer/qnetworksessionengine.cpp
index 55fc4f3934..51dc4c0b04 100644
--- a/src/bearer/qnetworksessionengine.cpp
+++ b/src/bearer/qnetworksessionengine.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksessionengine_p.h b/src/bearer/qnetworksessionengine_p.h
index 3977b15fbf..b82a4a6132 100644
--- a/src/bearer/qnetworksessionengine_p.h
+++ b/src/bearer/qnetworksessionengine_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnetworksessionengine_win_p.h b/src/bearer/qnetworksessionengine_win_p.h
index cf01719296..a7fd36a6a7 100644
--- a/src/bearer/qnetworksessionengine_win_p.h
+++ b/src/bearer/qnetworksessionengine_win_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnlaengine_win.cpp b/src/bearer/qnlaengine_win.cpp
index a3f60176ba..4386b9136f 100644
--- a/src/bearer/qnlaengine_win.cpp
+++ b/src/bearer/qnlaengine_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnlaengine_win_p.h b/src/bearer/qnlaengine_win_p.h
index 394b8cfdf2..ea3a2f3528 100644
--- a/src/bearer/qnlaengine_win_p.h
+++ b/src/bearer/qnlaengine_win_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnmdbushelper.cpp b/src/bearer/qnmdbushelper.cpp
index 4a1f9971d8..fd98f1575f 100644
--- a/src/bearer/qnmdbushelper.cpp
+++ b/src/bearer/qnmdbushelper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnmdbushelper_p.h b/src/bearer/qnmdbushelper_p.h
index d527b68974..0e5e291638 100644
--- a/src/bearer/qnmdbushelper_p.h
+++ b/src/bearer/qnmdbushelper_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnmwifiengine_unix.cpp b/src/bearer/qnmwifiengine_unix.cpp
index ef133a8f3b..e15336b0aa 100644
--- a/src/bearer/qnmwifiengine_unix.cpp
+++ b/src/bearer/qnmwifiengine_unix.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/bearer/qnmwifiengine_unix_p.h b/src/bearer/qnmwifiengine_unix_p.h
index 164a8e513a..c4571d9af7 100644
--- a/src/bearer/qnmwifiengine_unix_p.h
+++ b/src/bearer/qnmwifiengine_unix_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactaddress.h b/src/contacts/details/qcontactaddress.h
index 41538baeb6..b30a8511fe 100644
--- a/src/contacts/details/qcontactaddress.h
+++ b/src/contacts/details/qcontactaddress.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactanniversary.h b/src/contacts/details/qcontactanniversary.h
index 11fa0b55ac..e30e2fbcac 100644
--- a/src/contacts/details/qcontactanniversary.h
+++ b/src/contacts/details/qcontactanniversary.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactavatar.h b/src/contacts/details/qcontactavatar.h
index 97891099f9..882e4e3e1a 100644
--- a/src/contacts/details/qcontactavatar.h
+++ b/src/contacts/details/qcontactavatar.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactbirthday.h b/src/contacts/details/qcontactbirthday.h
index 4aa250ec61..8b64f3e589 100644
--- a/src/contacts/details/qcontactbirthday.h
+++ b/src/contacts/details/qcontactbirthday.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactdetails.cpp b/src/contacts/details/qcontactdetails.cpp
index 609a20a362..a744ae8017 100644
--- a/src/contacts/details/qcontactdetails.cpp
+++ b/src/contacts/details/qcontactdetails.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -1328,6 +1328,17 @@ Q_DEFINE_LATIN1_CONSTANT(QContactNote::FieldNote, "Note");
\brief The QContactTag class contains a tag associated with a
contact.
\ingroup contacts-details
+
+ Typically the tags associated with a contact will be distinct,
+ although this is usually only enforced when the contact is saved
+ in the manager.
+
+ Here is an example of retrieving all the tags for a contact:
+ \snippet doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp Getting all tags
+
+ Here is an example of checking for a specific tag value:
+ \snippet doc/src/snippets/qtcontactsdocsample/qtcontactsdocsample.cpp Checking for a specific tag
+
*/
/*!
diff --git a/src/contacts/details/qcontactdetails.h b/src/contacts/details/qcontactdetails.h
index da7ac89c0f..504b5294ef 100644
--- a/src/contacts/details/qcontactdetails.h
+++ b/src/contacts/details/qcontactdetails.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactdisplaylabel.h b/src/contacts/details/qcontactdisplaylabel.h
index 7b2986db7b..0404424d89 100644
--- a/src/contacts/details/qcontactdisplaylabel.h
+++ b/src/contacts/details/qcontactdisplaylabel.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactemailaddress.h b/src/contacts/details/qcontactemailaddress.h
index 5fde1b3295..8f7b7208f4 100644
--- a/src/contacts/details/qcontactemailaddress.h
+++ b/src/contacts/details/qcontactemailaddress.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactfamily.h b/src/contacts/details/qcontactfamily.h
index 5df55aa456..2e0f628e61 100644
--- a/src/contacts/details/qcontactfamily.h
+++ b/src/contacts/details/qcontactfamily.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactgender.h b/src/contacts/details/qcontactgender.h
index 32077da33d..7292e619b0 100644
--- a/src/contacts/details/qcontactgender.h
+++ b/src/contacts/details/qcontactgender.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactgeolocation.h b/src/contacts/details/qcontactgeolocation.h
index 016ebabcca..2fd8957914 100644
--- a/src/contacts/details/qcontactgeolocation.h
+++ b/src/contacts/details/qcontactgeolocation.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactglobalpresence.h b/src/contacts/details/qcontactglobalpresence.h
index b32cd7ee88..6ffd8990c3 100644
--- a/src/contacts/details/qcontactglobalpresence.h
+++ b/src/contacts/details/qcontactglobalpresence.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactguid.h b/src/contacts/details/qcontactguid.h
index ad037af14e..15bc2ed2dc 100644
--- a/src/contacts/details/qcontactguid.h
+++ b/src/contacts/details/qcontactguid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactname.h b/src/contacts/details/qcontactname.h
index fd2a2d37b6..a7d2920b7e 100644
--- a/src/contacts/details/qcontactname.h
+++ b/src/contacts/details/qcontactname.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactnickname.h b/src/contacts/details/qcontactnickname.h
index 57d42ceb66..8e9d656686 100644
--- a/src/contacts/details/qcontactnickname.h
+++ b/src/contacts/details/qcontactnickname.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactnote.h b/src/contacts/details/qcontactnote.h
index 7a9fc96bc1..29ebfb8905 100644
--- a/src/contacts/details/qcontactnote.h
+++ b/src/contacts/details/qcontactnote.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactonlineaccount.h b/src/contacts/details/qcontactonlineaccount.h
index 73c33323f1..f6c0aaa31b 100644
--- a/src/contacts/details/qcontactonlineaccount.h
+++ b/src/contacts/details/qcontactonlineaccount.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactorganization.h b/src/contacts/details/qcontactorganization.h
index bb4cd08dd5..1f362f89f9 100644
--- a/src/contacts/details/qcontactorganization.h
+++ b/src/contacts/details/qcontactorganization.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactphonenumber.h b/src/contacts/details/qcontactphonenumber.h
index 3a89fdf340..14e526d785 100644
--- a/src/contacts/details/qcontactphonenumber.h
+++ b/src/contacts/details/qcontactphonenumber.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactpresence.h b/src/contacts/details/qcontactpresence.h
index 6373081565..97e99b6e94 100644
--- a/src/contacts/details/qcontactpresence.h
+++ b/src/contacts/details/qcontactpresence.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactringtone.h b/src/contacts/details/qcontactringtone.h
index 699a76b223..001d371633 100644
--- a/src/contacts/details/qcontactringtone.h
+++ b/src/contacts/details/qcontactringtone.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactsynctarget.h b/src/contacts/details/qcontactsynctarget.h
index 03466ddd43..562fcfdaa4 100644
--- a/src/contacts/details/qcontactsynctarget.h
+++ b/src/contacts/details/qcontactsynctarget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontactthumbnail.h b/src/contacts/details/qcontactthumbnail.h
index a424f61320..ae141eb924 100644
--- a/src/contacts/details/qcontactthumbnail.h
+++ b/src/contacts/details/qcontactthumbnail.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontacttimestamp.h b/src/contacts/details/qcontacttimestamp.h
index 28059e2a89..3258a8e8c1 100644
--- a/src/contacts/details/qcontacttimestamp.h
+++ b/src/contacts/details/qcontacttimestamp.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/details/qcontacttype.h b/src/contacts/details/qcontacttype.h
index a290a0a0ae..0f4de4eaa3 100644
--- a/src/contacts/details/qcontacttype.h
+++ b/src/contacts/details/qcontacttype.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,7 +46,6 @@
#include "qtcontactsglobal.h"
#include "qcontactdetail.h"
-#include "qcontact.h"
QTM_BEGIN_NAMESPACE
diff --git a/src/contacts/details/qcontacturl.h b/src/contacts/details/qcontacturl.h
index afedce561e..d4452e4a09 100644
--- a/src/contacts/details/qcontacturl.h
+++ b/src/contacts/details/qcontacturl.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/engines/qcontactinvalidbackend.cpp b/src/contacts/engines/qcontactinvalidbackend.cpp
index 673845bbf0..cf9552c03c 100644
--- a/src/contacts/engines/qcontactinvalidbackend.cpp
+++ b/src/contacts/engines/qcontactinvalidbackend.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/engines/qcontactinvalidbackend_p.h b/src/contacts/engines/qcontactinvalidbackend_p.h
index a2354e6462..dfba7d1b7d 100644
--- a/src/contacts/engines/qcontactinvalidbackend_p.h
+++ b/src/contacts/engines/qcontactinvalidbackend_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/engines/qcontactmemorybackend.cpp b/src/contacts/engines/qcontactmemorybackend.cpp
index 5d1b90e38f..aaa49b7081 100644
--- a/src/contacts/engines/qcontactmemorybackend.cpp
+++ b/src/contacts/engines/qcontactmemorybackend.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -690,7 +690,7 @@ void QContactMemoryEngine::performAsynchronousOperation(QContactAbstractRequest
QList<QContactSortOrder> sorting = r->sorting();
QContactFetchHint fetchHint = r->fetchHint();
- QContactManager::Error operationError;
+ QContactManager::Error operationError = QContactManager::NoError;
QList<QContact> requestedContacts = contacts(filter, sorting, fetchHint, &operationError);
// update the request with the results.
diff --git a/src/contacts/engines/qcontactmemorybackend_p.h b/src/contacts/engines/qcontactmemorybackend_p.h
index 424e06a84d..fafdbee6cd 100644
--- a/src/contacts/engines/qcontactmemorybackend_p.h
+++ b/src/contacts/engines/qcontactmemorybackend_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactchangelogfilter.cpp b/src/contacts/filters/qcontactchangelogfilter.cpp
index 141eb9572a..4216d057ff 100644
--- a/src/contacts/filters/qcontactchangelogfilter.cpp
+++ b/src/contacts/filters/qcontactchangelogfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactchangelogfilter.h b/src/contacts/filters/qcontactchangelogfilter.h
index 53d92f9f42..bd89db94f5 100644
--- a/src/contacts/filters/qcontactchangelogfilter.h
+++ b/src/contacts/filters/qcontactchangelogfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactchangelogfilter_p.h b/src/contacts/filters/qcontactchangelogfilter_p.h
index 4b28aad1fa..7722e8ea36 100644
--- a/src/contacts/filters/qcontactchangelogfilter_p.h
+++ b/src/contacts/filters/qcontactchangelogfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactdetailfilter.cpp b/src/contacts/filters/qcontactdetailfilter.cpp
index af7a3a3585..c1ff3c1a85 100644
--- a/src/contacts/filters/qcontactdetailfilter.cpp
+++ b/src/contacts/filters/qcontactdetailfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactdetailfilter.h b/src/contacts/filters/qcontactdetailfilter.h
index 64a6c8185c..8dc74df023 100644
--- a/src/contacts/filters/qcontactdetailfilter.h
+++ b/src/contacts/filters/qcontactdetailfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactdetailfilter_p.h b/src/contacts/filters/qcontactdetailfilter_p.h
index 725183016d..cca7274e9b 100644
--- a/src/contacts/filters/qcontactdetailfilter_p.h
+++ b/src/contacts/filters/qcontactdetailfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactdetailrangefilter.cpp b/src/contacts/filters/qcontactdetailrangefilter.cpp
index 3f20b5d882..e5874b8b7b 100644
--- a/src/contacts/filters/qcontactdetailrangefilter.cpp
+++ b/src/contacts/filters/qcontactdetailrangefilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -52,7 +52,8 @@ QTM_BEGIN_NAMESPACE
a detail value range criterion.
\ingroup contacts-filters
- It may be used to select contacts which contain a detail of a particular definition with a particular value
+ It may be used to select contacts which contain a detail of a particular definition with a particular value that lies in
+ a range (either open or closed).
*/
Q_IMPLEMENT_CONTACTFILTER_PRIVATE(QContactDetailRangeFilter);
@@ -65,10 +66,10 @@ Q_IMPLEMENT_CONTACTFILTER_PRIVATE(QContactDetailRangeFilter);
/*!
* \enum QContactDetailRangeFilter::RangeFlag
* Enumerates the semantics of the boundary conditions of the detail range filter
- * \value IncludeLower
- * \value IncludeUpper
- * \value ExcludeLower
- * \value ExcludeUpper
+ * \value IncludeLower The filter will match if the field value is equal to or greater than the minimum value
+ * \value IncludeUpper The filter will match if the field value is equal to or less than the maximum value
+ * \value ExcludeLower The filter will match if the field value is greater than the minimum value (but not equal)
+ * \value ExcludeUpper The filter will match if the field value is less than the maximum value (but not equal)
*/
/*!
@@ -80,7 +81,12 @@ QContactDetailRangeFilter::QContactDetailRangeFilter()
}
/*!
- * Sets the value range criterion of the filter to within \a min and \a max, with boundary conditions specified in the given \a flags
+ * Sets the value range criterion of the filter to within \a min and \a max, with boundary conditions specified in the given \a flags.
+ * If \a min or \a max is a null variant, that condition will not be checked. For example, to check for
+ * fields with a value greater than 7, you would specify:
+ * \code
+ * filter.setRange(7, QVariant(), QContactDetailRangeFilter::ExcludeLower);
+ * \endcode
* \sa minValue(), maxValue()
*/
void QContactDetailRangeFilter::setRange(const QVariant& min, const QVariant& max, RangeFlags flags)
@@ -93,11 +99,23 @@ void QContactDetailRangeFilter::setRange(const QVariant& min, const QVariant& ma
/*!
* Sets the match flags of the filter criterion to \a flags
+ *
+ * Not all flags are supported by a range filter. The supported flags include:
+ *
+ * \list
+ * \o QContactFilter::MatchExactly
+ * \o QContactFilter::MatchFixedString
+ * \o QContactFilter::MatchCaseSensitive
+ * \endlist
+ *
+ * Unsupported flags will be ignored.
+ *
* \sa matchFlags()
*/
void QContactDetailRangeFilter::setMatchFlags(QContactFilter::MatchFlags flags)
{
Q_D(QContactDetailRangeFilter);
+ flags &= (QContactFilter::MatchExactly | QContactFilter::MatchFixedString | QContactFilter::MatchCaseSensitive);
d->m_flags = flags;
}
@@ -114,7 +132,7 @@ void QContactDetailRangeFilter::setDetailDefinitionName(const QString& definitio
}
/*!
- * Returns the match flags of the criterion, which define semantics such as case sensitivity, prefix matching, exact matching, etc.
+ * Returns the match flags of the criterion, which define semantics such as case sensitivity, and exact matching.
* \sa setMatchFlags()
*/
QContactFilter::MatchFlags QContactDetailRangeFilter::matchFlags() const
@@ -144,7 +162,9 @@ QString QContactDetailRangeFilter::detailFieldName() const
}
/*!
- * Returns the lower bound of the value range criterion
+ * Returns the lower bound of the value range criterion.
+ * If this value is null, there is no lower bound.
+ * If it is valid, the \l rangeFlags() determines whether this value is included in the valid values.
* \sa setRange()
*/
QVariant QContactDetailRangeFilter::minValue() const
@@ -155,6 +175,8 @@ QVariant QContactDetailRangeFilter::minValue() const
/*!
* Returns the upper bound of the value range criterion
+ * If this value is null, there is no upper bound.
+ * If it is valid, the \l rangeFlags() determines whether this value is included in the valid values.
* \sa setRange()
*/
QVariant QContactDetailRangeFilter::maxValue() const
diff --git a/src/contacts/filters/qcontactdetailrangefilter.h b/src/contacts/filters/qcontactdetailrangefilter.h
index 2101c5ea7b..6dfd85dce7 100644
--- a/src/contacts/filters/qcontactdetailrangefilter.h
+++ b/src/contacts/filters/qcontactdetailrangefilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactdetailrangefilter_p.h b/src/contacts/filters/qcontactdetailrangefilter_p.h
index b582844b98..8bde2cfe7f 100644
--- a/src/contacts/filters/qcontactdetailrangefilter_p.h
+++ b/src/contacts/filters/qcontactdetailrangefilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactfilters.h b/src/contacts/filters/qcontactfilters.h
index 3378bba93a..5fdf1e6689 100644
--- a/src/contacts/filters/qcontactfilters.h
+++ b/src/contacts/filters/qcontactfilters.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactintersectionfilter.cpp b/src/contacts/filters/qcontactintersectionfilter.cpp
index 67dccd5c7a..9ebce85a1d 100644
--- a/src/contacts/filters/qcontactintersectionfilter.cpp
+++ b/src/contacts/filters/qcontactintersectionfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactintersectionfilter.h b/src/contacts/filters/qcontactintersectionfilter.h
index b53d7a4f54..9b205ae01f 100644
--- a/src/contacts/filters/qcontactintersectionfilter.h
+++ b/src/contacts/filters/qcontactintersectionfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactintersectionfilter_p.h b/src/contacts/filters/qcontactintersectionfilter_p.h
index c27b3197b6..5e3c751eea 100644
--- a/src/contacts/filters/qcontactintersectionfilter_p.h
+++ b/src/contacts/filters/qcontactintersectionfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactinvalidfilter.cpp b/src/contacts/filters/qcontactinvalidfilter.cpp
index 3216b48053..d3515da154 100644
--- a/src/contacts/filters/qcontactinvalidfilter.cpp
+++ b/src/contacts/filters/qcontactinvalidfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactinvalidfilter.h b/src/contacts/filters/qcontactinvalidfilter.h
index 899c3c89c7..7eaf862d3f 100644
--- a/src/contacts/filters/qcontactinvalidfilter.h
+++ b/src/contacts/filters/qcontactinvalidfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactlocalidfilter.cpp b/src/contacts/filters/qcontactlocalidfilter.cpp
index 854c1f6db8..0a918c9a4a 100644
--- a/src/contacts/filters/qcontactlocalidfilter.cpp
+++ b/src/contacts/filters/qcontactlocalidfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactlocalidfilter.h b/src/contacts/filters/qcontactlocalidfilter.h
index 7aff186363..0cf2bb8dca 100644
--- a/src/contacts/filters/qcontactlocalidfilter.h
+++ b/src/contacts/filters/qcontactlocalidfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactlocalidfilter_p.h b/src/contacts/filters/qcontactlocalidfilter_p.h
index 25ea7c15e7..dfd6b6f610 100644
--- a/src/contacts/filters/qcontactlocalidfilter_p.h
+++ b/src/contacts/filters/qcontactlocalidfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactrelationshipfilter.cpp b/src/contacts/filters/qcontactrelationshipfilter.cpp
index 51a31de165..3d35395b88 100644
--- a/src/contacts/filters/qcontactrelationshipfilter.cpp
+++ b/src/contacts/filters/qcontactrelationshipfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactrelationshipfilter.h b/src/contacts/filters/qcontactrelationshipfilter.h
index 0380e55c8f..1bd392d97e 100644
--- a/src/contacts/filters/qcontactrelationshipfilter.h
+++ b/src/contacts/filters/qcontactrelationshipfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactrelationshipfilter_p.h b/src/contacts/filters/qcontactrelationshipfilter_p.h
index 5372e4a030..e67fa281e2 100644
--- a/src/contacts/filters/qcontactrelationshipfilter_p.h
+++ b/src/contacts/filters/qcontactrelationshipfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactunionfilter.cpp b/src/contacts/filters/qcontactunionfilter.cpp
index bf45f7fd45..84aa4c327b 100644
--- a/src/contacts/filters/qcontactunionfilter.cpp
+++ b/src/contacts/filters/qcontactunionfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactunionfilter.h b/src/contacts/filters/qcontactunionfilter.h
index f69e4fb313..46aaca2d03 100644
--- a/src/contacts/filters/qcontactunionfilter.h
+++ b/src/contacts/filters/qcontactunionfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/filters/qcontactunionfilter_p.h b/src/contacts/filters/qcontactunionfilter_p.h
index c412d51dcb..9eca4a691d 100644
--- a/src/contacts/filters/qcontactunionfilter_p.h
+++ b/src/contacts/filters/qcontactunionfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontact.cpp b/src/contacts/qcontact.cpp
index 1a2cab6c02..317821fbae 100644
--- a/src/contacts/qcontact.cpp
+++ b/src/contacts/qcontact.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontact.h b/src/contacts/qcontact.h
index b2cf4830ce..9780ef03e0 100644
--- a/src/contacts/qcontact.h
+++ b/src/contacts/qcontact.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontact_p.h b/src/contacts/qcontact_p.h
index 4d14f511fc..fd864485a8 100644
--- a/src/contacts/qcontact_p.h
+++ b/src/contacts/qcontact_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactabstractrequest.cpp b/src/contacts/qcontactabstractrequest.cpp
index 66d0f59215..3a5d9c1b9c 100644
--- a/src/contacts/qcontactabstractrequest.cpp
+++ b/src/contacts/qcontactabstractrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,6 +45,8 @@
#include "qcontactmanager_p.h"
#include "qcontactmanagerengine.h"
+#include <QMutex>
+#include <QMutexLocker>
QTM_BEGIN_NAMESPACE
/*!
@@ -131,7 +133,9 @@ QContactAbstractRequest::QContactAbstractRequest(QContactAbstractRequestPrivate*
QContactAbstractRequest::~QContactAbstractRequest()
{
if (d_ptr) {
+ QMutexLocker ml(&d_ptr->m_mutex);
QContactManagerEngine *engine = QContactManagerData::engine(d_ptr->m_manager);
+ ml.unlock();
if (engine) {
engine->requestDestroyed(this);
}
@@ -147,6 +151,7 @@ QContactAbstractRequest::~QContactAbstractRequest()
*/
bool QContactAbstractRequest::isInactive() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return (d_ptr->m_state == QContactAbstractRequest::InactiveState);
}
@@ -157,6 +162,7 @@ bool QContactAbstractRequest::isInactive() const
*/
bool QContactAbstractRequest::isActive() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return (d_ptr->m_state == QContactAbstractRequest::ActiveState);
}
@@ -167,6 +173,7 @@ bool QContactAbstractRequest::isActive() const
*/
bool QContactAbstractRequest::isFinished() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return (d_ptr->m_state == QContactAbstractRequest::FinishedState);
}
@@ -177,12 +184,14 @@ bool QContactAbstractRequest::isFinished() const
*/
bool QContactAbstractRequest::isCanceled() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return (d_ptr->m_state == QContactAbstractRequest::CanceledState);
}
/*! Returns the overall error of the most recent asynchronous operation */
QContactManager::Error QContactAbstractRequest::error() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return d_ptr->m_error;
}
@@ -191,6 +200,7 @@ QContactManager::Error QContactAbstractRequest::error() const
*/
QContactAbstractRequest::RequestType QContactAbstractRequest::type() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return d_ptr->type();
}
@@ -199,18 +209,28 @@ QContactAbstractRequest::RequestType QContactAbstractRequest::type() const
*/
QContactAbstractRequest::State QContactAbstractRequest::state() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return d_ptr->m_state;
}
/*! Returns a pointer to the manager of which this request instance requests operations */
QContactManager* QContactAbstractRequest::manager() const
{
+ QMutexLocker ml(&d_ptr->m_mutex);
return d_ptr->m_manager;
}
-/*! Sets the manager of which this request instance requests operations to \a manager */
+/*!
+ Sets the manager of which this request instance requests operations to \a manager
+
+ If the request is currently active, this function will return without updating the \a manager object.
+*/
void QContactAbstractRequest::setManager(QContactManager* manager)
{
+ QMutexLocker ml(&d_ptr->m_mutex);
+ // In theory we might have been active and the manager didn't cancel/finish us
+ if (d_ptr->m_state == QContactAbstractRequest::ActiveState && d_ptr->m_manager)
+ return;
d_ptr->m_manager = manager;
}
@@ -218,10 +238,12 @@ void QContactAbstractRequest::setManager(QContactManager* manager)
or if the request was unable to be performed by the manager engine; otherwise returns true. */
bool QContactAbstractRequest::start()
{
+ QMutexLocker ml(&d_ptr->m_mutex);
QContactManagerEngine *engine = QContactManagerData::engine(d_ptr->m_manager);
if (engine && (d_ptr->m_state == QContactAbstractRequest::CanceledState
|| d_ptr->m_state == QContactAbstractRequest::FinishedState
|| d_ptr->m_state == QContactAbstractRequest::InactiveState)) {
+ ml.unlock();
return engine->startRequest(this);
}
@@ -232,8 +254,10 @@ bool QContactAbstractRequest::start()
or if the request is unable to be cancelled by the manager engine; otherwise returns true. */
bool QContactAbstractRequest::cancel()
{
+ QMutexLocker ml(&d_ptr->m_mutex);
QContactManagerEngine *engine = QContactManagerData::engine(d_ptr->m_manager);
- if (engine && state() == QContactAbstractRequest::ActiveState) {
+ if (engine && d_ptr->m_state == QContactAbstractRequest::ActiveState) {
+ ml.unlock();
return engine->cancelRequest(this);
}
@@ -247,10 +271,12 @@ bool QContactAbstractRequest::cancel()
*/
bool QContactAbstractRequest::waitForFinished(int msecs)
{
+ QMutexLocker ml(&d_ptr->m_mutex);
QContactManagerEngine *engine = QContactManagerData::engine(d_ptr->m_manager);
if (engine) {
switch (d_ptr->m_state) {
case QContactAbstractRequest::ActiveState:
+ ml.unlock();
return engine->waitForRequestFinished(this, msecs);
case QContactAbstractRequest::CanceledState:
case QContactAbstractRequest::FinishedState:
diff --git a/src/contacts/qcontactabstractrequest.h b/src/contacts/qcontactabstractrequest.h
index 637c22b922..d23cb9e568 100644
--- a/src/contacts/qcontactabstractrequest.h
+++ b/src/contacts/qcontactabstractrequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactabstractrequest_p.h b/src/contacts/qcontactabstractrequest_p.h
index b32b22899e..00b2ed5340 100644
--- a/src/contacts/qcontactabstractrequest_p.h
+++ b/src/contacts/qcontactabstractrequest_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -58,6 +58,7 @@
#include <QList>
#include <QPointer>
+#include <QMutex>
QTM_BEGIN_NAMESPACE
@@ -83,6 +84,7 @@ public:
QContactManager::Error m_error;
QContactAbstractRequest::State m_state;
QPointer<QContactManager> m_manager;
+ mutable QMutex m_mutex;
};
QTM_END_NAMESPACE
diff --git a/src/contacts/qcontactchangeset.cpp b/src/contacts/qcontactchangeset.cpp
index 5e5fe5ac86..0c94239ae7 100644
--- a/src/contacts/qcontactchangeset.cpp
+++ b/src/contacts/qcontactchangeset.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactchangeset.h b/src/contacts/qcontactchangeset.h
index aa716cbd62..c3162bf2b2 100644
--- a/src/contacts/qcontactchangeset.h
+++ b/src/contacts/qcontactchangeset.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactchangeset_p.h b/src/contacts/qcontactchangeset_p.h
index 08ecc79950..4f2f41e425 100644
--- a/src/contacts/qcontactchangeset_p.h
+++ b/src/contacts/qcontactchangeset_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetail.cpp b/src/contacts/qcontactdetail.cpp
index d25250b10e..5ef476b306 100644
--- a/src/contacts/qcontactdetail.cpp
+++ b/src/contacts/qcontactdetail.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetail.h b/src/contacts/qcontactdetail.h
index 84fbf03dcb..e42e3456cb 100644
--- a/src/contacts/qcontactdetail.h
+++ b/src/contacts/qcontactdetail.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetail_p.h b/src/contacts/qcontactdetail_p.h
index 867f34a831..3bf8f98d6e 100644
--- a/src/contacts/qcontactdetail_p.h
+++ b/src/contacts/qcontactdetail_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetaildefinition.cpp b/src/contacts/qcontactdetaildefinition.cpp
index 51797701bc..9e608a38f1 100644
--- a/src/contacts/qcontactdetaildefinition.cpp
+++ b/src/contacts/qcontactdetaildefinition.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetaildefinition.h b/src/contacts/qcontactdetaildefinition.h
index 0f8eb630b5..005c0030ba 100644
--- a/src/contacts/qcontactdetaildefinition.h
+++ b/src/contacts/qcontactdetaildefinition.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetaildefinition_p.h b/src/contacts/qcontactdetaildefinition_p.h
index 3607e4fb97..909f9687d5 100644
--- a/src/contacts/qcontactdetaildefinition_p.h
+++ b/src/contacts/qcontactdetaildefinition_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetailfielddefinition.cpp b/src/contacts/qcontactdetailfielddefinition.cpp
index 52456c58c0..bfad66871b 100644
--- a/src/contacts/qcontactdetailfielddefinition.cpp
+++ b/src/contacts/qcontactdetailfielddefinition.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetailfielddefinition.h b/src/contacts/qcontactdetailfielddefinition.h
index 541893eca5..aaf2e2853d 100644
--- a/src/contacts/qcontactdetailfielddefinition.h
+++ b/src/contacts/qcontactdetailfielddefinition.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactdetailfielddefinition_p.h b/src/contacts/qcontactdetailfielddefinition_p.h
index dccc871ce8..84fe648692 100644
--- a/src/contacts/qcontactdetailfielddefinition_p.h
+++ b/src/contacts/qcontactdetailfielddefinition_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactfetchhint.cpp b/src/contacts/qcontactfetchhint.cpp
index b633ad59ff..1c950b69fb 100644
--- a/src/contacts/qcontactfetchhint.cpp
+++ b/src/contacts/qcontactfetchhint.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactfetchhint.h b/src/contacts/qcontactfetchhint.h
index 044d6e4e69..9f23976147 100644
--- a/src/contacts/qcontactfetchhint.h
+++ b/src/contacts/qcontactfetchhint.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -81,6 +81,9 @@ private:
QSharedDataPointer<QContactFetchHintPrivate> d;
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QContactFetchHint::OptimizationHints);
+
QTM_END_NAMESPACE
+
#endif
diff --git a/src/contacts/qcontactfetchhint_p.h b/src/contacts/qcontactfetchhint_p.h
index d88a4a2a85..4f6f1e3e2d 100644
--- a/src/contacts/qcontactfetchhint_p.h
+++ b/src/contacts/qcontactfetchhint_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactfilter.cpp b/src/contacts/qcontactfilter.cpp
index de844cec0d..e04e3f6a14 100644
--- a/src/contacts/qcontactfilter.cpp
+++ b/src/contacts/qcontactfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactfilter.h b/src/contacts/qcontactfilter.h
index 9c136813f0..7832cb0545 100644
--- a/src/contacts/qcontactfilter.h
+++ b/src/contacts/qcontactfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -106,6 +106,8 @@ protected:
QSharedDataPointer<QContactFilterPrivate> d_ptr;
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QContactFilter::MatchFlags);
+
const Q_CONTACTS_EXPORT QContactFilter operator&(const QContactFilter& left, const QContactFilter& right);
const Q_CONTACTS_EXPORT QContactFilter operator|(const QContactFilter& left, const QContactFilter& right);
diff --git a/src/contacts/qcontactfilter_p.h b/src/contacts/qcontactfilter_p.h
index 58e14ff89b..e38c269ce9 100644
--- a/src/contacts/qcontactfilter_p.h
+++ b/src/contacts/qcontactfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactid.cpp b/src/contacts/qcontactid.cpp
index 629a09b155..0d9002196e 100644
--- a/src/contacts/qcontactid.cpp
+++ b/src/contacts/qcontactid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactid.h b/src/contacts/qcontactid.h
index dbad4cffc3..a229eb903c 100644
--- a/src/contacts/qcontactid.h
+++ b/src/contacts/qcontactid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactid_p.h b/src/contacts/qcontactid_p.h
index b6a56c1c2c..5f847e97f8 100644
--- a/src/contacts/qcontactid_p.h
+++ b/src/contacts/qcontactid_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanager.cpp b/src/contacts/qcontactmanager.cpp
index a3c680b370..e965ea117b 100644
--- a/src/contacts/qcontactmanager.cpp
+++ b/src/contacts/qcontactmanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanager.h b/src/contacts/qcontactmanager.h
index e40524eec0..cd07d666a0 100644
--- a/src/contacts/qcontactmanager.h
+++ b/src/contacts/qcontactmanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanager_p.cpp b/src/contacts/qcontactmanager_p.cpp
index aa3d2eea81..358e4b2973 100644
--- a/src/contacts/qcontactmanager_p.cpp
+++ b/src/contacts/qcontactmanager_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanager_p.h b/src/contacts/qcontactmanager_p.h
index 3717d6b31e..d23d54449e 100644
--- a/src/contacts/qcontactmanager_p.h
+++ b/src/contacts/qcontactmanager_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanagerengine.cpp b/src/contacts/qcontactmanagerengine.cpp
index 61bf11e4e1..128df0fa76 100644
--- a/src/contacts/qcontactmanagerengine.cpp
+++ b/src/contacts/qcontactmanagerengine.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -56,6 +56,9 @@
#include "qcontact_p.h"
#include "qcontactdetail_p.h"
+#include <QMutex>
+#include <QMutexLocker>
+
QTM_BEGIN_NAMESPACE
/*!
@@ -1521,8 +1524,8 @@ QContact QContactManagerEngine::compatibleContact(const QContact& original, QCon
// if the allowable values is an empty list, any are allowed.
if (!field.allowableValues().isEmpty()) {
// if the field datatype is a list, remove non-allowable values
- if (field.dataType() == QVariant::List || field.dataType() == QVariant::StringList) {
- QList<QVariant> innerValues = variant.toList();
+ if (field.dataType() == QVariant::List) {
+ QVariantList innerValues = variant.toList();
QMutableListIterator<QVariant> it(innerValues);
while (it.hasNext()) {
if (!field.allowableValues().contains(it.next())) {
@@ -1533,6 +1536,19 @@ QContact QContactManagerEngine::compatibleContact(const QContact& original, QCon
detail.removeValue(key);
else
detail.setValue(key, innerValues);
+ }
+ if (field.dataType() == QVariant::StringList) {
+ QStringList innerValues = variant.toStringList();
+ QMutableListIterator<QString> it(innerValues);
+ while (it.hasNext()) {
+ if (!field.allowableValues().contains(it.next())) {
+ it.remove();
+ }
+ }
+ if (innerValues.isEmpty())
+ detail.removeValue(key);
+ else
+ detail.setValue(key, innerValues);
} else if (!field.allowableValues().contains(variant)) {
detail.removeValue(key);
}
@@ -1552,10 +1568,41 @@ QContact QContactManagerEngine::compatibleContact(const QContact& original, QCon
return conforming;
}
+
+/* This implements the string comparison behaviour required for compareVariant, amongst others */
+static inline int compareStrings(const QString& left, const QString& right, Qt::CaseSensitivity sensitivity)
+{
+ if (sensitivity == Qt::CaseSensitive) {
+ return left.localeAwareCompare(right);
+ } else {
+ return left.toCaseFolded().localeAwareCompare(right.toCaseFolded());
+ }
+}
+
/*!
Compares \a first against \a second. If the types are
strings (QVariant::String), the \a sensitivity argument controls
- case sensitivity when comparing.
+ case sensitivity when comparing. Also, when comparing strings,
+ a locale aware comparison is used, and if the sensitivity is
+ CaseSensitive, strings that are identical under a case insensitive
+ sort are then sorted case sensitively within that context.
+
+
+ For example:
+
+ aaron
+ Bob
+ Aaron
+ aAron
+ Carol
+
+ would sort as:
+
+ aaron
+ aAron
+ Aaron
+ Bob
+ Carol
Returns:
<0 if \a first is less than \a second
@@ -1583,7 +1630,7 @@ int QContactManagerEngine::compareVariant(const QVariant& first, const QVariant&
return first.toULongLong() - second.toULongLong();
case QVariant::String:
- return first.toString().compare(second.toString(), sensitivity);
+ return compareStrings(first.toString(), second.toString(), sensitivity);
case QVariant::Double:
{
@@ -1776,7 +1823,7 @@ bool QContactManagerEngine::testFilter(const QContactFilter &filter, const QCont
return true;
if (matchContains && var.contains(needle, cs))
return true;
- if (QString::compare(var, needle, cs) == 0)
+ if (compareStrings(var, needle, cs) == 0)
return true;
}
return false;
@@ -1795,6 +1842,8 @@ bool QContactManagerEngine::testFilter(const QContactFilter &filter, const QCont
case QContactFilter::ContactDetailRangeFilter:
{
+ /* The only supported flags are: MatchExactly, MatchFixedString, MatchCaseSensitive */
+
const QContactDetailRangeFilter cdf(filter);
if (cdf.detailDefinitionName().isEmpty())
return false; /* we do not know which field to check */
@@ -1823,56 +1872,45 @@ bool QContactManagerEngine::testFilter(const QContactFilter &filter, const QCont
const int minComp = cdf.rangeFlags() & QContactDetailRangeFilter::ExcludeLower ? 1 : 0;
const int maxComp = cdf.rangeFlags() & QContactDetailRangeFilter::IncludeUpper ? 1 : 0;
- const bool testMin = cdf.minValue().isValid();
- const bool testMax = cdf.maxValue().isValid();
-
- /* At this point we know that at least of testMin & testMax is true */
-
/* Case sensitivity, for those parts that use it */
Qt::CaseSensitivity cs = (cdf.matchFlags() & QContactFilter::MatchCaseSensitive) ? Qt::CaseSensitive : Qt::CaseInsensitive;
/* See what flags are requested, since we're looking at a value */
- if (cdf.matchFlags() & (QContactFilter::MatchEndsWith | QContactFilter::MatchStartsWith | QContactFilter::MatchContains | QContactFilter::MatchFixedString)) {
+ if (cdf.matchFlags() & QContactFilter::MatchFixedString) {
/* We're strictly doing string comparisons here */
- //bool matchStarts = (cdf.matchFlags() & 7) == QContactFilter::MatchStartsWith;
- bool matchEnds = (cdf.matchFlags() & 7) == QContactFilter::MatchEndsWith;
- bool matchContains = (cdf.matchFlags() & 7) == QContactFilter::MatchContains;
-
- /* Min/Max and contains do not make sense */
- if (matchContains)
- return false;
-
QString minVal = cdf.minValue().toString();
QString maxVal = cdf.maxValue().toString();
- /* Starts with is the normal compare case, endsWith is a bit trickier */
+ const bool testMin = !minVal.isEmpty();
+ const bool testMax = !maxVal.isEmpty();
+
for(int j=0; j < details.count(); j++) {
const QContactDetail& detail = details.at(j);
+
+ // The detail has to have a field of this type in order to be compared.
+ if (!detail.variantValue(cdf.detailFieldName()).isValid())
+ continue;
const QString& var = detail.value(cdf.detailFieldName());
- if (!matchEnds) {
- // MatchStarts or MatchFixedString
- if (testMin && QString::compare(var, minVal, cs) < minComp)
- continue;
- if (testMax && QString::compare(var, maxVal, cs) >= maxComp)
- continue;
- return true;
- } else {
- /* Have to test the length of min & max */
- // using refs means the parameter order is backwards, so negate the result of compare
- if (testMin && -QString::compare(minVal, var.rightRef(minVal.length()), cs) < minComp)
- continue;
- if (testMax && -QString::compare(maxVal, var.rightRef(maxVal.length()), cs) >= maxComp)
- continue;
- return true;
- }
+ if (testMin && compareStrings(var, minVal, cs) < minComp)
+ continue;
+ if (testMax && compareStrings(var, maxVal, cs) >= maxComp)
+ continue;
+ return true;
}
// Fall through to end
} else {
+ const bool testMin = cdf.minValue().isValid();
+ const bool testMax = cdf.maxValue().isValid();
+
/* Nope, testing the values as a variant */
for(int j=0; j < details.count(); j++) {
const QContactDetail& detail = details.at(j);
const QVariant& var = detail.variantValue(cdf.detailFieldName());
+ // The detail has to have a field of this type in order to be compared.
+ if (!var.isValid())
+ continue;
+
if (testMin && compareVariant(var, cdf.minValue(), cs) < minComp)
continue;
if (testMax && compareVariant(var, cdf.maxValue(), cs) >= maxComp)
@@ -2005,10 +2043,7 @@ void QContactManagerEngine::setContactRelationships(QContact* contact, const QLi
*/
int QContactManagerEngine::compareContact(const QContact& a, const QContact& b, const QList<QContactSortOrder>& sortOrders)
{
- QList<QContactSortOrder> copy = sortOrders;
- while (copy.size()) {
- // retrieve the next sort order in the list
- QContactSortOrder sortOrder = copy.takeFirst();
+ foreach(const QContactSortOrder& sortOrder, sortOrders) {
if (!sortOrder.isValid())
break;
@@ -2045,47 +2080,51 @@ int QContactManagerEngine::compareContact(const QContact& a, const QContact& b,
return 0; // or according to id? return (a.id() < b.id() ? -1 : 1);
}
+/* A functor that returns true iff a is less than b, according to the sortOrders passed in to the
+ * ctor. The sortOrders pointer passed in must remain valid for the lifetime of the functor. */
+class ContactLessThan {
+ public:
+ ContactLessThan(const QList<QContactSortOrder>* sortOrders) : mSortOrders(sortOrders) {}
+ bool operator()(const QContact& a, const QContact& b) const
+ {
+ return QContactManagerEngine::compareContact(a, b, *mSortOrders) < 0;
+ }
+ private:
+ const QList<QContactSortOrder>* mSortOrders;
+};
/*!
Performs insertion sort of the contact \a toAdd into the \a sorted list, according to the provided \a sortOrders list.
- The first QContactSortOrder in the list has the highest priority; if the contact \a toAdd is deemed equal to another
- in the \a sorted list, the second QContactSortOrder in the list is used (and so on until either the contact is inserted
- or there are no more sort order objects in the list).
+ The first QContactSortOrder in the list has the highest priority: if the contact \a toAdd is deemed equal to another
+ in the \a sorted list according to the first QContactSortOrder, the second QContactSortOrder in the list is used (and
+ so on until either the contact is inserted or there are no more sort order objects in the list).
+
+ If a contact is equal to another contact according to all sort orders, it is inserted after the previously-added contact.
*/
void QContactManagerEngine::addSorted(QList<QContact>* sorted, const QContact& toAdd, const QList<QContactSortOrder>& sortOrders)
{
if (sortOrders.count() > 0) {
- for (int i = 0; i < sorted->size(); i++) {
- // check to see if the new contact should be inserted here
- int comparison = compareContact(sorted->at(i), toAdd, sortOrders);
- if (comparison > 0) {
- sorted->insert(i, toAdd);
- return;
- }
- }
+ ContactLessThan lessThan(&sortOrders);
+ QList<QContact>::iterator it(qUpperBound(sorted->begin(), sorted->end(), toAdd, lessThan));
+ sorted->insert(it, toAdd);
+ } else {
+ // no sort order? just add it to the end
+ sorted->append(toAdd);
}
-
- // hasn't been inserted yet? append to the list.
- sorted->append(toAdd);
}
/*! Sorts the given list of contacts \a cs according to the provided \a sortOrders */
QList<QContactLocalId> QContactManagerEngine::sortContacts(const QList<QContact>& cs, const QList<QContactSortOrder>& sortOrders)
{
QList<QContactLocalId> sortedIds;
- QList<QContact> sortedContacts;
+ QList<QContact> sortedContacts = cs;
if (!sortOrders.isEmpty()) {
- foreach (const QContact& c, cs) {
- QContactManagerEngine::addSorted(&sortedContacts, c, sortOrders);
- }
+ ContactLessThan lessThan(&sortOrders);
+ qStableSort(sortedContacts.begin(), sortedContacts.end(), lessThan);
+ }
- foreach(const QContact& c, sortedContacts) {
- sortedIds.append(c.localId());
- }
- } else {
- foreach(const QContact& c, cs) {
- sortedIds.append(c.localId());
- }
+ foreach(const QContact& c, sortedContacts) {
+ sortedIds.append(c.localId());
}
return sortedIds;
}
@@ -2147,9 +2186,13 @@ bool QContactManagerEngine::waitForRequestFinished(QContactAbstractRequest* req,
*/
void QContactManagerEngine::updateRequestState(QContactAbstractRequest* req, QContactAbstractRequest::State state)
{
- if (req->d_ptr->m_state != state) {
- req->d_ptr->m_state = state;
- emit req->stateChanged(state);
+ if (req) {
+ QMutexLocker ml(&req->d_ptr->m_mutex);
+ if (req->d_ptr->m_state != state) {
+ req->d_ptr->m_state = state;
+ ml.unlock();
+ emit req->stateChanged(state);
+ }
}
}
@@ -2163,14 +2206,19 @@ void QContactManagerEngine::updateRequestState(QContactAbstractRequest* req, QCo
*/
void QContactManagerEngine::updateContactLocalIdFetchRequest(QContactLocalIdFetchRequest* req, const QList<QContactLocalId>& result, QContactManager::Error error, QContactAbstractRequest::State newState)
{
- QContactLocalIdFetchRequestPrivate* rd = static_cast<QContactLocalIdFetchRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_ids = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactLocalIdFetchRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactLocalIdFetchRequestPrivate* rd = static_cast<QContactLocalIdFetchRequestPrivate*>(ireq->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_ids = result;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2183,14 +2231,19 @@ void QContactManagerEngine::updateContactLocalIdFetchRequest(QContactLocalIdFetc
*/
void QContactManagerEngine::updateContactFetchRequest(QContactFetchRequest* req, const QList<QContact>& result, QContactManager::Error error, QContactAbstractRequest::State newState)
{
- QContactFetchRequestPrivate* rd = static_cast<QContactFetchRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_contacts = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactFetchRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactFetchRequestPrivate* rd = static_cast<QContactFetchRequestPrivate*>(ireq->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_contacts = result;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2203,14 +2256,19 @@ void QContactManagerEngine::updateContactFetchRequest(QContactFetchRequest* req,
*/
void QContactManagerEngine::updateContactRemoveRequest(QContactRemoveRequest* req, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactRemoveRequestPrivate* rd = static_cast<QContactRemoveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactRemoveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactRemoveRequestPrivate* rd = static_cast<QContactRemoveRequestPrivate*>(ireq->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2223,15 +2281,20 @@ void QContactManagerEngine::updateContactRemoveRequest(QContactRemoveRequest* re
*/
void QContactManagerEngine::updateContactSaveRequest(QContactSaveRequest* req, const QList<QContact>& result, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactSaveRequestPrivate* rd = static_cast<QContactSaveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- rd->m_contacts = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactSaveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactSaveRequestPrivate* rd = static_cast<QContactSaveRequestPrivate*>(ireq->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_contacts = result;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2244,15 +2307,20 @@ void QContactManagerEngine::updateContactSaveRequest(QContactSaveRequest* req, c
*/
void QContactManagerEngine::updateDefinitionSaveRequest(QContactDetailDefinitionSaveRequest* req, const QList<QContactDetailDefinition>& result, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactDetailDefinitionSaveRequestPrivate* rd = static_cast<QContactDetailDefinitionSaveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- rd->m_definitions = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactDetailDefinitionSaveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactDetailDefinitionSaveRequestPrivate* rd = static_cast<QContactDetailDefinitionSaveRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_definitions = result;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2265,14 +2333,19 @@ void QContactManagerEngine::updateDefinitionSaveRequest(QContactDetailDefinition
*/
void QContactManagerEngine::updateDefinitionRemoveRequest(QContactDetailDefinitionRemoveRequest* req, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactDetailDefinitionRemoveRequestPrivate* rd = static_cast<QContactDetailDefinitionRemoveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactDetailDefinitionRemoveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactDetailDefinitionRemoveRequestPrivate* rd = static_cast<QContactDetailDefinitionRemoveRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2285,15 +2358,20 @@ void QContactManagerEngine::updateDefinitionRemoveRequest(QContactDetailDefiniti
*/
void QContactManagerEngine::updateDefinitionFetchRequest(QContactDetailDefinitionFetchRequest* req, const QMap<QString, QContactDetailDefinition>& result, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactDetailDefinitionFetchRequestPrivate* rd = static_cast<QContactDetailDefinitionFetchRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- rd->m_definitions = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactDetailDefinitionFetchRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactDetailDefinitionFetchRequestPrivate* rd = static_cast<QContactDetailDefinitionFetchRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_definitions = result;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2306,15 +2384,20 @@ void QContactManagerEngine::updateDefinitionFetchRequest(QContactDetailDefinitio
*/
void QContactManagerEngine::updateRelationshipSaveRequest(QContactRelationshipSaveRequest* req, const QList<QContactRelationship>& result, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactRelationshipSaveRequestPrivate* rd = static_cast<QContactRelationshipSaveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- rd->m_relationships = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactRelationshipSaveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactRelationshipSaveRequestPrivate* rd = static_cast<QContactRelationshipSaveRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_relationships = result;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2327,14 +2410,19 @@ void QContactManagerEngine::updateRelationshipSaveRequest(QContactRelationshipSa
*/
void QContactManagerEngine::updateRelationshipRemoveRequest(QContactRelationshipRemoveRequest* req, QContactManager::Error error, const QMap<int, QContactManager::Error>& errorMap, QContactAbstractRequest::State newState)
{
- QContactRelationshipRemoveRequestPrivate* rd = static_cast<QContactRelationshipRemoveRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_errors = errorMap;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactRelationshipRemoveRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactRelationshipRemoveRequestPrivate* rd = static_cast<QContactRelationshipRemoveRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_errors = errorMap;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
/*!
@@ -2347,14 +2435,19 @@ void QContactManagerEngine::updateRelationshipRemoveRequest(QContactRelationship
*/
void QContactManagerEngine::updateRelationshipFetchRequest(QContactRelationshipFetchRequest* req, const QList<QContactRelationship>& result, QContactManager::Error error, QContactAbstractRequest::State newState)
{
- QContactRelationshipFetchRequestPrivate* rd = static_cast<QContactRelationshipFetchRequestPrivate*>(req->d_ptr);
- req->d_ptr->m_error = error;
- rd->m_relationships = result;
- bool emitState = rd->m_state != newState;
- rd->m_state = newState;
- emit req->resultsAvailable();
- if (emitState)
- emit req->stateChanged(newState);
+ if (req) {
+ QPointer<QContactRelationshipFetchRequest> ireq(req); // Take this in case the first emit deletes us
+ QContactRelationshipFetchRequestPrivate* rd = static_cast<QContactRelationshipFetchRequestPrivate*>(req->d_ptr);
+ QMutexLocker ml(&rd->m_mutex);
+ bool emitState = rd->m_state != newState;
+ rd->m_relationships = result;
+ rd->m_error = error;
+ rd->m_state = newState;
+ ml.unlock();
+ emit ireq->resultsAvailable();
+ if (emitState && ireq)
+ emit ireq->stateChanged(newState);
+ }
}
#include "moc_qcontactmanagerengine.cpp"
diff --git a/src/contacts/qcontactmanagerengine.h b/src/contacts/qcontactmanagerengine.h
index e7335a6219..a894ed7505 100644
--- a/src/contacts/qcontactmanagerengine.h
+++ b/src/contacts/qcontactmanagerengine.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanagerenginefactory.cpp b/src/contacts/qcontactmanagerenginefactory.cpp
index a5e6f64d4a..cf01278e34 100644
--- a/src/contacts/qcontactmanagerenginefactory.cpp
+++ b/src/contacts/qcontactmanagerenginefactory.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactmanagerenginefactory.h b/src/contacts/qcontactmanagerenginefactory.h
index d964c1fc11..9801b96013 100644
--- a/src/contacts/qcontactmanagerenginefactory.h
+++ b/src/contacts/qcontactmanagerenginefactory.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactrelationship.cpp b/src/contacts/qcontactrelationship.cpp
index 1c9113c3c5..97eda5d7ec 100644
--- a/src/contacts/qcontactrelationship.cpp
+++ b/src/contacts/qcontactrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactrelationship.h b/src/contacts/qcontactrelationship.h
index d4226fa2aa..a0aed12520 100644
--- a/src/contacts/qcontactrelationship.h
+++ b/src/contacts/qcontactrelationship.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactrelationship_p.h b/src/contacts/qcontactrelationship_p.h
index 57d4136429..7fd66513b9 100644
--- a/src/contacts/qcontactrelationship_p.h
+++ b/src/contacts/qcontactrelationship_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactsortorder.cpp b/src/contacts/qcontactsortorder.cpp
index 05834a83a2..749f536111 100644
--- a/src/contacts/qcontactsortorder.cpp
+++ b/src/contacts/qcontactsortorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactsortorder.h b/src/contacts/qcontactsortorder.h
index 2b2dba2e6b..e0e251fca8 100644
--- a/src/contacts/qcontactsortorder.h
+++ b/src/contacts/qcontactsortorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qcontactsortorder_p.h b/src/contacts/qcontactsortorder_p.h
index 80a51762bc..de009960b2 100644
--- a/src/contacts/qcontactsortorder_p.h
+++ b/src/contacts/qcontactsortorder_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qtcontacts.h b/src/contacts/qtcontacts.h
index 11c4d59d2f..c2d06ce37a 100644
--- a/src/contacts/qtcontacts.h
+++ b/src/contacts/qtcontacts.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/qtcontactsglobal.h b/src/contacts/qtcontactsglobal.h
index 5fe4749e69..b569d243a6 100644
--- a/src/contacts/qtcontactsglobal.h
+++ b/src/contacts/qtcontactsglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -167,7 +167,4 @@ QTM_END_NAMESPACE
// Not needed since this is a typedef, and qglobal already does this for the base type
// Q_DECLARE_TYPEINFO(QTM_PREPEND_NAMESPACE(QContactLocalId), Q_PRIMITIVE_TYPE);
-// Workaround for unannounced SC break
-#include "qcontactid.h"
-
#endif
diff --git a/src/contacts/requests/qcontactdetaildefinitionfetchrequest.cpp b/src/contacts/requests/qcontactdetaildefinitionfetchrequest.cpp
index 8e64f47d23..c79684f42f 100644
--- a/src/contacts/requests/qcontactdetaildefinitionfetchrequest.cpp
+++ b/src/contacts/requests/qcontactdetaildefinitionfetchrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,6 +72,7 @@ QContactDetailDefinitionFetchRequest::QContactDetailDefinitionFetchRequest(QObje
void QContactDetailDefinitionFetchRequest::setDefinitionName(const QString& definitionName)
{
Q_D(QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_names.clear();
d->m_names.append(definitionName);
}
@@ -80,6 +81,7 @@ void QContactDetailDefinitionFetchRequest::setDefinitionName(const QString& defi
void QContactDetailDefinitionFetchRequest::setDefinitionNames(const QStringList& names)
{
Q_D(QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_names = names;
}
@@ -87,6 +89,7 @@ void QContactDetailDefinitionFetchRequest::setDefinitionNames(const QStringList&
QStringList QContactDetailDefinitionFetchRequest::definitionNames() const
{
Q_D(const QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_names;
}
@@ -94,6 +97,7 @@ QStringList QContactDetailDefinitionFetchRequest::definitionNames() const
void QContactDetailDefinitionFetchRequest::setContactType(const QString& contactType)
{
Q_D(QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contactType = contactType;
}
@@ -101,6 +105,7 @@ void QContactDetailDefinitionFetchRequest::setContactType(const QString& contact
QString QContactDetailDefinitionFetchRequest::contactType() const
{
Q_D(const QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contactType;
}
@@ -110,6 +115,7 @@ QString QContactDetailDefinitionFetchRequest::contactType() const
QMap<QString, QContactDetailDefinition> QContactDetailDefinitionFetchRequest::definitions() const
{
Q_D(const QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_definitions;
}
@@ -117,6 +123,7 @@ QMap<QString, QContactDetailDefinition> QContactDetailDefinitionFetchRequest::de
QMap<int, QContactManager::Error> QContactDetailDefinitionFetchRequest::errorMap() const
{
Q_D(const QContactDetailDefinitionFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactdetaildefinitionfetchrequest.h b/src/contacts/requests/qcontactdetaildefinitionfetchrequest.h
index 63089b6ecf..2316ff6079 100644
--- a/src/contacts/requests/qcontactdetaildefinitionfetchrequest.h
+++ b/src/contacts/requests/qcontactdetaildefinitionfetchrequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactdetaildefinitionremoverequest.cpp b/src/contacts/requests/qcontactdetaildefinitionremoverequest.cpp
index a60b4a7eab..e692224894 100644
--- a/src/contacts/requests/qcontactdetaildefinitionremoverequest.cpp
+++ b/src/contacts/requests/qcontactdetaildefinitionremoverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,6 +77,7 @@ QContactDetailDefinitionRemoveRequest::QContactDetailDefinitionRemoveRequest(QOb
void QContactDetailDefinitionRemoveRequest::setDefinitionName(const QString& definitionName)
{
Q_D(QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_names.clear();
d->m_names.append(definitionName);
}
@@ -90,6 +91,7 @@ void QContactDetailDefinitionRemoveRequest::setDefinitionName(const QString& def
void QContactDetailDefinitionRemoveRequest::setDefinitionNames(const QStringList& names)
{
Q_D(QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_names = names;
}
@@ -97,6 +99,7 @@ void QContactDetailDefinitionRemoveRequest::setDefinitionNames(const QStringList
QStringList QContactDetailDefinitionRemoveRequest::definitionNames() const
{
Q_D(const QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_names;
}
@@ -106,6 +109,7 @@ QStringList QContactDetailDefinitionRemoveRequest::definitionNames() const
void QContactDetailDefinitionRemoveRequest::setContactType(const QString& contactType)
{
Q_D(QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contactType = contactType;
}
@@ -113,6 +117,7 @@ void QContactDetailDefinitionRemoveRequest::setContactType(const QString& contac
QString QContactDetailDefinitionRemoveRequest::contactType() const
{
Q_D(const QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contactType;
}
@@ -120,6 +125,7 @@ QString QContactDetailDefinitionRemoveRequest::contactType() const
QMap<int, QContactManager::Error> QContactDetailDefinitionRemoveRequest::errorMap() const
{
Q_D(const QContactDetailDefinitionRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactdetaildefinitionremoverequest.h b/src/contacts/requests/qcontactdetaildefinitionremoverequest.h
index b74b51ffb9..e6879df40d 100644
--- a/src/contacts/requests/qcontactdetaildefinitionremoverequest.h
+++ b/src/contacts/requests/qcontactdetaildefinitionremoverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactdetaildefinitionsaverequest.cpp b/src/contacts/requests/qcontactdetaildefinitionsaverequest.cpp
index aaf1dc8f92..66ddb10076 100644
--- a/src/contacts/requests/qcontactdetaildefinitionsaverequest.cpp
+++ b/src/contacts/requests/qcontactdetaildefinitionsaverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,6 +74,7 @@ QContactDetailDefinitionSaveRequest::QContactDetailDefinitionSaveRequest(QObject
void QContactDetailDefinitionSaveRequest::setDefinition(const QContactDetailDefinition& definition)
{
Q_D(QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_definitions.clear();
d->m_definitions.append(definition);
}
@@ -82,6 +83,7 @@ void QContactDetailDefinitionSaveRequest::setDefinition(const QContactDetailDefi
void QContactDetailDefinitionSaveRequest::setDefinitions(const QList<QContactDetailDefinition>& definitions)
{
Q_D(QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_definitions = definitions;
}
@@ -90,6 +92,7 @@ void QContactDetailDefinitionSaveRequest::setDefinitions(const QList<QContactDet
QList<QContactDetailDefinition> QContactDetailDefinitionSaveRequest::definitions() const
{
Q_D(const QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_definitions;
}
@@ -97,6 +100,7 @@ QList<QContactDetailDefinition> QContactDetailDefinitionSaveRequest::definitions
void QContactDetailDefinitionSaveRequest::setContactType(const QString& contactType)
{
Q_D(QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contactType = contactType;
}
@@ -104,6 +108,7 @@ void QContactDetailDefinitionSaveRequest::setContactType(const QString& contactT
QString QContactDetailDefinitionSaveRequest::contactType() const
{
Q_D(const QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contactType;
}
@@ -111,6 +116,7 @@ QString QContactDetailDefinitionSaveRequest::contactType() const
QMap<int, QContactManager::Error> QContactDetailDefinitionSaveRequest::errorMap() const
{
Q_D(const QContactDetailDefinitionSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactdetaildefinitionsaverequest.h b/src/contacts/requests/qcontactdetaildefinitionsaverequest.h
index ea695a1443..f5c9e21f96 100644
--- a/src/contacts/requests/qcontactdetaildefinitionsaverequest.h
+++ b/src/contacts/requests/qcontactdetaildefinitionsaverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactfetchrequest.cpp b/src/contacts/requests/qcontactfetchrequest.cpp
index 5ed347335a..3d5f1741df 100644
--- a/src/contacts/requests/qcontactfetchrequest.cpp
+++ b/src/contacts/requests/qcontactfetchrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -67,6 +67,7 @@ QContactFetchRequest::QContactFetchRequest(QObject* parent)
void QContactFetchRequest::setFilter(const QContactFilter& filter)
{
Q_D(QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_filter = filter;
}
@@ -74,6 +75,7 @@ void QContactFetchRequest::setFilter(const QContactFilter& filter)
void QContactFetchRequest::setSorting(const QList<QContactSortOrder>& sorting)
{
Q_D(QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_sorting = sorting;
}
@@ -88,6 +90,7 @@ void QContactFetchRequest::setSorting(const QList<QContactSortOrder>& sorting)
void QContactFetchRequest::setFetchHint(const QContactFetchHint &fetchHint)
{
Q_D(QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_fetchHint = fetchHint;
}
@@ -95,6 +98,7 @@ void QContactFetchRequest::setFetchHint(const QContactFetchHint &fetchHint)
QContactFilter QContactFetchRequest::filter() const
{
Q_D(const QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_filter;
}
@@ -102,6 +106,7 @@ QContactFilter QContactFetchRequest::filter() const
QList<QContactSortOrder> QContactFetchRequest::sorting() const
{
Q_D(const QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_sorting;
}
@@ -116,6 +121,7 @@ QList<QContactSortOrder> QContactFetchRequest::sorting() const
QContactFetchHint QContactFetchRequest::fetchHint() const
{
Q_D(const QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_fetchHint;
}
@@ -123,6 +129,7 @@ QContactFetchHint QContactFetchRequest::fetchHint() const
QList<QContact> QContactFetchRequest::contacts() const
{
Q_D(const QContactFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contacts;
}
diff --git a/src/contacts/requests/qcontactfetchrequest.h b/src/contacts/requests/qcontactfetchrequest.h
index 5ab2b1d480..4cc67dadb6 100644
--- a/src/contacts/requests/qcontactfetchrequest.h
+++ b/src/contacts/requests/qcontactfetchrequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactlocalidfetchrequest.cpp b/src/contacts/requests/qcontactlocalidfetchrequest.cpp
index fef8a14aad..0bb15b45a7 100644
--- a/src/contacts/requests/qcontactlocalidfetchrequest.cpp
+++ b/src/contacts/requests/qcontactlocalidfetchrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -67,6 +67,7 @@ QContactLocalIdFetchRequest::QContactLocalIdFetchRequest(QObject* parent)
void QContactLocalIdFetchRequest::setFilter(const QContactFilter& filter)
{
Q_D(QContactLocalIdFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_filter = filter;
}
@@ -75,6 +76,7 @@ void QContactLocalIdFetchRequest::setFilter(const QContactFilter& filter)
void QContactLocalIdFetchRequest::setSorting(const QList<QContactSortOrder>& sorting)
{
Q_D(QContactLocalIdFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_sorting = sorting;
}
@@ -82,6 +84,7 @@ void QContactLocalIdFetchRequest::setSorting(const QList<QContactSortOrder>& sor
QContactFilter QContactLocalIdFetchRequest::filter() const
{
Q_D(const QContactLocalIdFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_filter;
}
@@ -89,6 +92,7 @@ QContactFilter QContactLocalIdFetchRequest::filter() const
QList<QContactSortOrder> QContactLocalIdFetchRequest::sorting() const
{
Q_D(const QContactLocalIdFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_sorting;
}
@@ -96,6 +100,7 @@ QList<QContactSortOrder> QContactLocalIdFetchRequest::sorting() const
QList<QContactLocalId> QContactLocalIdFetchRequest::ids() const
{
Q_D(const QContactLocalIdFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_ids;
}
diff --git a/src/contacts/requests/qcontactlocalidfetchrequest.h b/src/contacts/requests/qcontactlocalidfetchrequest.h
index b65e4c862b..1ebabe430c 100644
--- a/src/contacts/requests/qcontactlocalidfetchrequest.h
+++ b/src/contacts/requests/qcontactlocalidfetchrequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactrelationshipfetchrequest.cpp b/src/contacts/requests/qcontactrelationshipfetchrequest.cpp
index d904f2b489..48b26a2272 100644
--- a/src/contacts/requests/qcontactrelationshipfetchrequest.cpp
+++ b/src/contacts/requests/qcontactrelationshipfetchrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,6 +73,7 @@ QContactRelationshipFetchRequest::QContactRelationshipFetchRequest(QObject* pare
void QContactRelationshipFetchRequest::setFirst(const QContactId& firstId)
{
Q_D(QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_first = firstId;
}
@@ -81,6 +82,7 @@ void QContactRelationshipFetchRequest::setFirst(const QContactId& firstId)
QContactId QContactRelationshipFetchRequest::first() const
{
Q_D(const QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_first;
}
@@ -91,6 +93,7 @@ QContactId QContactRelationshipFetchRequest::first() const
void QContactRelationshipFetchRequest::setRelationshipType(const QString& relationshipType)
{
Q_D(QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_relationshipType = relationshipType;
}
@@ -99,6 +102,7 @@ void QContactRelationshipFetchRequest::setRelationshipType(const QString& relati
QString QContactRelationshipFetchRequest::relationshipType() const
{
Q_D(const QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_relationshipType;
}
@@ -109,6 +113,7 @@ QString QContactRelationshipFetchRequest::relationshipType() const
void QContactRelationshipFetchRequest::setSecond(const QContactId& secondId)
{
Q_D(QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_second = secondId;
}
@@ -117,6 +122,7 @@ void QContactRelationshipFetchRequest::setSecond(const QContactId& secondId)
QContactId QContactRelationshipFetchRequest::second() const
{
Q_D(const QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_second;
}
@@ -125,6 +131,7 @@ QContactId QContactRelationshipFetchRequest::second() const
QList<QContactRelationship> QContactRelationshipFetchRequest::relationships() const
{
Q_D(const QContactRelationshipFetchRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_relationships;
}
diff --git a/src/contacts/requests/qcontactrelationshipfetchrequest.h b/src/contacts/requests/qcontactrelationshipfetchrequest.h
index 0b02a67a0f..b86f6ff372 100644
--- a/src/contacts/requests/qcontactrelationshipfetchrequest.h
+++ b/src/contacts/requests/qcontactrelationshipfetchrequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactrelationshipremoverequest.cpp b/src/contacts/requests/qcontactrelationshipremoverequest.cpp
index 96997de1fb..b57a1b5145 100644
--- a/src/contacts/requests/qcontactrelationshipremoverequest.cpp
+++ b/src/contacts/requests/qcontactrelationshipremoverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -74,6 +74,7 @@ QContactRelationshipRemoveRequest::QContactRelationshipRemoveRequest(QObject* pa
void QContactRelationshipRemoveRequest::setRelationship(const QContactRelationship& relationship)
{
Q_D(QContactRelationshipRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_relationships.clear();
d->m_relationships.append(relationship);
}
@@ -82,6 +83,7 @@ void QContactRelationshipRemoveRequest::setRelationship(const QContactRelationsh
void QContactRelationshipRemoveRequest::setRelationships(const QList<QContactRelationship>& relationships)
{
Q_D(QContactRelationshipRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_relationships = relationships;
}
@@ -89,6 +91,7 @@ void QContactRelationshipRemoveRequest::setRelationships(const QList<QContactRel
QList<QContactRelationship> QContactRelationshipRemoveRequest::relationships() const
{
Q_D(const QContactRelationshipRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_relationships;
}
@@ -96,6 +99,7 @@ QList<QContactRelationship> QContactRelationshipRemoveRequest::relationships() c
QMap<int, QContactManager::Error> QContactRelationshipRemoveRequest::errorMap() const
{
Q_D(const QContactRelationshipRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactrelationshipremoverequest.h b/src/contacts/requests/qcontactrelationshipremoverequest.h
index e02e2022cb..8e9fbccaa5 100644
--- a/src/contacts/requests/qcontactrelationshipremoverequest.h
+++ b/src/contacts/requests/qcontactrelationshipremoverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactrelationshipsaverequest.cpp b/src/contacts/requests/qcontactrelationshipsaverequest.cpp
index 0ea60accf3..4df139c517 100644
--- a/src/contacts/requests/qcontactrelationshipsaverequest.cpp
+++ b/src/contacts/requests/qcontactrelationshipsaverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,6 +73,7 @@ QContactRelationshipSaveRequest::QContactRelationshipSaveRequest(QObject* parent
void QContactRelationshipSaveRequest::setRelationship(const QContactRelationship& contactRelationship)
{
Q_D(QContactRelationshipSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_relationships.clear();
d->m_relationships.append(contactRelationship);
}
@@ -81,6 +82,7 @@ void QContactRelationshipSaveRequest::setRelationship(const QContactRelationship
void QContactRelationshipSaveRequest::setRelationships(const QList<QContactRelationship>& contactRelationships)
{
Q_D(QContactRelationshipSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_relationships = contactRelationships;
}
@@ -89,6 +91,7 @@ void QContactRelationshipSaveRequest::setRelationships(const QList<QContactRelat
QList<QContactRelationship> QContactRelationshipSaveRequest::relationships() const
{
Q_D(const QContactRelationshipSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_relationships;
}
@@ -96,6 +99,7 @@ QList<QContactRelationship> QContactRelationshipSaveRequest::relationships() con
QMap<int, QContactManager::Error> QContactRelationshipSaveRequest::errorMap() const
{
Q_D(const QContactRelationshipSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactrelationshipsaverequest.h b/src/contacts/requests/qcontactrelationshipsaverequest.h
index 532f389302..f6358910b0 100644
--- a/src/contacts/requests/qcontactrelationshipsaverequest.h
+++ b/src/contacts/requests/qcontactrelationshipsaverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactremoverequest.cpp b/src/contacts/requests/qcontactremoverequest.cpp
index 2ccd1f4fb6..01058774d2 100644
--- a/src/contacts/requests/qcontactremoverequest.cpp
+++ b/src/contacts/requests/qcontactremoverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,6 +72,7 @@ QContactRemoveRequest::QContactRemoveRequest(QObject* parent)
void QContactRemoveRequest::setContactId(const QContactLocalId& contactId)
{
Q_D(QContactRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contactIds.clear();
d->m_contactIds.append(contactId);
}
@@ -80,6 +81,7 @@ void QContactRemoveRequest::setContactId(const QContactLocalId& contactId)
void QContactRemoveRequest::setContactIds(const QList<QContactLocalId>& contactIds)
{
Q_D(QContactRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contactIds = contactIds;
}
@@ -87,6 +89,7 @@ void QContactRemoveRequest::setContactIds(const QList<QContactLocalId>& contactI
QList<QContactLocalId> QContactRemoveRequest::contactIds() const
{
Q_D(const QContactRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contactIds;
}
@@ -94,6 +97,7 @@ QList<QContactLocalId> QContactRemoveRequest::contactIds() const
QMap<int, QContactManager::Error> QContactRemoveRequest::errorMap() const
{
Q_D(const QContactRemoveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactremoverequest.h b/src/contacts/requests/qcontactremoverequest.h
index 6ae080dbef..cfab8b6706 100644
--- a/src/contacts/requests/qcontactremoverequest.h
+++ b/src/contacts/requests/qcontactremoverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactrequests.h b/src/contacts/requests/qcontactrequests.h
index db6a5051cf..25890c5e1e 100644
--- a/src/contacts/requests/qcontactrequests.h
+++ b/src/contacts/requests/qcontactrequests.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactrequests_p.h b/src/contacts/requests/qcontactrequests_p.h
index 4ce9962258..5fb2f99dca 100644
--- a/src/contacts/requests/qcontactrequests_p.h
+++ b/src/contacts/requests/qcontactrequests_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/contacts/requests/qcontactsaverequest.cpp b/src/contacts/requests/qcontactsaverequest.cpp
index 99b1abce78..a9c578010d 100644
--- a/src/contacts/requests/qcontactsaverequest.cpp
+++ b/src/contacts/requests/qcontactsaverequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,6 +73,7 @@ QContactSaveRequest::QContactSaveRequest(QObject* parent)
void QContactSaveRequest::setContact(const QContact& contact)
{
Q_D(QContactSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contacts.clear();
d->m_contacts.append(contact);
}
@@ -81,6 +82,7 @@ void QContactSaveRequest::setContact(const QContact& contact)
void QContactSaveRequest::setContacts(const QList<QContact>& contacts)
{
Q_D(QContactSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
d->m_contacts = contacts;
}
@@ -89,6 +91,7 @@ void QContactSaveRequest::setContacts(const QList<QContact>& contacts)
QList<QContact> QContactSaveRequest::contacts() const
{
Q_D(const QContactSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_contacts;
}
@@ -96,6 +99,7 @@ QList<QContact> QContactSaveRequest::contacts() const
QMap<int, QContactManager::Error> QContactSaveRequest::errorMap() const
{
Q_D(const QContactSaveRequest);
+ QMutexLocker ml(&d->m_mutex);
return d->m_errors;
}
diff --git a/src/contacts/requests/qcontactsaverequest.h b/src/contacts/requests/qcontactsaverequest.h
index 2e0a39278b..99a97191cf 100644
--- a/src/contacts/requests/qcontactsaverequest.h
+++ b/src/contacts/requests/qcontactsaverequest.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/global/qmobilityglobal.h b/src/global/qmobilityglobal.h
index 49766fee97..02ea2946f7 100644
--- a/src/global/qmobilityglobal.h
+++ b/src/global/qmobilityglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -42,13 +42,13 @@
#define QMOBILITYGLOBAL_H
-#define QTM_VERSION_STR "1.0.0"
+#define QTM_VERSION_STR "1.0.1"
/*
QTM_VERSION is (major << 16) + (minor << 8) + patch.
*/
-#define QTM_VERSION 0x010000
+#define QTM_VERSION 0x010001
/*
- can be used like #if (QTM_VERSION >= QTM_VERSION_CHECK(1, 0, 0))
+ can be used like #if (QTM_VERSION >= QTM_VERSION_CHECK(1, 0, 1))
*/
#define QTM_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
diff --git a/src/global/qmobilitypluginsearch.h b/src/global/qmobilitypluginsearch.h
index 435462a087..db004cfcc0 100644
--- a/src/global/qmobilitypluginsearch.h
+++ b/src/global/qmobilitypluginsearch.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/dbuscomm_maemo.cpp b/src/location/dbuscomm_maemo.cpp
index 10f147b2a4..ec045f4651 100644
--- a/src/location/dbuscomm_maemo.cpp
+++ b/src/location/dbuscomm_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/dbuscomm_maemo_p.h b/src/location/dbuscomm_maemo_p.h
index a1466cc603..0ed53736a8 100644
--- a/src/location/dbuscomm_maemo_p.h
+++ b/src/location/dbuscomm_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/dbusserver_maemo.cpp b/src/location/dbusserver_maemo.cpp
index 0c94550fbd..24a9a09044 100644
--- a/src/location/dbusserver_maemo.cpp
+++ b/src/location/dbusserver_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/dbusserver_maemo_p.h b/src/location/dbusserver_maemo_p.h
index f64a6116a7..3b243f5bc2 100644
--- a/src/location/dbusserver_maemo_p.h
+++ b/src/location/dbusserver_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/liblocationwrapper.cpp b/src/location/liblocationwrapper.cpp
index e8b4e35a69..2340cdb1ae 100644
--- a/src/location/liblocationwrapper.cpp
+++ b/src/location/liblocationwrapper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/liblocationwrapper_p.h b/src/location/liblocationwrapper_p.h
index 10e8aaac50..1c5e34a77c 100644
--- a/src/location/liblocationwrapper_p.h
+++ b/src/location/liblocationwrapper_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/location.pro b/src/location/location.pro
index 0b77c04098..511c969276 100644
--- a/src/location/location.pro
+++ b/src/location/location.pro
@@ -6,6 +6,7 @@ include(../../common.pri)
DEFINES += QT_BUILD_LOCATION_LIB QT_MAKEDLL
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
INCLUDEPATH += .
DEPENDPATH += .
diff --git a/src/location/notificationcallback_s60_p.h b/src/location/notificationcallback_s60_p.h
index 5fcbbb9af0..76edbb3076 100644
--- a/src/location/notificationcallback_s60_p.h
+++ b/src/location/notificationcallback_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/notificationmonitorcallback_s60_p.h b/src/location/notificationmonitorcallback_s60_p.h
index 91977089ef..96f29e3431 100644
--- a/src/location/notificationmonitorcallback_s60_p.h
+++ b/src/location/notificationmonitorcallback_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/notificationsatellitecallback_s60_p.h b/src/location/notificationsatellitecallback_s60_p.h
index d43fbdbb5e..a2e448f0a7 100644
--- a/src/location/notificationsatellitecallback_s60_p.h
+++ b/src/location/notificationsatellitecallback_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor.cpp b/src/location/qgeoareamonitor.cpp
index edf66d7a27..331bdfcbfb 100644
--- a/src/location/qgeoareamonitor.cpp
+++ b/src/location/qgeoareamonitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor.h b/src/location/qgeoareamonitor.h
index fda59291ce..54737f6859 100644
--- a/src/location/qgeoareamonitor.h
+++ b/src/location/qgeoareamonitor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor_maemo.cpp b/src/location/qgeoareamonitor_maemo.cpp
index d1bc91d032..7d5436c527 100644
--- a/src/location/qgeoareamonitor_maemo.cpp
+++ b/src/location/qgeoareamonitor_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor_maemo_p.h b/src/location/qgeoareamonitor_maemo_p.h
index a915271672..57bc555366 100644
--- a/src/location/qgeoareamonitor_maemo_p.h
+++ b/src/location/qgeoareamonitor_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor_s60.cpp b/src/location/qgeoareamonitor_s60.cpp
index fde8cc1cc1..353366f82a 100644
--- a/src/location/qgeoareamonitor_s60.cpp
+++ b/src/location/qgeoareamonitor_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoareamonitor_s60_p.h b/src/location/qgeoareamonitor_s60_p.h
index 68919523e9..1f29a962fb 100644
--- a/src/location/qgeoareamonitor_s60_p.h
+++ b/src/location/qgeoareamonitor_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeocoordinate.cpp b/src/location/qgeocoordinate.cpp
index d3a0bb2d00..d428a96871 100644
--- a/src/location/qgeocoordinate.cpp
+++ b/src/location/qgeocoordinate.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeocoordinate.h b/src/location/qgeocoordinate.h
index 9a4902a0b8..97764a38ba 100644
--- a/src/location/qgeocoordinate.h
+++ b/src/location/qgeocoordinate.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoinfothread_wince.cpp b/src/location/qgeoinfothread_wince.cpp
index f27b376c38..84bf3ef225 100644
--- a/src/location/qgeoinfothread_wince.cpp
+++ b/src/location/qgeoinfothread_wince.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeoinfothread_wince_p.h b/src/location/qgeoinfothread_wince_p.h
index 2d802d1cf4..d9f629019a 100644
--- a/src/location/qgeoinfothread_wince_p.h
+++ b/src/location/qgeoinfothread_wince_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfo.cpp b/src/location/qgeopositioninfo.cpp
index c8ed15aacb..b4c262a1e0 100644
--- a/src/location/qgeopositioninfo.cpp
+++ b/src/location/qgeopositioninfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfo.h b/src/location/qgeopositioninfo.h
index 52cf78d241..79ef9ad127 100644
--- a/src/location/qgeopositioninfo.h
+++ b/src/location/qgeopositioninfo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource.cpp b/src/location/qgeopositioninfosource.cpp
index 20b61bfcdf..b59038c99d 100644
--- a/src/location/qgeopositioninfosource.cpp
+++ b/src/location/qgeopositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource.h b/src/location/qgeopositioninfosource.h
index 359302d1ce..a3e447deb6 100644
--- a/src/location/qgeopositioninfosource.h
+++ b/src/location/qgeopositioninfosource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_maemo.cpp b/src/location/qgeopositioninfosource_maemo.cpp
index dd190b70e6..7f94d360ff 100644
--- a/src/location/qgeopositioninfosource_maemo.cpp
+++ b/src/location/qgeopositioninfosource_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_maemo5.cpp b/src/location/qgeopositioninfosource_maemo5.cpp
index 001fcf59ae..20a93dbe2d 100644
--- a/src/location/qgeopositioninfosource_maemo5.cpp
+++ b/src/location/qgeopositioninfosource_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_maemo5_p.h b/src/location/qgeopositioninfosource_maemo5_p.h
index 6ac6584072..dc299813bc 100644
--- a/src/location/qgeopositioninfosource_maemo5_p.h
+++ b/src/location/qgeopositioninfosource_maemo5_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_maemo_p.h b/src/location/qgeopositioninfosource_maemo_p.h
index 99fcacc851..b583321081 100644
--- a/src/location/qgeopositioninfosource_maemo_p.h
+++ b/src/location/qgeopositioninfosource_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_s60.cpp b/src/location/qgeopositioninfosource_s60.cpp
index 92ce979d98..a2b0ab4e7a 100644
--- a/src/location/qgeopositioninfosource_s60.cpp
+++ b/src/location/qgeopositioninfosource_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_s60_p.h b/src/location/qgeopositioninfosource_s60_p.h
index a6fab202cc..2207472239 100644
--- a/src/location/qgeopositioninfosource_s60_p.h
+++ b/src/location/qgeopositioninfosource_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_wince.cpp b/src/location/qgeopositioninfosource_wince.cpp
index 98cfd5ae24..19451e60a5 100644
--- a/src/location/qgeopositioninfosource_wince.cpp
+++ b/src/location/qgeopositioninfosource_wince.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeopositioninfosource_wince_p.h b/src/location/qgeopositioninfosource_wince_p.h
index 0f70bcbf4f..562eff6a52 100644
--- a/src/location/qgeopositioninfosource_wince_p.h
+++ b/src/location/qgeopositioninfosource_wince_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfo.cpp b/src/location/qgeosatelliteinfo.cpp
index 08233ac7e8..eb00aaf079 100644
--- a/src/location/qgeosatelliteinfo.cpp
+++ b/src/location/qgeosatelliteinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfo.h b/src/location/qgeosatelliteinfo.h
index b925731760..bce8dfb1d8 100644
--- a/src/location/qgeosatelliteinfo.h
+++ b/src/location/qgeosatelliteinfo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource.cpp b/src/location/qgeosatelliteinfosource.cpp
index 376e6c0ab8..3e8fe511d1 100644
--- a/src/location/qgeosatelliteinfosource.cpp
+++ b/src/location/qgeosatelliteinfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource.h b/src/location/qgeosatelliteinfosource.h
index c51f29c941..cdd16621b8 100644
--- a/src/location/qgeosatelliteinfosource.h
+++ b/src/location/qgeosatelliteinfosource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_maemo.cpp b/src/location/qgeosatelliteinfosource_maemo.cpp
index 3a848fb059..240650bedf 100644
--- a/src/location/qgeosatelliteinfosource_maemo.cpp
+++ b/src/location/qgeosatelliteinfosource_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_maemo5.cpp b/src/location/qgeosatelliteinfosource_maemo5.cpp
index 7860e9f0b1..fc76c922ad 100644
--- a/src/location/qgeosatelliteinfosource_maemo5.cpp
+++ b/src/location/qgeosatelliteinfosource_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_maemo5_p.h b/src/location/qgeosatelliteinfosource_maemo5_p.h
index 18b2889ef0..1eb00aac4c 100644
--- a/src/location/qgeosatelliteinfosource_maemo5_p.h
+++ b/src/location/qgeosatelliteinfosource_maemo5_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_maemo_p.h b/src/location/qgeosatelliteinfosource_maemo_p.h
index 3b0bdb81d9..5b600cd172 100644
--- a/src/location/qgeosatelliteinfosource_maemo_p.h
+++ b/src/location/qgeosatelliteinfosource_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_s60.cpp b/src/location/qgeosatelliteinfosource_s60.cpp
index 6a1c37e9f5..234784295f 100644
--- a/src/location/qgeosatelliteinfosource_s60.cpp
+++ b/src/location/qgeosatelliteinfosource_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_s60_p.h b/src/location/qgeosatelliteinfosource_s60_p.h
index b168d1fc2f..1814b6da5e 100644
--- a/src/location/qgeosatelliteinfosource_s60_p.h
+++ b/src/location/qgeosatelliteinfosource_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_wince.cpp b/src/location/qgeosatelliteinfosource_wince.cpp
index e143598611..5b5ae48c09 100644
--- a/src/location/qgeosatelliteinfosource_wince.cpp
+++ b/src/location/qgeosatelliteinfosource_wince.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qgeosatelliteinfosource_wince_p.h b/src/location/qgeosatelliteinfosource_wince_p.h
index 166445533a..33470c057f 100644
--- a/src/location/qgeosatelliteinfosource_wince_p.h
+++ b/src/location/qgeosatelliteinfosource_wince_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qlocationutils.cpp b/src/location/qlocationutils.cpp
index 69f086bb94..8b9bb91249 100644
--- a/src/location/qlocationutils.cpp
+++ b/src/location/qlocationutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qlocationutils_p.h b/src/location/qlocationutils_p.h
index f705afc9cf..b701b9b3af 100644
--- a/src/location/qlocationutils_p.h
+++ b/src/location/qlocationutils_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendao_s60.cpp b/src/location/qmlbackendao_s60.cpp
index fefa4ae812..1f29b61d30 100644
--- a/src/location/qmlbackendao_s60.cpp
+++ b/src/location/qmlbackendao_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendao_s60_p.h b/src/location/qmlbackendao_s60_p.h
index a07eb1ada4..2556f3041b 100644
--- a/src/location/qmlbackendao_s60_p.h
+++ b/src/location/qmlbackendao_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendmonitorao_s60.cpp b/src/location/qmlbackendmonitorao_s60.cpp
index 89f0d544ce..f578b9c1be 100644
--- a/src/location/qmlbackendmonitorao_s60.cpp
+++ b/src/location/qmlbackendmonitorao_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendmonitorao_s60_p.h b/src/location/qmlbackendmonitorao_s60_p.h
index e0477216e2..17269123f2 100644
--- a/src/location/qmlbackendmonitorao_s60_p.h
+++ b/src/location/qmlbackendmonitorao_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendmonitorcreatetriggerao_s60.cpp b/src/location/qmlbackendmonitorcreatetriggerao_s60.cpp
index 802dfc0703..9a6514fff8 100644
--- a/src/location/qmlbackendmonitorcreatetriggerao_s60.cpp
+++ b/src/location/qmlbackendmonitorcreatetriggerao_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendmonitorcreatetriggerao_s60_p.h b/src/location/qmlbackendmonitorcreatetriggerao_s60_p.h
index 8010cdb650..862dd7302a 100644
--- a/src/location/qmlbackendmonitorcreatetriggerao_s60_p.h
+++ b/src/location/qmlbackendmonitorcreatetriggerao_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,6 @@
#define QMLBACKENDMONITORCREATETRIGGER_H_
#include "qmlbackendmonitorao_s60_p.h"
-#include "qgeoareamonitor_s60_p.h"
#include "qmlbackendmonitorinfo_s60_p.h"
#include <lbtsessiontrigger.h>
diff --git a/src/location/qmlbackendmonitorinfo_s60.cpp b/src/location/qmlbackendmonitorinfo_s60.cpp
index f9fc4fafaa..ede9408c77 100644
--- a/src/location/qmlbackendmonitorinfo_s60.cpp
+++ b/src/location/qmlbackendmonitorinfo_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendmonitorinfo_s60_p.h b/src/location/qmlbackendmonitorinfo_s60_p.h
index 15bc06c907..f335c50d32 100644
--- a/src/location/qmlbackendmonitorinfo_s60_p.h
+++ b/src/location/qmlbackendmonitorinfo_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendtriggerchangeao_s60.cpp b/src/location/qmlbackendtriggerchangeao_s60.cpp
index 821d1c4d1f..2523cb7df4 100644
--- a/src/location/qmlbackendtriggerchangeao_s60.cpp
+++ b/src/location/qmlbackendtriggerchangeao_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qmlbackendtriggerchangeao_s60_p.h b/src/location/qmlbackendtriggerchangeao_s60_p.h
index f578f47d96..5c60344c73 100644
--- a/src/location/qmlbackendtriggerchangeao_s60_p.h
+++ b/src/location/qmlbackendtriggerchangeao_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -48,13 +48,11 @@
#include <lbtsessiontrigger.h>
#include "qgeoareamonitor.h"
-#include "qgeoareamonitor_s60_p.h"
#include <lbt.h>
QTM_BEGIN_NAMESPACE
-class QGeoAreaMonitorS60;
class QMLBackendTriggerChangeAO : public CActive
{
public :
diff --git a/src/location/qnmeapositioninfosource.cpp b/src/location/qnmeapositioninfosource.cpp
index 4dbf2b3bff..30b714b176 100644
--- a/src/location/qnmeapositioninfosource.cpp
+++ b/src/location/qnmeapositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qnmeapositioninfosource.h b/src/location/qnmeapositioninfosource.h
index 25fef129e6..bad84719d9 100644
--- a/src/location/qnmeapositioninfosource.h
+++ b/src/location/qnmeapositioninfosource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/location/qnmeapositioninfosource_p.h b/src/location/qnmeapositioninfosource_p.h
index 6efd7a568b..f69ff868d1 100644
--- a/src/location/qnmeapositioninfosource_p.h
+++ b/src/location/qnmeapositioninfosource_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/addresshelper.cpp b/src/messaging/addresshelper.cpp
index b78d35c2e7..dc689bbc75 100644
--- a/src/messaging/addresshelper.cpp
+++ b/src/messaging/addresshelper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/addresshelper_p.h b/src/messaging/addresshelper_p.h
index 9ce341c4cb..a6b5190104 100644
--- a/src/messaging/addresshelper_p.h
+++ b/src/messaging/addresshelper_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/eventloggerengine_maemo.cpp b/src/messaging/eventloggerengine_maemo.cpp
index a60f42be0f..9254d2bbb7 100644
--- a/src/messaging/eventloggerengine_maemo.cpp
+++ b/src/messaging/eventloggerengine_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -88,7 +88,7 @@ void EventLoggerEngine::newEvent(int event_id,
{
Q_UNUSED(local_uid); Q_UNUSED(remote_uid);Q_UNUSED(remote_ebook_uid);
Q_UNUSED(group_uid);Q_UNUSED(service);
- QString eventIds=QString::number(event_id);
+ QString eventIds=QString("el")+QString::number(event_id);
QMessageId id(eventIds);
@@ -145,17 +145,42 @@ QMessage EventLoggerEngine::eventToMessage(RTComElEvent & ev)
message.setTo(messageAddresslist);
message.setBody(QString(ev.fld_free_text));
QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
- privateMessage->_id = QMessageId(QString::number(ev.fld_id));
+ privateMessage->_id = QMessageId(QString("el")+QString::number(ev.fld_id));
privateMessage->_modified = false;
// qDebug() << "id:" << message.id().toString() << "From:" << message.from().addressee() << "Text:" << message.textContent();
return message;
}
+void EventLoggerEngine::addEvent(QMessage &message)
+{
+ qDebug() << "EventLoggerEngine::addEvent()\n";
+ RTComElEvent *ev = rtcom_el_event_new();
+ if (message.type()==QMessage::Sms) {
+ RTCOM_EL_EVENT_SET_FIELD(ev,service,(gchar *)"RTCOM_EL_SERVICE_SMS");
+ }
+ else if (message.type()==QMessage::InstantMessage) {
+ RTCOM_EL_EVENT_SET_FIELD(ev,service,(gchar *)"RTCOM_EL_SERVICE_CHAT");
+ RTCOM_EL_EVENT_SET_FIELD(ev,remote_uid,(gchar *)message.from().addressee().toStdString().c_str());
+ RTCOM_EL_EVENT_SET_FIELD(ev,group_uid,(gchar *)message.from().addressee().toStdString().c_str());
+ }
+ else return; // Invalid messge type
+
+ RTCOM_EL_EVENT_SET_FIELD(ev,event_type,(gchar *)"RTCOM_EL_EVENTTYPE_SMS_INBOUND");
+ RTCOM_EL_EVENT_SET_FIELD(ev,local_uid,(gchar *)"ring/tel/ring");
+ RTCOM_EL_EVENT_SET_FIELD(ev,local_name,(gchar *)"<SelfHandle>");
+ RTCOM_EL_EVENT_SET_FIELD(ev,remote_uid,(gchar *)message.from().addressee().toStdString().c_str());
+ RTCOM_EL_EVENT_SET_FIELD(ev,group_uid,(gchar *)message.from().addressee().toStdString().c_str());
+ RTCOM_EL_EVENT_SET_FIELD(ev,start_time,time(NULL));
+ RTCOM_EL_EVENT_SET_FIELD(ev,remote_ebook_uid,(gchar *)"1");
+ RTCOM_EL_EVENT_SET_FIELD(ev,free_text,(gchar *)message.textContent().toStdString().c_str());
+ rtcom_el_add_event(el,ev,NULL);
+ rtcom_el_event_free(ev);
+}
bool EventLoggerEngine::deleteMessage(const QMessageId& id)
{
- int status=rtcom_el_delete_event(el,id.toString().toInt(),NULL);
+ int status=rtcom_el_delete_event(el,id.toString().remove("el").toInt(),NULL);
return status==0;
}
@@ -169,7 +194,7 @@ QMessage EventLoggerEngine::message(const QMessageId& id)
RTComElEvent ev;
bzero(&ev,sizeof(ev));
RTComElQuery *q=rtcom_el_query_new(el);
- rtcom_el_query_prepare(q,"id",id.toString().toInt(),RTCOM_EL_OP_EQUAL,NULL);
+ rtcom_el_query_prepare(q,"id",id.toString().remove("el").toInt(),RTCOM_EL_OP_EQUAL,NULL);
RTComElIter *iter=rtcom_el_get_events(el,q);
g_object_unref(q);
if(iter && rtcom_el_iter_first(iter))
@@ -269,7 +294,7 @@ void EventLoggerEngine::notification(int eventId, QString service,QMessageStoreP
}
}
else if (!messageRetrieved) {
- msg = this->message(QMessageId(QString::number(eventId)));
+ msg = this->message(QMessageId(QString("el")+QString::number(eventId)));
if (msg.type() == QMessage::NoType) {
matchingFilters.clear();
break;
@@ -285,7 +310,7 @@ void EventLoggerEngine::notification(int eventId, QString service,QMessageStoreP
if (matchingFilters.count() > 0) {
ipMessageStorePrivate->messageNotification(notificationType,
- QMessageId(QString::number(eventId)),
+ QMessageId(QString("el")+QString::number(eventId)),
matchingFilters);
}
diff --git a/src/messaging/eventloggerengine_maemo_p.h b/src/messaging/eventloggerengine_maemo_p.h
index 686c9e9aa6..3d1c693a02 100644
--- a/src/messaging/eventloggerengine_maemo_p.h
+++ b/src/messaging/eventloggerengine_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -123,9 +123,9 @@ public:
bool filterMessages(const QMessageFilter &filter, const QMessageSortOrder& sortOrder,
QString body, QMessageDataComparator::MatchFlags matchFlags);
+ void addEvent(QMessage &message);
QMessageIdList m_ids;
-
signals:
void messagesFound(const QMessageIdList &,bool,bool);
void stateChanged(QMessageService::State);
diff --git a/src/messaging/maemohelpers.cpp b/src/messaging/maemohelpers.cpp
index 86ad8b260e..3e3c798ee0 100644
--- a/src/messaging/maemohelpers.cpp
+++ b/src/messaging/maemohelpers.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/maemohelpers_p.h b/src/messaging/maemohelpers_p.h
index 80f20cc0d7..57aa57afc7 100644
--- a/src/messaging/maemohelpers_p.h
+++ b/src/messaging/maemohelpers_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/messaging.pro b/src/messaging/messaging.pro
index aeee2784d2..17ba2dac44 100644
--- a/src/messaging/messaging.pro
+++ b/src/messaging/messaging.pro
@@ -138,6 +138,13 @@ symbian|win32|maemo6|maemo5|mac {
}
symbian {
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+ exists($${EPOCROOT}epoc32\include\platform\app\emailinterfacefactory.h) {
+ CONFIG += FREESTYLEMAIL
+ DEFINES += FREESTYLEMAILUSED
+ }
+ exists($${EPOCROOT}epoc32\include\platform\app\mmailboxcontentobserver.h) {
+ DEFINES += FREESTYLEMAILBOXOBSERVERUSED
+ }
HEADERS -= qmessagestore_p.h \
qmessagecontentcontainer_p.h \
qmessage_p.h
@@ -145,8 +152,14 @@ symbian|win32|maemo6|maemo5|mac {
qmessagestore_symbian_p.h \
qmessageservice_symbian_p.h \
qmessagecontentcontainer_symbian_p.h \
- qmessage_symbian_p.h
- SOURCES += qmtmengine_symbian.cpp \
+ qmessage_symbian_p.h \
+ maemohelpers_p.h
+
+ contains(CONFIG, FREESTYLEMAIL) {
+ HEADERS += qfsengine_symbian_p.h
+ }
+
+ SOURCES += qmtmengine_symbian.cpp \
qmessageid_symbian.cpp \
qmessagecontentcontainerid_symbian.cpp \
qmessagefolderid_symbian.cpp \
@@ -162,8 +175,13 @@ symbian|win32|maemo6|maemo5|mac {
qmessagefilter_symbian.cpp \
qmessagesortorder_symbian.cpp \
qmessagestore_symbian.cpp \
- qmessageservice_symbian.cpp
- LIBS += -lsendas2 \
+ qmessageservice_symbian.cpp \
+ maemohelpers.cpp
+
+ contains(CONFIG, FREESTYLEMAIL) {
+ SOURCES += qfsengine_symbian.cpp
+ }
+ LIBS += -lsendas2 \
-lmsgs \
-letext \
-lefsrv \
@@ -178,7 +196,8 @@ symbian|win32|maemo6|maemo5|mac {
-leikcore \
-lcone \
-lapgrfx \
- -lapmime
+ -lapmime \
+ -lecom
TARGET.CAPABILITY = ALL \
-TCB
TARGET.UID3 = 0x2002AC82
diff --git a/src/messaging/messagingutil.cpp b/src/messaging/messagingutil.cpp
index 415838434c..fce5798b1a 100644
--- a/src/messaging/messagingutil.cpp
+++ b/src/messaging/messagingutil.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/messagingutil_p.h b/src/messaging/messagingutil_p.h
index 0ffea84124..337706bfcb 100644
--- a/src/messaging/messagingutil_p.h
+++ b/src/messaging/messagingutil_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/modestengine_maemo.cpp b/src/messaging/modestengine_maemo.cpp
index 2bea806c07..2bcdd88be2 100644
--- a/src/messaging/modestengine_maemo.cpp
+++ b/src/messaging/modestengine_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -196,6 +196,40 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, QtMobility::Messa
return argument;
}
+QDBusArgument &operator<<(QDBusArgument &argument, const QtMobility::MessagingModestFolder &folder)
+{
+ argument.beginStructure();
+ argument << folder.parentAccountId;
+ argument << folder.parentFolderId;
+ argument << folder.modestId;
+ argument << static_cast<uint>(folder.type);
+ argument << folder.localizedName;
+ argument.endStructure();
+ return argument;
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &argument, QtMobility::MessagingModestFolder &folder)
+{
+ argument.beginStructure();
+
+ argument >> folder.parentAccountId;
+ QByteArray str = folder.parentAccountId.toUtf8();
+ gchar* escaped_string = gconf_escape_key(str.data(), str.length());
+ folder.parentAccountId = QString::fromUtf8(escaped_string);
+ g_free(escaped_string);
+
+ argument >> folder.parentFolderId;
+ argument >> folder.modestId;
+
+ uint type;
+ argument >> type;
+ folder.type = static_cast<QtMobility::MessagingModestFolderType>(type);
+
+ argument >> folder.localizedName;
+ argument.endStructure();
+ return argument;
+}
+
QTM_BEGIN_NAMESPACE
/* configuration key definitions for modest */
@@ -296,6 +330,8 @@ ModestEngine::ModestEngine()
qRegisterMetaType<MessagingModestMimePart>();
+ qRegisterMetaType<MessagingModestFolder>();
+
connect(&m_MailFoldersWatcher, SIGNAL(fileChanged(int, QString, uint)),
this, SLOT(fileChangedSlot(int, QString, uint)));
@@ -312,6 +348,20 @@ ModestEngine::ModestEngine()
connect(pendingCallWatcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
this, SLOT(pendingGetUnreadMessagesFinishedSlot(QDBusPendingCallWatcher*)));
+ QList<MessagingModestFolder> modestFolders;
+ foldersFromModest(modestFolders);
+ if (modestFolders.count() > 0) {
+ for (int i=0; i < modestFolders.count(); i++) {
+ if (modestFolders[i].type == MessagingModestFolderTypeInbox && modestFolders[i].parentAccountId != "local_folders") {
+ QMessageAccountId accountId = accountIdFromModestAccountId(modestFolders[i].parentAccountId);
+ if (accountExists(accountId)) {
+ QString id = accountId.toString()+"&"+accountEmailProtocolAsString(accountId)+"&"+modestFolders[i].modestId;
+ startObservingModestFolder(id);
+ }
+ }
+ }
+ }
+
qWarning() << "ModestEngine::ModestEngine Initialized successfully";
}
@@ -319,6 +369,12 @@ ModestEngine::~ModestEngine()
{
g_object_unref(m_gconfclient);
m_gconfclient=NULL;
+
+ if (m_observed_folders.count()) {
+ for (int i = m_observed_folders.count()-1; i >= 0; i--) {
+ stopObservingModestFolder(m_observed_folders[i]);
+ }
+ }
}
ModestEngine* ModestEngine::instance()
@@ -476,8 +532,10 @@ void ModestEngine::updateEmailAccounts() const
iAccounts.insert(accountId, account);
// Check if newly added account is default account
- if (!strncmp(default_account_id, unescaped_account_id, strlen(default_account_id))) {
- iDefaultEmailAccountId = accountId;
+ if (default_account_id) {
+ if (!strncmp(default_account_id, unescaped_account_id, strlen(default_account_id))) {
+ iDefaultEmailAccountId = accountId;
+ }
}
}
@@ -681,6 +739,18 @@ ModestEngine::EmailProtocol ModestEngine::accountEmailProtocol(QMessageAccountId
return protocol;
}
+bool ModestEngine::accountExists(const QMessageAccountId& accountId) const
+{
+ bool retVal = false;
+
+ QString modestAccountId = escapeString(modestAccountIdFromAccountId(accountId));
+ gchar* account_key = g_strconcat(MODESTENGINE_ACCOUNT_NAMESPACE, "/", modestAccountId.toUtf8().data(), NULL);
+ retVal = gconf_client_dir_exists(m_gconfclient, account_key, NULL);
+ g_free(account_key);
+
+ return retVal;
+}
+
QString ModestEngine::accountEmailProtocolAsString(const QMessageAccountId& accountId) const
{
QString protocol;
@@ -750,6 +820,25 @@ QString ModestEngine::accountHostname(QMessageAccountId& accountId) const
return host;
}
+void ModestEngine::foldersFromModest(QList<MessagingModestFolder>& folders) const
+{
+ if (!m_QtmPluginDBusInterface->isValid() || iAccounts.isEmpty()) {
+ return;
+ }
+
+ QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCall("GetFolders");
+ QDBusPendingCallWatcher pendingCallWatcher(pendingCall);
+ pendingCallWatcher.waitForFinished();
+
+ QDBusMessage msg = pendingCallWatcher.reply();
+
+ if (msg.type() == QDBusMessage::ReplyMessage) {
+ QVariant variant = msg.arguments()[0];
+ QDBusArgument argument = variant.value<QDBusArgument>();
+ argument >> folders;
+ }
+}
+
QMessageFolderIdList ModestEngine::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder,
uint limit, uint offset, bool &isFiltered, bool &isSorted) const
{
@@ -769,26 +858,99 @@ QMessageFolderIdList ModestEngine::queryFolders(const QMessageFolderFilter &filt
return folderIds;
}
- QFileInfoList localFolders = this->localFolders();
- QString localRootFolder = this->localRootFolder();
+ m_folderCache.clear();
- foreach (QMessageAccount value, iAccounts) {
- QMessageAccountId accountId = value.id();
- QString rootFolder = accountRootFolder(accountId);
- QFileInfoList folders = this->accountFolders(accountId);
+ QList<MessagingModestFolder> modestFolders;
+ foldersFromModest(modestFolders);
- for (int i=0; i < folders.count(); i++) {
- QString filePath = folders[i].absoluteFilePath();
- QString id = accountId.toString()+"&"+accountEmailProtocolAsString(accountId)+"&"+filePath.right(filePath.size()-rootFolder.size()-1);
- id = id.remove("/subfolders");
- folderIds.append(QMessageFolderId(id));
+ if (modestFolders.count() > 0) {
+ foreach (QMessageAccount value, iAccounts) {
+ QMessageAccountId accountId = value.id();
+ // Add folder to cache
+ QString modestAccountId = modestAccountIdFromAccountId(accountId);
+ for (int j=0; j < modestFolders.count(); j++) {
+ if (modestFolders[j].parentAccountId == modestAccountId) {
+ MessagingModestFolder folder = modestFolders[j];
+ QString id = accountId.toString()+"&"+accountEmailProtocolAsString(accountId)+"&"+folder.modestId;
+ folder.id = id;
+ m_folderCache.insert(id, folder);
+
+ folderIds.append(QMessageFolderId(id));
+ }
+ }
+ for (int j=0; j < modestFolders.count(); j++) {
+ if (modestFolders[j].parentAccountId == "local_folders") {
+ MessagingModestFolder folder = modestFolders[j];
+ QString id = accountId.toString()+"&"+"maildir"+"&"+folder.modestId;
+ folder.id = id;
+ m_folderCache.insert(id, folder);
+
+ folderIds.append(QMessageFolderId(id));
+ }
+ }
}
+ } else {
+ QFileInfoList localFolders = this->localFolders();
+ QString localRootFolder = this->localRootFolder();
+
+ foreach (QMessageAccount value, iAccounts) {
+ QMessageAccountId accountId = value.id();
+ QString rootFolder = accountRootFolder(accountId);
+ QFileInfoList folders = this->accountFolders(accountId);
+
+ for (int i=0; i < folders.count(); i++) {
+ QString filePath = folders[i].absoluteFilePath();
+ QString modestId = filePath.right(filePath.size()-rootFolder.size()-1);
+ modestId = modestId.remove("/subfolders");
+ QString id = accountId.toString()+"&"+accountEmailProtocolAsString(accountId)+"&"+modestId;
+ folderIds.append(QMessageFolderId(id));
+
+ // Add folder to cache
+ MessagingModestFolder folder;
+ folder.id = id;
+ folder.modestId = modestId;
+ if (modestId.lastIndexOf('/') == -1) {
+ // Folder does not have subfolders
+ folder.name = modestId;
+ if ((accountEmailProtocolAsString(accountId) == "pop") && (folder.name == "cache")) {
+ folder.name = "Inbox";
+ }
+ } else {
+ // Folder has subfolders
+ folder.name = modestId.right(modestId.length()-modestId.lastIndexOf('/')-1);
+ folder.parentFolderId = modestId.left(modestId.lastIndexOf('/'));
+ }
+ folder.parentAccountId = modestAccountIdFromAccountId(accountId);
+ folder.type = MessagingModestFolderTypeUnknown;
+ m_folderCache.insert(id, folder);
+ }
- // Each account sees local folders as account folders
- for (int i=0; i < localFolders.count(); i++) {
- QString filePath = localFolders[i].absoluteFilePath();
- QString id = accountId.toString()+"&"+"maildir"+"&"+filePath.right(filePath.size()-localRootFolder.size()-1);
- folderIds.append(QMessageFolderId(id));
+ // Each account sees local folders as account folders
+ for (int i=0; i < localFolders.count(); i++) {
+ QString filePath = localFolders[i].absoluteFilePath();
+ QString modestId = filePath.right(filePath.size()-localRootFolder.size()-1);
+ QString id = accountId.toString()+"&"+"maildir"+"&"+modestId;
+ folderIds.append(QMessageFolderId(id));
+
+ // Add folder to cache
+ MessagingModestFolder folder;
+ folder.id = id;
+ folder.modestId = modestId;
+ if (modestId.lastIndexOf('/') == -1) {
+ // Folder does not have subfolders
+ folder.name = modestId;
+ if ((accountEmailProtocolAsString(accountId) == "pop") && (folder.name == "cache")) {
+ folder.name = "Inbox";
+ }
+ } else {
+ // Folder has subfolders
+ folder.name = modestId.right(modestId.length()-modestId.lastIndexOf('/')-1);
+ folder.parentFolderId = modestId.left(modestId.lastIndexOf('/'));
+ }
+ folder.parentAccountId = "local_folders";
+ folder.type = MessagingModestFolderTypeUnknown;
+ m_folderCache.insert(id, folder);
+ }
}
}
@@ -806,26 +968,136 @@ int ModestEngine::countFolders(const QMessageFolderFilter &filter) const
QMessageFolder ModestEngine::folder(const QMessageFolderId &id) const
{
+ QMessageFolder folder;
+
QString idString = id.toString();
- int endOfAccountId = idString.indexOf('&');
- int endOfProtocolString = idString.lastIndexOf('&');
- QString accountId = idString.left(endOfAccountId);
- QString protocolString = idString.mid(endOfAccountId+1, endOfProtocolString-endOfAccountId-1);
- QString folder = idString.right(idString.length()-idString.lastIndexOf('&')-1);
- QMessageFolderId parentId;
- QString name;
- if (folder.lastIndexOf('/') == -1) {
- // Folder does not have subfolders
- name = folder;
- if ((protocolString == "pop") && (name == "cache")) {
- name = "Inbox";
+ if (m_folderCache.contains(idString)) {
+ MessagingModestFolder modestFolder = m_folderCache.value(idString);
+ int endOfAccountId = idString.indexOf('&');
+ QString accountId = idString.left(endOfAccountId);
+ QString folderPath = idString.right(idString.length()-idString.lastIndexOf('&')-1);
+ QMessageFolderId parentId;
+ QString name;
+ if (folderPath.lastIndexOf('/') != -1) {
+ // Folder has subfolders
+ parentId = idString.left(idString.lastIndexOf('/'));
+ }
+
+ if (modestFolder.localizedName.isEmpty()) {
+ folder = QMessageFolderPrivate::from(id,
+ QMessageAccountId(accountId),
+ parentId,
+ modestFolder.name,
+ folderPath);
+ } else {
+ folder = QMessageFolderPrivate::from(id,
+ QMessageAccountId(accountId),
+ parentId,
+ modestFolder.localizedName,
+ folderPath);
+ }
+ }
+
+ return folder;
+}
+
+bool ModestEngine::startObservingModestFolder(const QMessageFolderId& folderId) const
+{
+ if (!m_QtmPluginDBusInterface->isValid() || iAccounts.isEmpty()) {
+ return false;
+ }
+
+ if (!m_observed_folders.contains(folderId)) {
+ QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCall("AddFolderObserver",
+ QVariant::fromValue(modestAccountIdFromFolderId(folderId)),
+ QVariant::fromValue(modestFolderIdFromFolderId(folderId)));
+ QDBusPendingCallWatcher pendingCallWatcher(pendingCall);
+ pendingCallWatcher.waitForFinished();
+
+ QDBusMessage msg = pendingCallWatcher.reply();
+
+ if (msg.type() == QDBusMessage::ReplyMessage) {
+ if (m_observed_folders.count() == 0) {
+ m_QtmPluginDBusInterface->connection().connect(MODESTENGINE_QTM_PLUGIN_NAME,
+ MODESTENGINE_QTM_PLUGIN_PATH,
+ MODESTENGINE_QTM_PLUGIN_NAME,
+ "FolderContentsChanged",
+ (ModestEngine*)this,
+ SLOT(modestFolderContentsChangedSlot(QDBusMessage)));
+ }
+
+ m_observed_folders.append(folderId);
+
+ return true;
}
} else {
- // Folder has subfolders
- name = folder.right(folder.length()-folder.lastIndexOf('/')-1);
- parentId = idString.left(idString.lastIndexOf('/'));
+ return true;
}
- return QMessageFolderPrivate::from(id, QMessageAccountId(accountId), parentId, name, folder);
+
+ return false;
+}
+
+bool ModestEngine::stopObservingModestFolder(const QMessageFolderId& folderId) const
+{
+ if (!m_QtmPluginDBusInterface->isValid() || iAccounts.isEmpty()) {
+ return false;
+ }
+
+ if (m_observed_folders.contains(folderId)) {
+ QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCall("RemoveFolderObserver",
+ QVariant::fromValue(modestAccountIdFromFolderId(folderId)),
+ QVariant::fromValue(modestFolderIdFromFolderId(folderId)));
+ QDBusPendingCallWatcher pendingCallWatcher(pendingCall);
+ pendingCallWatcher.waitForFinished();
+
+ QDBusMessage msg = pendingCallWatcher.reply();
+
+ if (msg.type() == QDBusMessage::ReplyMessage) {
+ m_observed_folders.removeOne(folderId);
+
+ if (m_observed_folders.count() == 0) {
+ m_QtmPluginDBusInterface->connection().disconnect(MODESTENGINE_QTM_PLUGIN_NAME,
+ MODESTENGINE_QTM_PLUGIN_PATH,
+ MODESTENGINE_QTM_PLUGIN_NAME,
+ "FolderContentsChanged",
+ (ModestEngine*)this,
+ SLOT(modestFolderContentsChangedSlot(QDBusMessage)));
+ }
+
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void ModestEngine::modestFolderContentsChangedSlot(QDBusMessage msg)
+{
+ QList<QVariant> arguments = msg.arguments();
+
+ QString modestAccountId = arguments.takeFirst().toString();
+ QString modestFolderId = arguments.takeFirst().toString();
+ QMessageAccountId accountId = accountIdFromModestAccountId(modestAccountId);
+ QString protocol = accountEmailProtocolAsString(accountId);
+ if ((protocol == "pop") && (modestFolderId == "INBOX")) {
+ modestFolderId = "cache";
+ }
+ QString folderId = accountId.toString()+"&"+accountEmailProtocolAsString(accountId)+"&"+modestFolderId;
+
+ qlonglong change = arguments.takeFirst().toLongLong();
+ QVariant variant = arguments.takeFirst();
+ QList<QString> messageIds = variant.toStringList();
+ if (change == 4) { // Headers added
+ for (int i = 0; i < messageIds.count(); i++) {
+ QMessageId messageId = folderId+"/"+messageIds[i];
+ notification(messageId, ModestEngine::Added);
+ }
+ }/* else if (change == 8) { // Headers removed
+ for (int i = 0; i < messageIds.count(); i++) {
+ QMessageId messageId = folderId+"/"+messageIds[i];
+ notification(messageId, ModestEngine::Removed);
+ }
+ }*/
}
void ModestEngine::watchAllKnownEmailFolders()
@@ -881,6 +1153,10 @@ void ModestEngine::fileChangedSlot(int watchDescriptor, QString filePath, uint e
if (!fileName.endsWith("summary")) {
if (events & (IN_MOVED_TO | IN_CREATE)) {
if (events != (IN_MOVED_TO | IN_MOVED_FROM)) {
+ // Wait a moment to make sure that Modest has finished adding message
+ QEventLoop eventLoop;
+ QTimer::singleShot(100, &eventLoop, SLOT(quit()));
+ eventLoop.exec();
notification(messageIdFromModestMessageFilePath(filePath), ModestEngine::Added);
}
} else if (events & IN_DELETE) {
@@ -1120,11 +1396,16 @@ QMessage ModestEngine::messageFromModestMessage(const MessagingModestMessage& mo
case QtMobility::MessagingModestMessageLowPriority:
message.setPriority(QMessage::LowPriority);
break;
- case QtMobility::MessagingModestMessageSuspendedPriority:
- message.setPriority(QMessage::NormalPriority);
- break;
}
+ // Message MIME type
+ QString fullMimeType = modestMessage.mimeType;
+ int slashIndex = fullMimeType.indexOf('/');
+ QByteArray mimeType = fullMimeType.left(slashIndex).toAscii();
+ QByteArray mimeSubType = fullMimeType.mid(slashIndex+1).toAscii();
+ container->_type = mimeType.data();
+ container->_subType = mimeSubType.data();
+
// Standard Folder
QMessagePrivate::setStandardFolder(message,
standardFolderFromModestFolderId(modestMessage.folderId));
@@ -1154,7 +1435,7 @@ QMessage ModestEngine::messageFromModestMessage(const MessagingModestMessage& mo
QRegExp charsetPattern("charset=(\\S+)");
index = charsetPattern.indexIn(remainder);
if (index != -1) {
- charset = charsetPattern.cap(1).toLatin1();
+ charset = charsetPattern.cap(1).toLatin1().toUpper();
}
}
}
@@ -1163,55 +1444,58 @@ QMessage ModestEngine::messageFromModestMessage(const MessagingModestMessage& mo
charset = "UTF-8";
}
- QMessageContentContainerId existingBodyId(message.bodyId());
- if (existingBodyId.isValid()) {
- if (existingBodyId == QMessageContentContainerPrivate::bodyContentId()) {
- // The body content is in the message itself
- container->_containingMessageId = messageId.toString();
- container->_attachmentId = contentId;
- container->_name = fileName;
- container->_type = mainType;
- container->_subType = subType;
- container->_charset = charset;
- container->_size = 0;
- container->_available = true;
- } else {
- // The body content is in the first attachment
- QMessageContentContainerPrivate *attachmentContainer(QMessageContentContainerPrivate::implementation(*container->attachment(existingBodyId)));
- attachmentContainer->_containingMessageId = messageId.toString();
- attachmentContainer->_attachmentId = contentId;
- attachmentContainer->_name = fileName;
- attachmentContainer->_type = mainType;
- attachmentContainer->_subType = subType;
- attachmentContainer->_charset = charset;
- attachmentContainer->_size = 0;
- attachmentContainer->_available = true;
- }
- } else {
- if (container->_attachments.isEmpty()) {
- // Put the content directly into the message
- container->_containingMessageId = messageId.toString();
- container->_attachmentId = contentId;
- container->_name = fileName;
- container->_type = mainType;
- container->_subType = subType;
- container->_charset = charset;
- container->_size = 0;
- container->_available = true;
- privateMessage->_bodyId = QMessageContentContainerPrivate::bodyContentId();
+ // Accept only text type Body
+ if (mainType.toLower() == "text") {
+ QMessageContentContainerId existingBodyId(message.bodyId());
+ if (existingBodyId.isValid()) {
+ if (existingBodyId == QMessageContentContainerPrivate::bodyContentId()) {
+ // The body content is in the message itself
+ container->_containingMessageId = messageId.toString();
+ container->_attachmentId = contentId;
+ container->_name = fileName;
+ container->_type = mainType;
+ container->_subType = subType;
+ container->_charset = charset;
+ container->_size = 0;
+ container->_available = true;
+ } else {
+ // The body content is in the first attachment
+ QMessageContentContainerPrivate *attachmentContainer(QMessageContentContainerPrivate::implementation(*container->attachment(existingBodyId)));
+ attachmentContainer->_containingMessageId = messageId.toString();
+ attachmentContainer->_attachmentId = contentId;
+ attachmentContainer->_name = fileName;
+ attachmentContainer->_type = mainType;
+ attachmentContainer->_subType = subType;
+ attachmentContainer->_charset = charset;
+ attachmentContainer->_size = 0;
+ attachmentContainer->_available = true;
+ }
} else {
- // Add the body as the first attachment
- QMessageContentContainer newBody;
- QMessageContentContainerPrivate *attachmentContainer = QMessageContentContainerPrivate::implementation(newBody);
- attachmentContainer->_containingMessageId = messageId.toString();
- attachmentContainer->_attachmentId = contentId;
- attachmentContainer->_name = fileName;
- attachmentContainer->_type = mainType;
- attachmentContainer->_subType = subType;
- attachmentContainer->_charset = charset;
- attachmentContainer->_size = 0;
- attachmentContainer->_available = true;
- privateMessage->_bodyId = container->prependContent(newBody);
+ if (container->_attachments.isEmpty()) {
+ // Put the content directly into the message
+ container->_containingMessageId = messageId.toString();
+ container->_attachmentId = contentId;
+ container->_name = fileName;
+ container->_type = mainType;
+ container->_subType = subType;
+ container->_charset = charset;
+ container->_size = 0;
+ container->_available = true;
+ privateMessage->_bodyId = QMessageContentContainerPrivate::bodyContentId();
+ } else {
+ // Add the body as the first attachment
+ QMessageContentContainer newBody;
+ QMessageContentContainerPrivate *attachmentContainer = QMessageContentContainerPrivate::implementation(newBody);
+ attachmentContainer->_containingMessageId = messageId.toString();
+ attachmentContainer->_attachmentId = contentId;
+ attachmentContainer->_name = fileName;
+ attachmentContainer->_type = mainType;
+ attachmentContainer->_subType = subType;
+ attachmentContainer->_charset = charset;
+ attachmentContainer->_size = 0;
+ attachmentContainer->_available = true;
+ privateMessage->_bodyId = container->prependContent(newBody);
+ }
}
}
} else {
@@ -1289,13 +1573,10 @@ QMessage ModestEngine::messageFromModestMessage(const MessagingModestMessage& mo
privateMessage->_status = privateMessage->_status | QMessage::Read;
}
- // Message MIME type
- QString fullMimeType = modestMessage.mimeType;
- int slashIndex = fullMimeType.indexOf('/');
- QByteArray mimeType = fullMimeType.left(slashIndex).toAscii();
- QByteArray mimeSubType = fullMimeType.mid(slashIndex+1).toAscii();
- container->_type = mimeType.data();
- container->_subType = mimeSubType.data();
+ // Attachments Status
+ if (modestMessage.flags & MessagingModestMessageAttachments) {
+ privateMessage->_status = privateMessage->_status | QMessage::HasAttachments;
+ }
// Modest specific url
privateMessage->_url = modestMessage.url;
@@ -1375,16 +1656,18 @@ bool ModestEngine::addMessage(QMessage &message)
}
senderInfo["account-name"] = accountName;
- QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCall (
- "AddMessage",
- QVariant::fromValue (modestFolder),
- QVariant::fromValue (senderInfo),
- QVariant::fromValue (recipients),
- QVariant::fromValue (messageData),
- QVariant::fromValue (attachments),
- QVariant::fromValue (images),
- priority,
- QVariant::fromValue (headers));
+ QList<QVariant> arguments;
+ arguments << modestFolder;
+ arguments << QVariant::fromValue(senderInfo);
+ arguments << QVariant::fromValue(recipients);
+ arguments << QVariant::fromValue(messageData);
+ arguments << QVariant::fromValue(attachments);
+ arguments << QVariant::fromValue(images);
+ arguments << priority;
+ arguments << QVariant::fromValue(headers);
+
+ QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCallWithArgumentList("AddMessage",
+ arguments);
if (pendingCall.isError()) {
qWarning() << "DBus call failed! " << pendingCall.error();
@@ -1413,14 +1696,74 @@ bool ModestEngine::addMessage(QMessage &message)
}
privateMessage->_id = QMessageId(messageId);
+ // Use update functionality to set Priority & Read status
+ // <=> Modest Plugin can not set Priority & Read status
+ // immediately after message creation in add call
+ updateMessage(message);
+
return true;
}
bool ModestEngine::updateMessage(QMessage &message)
{
- Q_UNUSED(message) // TODO:
+ if (!m_QtmPluginDBusInterface->isValid() || iAccounts.isEmpty()) {
+ return false;
+ }
- return false;
+ if (!message.id().isValid()) {
+ return false;
+ }
+
+ QString modestAccountId = modestAccountIdFromMessageId(message.id());
+ QString modestFolderId = modestFolderIdFromMessageId(message.id());
+ QString modestMessageId = modestMessageIdFromMessageId(message.id());
+
+ QString modestFolder;
+ ModestStringMap senderInfo;
+ ModestStringMap recipients;
+ ModestStringMap messageData;
+ ModestStringMapList attachments;
+ ModestStringMapList images;
+ uint priority = 0;
+ ModestStringMap headers;
+
+ qDebug() << __PRETTY_FUNCTION__;
+
+ // Only read status & priority can be updated using Modest
+ if (message.status() & QMessage::Read) {
+ messageData["read"] = "";
+ }
+ priority = getModestPriority (message);
+
+ QList<QVariant> arguments;
+ arguments << QVariant::fromValue(modestAccountId);
+ arguments << QVariant::fromValue(modestFolderId);
+ arguments << QVariant::fromValue(modestMessageId);
+ arguments << QVariant::fromValue(senderInfo);
+ arguments << QVariant::fromValue(recipients);
+ arguments << QVariant::fromValue(messageData);
+ arguments << QVariant::fromValue(attachments);
+ arguments << QVariant::fromValue(images);
+ arguments << priority;
+ arguments << QVariant::fromValue(headers);
+
+ QDBusPendingCall pendingCall = m_QtmPluginDBusInterface->asyncCallWithArgumentList("UpdateMessage",
+ arguments);
+
+ if (pendingCall.isError()) {
+ qWarning() << "DBus call failed! " << pendingCall.error();
+ return false;
+ }
+
+ QDBusPendingCallWatcher pendingCallWatcher(pendingCall);
+ pendingCallWatcher.waitForFinished();
+ QDBusMessage msg = pendingCallWatcher.reply();
+ if (msg.type() == QDBusMessage::ErrorMessage) {
+ qWarning() << "Failed to update message via modest: " << msg.errorMessage();
+ return false;
+ }
+
+ return true;
}
bool ModestEngine::removeMessage(const QMessageId &id, QMessageManager::RemovalOption option)
@@ -2053,9 +2396,10 @@ void ModestEngine::searchMessagesHeadersReceivedSlot(QDBusMessage msg)
} else if (j.key() == "size") {
modestMessage.size = j.value().toLongLong();
} else if (j.key() == "flags") {
- modestMessage.flags = static_cast<MessagingModestMessageFlags>(j.value().toUInt());
- } else if (j.key() == "priority") {
- modestMessage.priority = static_cast<MessagingModestMessagePriority>(j.value().toUInt());
+ qlonglong flags = j.value().toUInt();
+ qlonglong priority = flags & MessagingModestMessageHasPriority;
+ modestMessage.priority = static_cast<MessagingModestMessagePriority>(priority);
+ modestMessage.flags = static_cast<MessagingModestMessageFlags>(flags);
}
}
@@ -2205,7 +2549,15 @@ void ModestEngine::folderUpdatedSlot(QDBusMessage msg)
void ModestEngine::pendingGetUnreadMessagesFinishedSlot(QDBusPendingCallWatcher* pendingCallWatcher)
{
+ if (pendingCallWatcher->isError()) {
+ return;
+ }
+
QDBusMessage msg = pendingCallWatcher->reply();
+ if (msg.arguments().count() == 0) {
+ return;
+ }
+
QVariant variant = msg.arguments().takeFirst();
QDBusArgument argument = variant.value<QDBusArgument>();
QList<ModestAccountsUnreadMessagesDBusStruct> accountsWithUnreadMessages;
@@ -2272,7 +2624,15 @@ void ModestEngine::searchNewMessages(const QString& searchString, const QString&
void ModestEngine::pendingSearchFinishedSlot(QDBusPendingCallWatcher* pendingCallWatcher)
{
+ if (pendingCallWatcher->isError()) {
+ return;
+ }
+
QDBusMessage msg = pendingCallWatcher->reply();
+ if (msg.arguments().count() == 0) {
+ return;
+ }
+
QVariant variant = msg.arguments().takeFirst();
QDBusArgument argument = variant.value<QDBusArgument>();
QList<ModestMessage> messages;
@@ -2369,6 +2729,112 @@ QByteArray ModestEngine::getMimePart (const QMessageId &id, const QString &attac
return result;
}
+bool ModestEngine::retrieveBody(QMessageService& messageService, const QMessageId &id)
+{
+ if (!id.isValid()) return false;
+
+ QMessage msg = message(id, true);
+ QMessageContentContainerId attachmentId = msg.bodyId();
+
+ //if (!attachmentId.isValid()) return false;
+
+ return retrieve(messageService, id, attachmentId, &msg);
+}
+
+bool ModestEngine::retrieve(QMessageService& messageService, const QMessageId &id,
+ const QMessageContentContainerId &attachmentId, QMessage *msg)
+{
+ QByteArray result;
+
+ if (!id.isValid()) return false;
+ //if (!attachmentId.isValid()) return false;
+
+ QString modestAccountId = modestAccountIdFromMessageId(id);
+ QString modestFolderId = modestFolderIdFromMessageId(id);
+ QString modestMessageId = modestMessageIdFromMessageId(id);
+ QString modestAttachmentId;
+ int opId = -1;
+
+ QMessage message;
+
+ if (msg != 0) {
+ message = *msg;
+ } else {
+ message = this->message(id, true);
+ }
+
+ QMessageContentContainer cont = message.find(attachmentId);
+ QMessageContentContainerPrivate *contPrivate = QMessageContentContainerPrivate::implementation(cont);
+
+ if (contPrivate != 0) {
+ modestAttachmentId = contPrivate->_attachmentId;
+ }
+
+ if (m_pending_downloads.count() == 0) {
+ m_QtmPluginDBusInterface->connection().connect(MODESTENGINE_QTM_PLUGIN_NAME,
+ MODESTENGINE_QTM_PLUGIN_PATH,
+ MODESTENGINE_QTM_PLUGIN_NAME,
+ "PartDownloadFinished",
+ (ModestEngine*)this,
+ SLOT(mimePartDownloadFinishedSlot(QDBusMessage)));
+ }
+
+ QDBusPendingReply<int> reply = m_QtmPluginDBusInterface->asyncCall("DownloadMimePart",
+ QVariant::fromValue(modestAccountId),
+ QVariant::fromValue(modestFolderId),
+ QVariant::fromValue(modestMessageId),
+ QVariant::fromValue(modestAttachmentId));
+
+ reply.waitForFinished();
+
+ if (reply.isError()) {
+ if (m_pending_downloads.count() == 0) {
+ m_QtmPluginDBusInterface->connection().disconnect(MODESTENGINE_QTM_PLUGIN_NAME,
+ MODESTENGINE_QTM_PLUGIN_PATH,
+ MODESTENGINE_QTM_PLUGIN_NAME,
+ "PartDownloadFinished",
+ (ModestEngine*)this,
+ SLOT(mimePartDownloadFinishedSlot(QDBusMessage)));
+ }
+ return false;
+ }
+
+ opId = reply.argumentAt<0>();
+
+ QMessageServicePrivate* privateService = QMessageServicePrivate::implementation(messageService);
+ m_pending_downloads.insert(opId, privateService);
+
+ return true;
+}
+
+void ModestEngine::mimePartDownloadFinishedSlot(QDBusMessage msg)
+{
+ QList<QVariant> arguments = msg.arguments();
+ int operationId = arguments.takeFirst().toInt();
+
+ if (m_pending_downloads.contains(operationId)) {
+ QMessageServicePrivate* privateService = m_pending_downloads.take(operationId);
+
+ privateService->_pendingRequestCount--;
+
+ bool success = arguments.takeFirst().toBool();
+ if (success) {
+ privateService->setFinished(true);
+ } else {
+ privateService->setFinished(false);
+ }
+
+ if (m_pending_downloads.count() == 0) {
+ m_QtmPluginDBusInterface->connection().disconnect(MODESTENGINE_QTM_PLUGIN_NAME,
+ MODESTENGINE_QTM_PLUGIN_PATH,
+ MODESTENGINE_QTM_PLUGIN_NAME,
+ "PartDownloadFinished",
+ (ModestEngine*)this,
+ SLOT(mimePartDownloadFinishedSlot(QDBusMessage)));
+ }
+ }
+}
+
void ModestEngine::notification(const QMessageId& messageId, NotificationType notificationType) const
{
QMessageId realMessageId = messageId;
@@ -3106,6 +3572,10 @@ ModestStringMap ModestEngine::getModestMessageData(QMessage &message)
}
}
+ if (message.status() & QMessage::Read) {
+ messageData["read"] = "";
+ }
+
return messageData;
}
diff --git a/src/messaging/modestengine_maemo_p.h b/src/messaging/modestengine_maemo_p.h
index 6a054455dc..ecc96c2149 100644
--- a/src/messaging/modestengine_maemo_p.h
+++ b/src/messaging/modestengine_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -120,6 +120,35 @@ struct ModestMessage
};
typedef enum {
+ MessagingModestFolderTypeUnknown,
+ MessagingModestFolderTypeNormal,
+ MessagingModestFolderTypeInbox,
+ MessagingModestFolderTypeOutbox,
+ MessagingModestFolderTypeTrash,
+ MessagingModestFolderTypeJunk,
+ MessagingModestFolderTypeSent,
+ MessagingModestFolderTypeRoot,
+ MessagingModestFolderTypeNotes,
+ MessagingModestFolderTypeDrafts,
+ MessagingModestFolderTypeContacts,
+ MessagingModestFolderTypeCalendar,
+ MessagingModestFolderTypeArchive,
+ MessagingModestFolderTypeMerge,
+ MessagingModestFolderTypeNum
+} MessagingModestFolderType;
+
+struct MessagingModestFolder
+{
+ QString id;
+ QString modestId;
+ QString parentAccountId;
+ QString parentFolderId;
+ MessagingModestFolderType type;
+ QString name;
+ QString localizedName;
+};
+
+typedef enum {
MessagingModestMessageNotDefined = 0,
MessagingModestMessageAnswered = 1<<0,
MessagingModestMessageDeleted = 1<<1,
@@ -135,10 +164,9 @@ typedef enum {
typedef enum {
MessagingModestMessagePriorityNotDefined = 0,
- MessagingModestMessageHighPriority = 1<<9|1<<10,
+ MessagingModestMessageHighPriority = 0<<9|1<<10,
MessagingModestMessageNormalPriority = 0<<9|0<<10,
- MessagingModestMessageLowPriority = 0<<9|1<<10,
- MessagingModestMessageSuspendedPriority = 1<<9|0<<10
+ MessagingModestMessageLowPriority = 1<<9|0<<10,
} MessagingModestMessagePriority;
struct MessagingModestMimePart
@@ -280,6 +308,9 @@ public:
void unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId);
QByteArray getMimePart (const QMessageId &id, const QString &attachmentId);
+ bool retrieveBody(QMessageService& messageService, const QMessageId &id);
+ bool retrieve(QMessageService& messageService, const QMessageId &messageId, const QMessageContentContainerId &id, QMessage *msg = 0);
+
void clearHeaderCache();
private:
@@ -289,6 +320,9 @@ private:
QFileInfoList accountFolders(QMessageAccountId& accountId) const;
QString localRootFolder() const;
QString accountRootFolder(QMessageAccountId& accountId) const;
+ void foldersFromModest(QList<MessagingModestFolder>& folders) const;
+ bool startObservingModestFolder(const QMessageFolderId& folderId) const;
+ bool stopObservingModestFolder(const QMessageFolderId& folderId) const;
EmailProtocol accountEmailProtocol(QMessageAccountId& accountId) const;
QString accountEmailProtocolAsString(const QMessageAccountId& accountId) const;
QString accountUsername(QMessageAccountId& accountId) const;
@@ -355,9 +389,12 @@ private:
uint getModestPriority(QMessage &message);
ModestStringMap getModestHeaders(QMessage &message);
+ bool accountExists(const QMessageAccountId& accountId) const;
+
private slots:
void searchMessagesHeadersReceivedSlot(QDBusMessage msg);
void searchMessagesHeadersFetchedSlot(QDBusMessage msg);
+ void mimePartDownloadFinishedSlot(QDBusMessage msg);
void folderUpdatedSlot(QDBusMessage msg);
void messageReadChangedSlot(QDBusMessage msg);
void pendingGetUnreadMessagesFinishedSlot(QDBusPendingCallWatcher* pendingCallWatcher);
@@ -367,6 +404,7 @@ private slots:
void addMessageCallEnded(QDBusPendingCallWatcher *watcher);
void stateChanged(QMessageService::State newState);
void returnQueryResultsSlot();
+ void modestFolderContentsChangedSlot(QDBusMessage msg);
private: //Data
GConfClient *m_gconfclient;
@@ -390,8 +428,13 @@ private: //Data
mutable QStringList m_latestAddOrRemoveNotifications;
+ mutable QMap<QString, MessagingModestFolder> m_folderCache;
mutable QMap<QString, QMessage> m_messageCache;
+ mutable QMap<int, QMessageServicePrivate*> m_pending_downloads;
+
+ mutable QMessageFolderIdList m_observed_folders;
+
// Following variables are used for sync queries
mutable QMessageService m_service;
mutable QEventLoop m_eventLoop;
@@ -416,6 +459,7 @@ Q_DECLARE_METATYPE(QtMobility::ModestUnreadMessageDBusStruct);
Q_DECLARE_METATYPE(QtMobility::ModestAccountsUnreadMessagesDBusStruct);
Q_DECLARE_METATYPE(QtMobility::ModestMessage);
Q_DECLARE_METATYPE(QtMobility::MessagingModestMimePart);
+Q_DECLARE_METATYPE(QtMobility::MessagingModestFolder);
#endif // MODESTENGINE_MAEMO_H
diff --git a/src/messaging/qfsengine_symbian.cpp b/src/messaging/qfsengine_symbian.cpp
new file mode 100644
index 0000000000..0b7a45710d
--- /dev/null
+++ b/src/messaging/qfsengine_symbian.cpp
@@ -0,0 +1,2836 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qmessageservice.h"
+#include "qmessageservice_symbian_p.h"
+#include "qfsengine_symbian_p.h"
+#include "qmessage_symbian_p.h"
+#include "messagingutil_p.h"
+#include "qmessageaccount.h"
+#include "qmessageaccount_p.h"
+#include "qmessageaccountfilter.h"
+#include "qmessageaccountfilter_p.h"
+#include "qmessagecontentcontainer_symbian_p.h"
+#include "qmessagefolder.h"
+#include "qmessagefolder_p.h"
+#include "qmessagefolderfilter.h"
+#include "qmessagefolderfilter_p.h"
+#include "qmessageaccountsortorder_p.h"
+#include "qmessagestore_symbian_p.h"
+#include "qmessagefoldersortorder_p.h"
+#include "qmessagesortorder_p.h"
+
+#include <emailinterfacefactory.h>
+#include <QTextCodec>
+#include <emailapidefs.h>
+#include <memailmailbox.h>
+#include <memailfolder.h>
+#include <memailmessage.h>
+#include <memailaddress.h>
+#include <memailcontent.h>
+#include <mmessageiterator.h>
+
+using namespace EmailInterface;
+
+QTM_BEGIN_NAMESPACE
+
+using namespace SymbianHelpers;
+
+Q_GLOBAL_STATIC(CFSEngine,fsEngine);
+
+CFSEngine::CFSEngine()
+{
+ TRAPD(err, {
+ m_factory = CEmailInterfaceFactory::NewL();
+ m_ifPtr = m_factory->InterfaceL(KEmailClientApiInterface);
+ });
+
+ Q_UNUSED(err);
+ m_clientApi = static_cast<MEmailClientApi*>(m_ifPtr);
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+ TRAPD(err2, setPluginObserversL());
+ Q_UNUSED(err2);
+#endif
+}
+
+CFSEngine::~CFSEngine()
+{
+ m_mtmAccountList.clear();
+ for (TInt i = 0; i < m_attachments.Count(); i++){
+ m_attachments[i]->Release();
+ }
+ m_attachments.Reset();
+ for (TInt i = 0; i < m_mailboxes.Count(); i++){
+ m_mailboxes[i]->Release();
+ }
+ m_mailboxes.Reset();
+ m_clientApi->Release();
+ delete m_factory;
+}
+
+CFSEngine* CFSEngine::instance()
+{
+ return fsEngine();
+}
+
+bool CFSEngine::accountLessThan(const QMessageAccountId accountId1, const QMessageAccountId accountId2)
+{
+ CFSEngine* freestyleEngine = fsEngine();
+ return QMessageAccountSortOrderPrivate::lessThan(freestyleEngine->m_currentAccountOrdering,
+ freestyleEngine->account(accountId1),
+ freestyleEngine->account(accountId2));
+}
+
+void CFSEngine::orderAccounts(QMessageAccountIdList& accountIds, const QMessageAccountSortOrder &sortOrder) const
+{
+ Q_UNUSED(accountIds);
+ m_currentAccountOrdering = sortOrder;
+ qSort(accountIds.begin(), accountIds.end(), CFSEngine::accountLessThan);
+}
+
+bool CFSEngine::folderLessThan(const QMessageFolderId folderId1, const QMessageFolderId folderId2)
+{
+ CFSEngine* freestyleEngine = fsEngine();
+ return QMessageFolderSortOrderPrivate::lessThan(freestyleEngine->m_currentFolderOrdering,
+ freestyleEngine->folder(folderId1),
+ freestyleEngine->folder(folderId2));
+}
+
+void CFSEngine::orderFolders(QMessageFolderIdList& folderIds, const QMessageFolderSortOrder &sortOrder) const
+{
+ m_currentFolderOrdering = sortOrder;
+ qSort(folderIds.begin(), folderIds.end(), CFSEngine::folderLessThan);
+}
+
+bool CFSEngine::messageLessThan(const QMessage& message1, const QMessage& message2)
+{
+ CFSEngine* freestyleEngine = fsEngine();
+ return QMessageSortOrderPrivate::lessThan(freestyleEngine->m_currentMessageOrdering, message1, message2);
+}
+
+void CFSEngine::orderMessages(QMessageIdList& messageIds, const QMessageSortOrder &sortOrder) const
+{
+ m_currentMessageOrdering = sortOrder;
+ QList<QMessage> messages;
+ for (int i=0; i < messageIds.count(); i++) {
+ messages.append(message(messageIds[i]));
+ }
+ qSort(messages.begin(), messages.end(), CFSEngine::messageLessThan);
+ messageIds.clear();
+ for (int i=0; i < messages.count(); i++) {
+ messageIds.append(messages[i].id());
+ }
+}
+
+void CFSEngine::setMtmAccountIdList(QMessageAccountIdList accountList)
+{
+ for (TInt i = 0; i < accountList.count(); i++) {
+ m_mtmAccountList.append(stripIdPrefix(accountList[i]));
+ }
+}
+
+QMessageAccountIdList CFSEngine::queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset) const
+{
+ QMessageAccountIdList accountIds;
+
+ TRAPD(err, updateEmailAccountsL());
+ Q_UNUSED(err);
+
+ QMessageAccountFilterPrivate* privateMessageAccountFilter = QMessageAccountFilterPrivate::implementation(filter);
+ if (filter.isEmpty()) {
+ if (!privateMessageAccountFilter->_notFilter) {
+ // All accounts are returned for empty filter
+ foreach (QMessageAccount value, m_accounts) {
+ accountIds.append(value.id());
+ }
+ }
+ } else {
+ if (privateMessageAccountFilter->_valid) {
+ foreach (QMessageAccount value, m_accounts) {
+ if (privateMessageAccountFilter->filter(value)) {
+ accountIds.append(value.id());
+ }
+ }
+ } else {
+ foreach (QMessageAccount value, m_accounts) {
+ if (privateMessageAccountFilter->filter(value)) {
+ accountIds.append(value.id());
+ }
+ }
+ }
+ }
+
+ if (!sortOrder.isEmpty()) {
+ orderAccounts(accountIds, sortOrder);
+ }
+
+ applyOffsetAndLimitToAccountIds(accountIds, offset, limit);
+
+ return accountIds;
+}
+
+void CFSEngine::applyOffsetAndLimitToAccountIds(QMessageAccountIdList& idList, int offset, int limit) const
+{
+ if (offset > 0) {
+ if (offset > idList.count()) {
+ idList.clear();
+ } else {
+ for (int i = 0; i < offset; i++) {
+ idList.removeFirst();
+ }
+ }
+ }
+ if (limit > 0) {
+ for (int i = idList.count()-1; i >= limit; i--) {
+ idList.removeAt(i);
+ }
+ }
+}
+
+int CFSEngine::countAccounts(const QMessageAccountFilter &filter) const
+{
+ return queryAccounts(filter, QMessageAccountSortOrder(), 0, 0).count();
+}
+
+QMessageAccount CFSEngine::account(const QMessageAccountId &id) const
+{
+ TRAPD(err, updateEmailAccountsL());
+ Q_UNUSED(err)
+ return m_accounts[id.toString()];
+}
+
+QMessageAccountId CFSEngine::defaultAccount(QMessage::Type type) const
+{
+ // TODO
+ Q_UNUSED(type);
+ return QMessageAccountId();
+}
+
+QMessageAccountIdList CFSEngine::accountsByType(QMessage::Type type) const
+{
+ QMessageAccountIdList accountIds = QMessageAccountIdList();
+
+ foreach (QMessageAccount value, m_accounts) {
+ if ((value.messageTypes() & type) == (int)type) {
+ accountIds.append(value.id());
+ }
+ }
+
+ return accountIds;
+}
+
+
+void CFSEngine::updateEmailAccountsL() const
+{
+ QStringList keys = m_accounts.keys();
+ RMailboxPtrArray mailboxes;
+ CleanupResetAndRelease<MEmailMailbox>::PushL(mailboxes);
+
+ m_clientApi->GetMailboxesL(mailboxes);
+
+ for (TInt i = 0; i < mailboxes.Count(); i++) {
+ MEmailMailbox *mailbox = mailboxes[i];
+ QString idAsString = QString::number(mailbox->MailboxId().iId);
+ QString fsIdAsString = addIdPrefix(idAsString, SymbianHelpers::EngineTypeFreestyle);
+ TBool overlap = false;
+ for (TInt j = 0; j < m_mtmAccountList.count(); j++) {
+ if (idAsString == m_mtmAccountList[j].toString())
+ overlap = true;
+ }
+ if (!m_accounts.contains(fsIdAsString) && !overlap) {
+ QMessageAccount account = QMessageAccountPrivate::from(
+ QMessageAccountId(fsIdAsString),
+ QString::fromUtf16(mailbox->MailboxName().Ptr(), mailbox->MailboxName().Length()),
+ 0,
+ 0,
+ QMessage::Email);
+
+ m_accounts.insert(fsIdAsString, account);
+
+ } else {
+ keys.removeOne(fsIdAsString);
+ }
+ mailbox->Release();
+ }
+
+ mailboxes.Reset();
+ CleanupStack::PopAndDestroy();
+
+ for (int i=0; i < keys.count(); i++) {
+ m_accounts.remove(keys[i]);
+ }
+}
+
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+void CFSEngine::setPluginObserversL()
+{
+ m_clientApi->GetMailboxesL(m_mailboxes);
+ for (TInt i = 0; i < m_mailboxes.Count(); i++) {
+ MEmailMailbox *mailbox = m_mailboxes[i];
+ mailbox->RegisterObserverL(*this);
+ }
+}
+
+void CFSEngine::NewMessageEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aNewMessages, const TFolderId& aParentFolderId)
+{
+ QMessageManager::NotificationFilterIdSet matchingFilters;
+ QMessageStorePrivate::NotificationType notificationType = QMessageStorePrivate::Added;
+
+ for (TInt i = 0; i < aNewMessages.Count(); i++) {
+ TMessageId messageId(aNewMessages[i]);
+ notificationL(aMailbox, messageId, aParentFolderId, notificationType);
+ }
+}
+
+void CFSEngine::MessageChangedEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aChangedMessages, const TFolderId& aParentFolderId)
+{
+ QMessageManager::NotificationFilterIdSet matchingFilters;
+ QMessageStorePrivate::NotificationType notificationType = QMessageStorePrivate::Updated;
+
+ for (TInt i = 0; i < aChangedMessages.Count(); i++) {
+ TMessageId messageId(aChangedMessages[i]);
+ notificationL(aMailbox, messageId, aParentFolderId, notificationType);
+ }
+}
+
+void CFSEngine::MessageDeletedEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aDeletedMessages, const TFolderId& aParentFolderId)
+{
+ // TODO: add filter handling
+ QMessageManager::NotificationFilterIdSet matchingFilters;
+ QMap<int, QMessageFilter> filters(m_filters);
+ QMap<int, QMessageFilter>::const_iterator it = filters.begin(), end = filters.end();
+ QMessageStorePrivate::NotificationType notificationType = QMessageStorePrivate::Removed;
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(aMailbox);
+ MEmailFolder* folder = mailbox->FolderL(aParentFolderId);
+ QString idAsString = QString::number(mailbox->MailboxId().iId);
+ for (TInt j = 0; j < m_mtmAccountList.count(); j++) {
+ if (idAsString == m_mtmAccountList[j].toString())
+ return;
+ }
+ for (TInt i = 0; i < aDeletedMessages.Count(); i++) {
+ for ( ; it != end; ++it) {
+ // Empty filter matches to all messages
+ matchingFilters.insert(it.key());
+ }
+ TMessageId messageId(aDeletedMessages[i]);
+ ipMessageStorePrivate->messageNotification(notificationType,
+ QMessageId(addIdPrefix(QString::number(messageId.iId), SymbianHelpers::EngineTypeFreestyle)),
+ matchingFilters);
+ }
+ folder->Release();
+ mailbox->Release();
+}
+
+void CFSEngine::notificationL(const TMailboxId& aMailbox, const TMessageId& aMessageId,
+ const TFolderId& aParentFolderId, QMessageStorePrivate::NotificationType aNotificationType)
+{
+ Q_UNUSED(aParentFolderId);
+ QMessageManager::NotificationFilterIdSet matchingFilters;
+ // Copy the filter map to protect against modification during traversal
+ QMap<int, QMessageFilter> filters(m_filters);
+ QMap<int, QMessageFilter>::const_iterator it = filters.begin(), end = filters.end();
+ QMessage message;
+ QMessageId realMessageId = QMessageId(addIdPrefix(QString::number(aMessageId.iId), SymbianHelpers::EngineTypeFreestyle));
+ bool messageRetrieved = false;
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(aMailbox);
+ CleanupReleasePushL(*mailbox);
+ QString idAsString = QString::number(mailbox->MailboxId().iId);
+ for (TInt j = 0; j < m_mtmAccountList.count(); j++) {
+ if (idAsString == m_mtmAccountList[j].toString()) {
+ CleanupStack::Pop(mailbox);
+ return;
+ }
+ }
+ for ( ; it != end; ++it) {
+ const QMessageFilter &filter(it.value());
+ if (!messageRetrieved) {
+ MEmailMessage* fsMessage = mailbox->MessageL(aMessageId);
+ CleanupReleasePushL(*fsMessage);
+
+ if (!fsMessage) {
+ CleanupStack::Pop(fsMessage);
+ CleanupStack::Pop(mailbox);
+ return;
+ }
+ message = CreateQMessageL(fsMessage);
+ messageRetrieved = true;
+ CleanupStack::Pop(fsMessage);
+ }
+
+ if (filter.isEmpty()) {
+ // Empty filter matches to all messages
+ matchingFilters.insert(it.key());
+ } else {
+ if (message.type() == QMessage::NoType) {
+ matchingFilters.clear();
+ continue;
+ }
+ }
+ QMessageFilterPrivate* privateMessageFilter = QMessageFilterPrivate::implementation(filter);
+ if (privateMessageFilter->filter(message)) {
+ matchingFilters.insert(it.key());
+ }
+
+ }
+ int c = matchingFilters.count();
+ QString id = realMessageId.toString();
+ if (matchingFilters.count() > 0)
+ ipMessageStorePrivate->messageNotification(aNotificationType, realMessageId, matchingFilters);
+
+ CleanupStack::Pop(mailbox);
+}
+
+#endif
+
+MEmailMessage* CFSEngine::createFSMessageL(const QMessage &message, const MEmailMailbox* mailbox)
+{
+ MEmailMessage* fsMessage = mailbox->CreateDraftMessageL();
+ CleanupReleasePushL(*fsMessage);
+
+ switch (message.priority()) {
+ case QMessage::HighPriority:
+ fsMessage->SetFlag(EmailInterface::EFlag_Important);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Low);
+ break;
+ case QMessage::NormalPriority:
+ fsMessage->ResetFlag(EmailInterface::EFlag_Important);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Low);
+ break;
+ case QMessage::LowPriority:
+ fsMessage->SetFlag(EmailInterface::EFlag_Low);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Important);
+ break;
+ }
+ if (message.status() & QMessage::Read) {
+ fsMessage->SetFlag(EmailInterface::EFlag_Read);
+ } else {
+ fsMessage->ResetFlag(EmailInterface::EFlag_Read);
+ }
+
+ MEmailAddress* sender = mailbox->AddressL();
+ sender->SetRole(MEmailAddress::ESender);
+ fsMessage->SetReplyToAddressL(*sender);
+
+ QList<QMessageAddress> toList(message.to());
+ if (toList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray toAddress;
+ for (int i = 0; i < toList.size(); ++i) {
+ qreceiver = toList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();
+ address->SetAddressL(receiver);
+ address->SetDisplayNameL(receiver);
+ address->SetRole(MEmailAddress::ETo);
+ toAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::ETo, toAddress);
+ }
+
+ QList<QMessageAddress> ccList(message.cc());
+ if (ccList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray ccAddress;
+ for (int i = 0; i < ccList.size(); ++i) {
+ qreceiver = ccList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();
+ address->SetDisplayNameL(receiver);
+ address->SetRole(MEmailAddress::ECc);
+ address->SetAddressL(receiver);
+ ccAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::ECc, ccAddress);
+ }
+
+ QList<QMessageAddress> bccList(message.bcc());
+ if (bccList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray bccAddress;
+ for (int i = 0; i < bccList.size(); ++i) {
+ qreceiver = bccList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();
+ address->SetDisplayNameL(receiver);
+ address->SetRole(MEmailAddress::EBcc);
+ address->SetAddressL(receiver);
+ bccAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::EBcc, bccAddress);
+ }
+ if (message.bodyId() == QMessageContentContainerPrivate::bodyContentId()) {
+ // Message contains only body (not attachments)
+ QString messageBody = message.textContent();
+ if (!messageBody.isEmpty()) {
+ QByteArray type = message.contentType();
+ QByteArray subType = message.contentSubType();
+ MEmailMessageContent* content = fsMessage->ContentL();
+ MEmailTextContent* textContent = content->AsTextContentOrNull();
+ if (textContent) {
+ if (type == "text" && subType == "plain") {
+ textContent->SetTextL(MEmailTextContent::EPlainText, TPtrC(reinterpret_cast<const TUint16*>(message.textContent().utf16())));
+ }
+ else if (type == "text" && subType == "html") {
+ textContent->SetTextL(MEmailTextContent::EHtmlText, TPtrC(reinterpret_cast<const TUint16*>(message.textContent().utf16())));
+ }
+ }
+ else
+ fsMessage->SetPlainTextBodyL(TPtrC(reinterpret_cast<const TUint16*>(message.textContent().utf16())));
+ }
+ } else {
+ // Message contains body and attachments
+ QMessageContentContainerIdList contentIds = message.contentIds();
+ foreach (QMessageContentContainerId id, contentIds){
+ QMessageContentContainer container = message.find(id);
+ MEmailMessageContent* content = fsMessage->ContentL();
+ QMessageContentContainerPrivate* pPrivateContainer = QMessageContentContainerPrivate::implementation(container);
+ if (pPrivateContainer->_id == message.bodyId()) {
+ // ContentContainer is body
+ if (!container.textContent().isEmpty()) {
+ MEmailTextContent* textContent = content->AsTextContentOrNull();
+ if (textContent) {
+ QByteArray type = container.contentType();
+ QByteArray subType = container.contentSubType();
+ if (type == "text" && subType == "plain") {
+ textContent->SetTextL(MEmailTextContent::EPlainText, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
+ }
+ else if (type == "text" && subType == "html") {
+ textContent->SetTextL(MEmailTextContent::EHtmlText, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
+ }
+ }
+ else
+ fsMessage->SetPlainTextBodyL(TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
+ }
+ } else {
+ // ContentContainer is attachment
+ QByteArray filePath = QMessageContentContainerPrivate::attachmentFilename(container);
+ // Replace Qt style path separator "/" with Symbian path separator "\"
+ filePath.replace(QByteArray("/"), QByteArray("\\"));
+ QString temp_path = QString(filePath);
+ TPtrC16 attachmentPath(KNullDesC);
+ attachmentPath.Set(reinterpret_cast<const TUint16*>(temp_path.utf16()));
+ fsMessage->AddAttachmentL(attachmentPath);
+ }
+ }
+ }
+ fsMessage->SetSubjectL(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16())));
+
+ QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
+ privateMessage->_id = QMessageId(addIdPrefix(QString::number(fsMessage->MessageId().iId),SymbianHelpers::EngineTypeFreestyle));
+
+ fsMessage->SaveChangesL();
+ CleanupStack::Pop(fsMessage);
+ return fsMessage;
+}
+
+bool CFSEngine::addMessage(QMessage* message)
+{
+ TMailboxId mailboxId(stripIdPrefix(message->parentAccountId().toString()).toInt());
+ MEmailMailbox* mailbox = NULL;
+ TRAPD(mailerr, mailbox = m_clientApi->MailboxL(mailboxId));
+ if (mailerr != KErrNone)
+ return false;
+
+ MEmailMessage* fsMessage = NULL;
+ TRAPD(err, fsMessage = createFSMessageL(*message, mailbox));
+ if (fsMessage)
+ fsMessage->Release();
+ if (mailbox)
+ mailbox->Release();
+
+ if (err != KErrNone)
+ return false;
+ else
+ return true;
+}
+
+bool CFSEngine::updateMessage(QMessage* message)
+{
+ TRAPD(err, updateMessageL(message));
+ if (err != KErrNone)
+ return false;
+ else
+ return true;
+}
+
+void CFSEngine::updateMessageL(QMessage* message)
+{
+ TMailboxId mailboxId(stripIdPrefix(message->parentAccountId().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ CleanupReleasePushL(*mailbox);
+
+ TMessageId messageId(message->id().toString().toInt(),
+ message->parentFolderId().toString().toInt(),
+ mailboxId);
+ MEmailMessage* fsMessage = mailbox->MessageL(messageId);
+ CleanupReleasePushL(*fsMessage);
+
+ switch (message->priority()) {
+ case QMessage::HighPriority:
+ fsMessage->SetFlag(EmailInterface::EFlag_Important);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Low);
+ break;
+ case QMessage::NormalPriority:
+ fsMessage->ResetFlag(EmailInterface::EFlag_Important);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Low);
+ break;
+ case QMessage::LowPriority:
+ fsMessage->SetFlag(EmailInterface::EFlag_Low);
+ fsMessage->ResetFlag(EmailInterface::EFlag_Important);
+ break;
+ }
+ if (message->status() & QMessage::Read) {
+ fsMessage->SetFlag(EmailInterface::EFlag_Read);
+ } else {
+ fsMessage->ResetFlag(EmailInterface::EFlag_Read);
+ }
+
+ MEmailAddress* sender = mailbox->AddressL();
+ sender->SetRole(MEmailAddress::ESender);
+ fsMessage->SetReplyToAddressL(*sender);
+
+ QList<QMessageAddress> toList(message->to());
+ if (toList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray toAddress;
+ for (int i = 0; i < toList.size(); ++i) {
+ qreceiver = toList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();
+ address->SetAddressL(receiver);
+ toAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::ETo, toAddress);
+ }
+
+ QList<QMessageAddress> ccList(message->cc());
+ if (ccList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray ccAddress;
+ for (int i = 0; i < ccList.size(); ++i) {
+ qreceiver = ccList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();;
+ address->SetAddressL(receiver);
+ ccAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::ECc, ccAddress);
+ }
+
+ QList<QMessageAddress> bccList(message->bcc());
+ if (bccList.count() > 0) {
+ TPtrC16 receiver(KNullDesC);
+ QString qreceiver;
+ REmailAddressArray bccAddress;
+ for (int i = 0; i < bccList.size(); ++i) {
+ qreceiver = bccList.at(i).addressee();
+ receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16()));
+ MEmailAddress* address = mailbox->AddressL();;
+ address->SetAddressL(receiver);
+ bccAddress.Append(address);
+ }
+ fsMessage->SetRecipientsL(MEmailAddress::EBcc, bccAddress);
+ }
+
+ if (message->bodyId() == QMessageContentContainerPrivate::bodyContentId()) {
+ // Message contains only body (not attachments)
+ QString messageBody = message->textContent();
+ if (!messageBody.isEmpty()) {
+ MEmailMessageContent* content = fsMessage->ContentL();
+ MEmailTextContent* textContent = content->AsTextContentOrNull();
+ textContent->SetTextL(MEmailTextContent::EPlainText, TPtrC(reinterpret_cast<const TUint16*>(message->textContent().utf16())));
+ // TODO:
+ }
+ } else {
+ // Message contains body and attachments
+ QMessageContentContainerIdList contentIds = message->contentIds();
+ foreach (QMessageContentContainerId id, contentIds){
+ QMessageContentContainer container = message->find(id);
+ QMessageContentContainerPrivate* pPrivateContainer = QMessageContentContainerPrivate::implementation(container);
+ if (pPrivateContainer->_id == message->bodyId()) {
+ // ContentContainer is body
+ if (!container.textContent().isEmpty()) {
+ MEmailMessageContent* content = fsMessage->ContentL();
+ MEmailTextContent* textContent = content->AsTextContentOrNull();
+ QByteArray type = container.contentType();
+ QByteArray subType = container.contentSubType();
+ if (type == "text" && subType == "plain") {
+ textContent->SetTextL(MEmailTextContent::EPlainText, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
+ }
+ else if (type == "text" && subType == "html") {
+ textContent->SetTextL(MEmailTextContent::EHtmlText, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
+ }
+ }
+ } else {
+ // ContentContainer is attachment
+ QByteArray filePath = QMessageContentContainerPrivate::attachmentFilename(container);
+ // Replace Qt style path separator "/" with Symbian path separator "\"
+ filePath.replace(QByteArray("/"), QByteArray("\\"));
+ QString temp_path = QString(filePath);
+ TPtrC16 attachmentPath(KNullDesC);
+ attachmentPath.Set(reinterpret_cast<const TUint16*>(temp_path.utf16()));
+ fsMessage->AddAttachmentL(attachmentPath);
+ }
+ }
+ }
+
+ fsMessage->SetSubjectL(TPtrC(reinterpret_cast<const TUint16*>(message->subject().utf16())));
+ fsMessage->SaveChangesL();
+ CleanupStack::PopAndDestroy(fsMessage);
+ CleanupStack::PopAndDestroy(mailbox);
+}
+
+bool CFSEngine::removeMessage(const QMessageId &id, QMessageManager::RemovalOption option)
+{
+ Q_UNUSED(option);
+ bool retVal = false;
+ foreach (QMessageAccount account, m_accounts) {
+ MEmailMessage* message = NULL;
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+
+ TMessageId messageId(
+ stripIdPrefix(id.toString()).toInt(),
+ 0,
+ mailboxId);
+
+ TRAPD(err, message = mailbox->MessageL(messageId));
+
+ if (err == KErrNone) {
+ TFolderId folderId(message->ParentFolderId());
+ TRAPD(err2,
+ MEmailFolder* folder = mailbox->FolderL(folderId);
+ REmailMessageIdArray messageIds;
+ messageIds.Append(message->MessageId());
+ folder->DeleteMessagesL(messageIds);
+ folder->Release();
+ );
+ if (err2 == KErrNone)
+ retVal = true;
+ mailbox->Release();
+ break; // no need to continue
+ }
+ mailbox->Release();
+ }
+ return retVal;
+}
+
+bool CFSEngine::showMessage(const QMessageId &id)
+{
+ bool retVal = false;
+ foreach (QMessageAccount account, m_accounts) {
+ MEmailMessage* message = NULL;
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+
+ TMessageId messageId(
+ stripIdPrefix(id.toString()).toInt(),
+ 0,
+ mailboxId);
+
+ TRAPD(err, message = mailbox->MessageL(messageId));
+
+ if (err == KErrNone) {
+ TRAPD(err2, message->ShowMessageViewerL());
+ if (err2 == KErrNone)
+ retVal = true;
+ message->Release();
+ mailbox->Release();
+ break; // no need to continue
+ }
+ mailbox->Release();
+ }
+ return retVal;
+}
+
+bool CFSEngine::composeMessage(const QMessage &message)
+{
+ bool retVal = false;
+ MEmailMailbox* mailbox = NULL;
+ TMailboxId mailboxId(stripIdPrefix(message.parentAccountId().toString()).toInt());
+ TRAPD(err, mailbox = m_clientApi->MailboxL(mailboxId));
+ if (err == KErrNone) {
+ TRAPD(err2, mailbox->EditNewMessageL());
+ if (err2 == KErrNone)
+ retVal = true;
+ mailbox->Release();
+ }
+ return retVal;
+}
+
+bool CFSEngine::retrieve(const QMessageId &messageId, const QMessageContentContainerId& id)
+{
+ Q_UNUSED(id);
+ bool retVal = false;
+ foreach (QMessageAccount account, m_accounts) {
+ MEmailMessage* message = NULL;
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ MEmailMailbox* mailbox = NULL;
+ TRAPD(mailboxError, mailbox = m_clientApi->MailboxL(mailboxId));
+ if (mailboxError == KErrNone) {
+ TMessageId mId(
+ stripIdPrefix(messageId.toString()).toInt(),
+ 0,
+ mailboxId);
+
+ TRAPD(err, message = mailbox->MessageL(mId));
+ if (err == KErrNone) {
+ MEmailMessageContent* content = NULL;
+ TRAPD(contentError, content = message->ContentL());
+ if (contentError == KErrNone) {
+ TRAPD(err, retrieveAttachmentsL(message));
+ if (err == KErrNone)
+ retVal = true;
+ }
+ }
+ message->Release();
+ mailbox->Release();
+ break; // no need to continue
+ }
+ mailbox->Release();
+ }
+ return retVal;
+}
+
+bool CFSEngine::retrieveBody(const QMessageId& id)
+{
+ bool retVal = false;
+ foreach (QMessageAccount account, m_accounts) {
+ MEmailMessage* message = NULL;
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ MEmailMailbox* mailbox = NULL;
+ TRAPD(mailBoxError, mailbox = m_clientApi->MailboxL(mailboxId));
+ if (mailBoxError == KErrNone) {
+ TMessageId messageId(
+ stripIdPrefix(id.toString()).toInt(),
+ 0,
+ mailboxId);
+
+ TRAPD(err, message = mailbox->MessageL(messageId));
+ if (err == KErrNone) {
+ MEmailMessageContent* content = NULL;
+ TRAPD(contentError, content = message->ContentL());
+ if (contentError == KErrNone) {
+ TRAPD(err, retrieveTotalBodyL(content));
+ if (err == KErrNone)
+ retVal = true;
+ }
+ }
+ message->Release();
+ mailbox->Release();
+ break; // no need to continue
+ }
+ mailbox->Release();
+ }
+ return retVal;
+}
+
+void CFSEngine::retrieveTotalBodyL(MEmailMessageContent* aContent)
+{
+ MEmailMultipart* mPart = aContent->AsMultipartOrNull();
+ if (mPart) {
+ TInt partCount = 0;
+ TRAPD(err, partCount = mPart->PartCountL());
+ if (err == KErrNone) {
+ for (TInt i = 0; i < partCount; i++) {
+ MEmailMessageContent* content = NULL;
+ TRAPD(err2, content = mPart->PartByIndexL(i));
+ if (err2 == KErrNone) {
+ retrieveTotalBodyL(content);
+ content->Release();
+ }
+ }
+ }
+ return;
+ }
+
+ MEmailTextContent* textContent = aContent->AsTextContentOrNull();
+ if (textContent) {
+ TInt availableSize = textContent->AvailableSize();
+ TInt totalSize = textContent->TotalSize();
+ if (totalSize > availableSize) {
+ TRAPD(textErr, textContent->FetchL(*this));
+ Q_UNUSED(textErr);
+ }
+ }
+ return;
+}
+
+void CFSEngine::retrieveAttachmentsL(MEmailMessage* aMessage)
+{
+ for (TInt i = 0; i < m_attachments.Count(); i++) {
+ m_attachments[i]->Release();
+ }
+ m_attachments.Reset();
+ TInt count = aMessage->GetAttachmentsL(m_attachments);
+ for(TInt i = 0; i < count; i++) {
+ MEmailAttachment* att = m_attachments[i];
+ int totalSize = att->TotalSize();
+ int availableSize = att->AvailableSize();
+ if (totalSize > availableSize) {
+ TRAPD(err, att->FetchL(*this));
+ Q_UNUSED(err);
+ }
+ }
+}
+
+bool CFSEngine::retrieveHeader(const QMessageId& id)
+{
+ Q_UNUSED(id);
+ return false;
+}
+
+void CFSEngine::DataFetchedL(const TInt aResult)
+{
+ Q_UNUSED(aResult);
+}
+
+bool CFSEngine::exportUpdates(const QMessageAccountId &id)
+{
+ TRAPD(err, exportUpdatesL(id));
+ if (err != KErrNone) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
+void CFSEngine::exportUpdatesL(const QMessageAccountId &id)
+{
+ TMailboxId mailboxId(stripIdPrefix(id.toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ mailbox->SynchroniseL(*this);
+ mailbox->Release();
+}
+
+void CFSEngine::MailboxSynchronisedL(TInt aResult)
+{
+ Q_UNUSED(aResult);
+}
+
+bool CFSEngine::removeMessages(const QMessageFilter& /*filter*/, QMessageManager::RemovalOption /*option*/)
+{
+ return false;
+}
+
+void CFSEngine::handleNestedFiltersFromMessageFilter(QMessageFilter &filter) const
+{
+ QMessageFilterPrivate* pMFFilter = QMessageFilterPrivate::implementation(filter);
+ if (pMFFilter->_filterList.count() > 0) {
+ int filterListCount = pMFFilter->_filterList.count();
+ for (int i=0; i < filterListCount; i++) {
+ for (int j=0; j < pMFFilter->_filterList[i].count(); j++) {
+ QMessageFilterPrivate* pMFFilter2 = QMessageFilterPrivate::implementation(pMFFilter->_filterList[i][j]);
+ if (pMFFilter2->_field == QMessageFilterPrivate::ParentAccountIdFilter) {
+ QMessageAccountIdList accountIds = queryAccounts(*pMFFilter2->_accountFilter, QMessageAccountSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter2->_comparatorValue));
+ if (accountIds.count() > 0) {
+ pMFFilter->_filterList[i].removeAt(j);
+ if (cmp == QMessageDataComparator::Includes) {
+ for (int x = 0; x < accountIds.count(); x++) {
+ if (x == 0) {
+ if (x+1 < accountIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[i]);
+ }
+ pMFFilter->_filterList[i].append(QMessageFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ } else {
+ if (x+1 < accountIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[pMFFilter->_filterList.count()-1]);
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-2].append(QMessageFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-2].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-2].end(), QMessageFilterPrivate::lessThan);
+ } else {
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-1].append(QMessageFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-1].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-1].end(), QMessageFilterPrivate::lessThan);
+ }
+ }
+ }
+ } else { // Excludes
+ for (int x = 0; x < accountIds.count(); x++) {
+ pMFFilter->_filterList[i].append(QMessageFilter::byParentAccountId(accountIds[x],QMessageDataComparator::NotEqual));
+ }
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ }
+ } else {
+ delete pMFFilter2->_accountFilter;
+ pMFFilter2->_accountFilter = 0;
+ pMFFilter2->_field = QMessageFilterPrivate::Id;
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ }
+ } else if (pMFFilter2->_field == QMessageFilterPrivate::ParentFolderIdFilter) {
+ QMessageFolderIdList folderIds = queryFolders(*pMFFilter2->_folderFilter, QMessageFolderSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter2->_comparatorValue));
+ if (folderIds.count() > 0) {
+ pMFFilter->_filterList[i].removeAt(j);
+ if (cmp == QMessageDataComparator::Includes) {
+ for (int x = 0; x < folderIds.count(); x++) {
+ if (x == 0) {
+ if (x+1 < folderIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[i]);
+ }
+ pMFFilter->_filterList[i].append(QMessageFilter::byParentFolderId(folderIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ } else {
+ if (x+1 < folderIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[pMFFilter->_filterList.count()-1]);
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-2].append(QMessageFilter::byParentFolderId(folderIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-2].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-2].end(), QMessageFilterPrivate::lessThan);
+ } else {
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-1].append(QMessageFilter::byParentFolderId(folderIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-1].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-1].end(), QMessageFilterPrivate::lessThan);
+ }
+ }
+ }
+ } else { // Excludes
+ for (int x = 0; x < folderIds.count(); x++) {
+ pMFFilter->_filterList[i].append(QMessageFilter::byParentFolderId(folderIds[x],QMessageDataComparator::NotEqual));
+ }
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ }
+ } else {
+ delete pMFFilter2->_folderFilter;
+ pMFFilter2->_folderFilter = 0;
+ pMFFilter2->_field = QMessageFilterPrivate::Id;
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFilterPrivate::lessThan);
+ }
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ if (pMFFilter->_field == QMessageFilterPrivate::ParentAccountIdFilter) {
+ QMessageAccountIdList accountIds = queryAccounts(*pMFFilter->_accountFilter, QMessageAccountSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter->_comparatorValue));
+ if (accountIds.count() > 0) {
+ for (int i=0; i < accountIds.count(); i++) {
+ if (i == 0) {
+ delete pMFFilter->_accountFilter;
+ pMFFilter->_accountFilter = 0;
+ pMFFilter->_field = QMessageFilterPrivate::ParentAccountId;
+ pMFFilter->_value = accountIds[0].toString();
+ pMFFilter->_comparatorType = QMessageFilterPrivate::Equality;
+ if (cmp == QMessageDataComparator::Includes) {
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::Equal);
+ } else { // Excludes
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::NotEqual);
+ }
+ } else {
+ if (cmp == QMessageDataComparator::Includes) {
+ filter |= QMessageFilter::byParentAccountId(accountIds[i],QMessageDataComparator::Equal);
+ } else { // Excludes
+ filter &= QMessageFilter::byParentAccountId(accountIds[i],QMessageDataComparator::NotEqual);
+ }
+ }
+ }
+ } else {
+ delete pMFFilter->_accountFilter;
+ pMFFilter->_accountFilter = 0;
+ pMFFilter->_field = QMessageFilterPrivate::Id;
+ }
+ } else if (pMFFilter->_field == QMessageFilterPrivate::ParentFolderIdFilter) {
+ QMessageFolderIdList folderIds = queryFolders(*pMFFilter->_folderFilter, QMessageFolderSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter->_comparatorValue));
+ if (folderIds.count() > 0) {
+ for (int i=0; i < folderIds.count(); i++) {
+ if (i == 0) {
+ delete pMFFilter->_folderFilter;
+ pMFFilter->_folderFilter = 0;
+ pMFFilter->_field = QMessageFilterPrivate::ParentFolderId;
+ pMFFilter->_value = folderIds[0].toString();
+ pMFFilter->_comparatorType = QMessageFilterPrivate::Equality;
+ if (cmp == QMessageDataComparator::Includes) {
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::Equal);
+ } else { // Excludes
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::NotEqual);
+ }
+ } else {
+ if (cmp == QMessageDataComparator::Includes) {
+ filter |= QMessageFilter::byParentFolderId(folderIds[i],QMessageDataComparator::Equal);
+ } else { // Excludes
+ filter &= QMessageFilter::byParentFolderId(folderIds[i],QMessageDataComparator::NotEqual);
+ }
+ }
+ }
+ } else {
+ delete pMFFilter->_folderFilter;
+ pMFFilter->_folderFilter = 0;
+ pMFFilter->_field = QMessageFilterPrivate::Id;
+ }
+ }
+ }
+}
+
+bool CFSEngine::queryMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
+{
+ TRAPD(err, queryMessagesL(privateService, filter, sortOrder, limit, offset));
+ if (err != KErrNone) {
+ return false;
+ }
+ return true;
+}
+
+
+void CFSEngine::queryMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
+{
+
+ FSMessageQueryInfo queryInfo;
+ queryInfo.operationId = ++m_operationIds;
+ if (queryInfo.operationId == 100000) {
+ queryInfo.operationId = 1;
+ }
+ queryInfo.isQuery = true;
+ queryInfo.filter = filter;
+ queryInfo.sortOrder = sortOrder;
+ queryInfo.offset = offset;
+ queryInfo.limit = limit;
+ queryInfo.findOperation = new CFSMessagesFindOperation((CFSEngine&)*this, queryInfo.operationId);
+ queryInfo.privateService = &privateService;
+ queryInfo.currentFilterListIndex = 0;
+ m_messageQueries.append(queryInfo);
+
+ handleNestedFiltersFromMessageFilter(m_messageQueries[m_messageQueries.count()-1].filter);
+
+ QMessageFilterPrivate* pf = QMessageFilterPrivate::implementation(m_messageQueries[m_messageQueries.count()-1].filter);
+ if (pf->_filterList.count() == 0) {
+ queryInfo.findOperation->filterAndOrderMessages(m_messageQueries[m_messageQueries.count()-1].filter,
+ m_messageQueries[m_messageQueries.count()-1].sortOrder);
+ } else {
+ queryInfo.findOperation->filterAndOrderMessages(pf->_filterList[0], m_messageQueries[m_messageQueries.count()-1].sortOrder);
+ }
+}
+
+bool CFSEngine::queryMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
+{
+ TRAPD(err, queryMessagesL(privateService, filter, body, matchFlags, sortOrder, limit, offset));
+ if (err != KErrNone) {
+ return false;
+ }
+ return true;
+}
+
+void CFSEngine::queryMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
+{
+ FSMessageQueryInfo queryInfo;
+ queryInfo.operationId = ++m_operationIds;
+ if (queryInfo.operationId == 100000) {
+ queryInfo.operationId = 1;
+ }
+ queryInfo.isQuery = true;
+ queryInfo.body = body;
+ queryInfo.matchFlags = matchFlags;
+ queryInfo.filter = filter;
+ queryInfo.sortOrder = sortOrder;
+ queryInfo.offset = offset;
+ queryInfo.limit = limit;
+ queryInfo.findOperation = new CFSMessagesFindOperation((CFSEngine&)*this, queryInfo.operationId);
+ queryInfo.privateService = &privateService;
+ queryInfo.currentFilterListIndex = 0;
+ m_messageQueries.append(queryInfo);
+
+ handleNestedFiltersFromMessageFilter(m_messageQueries[m_messageQueries.count()-1].filter);
+
+ QMessageFilterPrivate* pf = QMessageFilterPrivate::implementation(m_messageQueries[m_messageQueries.count()-1].filter);
+ if (pf->_filterList.count() == 0) {
+ queryInfo.findOperation->filterAndOrderMessages(m_messageQueries[m_messageQueries.count()-1].filter,
+ m_messageQueries[m_messageQueries.count()-1].sortOrder,
+ body,
+ matchFlags);
+ } else {
+ queryInfo.findOperation->filterAndOrderMessages(pf->_filterList[0],
+ m_messageQueries[m_messageQueries.count()-1].sortOrder,
+ body,
+ matchFlags);
+ }
+}
+
+bool CFSEngine::countMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter)
+{
+ TRAPD(err, countMessagesL(privateService, filter));
+ if (err != KErrNone) {
+ return false;
+ }
+ return true;
+}
+
+void CFSEngine::countMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter)
+{
+ FSMessageQueryInfo queryInfo;
+ queryInfo.operationId = ++m_operationIds;
+ if (queryInfo.operationId == 100000) {
+ queryInfo.operationId = 1;
+ }
+ queryInfo.isQuery = false;
+ queryInfo.matchFlags = 0;
+ queryInfo.filter = filter;
+ queryInfo.sortOrder = QMessageSortOrder();
+ queryInfo.offset = 0;
+ queryInfo.limit = 0;
+ queryInfo.findOperation = new CFSMessagesFindOperation((CFSEngine&)*this, queryInfo.operationId);
+ queryInfo.privateService = &privateService;
+ queryInfo.currentFilterListIndex = 0;
+ queryInfo.count = 0;
+ m_messageQueries.append(queryInfo);
+
+ handleNestedFiltersFromMessageFilter(m_messageQueries[m_messageQueries.count()-1].filter);
+
+ QMessageFilterPrivate* pf = QMessageFilterPrivate::implementation(m_messageQueries[m_messageQueries.count()-1].filter);
+ if (pf->_filterList.count() == 0) {
+ queryInfo.findOperation->filterAndOrderMessages(m_messageQueries[m_messageQueries.count()-1].filter,
+ m_messageQueries[m_messageQueries.count()-1].sortOrder);
+ } else {
+ queryInfo.findOperation->filterAndOrderMessages(pf->_filterList[0], m_messageQueries[m_messageQueries.count()-1].sortOrder);
+ }
+}
+
+void CFSEngine::filterAndOrderMessagesReady(bool success, int operationId, QMessageIdList ids, int numberOfHandledFilters,
+ bool resultSetOrdered)
+{
+ int index=0;
+ for (; index < m_messageQueries.count(); index++) {
+ if (m_messageQueries[index].operationId == operationId) {
+ break;
+ }
+ }
+
+ if (success) {
+ // If there are unhandled filters, loop through all filters and do filtering for ids using unhandled filters.
+ QMessageFilterPrivate* pf = QMessageFilterPrivate::implementation(m_messageQueries[index].filter);
+ if (pf->_filterList.count() > 0) {
+ if (pf->_filterList[m_messageQueries[index].currentFilterListIndex].count() > numberOfHandledFilters) {
+ for (int i=0; i < ids.count(); i++) {
+ QMessage msg = message(ids[i]);
+ for (int j=numberOfHandledFilters; j < pf->_filterList[m_messageQueries[index].currentFilterListIndex].count(); j++) {
+ QMessageFilterPrivate* pf2 = QMessageFilterPrivate::implementation(pf->_filterList[m_messageQueries[index].currentFilterListIndex][j]);
+ if (!pf2->filter(msg)) {
+ ids.removeAt(i);
+ i--;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (pf->_filterList.count() > 0) {
+ // Filter contains filterlist (or filterlists), not just one single filter
+ if (m_messageQueries[index].currentFilterListIndex == 0) {
+ m_messageQueries[index].ids << ids;
+ m_messageQueries[index].count = ids.count();
+ } else {
+ // Append new ids to resultset
+ for (int i=0; i < ids.count(); i++) {
+ if (!m_messageQueries[index].ids.contains(ids[i])) {
+ m_messageQueries[index].ids.append(ids[i]);
+ m_messageQueries[index].count++;;
+ }
+ }
+ }
+
+ m_messageQueries[index].currentFilterListIndex++;
+ if (m_messageQueries[index].currentFilterListIndex < pf->_filterList.count()) {
+ // There are still unhandled filter lists left
+ m_messageQueries[index].findOperation->filterAndOrderMessages(pf->_filterList[m_messageQueries[index].currentFilterListIndex],
+ m_messageQueries[index].sortOrder,
+ m_messageQueries[index].body,
+ m_messageQueries[index].matchFlags);
+ return;
+ } else {
+ // All filters successfully handled
+ if (m_messageQueries[index].isQuery) {
+ if (!m_messageQueries[index].sortOrder.isEmpty()) {
+ // Make sure that messages are correctly ordered
+ orderMessages(m_messageQueries[index].ids, m_messageQueries[index].sortOrder);
+ }
+ applyOffsetAndLimitToMsgIds(m_messageQueries[index].ids,
+ m_messageQueries[index].offset,
+ m_messageQueries[index].limit);
+ m_messageQueries[index].privateService->messagesFound(m_messageQueries[index].ids, true, true);
+
+ //emit m_messageQueries[index].privateService->messagesFound(m_messageQueries[index].ids);
+ } else {
+ m_messageQueries[index].privateService->messagesCounted(m_messageQueries[index].count);
+ }
+ }
+ } else {
+ // There was only one single filter to handle
+ if (numberOfHandledFilters == 0) {
+ // The one and only filter was not handled
+ // => Do filtering for all returned messages
+ for (int i=ids.count()-1; i >= 0; i--) {
+ QMessage msg = message(ids[i]);
+ if (!pf->filter(msg)) {
+ ids.removeAt(i);
+ }
+ }
+ }
+ // => All filters successfully handled
+ if (m_messageQueries[index].isQuery) {
+ // Make sure that messages are correctly ordered
+ if (!m_messageQueries[index].sortOrder.isEmpty() && !resultSetOrdered) {
+ orderMessages(ids, m_messageQueries[index].sortOrder);
+ }
+ // Handle offest & limit
+ applyOffsetAndLimitToMsgIds(ids, m_messageQueries[index].offset, m_messageQueries[index].limit);
+ //emit m_messageQueries[index].privateService->messagesFound(ids);
+ m_messageQueries[index].privateService->messagesFound(ids, true, true);
+ } else {
+ m_messageQueries[index].privateService->messagesCounted(ids.count());
+ }
+ }
+ } else {
+ m_messageQueries[index].privateService->_active = false;
+ if (m_messageQueries[index].privateService->_error == QMessageManager::NoError) {
+ m_messageQueries[index].privateService->_error = QMessageManager::RequestIncomplete;
+ }
+ }
+
+ delete m_messageQueries[index].findOperation;
+ m_messageQueries.removeAt(index);
+}
+
+void CFSEngine::applyOffsetAndLimitToMsgIds(QMessageIdList& idList, int offset, int limit) const
+{
+ if (offset > 0) {
+ if (offset > idList.count()) {
+ idList.clear();
+ } else {
+ for (int i = 0; i < offset; i++) {
+ idList.removeFirst();
+ }
+ }
+ }
+ if (limit > 0) {
+ for (int i = idList.count()-1; i >= limit; i--) {
+ idList.removeAt(i);
+ }
+ }
+}
+
+QMessageManager::NotificationFilterId CFSEngine::registerNotificationFilter(QMessageStorePrivate& aPrivateStore,
+ const QMessageFilter &filter, QMessageManager::NotificationFilterId aId)
+{
+ ipMessageStorePrivate = &aPrivateStore;
+ iListenForNotifications = true;
+
+ int filterId = aId;
+ if (filterId == 0)
+ filterId = ++m_filterId;
+ m_filters.insert(filterId, filter);
+ return filterId;
+}
+
+void CFSEngine::unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId)
+{
+ m_filters.remove(notificationFilterId);
+ if (m_filters.count() == 0) {
+ iListenForNotifications = false;
+ }
+}
+void CFSEngine::handleNestedFiltersFromFolderFilter(QMessageFolderFilter &filter) const
+{
+ QMessageFolderFilterPrivate* pMFFilter = QMessageFolderFilterPrivate::implementation(filter);
+ if (pMFFilter->_filterList.count() > 0) {
+ int filterListCount = pMFFilter->_filterList.count();
+ for (int i=0; i < filterListCount; i++) {
+ for (int j=0; j < pMFFilter->_filterList[i].count(); j++) {
+ QMessageFolderFilterPrivate* pMFFilter2 = QMessageFolderFilterPrivate::implementation(pMFFilter->_filterList[i][j]);
+ if (pMFFilter2->_field == QMessageFolderFilterPrivate::ParentAccountIdFilter) {
+ QMessageAccountIdList accountIds = queryAccounts(*pMFFilter2->_accountFilter, QMessageAccountSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter2->_comparatorValue));
+ if (accountIds.count() > 0) {
+ pMFFilter->_filterList[i].removeAt(j);
+ if (cmp == QMessageDataComparator::Includes) {
+ for (int x = 0; x < accountIds.count(); x++) {
+ if (x == 0) {
+ if (x+1 < accountIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[i]);
+ }
+ pMFFilter->_filterList[i].append(QMessageFolderFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFolderFilterPrivate::lessThan);
+ } else {
+ if (x+1 < accountIds.count()) {
+ pMFFilter->_filterList.append(pMFFilter->_filterList[pMFFilter->_filterList.count()-1]);
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-2].append(QMessageFolderFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-2].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-2].end(), QMessageFolderFilterPrivate::lessThan);
+ } else {
+ pMFFilter->_filterList[pMFFilter->_filterList.count()-1].append(QMessageFolderFilter::byParentAccountId(accountIds[x],QMessageDataComparator::Equal));
+ qSort(pMFFilter->_filterList[pMFFilter->_filterList.count()-1].begin(), pMFFilter->_filterList[pMFFilter->_filterList.count()-1].end(), QMessageFolderFilterPrivate::lessThan);
+ }
+ }
+ }
+ } else { // Excludes
+ for (int x = 0; x < accountIds.count(); x++) {
+ pMFFilter->_filterList[i].append(QMessageFolderFilter::byParentAccountId(accountIds[x],QMessageDataComparator::NotEqual));
+ }
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFolderFilterPrivate::lessThan);
+ }
+ } else {
+ delete pMFFilter2->_accountFilter;
+ pMFFilter2->_accountFilter = 0;
+ pMFFilter2->_field = QMessageFolderFilterPrivate::Id;
+ qSort(pMFFilter->_filterList[i].begin(), pMFFilter->_filterList[i].end(), QMessageFolderFilterPrivate::lessThan);
+ }
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ if (pMFFilter->_field == QMessageFolderFilterPrivate::ParentAccountIdFilter) {
+ QMessageAccountIdList accountIds = queryAccounts(*pMFFilter->_accountFilter, QMessageAccountSortOrder(), 0, 0);
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pMFFilter->_comparatorValue));
+ if (accountIds.count() > 0) {
+ for (int i=0; i < accountIds.count(); i++) {
+ if (i == 0) {
+ delete pMFFilter->_accountFilter;
+ pMFFilter->_accountFilter = 0;
+ pMFFilter->_field = QMessageFolderFilterPrivate::ParentAccountId;
+ pMFFilter->_value = accountIds[0].toString();
+ pMFFilter->_comparatorType = QMessageFolderFilterPrivate::Equality;
+ if (cmp == QMessageDataComparator::Includes) {
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::Equal);
+ } else { // Excludes
+ pMFFilter->_comparatorValue = static_cast<int>(QMessageDataComparator::NotEqual);
+ }
+ } else {
+ if (cmp == QMessageDataComparator::Includes) {
+ filter |= QMessageFolderFilter::byParentAccountId(accountIds[i],QMessageDataComparator::Equal);
+ } else { // Excludes
+ filter &= QMessageFolderFilter::byParentAccountId(accountIds[i],QMessageDataComparator::NotEqual);
+ }
+ }
+ }
+ } else {
+ delete pMFFilter->_accountFilter;
+ pMFFilter->_accountFilter = 0;
+ pMFFilter->_field = QMessageFolderFilterPrivate::Id;
+ }
+ }
+ }
+}
+
+QMessageFolderIdList CFSEngine::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const
+{
+ QMessageFolderIdList ids;
+
+ QMessageFolderFilter copyOfFilter = filter;
+
+ handleNestedFiltersFromFolderFilter(copyOfFilter);
+
+ QMessageFolderFilterPrivate* pMFFilter = QMessageFolderFilterPrivate::implementation(copyOfFilter);
+
+ if (pMFFilter->_filterList.count() > 0) {
+ for (int i=0; i < pMFFilter->_filterList.count(); i++) {
+ bool filterHandled;
+ QMessageFolderIdList ids2 = filterMessageFolders(pMFFilter->_filterList[i][0], filterHandled);
+ for (int x=ids2.count()-1; x >= 0; x--) {
+ QMessageFolder mf = folder(ids2[x]);
+ int j = filterHandled ? 1 : 0;
+ for (; j < pMFFilter->_filterList[i].count(); j++) {
+ if (!QMessageFolderFilterPrivate::implementation(pMFFilter->_filterList[i][j])->filter(mf)) {
+ ids2.removeAt(x);
+ break;
+ }
+ }
+ }
+ for (int j=0; j < ids2.count(); j++) {
+ if (!ids.contains(ids2[j])) {
+ ids.append(ids2[j]);
+ }
+ }
+ }
+ } else {
+ bool filterHandled;
+ ids = filterMessageFolders(copyOfFilter, filterHandled);
+ if (!filterHandled) {
+ for (int i=ids.count()-1; i >= 0; i--) {
+ if (!QMessageFolderFilterPrivate::implementation(copyOfFilter)->filter(ids[i])) {
+ ids.removeAt(i);
+ }
+ }
+ }
+ }
+
+ if (!sortOrder.isEmpty()) {
+ orderFolders(ids, sortOrder);
+ }
+
+ applyOffsetAndLimitToMsgFolderIds(ids, offset, limit);
+
+ return ids;
+}
+
+void CFSEngine::applyOffsetAndLimitToMsgFolderIds(QMessageFolderIdList& idList, int offset, int limit) const
+{
+ if (offset > 0) {
+ if (offset > idList.count()) {
+ idList.clear();
+ } else {
+ for (int i = 0; i < offset; i++) {
+ idList.removeFirst();
+ }
+ }
+ }
+ if (limit > 0) {
+ for (int i = idList.count()-1; i >= limit; i--) {
+ idList.removeAt(i);
+ }
+ }
+}
+
+int CFSEngine::countFolders(const QMessageFolderFilter &filter) const
+{
+ return queryFolders(filter, QMessageFolderSortOrder(), 0, 0).count();
+}
+
+QMessageFolder CFSEngine::folder(const QMessageFolderId &id) const
+{
+ //return QMessageFolder();
+
+ QMessageFolder folder;
+ TRAPD(err, folder = folderL(id));
+ Q_UNUSED(err)
+
+ return folder;
+}
+
+QMessageFolder CFSEngine::folderL(const QMessageFolderId &id) const
+{
+ QMessageFolder folder;
+ MEmailMailbox* mailbox = NULL;
+ QMessageFolderId parentId;
+ QMessageAccountId accountId;
+
+ // get account containing folder
+ TRAPD(err, updateEmailAccountsL());
+ Q_UNUSED(err)
+ foreach (QMessageAccount value, m_accounts) {
+ accountId = value.id();
+ QMessageFolderIdList ids = folderIdsByAccountIdL(accountId);
+ if (ids.contains(id)) {
+ TMailboxId mailboxId(stripIdPrefix(accountId.toString()).toInt());
+ mailbox = m_clientApi->MailboxL(mailboxId);
+ CleanupReleasePushL(*mailbox);
+ TFolderId folderId(stripIdPrefix(id.toString()).toInt(), mailbox->MailboxId());
+ MEmailFolder* emailFolder = mailbox->FolderL(folderId);
+ CleanupReleasePushL(*emailFolder);
+ QString name = QString::fromUtf16(emailFolder->Name().Ptr(), emailFolder->Name().Length());
+ folder = QMessageFolderPrivate::from(id, accountId, parentId, name, name);
+ CleanupStack::PopAndDestroy(emailFolder);
+ CleanupStack::PopAndDestroy(mailbox);
+ break;
+ }
+ }
+ return folder;
+}
+
+QMessageFolderIdList CFSEngine::filterMessageFolders(const QMessageFolderFilter& filter, bool& filterHandled) const
+{
+ QMessageFolderIdList ids;
+ TRAPD(err, ids = filterMessageFoldersL(filter, filterHandled));
+ Q_UNUSED(err)
+ return ids;
+}
+
+QMessageFolderIdList CFSEngine::filterMessageFoldersL(const QMessageFolderFilter& filter, bool& filterHandled) const
+{
+ filterHandled = false;
+ QMessageFolderIdList ids;
+
+ if (filter.isEmpty()) {
+ QMessageFolderFilterPrivate* pf = QMessageFolderFilterPrivate::implementation(filter);
+ if (!pf->_notFilter) {
+ ids = allFolders();
+ }
+ filterHandled = true;
+ } else {
+ QMessageFolderFilterPrivate* pf = QMessageFolderFilterPrivate::implementation(filter);
+ if (!pf->_valid) {
+ return QMessageFolderIdList();
+ }
+
+ switch (pf->_field) {
+ case QMessageFolderFilterPrivate::Id:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (pf->_value.toString().length() > QString(SymbianHelpers::mtmPrefix).length()) {
+ bool folderOk = false;
+ MEmailMailbox* mailbox = NULL;
+ MEmailFolder* folder = NULL;;
+ if (fsFolderL(QMessageFolderId(pf->_value.toString()), mailbox, folder)) {
+ folderOk = true;
+ // cleanup
+ folder->Release();
+ mailbox->Release();
+ }
+ if (cmp == QMessageDataComparator::Equal) {
+ if (folderOk) {
+ ids.append(QMessageFolderId(pf->_value.toString()));
+ }
+ } else { // NotEqual
+ ids = allFolders();
+ if (folderOk) {
+ ids.removeOne(QMessageFolderId(pf->_value.toString()));
+ }
+ }
+ } else {
+ if (cmp == QMessageDataComparator::NotEqual) {
+ ids = allFolders();
+ }
+ }
+ filterHandled = true;
+ } else if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (pf->_ids.count() > 0) { // QMessageIdList
+ QMessageFolderIdList ids2;
+ for (int i=0; i < pf->_ids.count(); i++) {
+ MEmailMailbox* mailbox = NULL;
+ MEmailFolder* folder = NULL;
+ if (fsFolderL(QMessageFolderId(pf->_ids[i]), mailbox, folder)) {
+ ids2.append(pf->_ids[i]);
+ // cleanup
+ folder->Release();
+ mailbox->Release();
+ }
+ }
+ if (cmp == QMessageDataComparator::Includes) {
+ ids << ids2;
+ } else { // Excludes
+ ids = allFolders();
+ for (int i=0; i < ids2.count(); i++) {
+ ids.removeOne(ids2[i]);
+ }
+ }
+ filterHandled = true;
+ } else {
+ // Empty QMessageIdList as a list
+ if (cmp == QMessageDataComparator::Excludes) {
+ ids = allFolders();
+ }
+ filterHandled = true;
+
+ // QMessageFilter
+ /*if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }*/
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::Name:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ // TODO:
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ if (pf->_value.toString().isEmpty() || pf->_value.toString().length() == 0) {
+ filterHandled = true;
+ }
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::Path:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ // TODO:
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ if (pf->_value.toString().isEmpty() || pf->_value.toString().length() == 0) {
+ filterHandled = true;
+ }
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::ParentAccountId:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ if (pf->_value.toString().length() > 0) {
+ ids = folderIdsByAccountIdL(QMessageAccountId(pf->_value.toString()));
+ }
+ } else { // NotEqual
+ ids = allFolders();
+ if (pf->_value.toString().length() > 0) {
+ QMessageFolderIdList ids2 = folderIdsByAccountIdL(QMessageAccountId(pf->_value.toString()));
+ for (int i = 0; i < ids2.count(); i++) {
+ ids.removeOne(ids2[i]);
+ }
+ }
+ }
+ filterHandled = true;
+ } else if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::ParentFolderId:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ MEmailMailbox* mailbox = NULL;
+ MEmailFolder* parentFolder = NULL;
+ if (fsFolderL(QMessageFolderId(pf->_value.toString()), mailbox, parentFolder)) {
+ CleanupReleasePushL(*mailbox);
+ CleanupReleasePushL(*parentFolder);
+
+ RFolderArray subfolders;
+
+ parentFolder->GetSubfoldersL(subfolders);
+ CleanupClosePushL(subfolders);
+
+ for(TInt i=0; i < subfolders.Count(); i++) {
+ MEmailFolder *subFolder = subfolders[i];
+
+ ids.append(QMessageFolderId(addIdPrefix(
+ QString::number(subFolder->FolderId().iId),
+ SymbianHelpers::EngineTypeFreestyle)));
+
+ subFolder->Release();
+ }
+
+ CleanupStack::PopAndDestroy(&subfolders);
+ CleanupStack::PopAndDestroy(parentFolder);
+ CleanupStack::PopAndDestroy(mailbox);
+ }
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::AncestorFolderIds:
+ {
+ if (pf->_comparatorType == QMessageFolderFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (!pf->_value.isNull()) { // QMessageFolderId
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ } else { // QMessageFolderFilter
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ }
+ break;
+ }
+ case QMessageFolderFilterPrivate::ParentAccountIdFilter:
+ case QMessageFolderFilterPrivate::None:
+ break;
+ }
+ }
+
+ if (!filterHandled) {
+ ids = allFolders();
+ }
+
+ return ids;
+}
+
+
+QMessageFolderIdList CFSEngine::allFolders() const
+{
+ QMessageFolderIdList ids;
+ TRAPD(err, updateEmailAccountsL());
+ Q_UNUSED(err)
+ foreach (QMessageAccount value, m_accounts) {
+ QMessageFolderIdList ids2 = folderIdsByAccountId(value.id());
+ ids << ids2;
+ }
+ return ids;
+}
+
+QMessageFolderIdList CFSEngine::folderIdsByAccountId(const QMessageAccountId& accountId) const
+{
+ QMessageFolderIdList idList;
+ TRAPD(err, idList << folderIdsByAccountIdL(accountId))
+ Q_UNUSED(err);
+ return idList;
+}
+
+QMessageFolderIdList CFSEngine::folderIdsByAccountIdL(const QMessageAccountId& accountId) const
+{
+ QMessageFolderIdList folderIds;
+
+ if (idType(accountId) != EngineTypeFreestyle)
+ return QMessageFolderIdList();
+
+ QMessageAccount messageAccount = account(accountId);
+
+ TMailboxId mailboxId(stripIdPrefix(accountId.toString()).toInt());
+ MEmailMailbox* mailbox = NULL;
+ mailbox = m_clientApi->MailboxL(mailboxId);
+
+ if (mailbox == NULL)
+ return QMessageFolderIdList();
+
+ CleanupReleasePushL(*mailbox);
+
+ RFolderArray folders;
+
+ mailbox->GetFoldersL(folders);
+ CleanupClosePushL(folders);
+
+ for(TInt i=0; i < folders.Count(); i++) {
+ MEmailFolder *mailFolder = folders[i];
+
+ QString fsIdAsString = addIdPrefix(QString::number(mailFolder->FolderId().iId), SymbianHelpers::EngineTypeFreestyle);
+ folderIds.append(QMessageFolderId(fsIdAsString));
+
+ //TODO: Support for subfolders?
+ mailFolder->Release();
+ }
+
+ CleanupStack::PopAndDestroy(&folders);
+ CleanupStack::PopAndDestroy(mailbox);
+
+ return folderIds;
+}
+
+bool CFSEngine::fsFolderL(const QMessageFolderId& id, MEmailMailbox* mailbox, MEmailFolder* folder) const
+{
+ Q_UNUSED(folder);
+ MEmailFolder* fsFolder = NULL;
+ foreach (QMessageAccount account, m_accounts) {
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ mailbox = m_clientApi->MailboxL(mailboxId);
+
+ TFolderId folderId(
+ stripIdPrefix(id.toString()).toInt(),
+ mailboxId);
+
+ TRAPD(err, folder = mailbox->FolderL(folderId));
+ if (err == KErrNone) {
+ CleanupReleasePushL(*fsFolder);
+ return true;
+ }
+ mailbox->Release();
+ }
+ mailbox = NULL;
+ folder = NULL;
+ return false;
+}
+
+
+QMessage CFSEngine::message(const QMessageId& id) const
+{
+ QMessage message = QMessage();
+ TRAPD(err, message = messageL(id));
+ Q_UNUSED(err);
+ return message;
+}
+
+QMessage CFSEngine::messageL(const QMessageId& id) const
+{
+ QMessage message = QMessage();
+ foreach (QMessageAccount account, m_accounts) {
+ TMailboxId mailboxId(stripIdPrefix(account.id().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ CleanupReleasePushL(*mailbox);
+
+ TMessageId messageId(
+ stripIdPrefix(id.toString()).toInt(),
+ 0, //stripIdPrefix(folderId.toString()).toInt(),
+ mailboxId);
+
+ MEmailMessage* fsMessage = NULL;
+
+ TRAPD(err, fsMessage = mailbox->MessageL(messageId));
+ if (err == KErrNone) {
+ CleanupReleasePushL(*fsMessage);
+ message = CreateQMessageL(fsMessage);
+
+ QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
+ privateMessage->_id = id;
+ privateMessage->_modified = false;
+
+ CleanupStack::PopAndDestroy(fsMessage);
+ CleanupStack::PopAndDestroy(mailbox);
+ return message;
+ }
+ CleanupStack::PopAndDestroy(mailbox);
+ }
+ return message;
+}
+
+bool CFSEngine::sendEmail(QMessage &message)
+{
+ TMailboxId mailboxId(stripIdPrefix(message.parentAccountId().toString()).toInt());
+ MEmailMailbox* mailbox = NULL;
+ TRAPD(mailerr, mailbox = m_clientApi->MailboxL(mailboxId));
+ Q_UNUSED(mailerr);
+
+ MEmailMessage* fsMessage = NULL;
+ TRAPD(err,
+ fsMessage = createFSMessageL(message, mailbox);
+ fsMessage->SaveChangesL();
+ fsMessage->SendL();
+ );
+
+ if (fsMessage)
+ fsMessage->Release();
+ if (mailbox)
+ mailbox->Release();
+
+ if (err != KErrNone)
+ return false;
+ else
+ return true;
+}
+
+QMessage CFSEngine::CreateQMessageL(MEmailMessage* aMessage) const
+{
+ QMessage message;
+ int size = 0;
+ message.setType(QMessage::Email);
+
+ message.setDate(symbianTTimetoQDateTime(aMessage->Date()));
+ message.setReceivedDate(symbianTTimetoQDateTime(aMessage->Date()));
+
+ const TFolderId& folderId = aMessage->ParentFolderId();
+ TMailboxId mailboxId = folderId.iMailboxId;
+ const QMessageAccountId accountId = QMessageAccountId(QString::number(mailboxId.iId));
+ message.setParentAccountId(accountId);
+ QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
+ privateMessage->_parentFolderId = QMessageFolderId(QString::number(folderId.iId));
+
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ MEmailFolder* folder = mailbox->FolderL(folderId);
+ QMessagePrivate::setStandardFolder(message, QMessage::InboxFolder);
+ if (folder->FolderType() == EDrafts) {
+ QMessagePrivate::setStandardFolder(message, QMessage::DraftsFolder);
+ } else if (folder->FolderType() == EDeleted) {
+ QMessagePrivate::setStandardFolder(message, QMessage::TrashFolder);
+ } else if (folder->FolderType() == ESent) {
+ QMessagePrivate::setStandardFolder(message, QMessage::SentFolder);
+ }
+ folder->Release();
+ mailbox->Release();
+
+ if (aMessage->Flags() & EFlag_Read) {
+ privateMessage->_status = privateMessage->_status | QMessage::Read;
+ }
+
+ if (aMessage->Flags() & EFlag_Important) {
+ message.setPriority(QMessage::HighPriority);
+ } else if (aMessage->Flags() & EFlag_Low) {
+ message.setPriority(QMessage::LowPriority);
+ } else {
+ message.setPriority(QMessage::NormalPriority);
+ }
+
+ // bodytext and attachment(s)
+ MEmailMessageContent* content = aMessage->ContentL();
+ if (content) {
+ AddContentToMessage(content, &message);
+ }
+
+ REmailAttachmentArray attachments;
+ CleanupResetAndRelease<MEmailAttachment>::PushL(attachments);
+ TInt count = aMessage->GetAttachmentsL(attachments);
+ if (count > 0)
+ privateMessage->_status = privateMessage->_status | QMessage::HasAttachments;
+
+ for(TInt i = 0; i < count; i++) {
+ TInt availableSize = attachments[i]->AvailableSize();
+ QByteArray name = QString::fromUtf16(attachments[i]->FileNameL().Ptr(), attachments[i]->FileNameL().Length()).toLocal8Bit();
+ QByteArray mimeType; // TODO: email client api doesn't offer information about attachment mimetype
+ QByteArray mimeSubType; // TODO;
+ int size = attachments[i]->TotalSize();
+ QMessageContentContainer attachment = QMessageContentContainerPrivate::from(
+ aMessage->MessageId().iId,
+ attachments[i]->Id().iId,
+ name, mimeType,
+ mimeSubType, size);
+ addAttachmentToMessage(message, attachment);
+ }
+ CleanupStack::PopAndDestroy();
+ attachments.Close();
+
+ //from
+ TPtrC from = aMessage->SenderAddressL()->Address();
+ if (from.Length() > 0) {
+ message.setFrom(QMessageAddress(QMessageAddress::Email, QString::fromUtf16(from.Ptr(), from.Length())));
+ QMessagePrivate::setSenderName(message, QString::fromUtf16(from.Ptr(), from.Length()));
+ }
+
+ //to
+ REmailAddressArray toRecipients;
+ CleanupResetAndRelease<MEmailAddress>::PushL(toRecipients);
+
+ aMessage->GetRecipientsL(MEmailAddress::ETo, toRecipients);
+ QList<QMessageAddress> toList;
+ for(TInt i = 0; i < toRecipients.Count(); i++) {
+ TPtrC to = toRecipients[i]->Address();
+ toList.append(QMessageAddress(QMessageAddress::Email, QString::fromUtf16(to.Ptr(), to.Length())));
+ }
+ message.setTo(toList);
+ CleanupStack::PopAndDestroy(&toRecipients);
+ toRecipients.Close();
+
+ //cc
+ REmailAddressArray ccRecipients;
+ CleanupResetAndRelease<MEmailAddress>::PushL(ccRecipients);
+ aMessage->GetRecipientsL(MEmailAddress::ECc, ccRecipients);
+ QList<QMessageAddress> ccList;
+ for(TInt i = 0; i < ccRecipients.Count(); i++) {
+ TPtrC cc = ccRecipients[i]->Address();
+ ccList.append(QMessageAddress(QMessageAddress::Email, QString::fromUtf16(cc.Ptr(), cc.Length())));
+ }
+ message.setCc(ccList);
+ CleanupStack::PopAndDestroy(&ccRecipients);
+ ccRecipients.Close();
+
+ //bcc
+ REmailAddressArray bccRecipients;
+ CleanupResetAndRelease<MEmailAddress>::PushL(bccRecipients);
+ aMessage->GetRecipientsL(MEmailAddress::EBcc, bccRecipients);
+ QList<QMessageAddress> bccList;
+ for(TInt i = 0; i < bccRecipients.Count(); i++) {
+ TPtrC bcc = bccRecipients[i]->Address();
+ bccList.append(QMessageAddress(QMessageAddress::Email, QString::fromUtf16(bcc.Ptr(), bcc.Length())));
+ }
+ message.setBcc(bccList);
+ CleanupStack::PopAndDestroy(&bccRecipients);
+ bccRecipients.Close();
+
+ // Read message subject
+ TPtrC subject = aMessage->Subject();
+ if (subject.Length() > 0) {
+ message.setSubject(QString::fromUtf16(subject.Ptr(), subject.Length()));
+ }
+ // TODO: size
+ privateMessage->_size = size;
+
+ return message;
+}
+
+void CFSEngine::AddContentToMessage(MEmailMessageContent* aContent, QMessage* aMessage) const
+{
+ MEmailMultipart* mPart = aContent->AsMultipartOrNull();
+ if (mPart) {
+ TInt partCount = 0;
+ TRAPD(err, partCount = mPart->PartCountL());
+ if (err == KErrNone) {
+ for (TInt i = 0; i < partCount-1; i++) {
+ MEmailMessageContent* content = NULL;
+ TRAPD(err2, content = mPart->PartByIndexL(i));
+ if (err2 == KErrNone) {
+ AddContentToMessage(content, aMessage);
+ content->Release();
+ }
+ }
+ }
+ return;
+ }
+
+ MEmailTextContent* textContent = aContent->AsTextContentOrNull();
+ if (textContent) {
+ TInt availableSize = textContent->AvailableSize();
+ TRAPD(err,
+ TPtrC body = textContent->ContentL();
+ QString text = QString::fromUtf16(body.Ptr(), body.Length());
+ if (textContent->TextType() == MEmailTextContent::EPlainText) {
+ aMessage->setBody(text, "text/plain");
+ }
+ else if (textContent->TextType() == MEmailTextContent::EHtmlText) {
+ aMessage->setBody(text, "text/html");
+ }
+ );
+ Q_UNUSED(err);
+ return;
+ }
+}
+
+void CFSEngine::addAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const
+{
+ QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
+ QMessageContentContainerPrivate* container = QMessagePrivate::containerImplementation(message);
+
+ if (container->_attachments.isEmpty()) {
+ QMessageContentContainerId existingBodyId(message.bodyId());
+ if (existingBodyId == QMessageContentContainerPrivate::bodyContentId()) {
+ // The body content is in the message itself - move it to become the first attachment
+ QMessageContentContainer newBody(message);
+ QMessageContentContainerPrivate::implementation(newBody)->setDerivedMessage(0);
+
+ container->setContentType("multipart", "mixed", "");
+ privateMessage->_bodyId = container->prependContent(newBody);
+ } else {
+ // This message is now multipart
+ container->setContentType("multipart", "mixed", "");
+ }
+
+ container->_available = true;
+ }
+
+ container->appendContent(attachment);
+
+ bool haveAttachments = !container->_attachments.isEmpty();
+ message.setStatus(QMessage::HasAttachments,haveAttachments);
+
+ privateMessage->_modified = true;
+}
+
+QDateTime CFSEngine::symbianTTimetoQDateTime(const TTime& time) const
+{
+ TDateTime dateTime = time.DateTime();
+ QDate qdate = QDate(dateTime.Year(), static_cast<int>(dateTime.Month())+1, dateTime.Day()+1);
+ QTime qtime = QTime(dateTime.Hour(), dateTime.Minute(), dateTime.Second(), dateTime.MicroSecond()/1000 );
+ return QDateTime(qdate, qtime, Qt::UTC);
+}
+
+TTime CFSEngine::qDateTimeToSymbianTTime(const QDateTime& date) const
+{
+ TDateTime dateTime;
+ dateTime.SetYear(date.date().year());
+ dateTime.SetMonth(static_cast<TMonth>(date.date().month()-1));
+ dateTime.SetDay(date.date().day()-1);
+ dateTime.SetHour(date.time().hour());
+ dateTime.SetMinute(date.time().minute());
+ dateTime.SetSecond(date.time().second());
+ dateTime.SetMicroSecond(date.time().msec()*1000);
+ return TTime(dateTime);
+}
+
+TFolderType CFSEngine::standardFolderId(QMessage::StandardFolder standardFolder)
+{
+ switch(standardFolder) {
+ case QMessage::InboxFolder: return EInbox;
+ case QMessage::OutboxFolder: return EOutbox;
+ case QMessage::DraftsFolder: return EDrafts;
+ case QMessage::SentFolder: return ESent;
+ case QMessage::TrashFolder: return EDeleted;
+ default: return EOther;
+ }
+}
+
+CFSMessagesFindOperation::CFSMessagesFindOperation(CFSEngine& aOwner, int aOperationId)
+ : m_owner(aOwner),
+ m_operationId(aOperationId),
+ m_resultCorrectlyOrdered(false),
+ m_receiveNewMessages(false),
+ m_activeSearchCount(0),
+ m_searchField(None)
+{
+ TRAPD(err,
+ m_factory = CEmailInterfaceFactory::NewL();
+ m_interfacePtr = m_factory->InterfaceL(KEmailClientApiInterface);
+ m_clientApi = static_cast<MEmailClientApi*>(m_interfacePtr);
+ );
+ Q_UNUSED(err);
+}
+
+CFSMessagesFindOperation::~CFSMessagesFindOperation()
+{
+ foreach(FSSearchOperation operation, m_searchOperations) {
+ operation.m_search->Release();
+ operation.m_mailbox->Release();
+ }
+
+ m_receiveNewMessages = false;
+ m_clientApi->Release();
+ delete m_factory;
+
+}
+
+void CFSMessagesFindOperation::filterAndOrderMessages(const QMessageFilter &filter, const QMessageSortOrder& sortOrder,
+ QString body, QMessageDataComparator::MatchFlags matchFlags)
+{
+ m_filterList.clear();
+ m_filterList.append(filter);
+ filterAndOrderMessages(m_filterList, sortOrder, body, matchFlags);
+}
+
+void CFSMessagesFindOperation::filterAndOrderMessages(const QMessageFilterPrivate::SortedMessageFilterList& filters,
+ const QMessageSortOrder& sortOrder,
+ QString body,
+ QMessageDataComparator::MatchFlags matchFlags)
+{
+ TRAPD(err, filterAndOrderMessagesL(filters, sortOrder, body, matchFlags));
+ if (err != KErrNone) {
+ //something has failed -> return empty list
+ m_idList = QMessageIdList();
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ }
+}
+
+void CFSMessagesFindOperation::filterAndOrderMessagesL(const QMessageFilterPrivate::SortedMessageFilterList& filters,
+ const QMessageSortOrder& sortOrder,
+ QString body,
+ QMessageDataComparator::MatchFlags matchFlags)
+{
+ m_numberOfHandledFilters = 0;
+
+ TEmailSortCriteria sortCriteria = TEmailSortCriteria();
+ m_excludeIdList = QMessageIdList();
+
+ m_matchFlags = matchFlags;
+
+ if (filters.count() == 0) {
+ m_idList = QMessageIdList();
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ return;
+ }
+
+ QMessageFilterPrivate* pf = QMessageFilterPrivate::implementation(filters[m_numberOfHandledFilters]);
+
+ // Set sortOrder
+ if (!sortOrder.isEmpty() ) {
+ QMessageSortOrderPrivate* privateMessageOrdering = QMessageSortOrderPrivate::implementation(sortOrder);
+ QPair<QMessageSortOrderPrivate::Field, Qt::SortOrder> fieldOrder = privateMessageOrdering->_fieldOrderList.at(0);
+ switch (fieldOrder.first) {
+ case QMessageSortOrderPrivate::Type:
+ break;
+ case QMessageSortOrderPrivate::Sender:
+ sortCriteria.iField = TEmailSortCriteria::EBySender;
+ break;
+ case QMessageSortOrderPrivate::Recipients:
+ sortCriteria.iField = TEmailSortCriteria::EByRecipient;
+ break;
+ case QMessageSortOrderPrivate::Subject:
+ sortCriteria.iField = TEmailSortCriteria::EBySubject;
+ break;
+ case QMessageSortOrderPrivate::TimeStamp:
+ sortCriteria.iField = TEmailSortCriteria::EByDate;
+ break;
+ case QMessageSortOrderPrivate::ReceptionTimeStamp:
+ sortCriteria.iField = TEmailSortCriteria::EBySender;
+ break;
+ case QMessageSortOrderPrivate::Read:
+ sortCriteria.iField = TEmailSortCriteria::EByUnread;
+ break;
+ case QMessageSortOrderPrivate::HasAttachments:
+ sortCriteria.iField = TEmailSortCriteria::EByAttachment;
+ break;
+ case QMessageSortOrderPrivate::Incoming:
+ //TODO:
+ break;
+ case QMessageSortOrderPrivate::Removed:
+ //TODO:
+ break;
+ case QMessageSortOrderPrivate::Priority:
+ sortCriteria.iField = TEmailSortCriteria::EByPriority;
+ break;
+ case QMessageSortOrderPrivate::Size:
+ sortCriteria.iField = TEmailSortCriteria::EBySize;
+ break;
+ }
+ sortCriteria.iAscending = fieldOrder.second == Qt::AscendingOrder?true:false;
+ } else {
+ // This is a workaroud for getFolderSpecificMessagesL crashing when default TEmailSortCriteria (EDontCare) is set
+ sortCriteria.iField = TEmailSortCriteria::EByDate;
+ }
+
+ if ((filters.count() == 1) &&
+ (pf->_field == QMessageFilterPrivate::None) &&
+ (pf->_filterList.count() == 0)) {
+ if (pf->_notFilter) {
+ // There is only one filter: empty ~QMessageFilter()
+ // => return empty QMessageIdList
+ m_idList = QMessageIdList();
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ } else {
+ // There is only one filter: empty QMessageFilter()
+ // => return all messages
+ getAllMessagesL(sortCriteria);
+ }
+ m_numberOfHandledFilters++;
+ return;
+ }
+
+ if (!body.isEmpty()) {
+ m_searchField = Body;
+ m_searchKey = body;
+ }
+
+ switch (pf->_field) {
+
+ case QMessageFilterPrivate::ParentFolderId: {
+ if (idType(pf->_value.toString()) != EngineTypeFreestyle) {
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ return;
+ }
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) { // QMessageFolderId
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ m_numberOfHandledFilters++;
+ QMessageFolder messageFolder = m_owner.folder(QMessageFolderId(pf->_value.toString()));
+ getFolderSpecificMessagesL(messageFolder, sortCriteria);
+ m_resultCorrectlyOrdered = true;
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) { // QMessageFolderFilter
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ break;
+ }
+ case QMessageFilterPrivate::Id: {
+ if (idType(pf->_value.toString()) != EngineTypeFreestyle) {
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ return;
+ }
+ m_numberOfHandledFilters++;
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) { // QMessageId
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (!pf->_value.isNull() && pf->_value.toString().length() > QString(SymbianHelpers::freestylePrefix).length()) {
+ if (cmp == QMessageDataComparator::Equal) {
+ QMessage message = m_owner.message(QMessageId(pf->_value.toString()));
+ m_idList.clear();
+ m_idList.append(message.id());
+ m_resultCorrectlyOrdered = true;
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+
+ } else { // NotEqual
+ m_excludeIdList.clear();
+ m_excludeIdList.append(QMessageId(pf->_value.toString()));
+ getAllMessagesL(sortCriteria);
+ }
+ } else {
+ if (cmp == QMessageDataComparator::NotEqual) {
+ getAllMessagesL(sortCriteria);
+ }
+ }
+ } else if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (pf->_ids.count() > 0) { // QMessageIdList
+ if (cmp == QMessageDataComparator::Includes) {
+ for (int i=0; i < pf->_ids.count(); i++) {
+ QMessage message = m_owner.message(QMessageId(pf->_ids[i].toString()));
+ m_idList.append(message.id());
+ }
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ } else { // Excludes
+ for (int i=0; i < pf->_ids.count(); i++) {
+ m_excludeIdList.clear();
+ m_excludeIdList.append(QMessageId(pf->_ids[i].toString()));
+ getAllMessagesL(sortCriteria);
+ }
+ getAllMessagesL(sortCriteria);
+ }
+ } else {
+ //ipEntrySelection = new(ELeave)CMsvEntrySelection;
+ if (cmp == QMessageDataComparator::Excludes) {
+ getAllMessagesL(sortCriteria);
+ }
+ /*// QMessageFilter
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }*/
+ }
+ }
+ break;
+ }
+ case QMessageFilterPrivate::ParentAccountId: {
+ if (idType(pf->_value.toString()) != EngineTypeFreestyle) {
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ return;
+ }
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) { // QMessageAccountId
+ m_numberOfHandledFilters++;
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ QMessageAccount messageAccount = m_owner.account(pf->_value.toString());
+ getAccountSpecificMessagesL(messageAccount, sortCriteria);
+ m_resultCorrectlyOrdered = true;
+ } else { // NotEqual
+ QStringList exludedAccounts;
+ exludedAccounts << pf->_value.toString();
+
+ QMessageFilterPrivate* privateFilter = NULL;
+ for (int i=m_numberOfHandledFilters; i < filters.count(); i++) {
+ privateFilter = QMessageFilterPrivate::implementation(filters[i]);
+ if (privateFilter->_field == QMessageFilterPrivate::ParentAccountId &&
+ privateFilter->_comparatorType == QMessageFilterPrivate::Equality) {
+ cmp = static_cast<QMessageDataComparator::EqualityComparator>(privateFilter->_comparatorValue);
+ if (cmp == QMessageDataComparator::NotEqual) {
+ exludedAccounts << privateFilter->_value.toString();
+ m_numberOfHandledFilters++;
+ } else {
+ break;
+ }
+ } else {
+ break;
+ }
+ }
+
+ privateFilter = NULL;
+ if (filters.count() > m_numberOfHandledFilters) {
+ privateFilter = QMessageFilterPrivate::implementation(filters[m_numberOfHandledFilters]);
+ if (privateFilter->_field == QMessageFilterPrivate::StandardFolder &&
+ privateFilter->_comparatorType == QMessageFilterPrivate::Equality) {
+ cmp = static_cast<QMessageDataComparator::EqualityComparator>(privateFilter->_comparatorValue);
+ if (cmp == QMessageDataComparator::Equal) {
+ m_numberOfHandledFilters++;
+ }
+ } else {
+ privateFilter = NULL;
+ }
+ }
+
+ foreach (QMessageAccount value, m_owner.m_accounts) {
+ if (!exludedAccounts.contains(value.id().toString())) {
+ getAccountSpecificMessagesL(value, sortCriteria);
+ }
+ }
+ }
+ }
+ break;
+ }
+
+ case QMessageFilterPrivate::AncestorFolderIds: {
+ m_numberOfHandledFilters++;
+ if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (!pf->_value.isNull()) { // QMessageFolderId
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ } else { // QMessageFolderFilter
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ }
+ break;
+ }
+ case QMessageFilterPrivate::Type: {
+ m_numberOfHandledFilters++;
+ QMessageFilterPrivate* privateFilter = NULL;
+ // Check if next filter is StandardFolder filter
+ if (filters.count() > m_numberOfHandledFilters) {
+ privateFilter = QMessageFilterPrivate::implementation(filters[m_numberOfHandledFilters]);
+ if (privateFilter->_field != QMessageFilterPrivate::StandardFolder) {
+ privateFilter = NULL;
+ } else {
+ m_numberOfHandledFilters++;
+ }
+ }
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) { // QMessage::Type
+ QMessage::Type type = static_cast<QMessage::Type>(pf->_value.toInt());
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ QMessageAccountIdList accountIds = m_owner.accountsByType(type);
+ for (int i = 0; i < accountIds.count(); i++) {
+ QMessageAccount messageAccount = m_owner.account(accountIds[i]);
+ getAccountSpecificMessagesL(messageAccount, sortCriteria);
+ }
+ } else { // NotEqual
+ foreach (QMessageAccount value, m_owner.m_accounts) {
+ if (!(value.messageTypes() & type)) {
+ getAccountSpecificMessagesL(value, sortCriteria);
+ }
+ }
+ }
+ } else if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) { // QMessage::TypeFlags
+ QMessage::TypeFlags typeFlags = static_cast<QMessage::TypeFlags>(pf->_value.toInt());
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ foreach (QMessageAccount value, m_owner.m_accounts) {
+ if (value.messageTypes() | typeFlags) {
+ getAccountSpecificMessagesL(value, sortCriteria);
+ }
+ }
+
+ } else { // Excludes
+ foreach (QMessageAccount value, m_owner.m_accounts) {
+ if (!(value.messageTypes() & typeFlags)) {
+ getAccountSpecificMessagesL(value, sortCriteria);
+ }
+ }
+ }
+ }
+ break;
+ }
+ case QMessageFilterPrivate::StandardFolder: {
+ m_numberOfHandledFilters++;
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ QMessage::StandardFolder standardFolder = static_cast<QMessage::StandardFolder>(pf->_value.toInt());
+ TFolderType stdFolder = m_owner.standardFolderId(standardFolder);
+
+ if (cmp == QMessageDataComparator::Equal) {
+ foreach (QMessageAccount messageAccount, m_owner.m_accounts) {
+ TMailboxId mailboxId(stripIdPrefix(messageAccount.id().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ CleanupReleasePushL(*mailbox);
+ MEmailFolder* folder = mailbox->FolderByTypeL(stdFolder);
+ CleanupReleasePushL(*folder);
+ QMessageFolder standardFolder = m_owner.folder(
+ QMessageFolderId(QString::number(folder->FolderId().iId)));
+ getFolderSpecificMessagesL(standardFolder, sortCriteria);
+ m_activeSearchCount++;
+ CleanupStack::PopAndDestroy(folder);
+ CleanupStack::PopAndDestroy(mailbox);
+ }
+ m_resultCorrectlyOrdered = true;
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ } else { // NotEqual
+ foreach (QMessageAccount messageAccount, m_owner.m_accounts) {
+ TMailboxId mailboxId(stripIdPrefix(messageAccount.id().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(mailboxId);
+ CleanupReleasePushL(*mailbox);
+ QMessage::StandardFolder i = QMessage::InboxFolder;
+ while (i <= QMessage::TrashFolder) {
+ if (i != standardFolder) {
+ MEmailFolder* folder = mailbox->FolderByTypeL(m_owner.standardFolderId(i));
+ CleanupReleasePushL(*folder);
+ QMessageFolder standardFolder = m_owner.folder(
+ QMessageFolderId(QString::number(folder->FolderId().iId)));
+ getFolderSpecificMessagesL(standardFolder, sortCriteria);
+ CleanupStack::PopAndDestroy(folder);
+ }
+ i = static_cast<QMessage::StandardFolder>(static_cast<int>(i) + 1);
+ }
+ CleanupStack::PopAndDestroy(mailbox);
+ }
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ }
+ break;
+ }
+
+ case QMessageFilterPrivate::Sender:
+ case QMessageFilterPrivate::Recipients:
+ case QMessageFilterPrivate::Subject:
+ case QMessageFilterPrivate::Status:
+ case QMessageFilterPrivate::Priority:
+ case QMessageFilterPrivate::Size:
+ case QMessageFilterPrivate::ParentAccountIdFilter:
+ case QMessageFilterPrivate::ParentFolderIdFilter:
+ case QMessageFilterPrivate::TimeStamp:
+ case QMessageFilterPrivate::ReceptionTimeStamp:
+ case QMessageFilterPrivate::None:
+ default:
+ break;
+
+ }
+
+ if (body.isEmpty()) {
+ if (m_numberOfHandledFilters < filters.count()) {
+ pf = QMessageFilterPrivate::implementation(filters[m_numberOfHandledFilters]);
+ switch (pf->_field) {
+ case QMessageFilterPrivate::Sender: {
+ m_searchField = Sender;
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ if (pf->_value.toString().length() > 0) {
+ m_searchKey = pf->_value.toString();
+ m_numberOfHandledFilters++;
+ }
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ break;
+ }
+
+ case QMessageFilterPrivate::Recipients: {
+ m_searchField = Recipients;
+ if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ if (pf->_value.toString().length() > 0) {
+ m_searchKey = pf->_value.toString();
+ m_numberOfHandledFilters++;
+ }
+ } else { // Excludes
+ //TODO:
+ }
+ }
+ break;
+ }
+
+ case QMessageFilterPrivate::Subject: {
+ m_searchField = Subject;
+ if (pf->_comparatorType == QMessageFilterPrivate::Equality) {
+ QMessageDataComparator::EqualityComparator cmp(static_cast<QMessageDataComparator::EqualityComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Equal) {
+ if (pf->_value.toString().length() > 0) {
+ m_searchKey = pf->_value.toString();
+ m_numberOfHandledFilters++;
+ }
+ } else { // NotEqual
+ // TODO:
+ }
+ } else if (pf->_comparatorType == QMessageFilterPrivate::Inclusion) {
+ QMessageDataComparator::InclusionComparator cmp(static_cast<QMessageDataComparator::InclusionComparator>(pf->_comparatorValue));
+ if (cmp == QMessageDataComparator::Includes) {
+ // TODO:
+ } else { // Excludes
+ // TODO:
+ }
+ }
+ break;
+ }
+ case QMessageFilterPrivate::TimeStamp:
+ case QMessageFilterPrivate::ReceptionTimeStamp:
+ case QMessageFilterPrivate::Status:
+ case QMessageFilterPrivate::Priority:
+ case QMessageFilterPrivate::Size:
+ case QMessageFilterPrivate::ParentAccountIdFilter:
+ case QMessageFilterPrivate::ParentFolderIdFilter:
+ case QMessageFilterPrivate::Id:
+ case QMessageFilterPrivate::ParentFolderId:
+ case QMessageFilterPrivate::AncestorFolderIds:
+ case QMessageFilterPrivate::ParentAccountId:
+ case QMessageFilterPrivate::Type:
+ case QMessageFilterPrivate::StandardFolder:
+ case QMessageFilterPrivate::None:
+ default:
+ break;
+ }
+ if (m_activeSearchCount == 0)
+ getAllMessagesL(sortCriteria);
+ }
+ }
+ if (m_activeSearchCount == 0)
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+}
+
+void CFSMessagesFindOperation::getAllMessagesL(TEmailSortCriteria& sortCriteria)
+{
+ // Get all messages from every known account
+ foreach (QMessageAccount value, m_owner.m_accounts) {
+ getAccountSpecificMessagesL(value, sortCriteria);
+ }
+}
+
+void CFSMessagesFindOperation::getAccountSpecificMessagesL(QMessageAccount& messageAccount, TEmailSortCriteria& sortCriteria)
+{
+ TMailboxId mailboxId(stripIdPrefix(messageAccount.id().toString()).toInt());
+ FSSearchOperation operation;
+ operation.m_mailbox = m_clientApi->MailboxL(mailboxId);
+ operation.m_search = operation.m_mailbox->MessageSearchL();
+ operation.m_search->AddSearchKeyL(_L("*"));
+ operation.m_search->SetSortCriteriaL( sortCriteria );
+ operation.m_search->StartSearchL( *this ); // this implements MEmailSearchObserver
+ m_activeSearchCount++;
+ m_searchOperations.append(operation);
+}
+
+
+void CFSMessagesFindOperation::getFolderSpecificMessagesL(QMessageFolder& messageFolder, TEmailSortCriteria sortCriteria)
+{
+ m_activeSearchCount++;
+ RSortCriteriaArray sortCriteriaArray;
+ CleanupClosePushL(sortCriteriaArray);
+ TFolderId folderId(stripIdPrefix(messageFolder.id().toString()).toInt(),
+ stripIdPrefix(messageFolder.parentAccountId().toString()).toInt());
+ MEmailMailbox* mailbox = m_clientApi->MailboxL(stripIdPrefix(messageFolder.parentAccountId().toString()).toInt());
+ CleanupReleasePushL(*mailbox);
+ MEmailFolder *mailFolder = mailbox->FolderL(folderId);
+ CleanupReleasePushL(*mailFolder);
+
+ sortCriteriaArray.Append(sortCriteria);
+
+ MMessageIterator* msgIterator = mailFolder->MessagesL(sortCriteriaArray);
+ CleanupReleasePushL(*msgIterator);
+
+ MEmailMessage* msg = NULL;
+ while ( NULL != (msg = msgIterator->NextL())) {
+ QMessageId messageId(addIdPrefix(QString::number(msg->MessageId().iId), SymbianHelpers::EngineTypeFreestyle));
+ if (!m_excludeIdList.contains(messageId)) {
+ m_idList.append(messageId);
+ }
+ msg->Release();
+ }
+
+ CleanupStack::PopAndDestroy(msgIterator);
+ CleanupStack::PopAndDestroy(mailFolder);
+ CleanupStack::PopAndDestroy(mailbox);
+ CleanupStack::PopAndDestroy(&sortCriteriaArray);
+}
+
+void CFSMessagesFindOperation::HandleResultL(MEmailMessage* aMessage)
+{
+ QMessageId messageId(addIdPrefix(QString::number(aMessage->MessageId().iId), SymbianHelpers::EngineTypeFreestyle));
+ if (!m_excludeIdList.contains(messageId)) {
+ m_idList.append(messageId);
+ }
+ aMessage->Release();
+}
+
+void CFSMessagesFindOperation::SearchCompletedL()
+{
+ if (m_receiveNewMessages) {
+ m_receiveNewMessages = false;
+ } else {
+ m_activeSearchCount--;
+ if (m_activeSearchCount <= 0) {
+ QMetaObject::invokeMethod(this, "SearchCompleted", Qt::QueuedConnection);
+ }
+ }
+}
+
+void CFSMessagesFindOperation::SearchCompleted()
+{
+ if (m_searchField != None) {
+ QMessageIdList idList;
+ foreach (QMessageId messageId, m_idList) {
+ if (fillsSearchKeyCriteria(messageId))
+ idList.append(messageId);
+ }
+ m_idList = idList;
+ }
+ m_owner.filterAndOrderMessagesReady(true, m_operationId, m_idList, 1, m_resultCorrectlyOrdered);
+}
+
+bool CFSMessagesFindOperation::fillsSearchKeyCriteria(QMessageId& messageId)
+{
+ QMessage message = m_owner.message(messageId);
+
+ Qt::CaseSensitivity caseSensitivity = (m_matchFlags & QMessageDataComparator::MatchCaseSensitive) ?
+ Qt::CaseSensitive:Qt::CaseInsensitive;
+
+ switch (m_searchField) {
+ case Sender: {
+ return message.from().addressee().contains(m_searchKey, caseSensitivity);
+ }
+ case Recipients: {
+ foreach (QMessageAddress toRecipient, message.to()) {
+ if (toRecipient.addressee().contains(m_searchKey, caseSensitivity))
+ return true;
+ }
+ foreach (QMessageAddress ccRecipient, message.cc()) {
+ if (ccRecipient.addressee().contains(m_searchKey, caseSensitivity))
+ return true;
+ }
+ foreach (QMessageAddress bccRecipient, message.bcc()) {
+ if (bccRecipient.addressee().contains(m_searchKey, caseSensitivity))
+ return true;
+ }
+ return false;
+ }
+ case Subject: {
+ return message.subject().contains(m_searchKey, caseSensitivity);
+ }
+ case Body: {
+ if (message.bodyId() == QMessageContentContainerPrivate::bodyContentId()) {
+ // Message contains only body (not attachments)
+ QString messageBody = message.textContent();
+ return messageBody.contains(m_searchKey, caseSensitivity);
+ } else {
+ // Message contains body and attachments
+ QMessageContentContainerIdList contentIds = message.contentIds();
+ foreach (QMessageContentContainerId id, contentIds){
+ QMessageContentContainer container = message.find(id);
+ QMessageContentContainerPrivate* pPrivateContainer = QMessageContentContainerPrivate::implementation(container);
+ if (pPrivateContainer->_id == message.bodyId()) {
+ // ContentContainer is body
+ return container.textContent().contains(m_searchKey, caseSensitivity);
+ }
+ }
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ return false;
+}
+
+#include "..\..\build\Release\QtMessaging\moc\moc_qfsengine_symbian_p.cpp";
+
+QTM_END_NAMESPACE
diff --git a/src/messaging/qfsengine_symbian_p.h b/src/messaging/qfsengine_symbian_p.h
new file mode 100644
index 0000000000..ecb0747de1
--- /dev/null
+++ b/src/messaging/qfsengine_symbian_p.h
@@ -0,0 +1,315 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QFSENGINE_SYMBIAN_H
+#define QFSENGINE_SYMBIAN_H
+
+#include <qmessageglobal.h>
+#include <QObject>
+#include <QMap>
+#include <QSet>
+#include <QList>
+#include <QHash>
+
+#include <e32base.h>
+
+#include "qmessagemanager.h"
+#include "qmessagestore_symbian_p.h"
+#include "qmessagefilter.h"
+#include "qmessagefilter_p.h"
+#include "qmessagefolderfilter.h"
+#include "qmessageservice.h"
+#include <emailinterfacefactory.h>
+#include <memailclientapi.h>
+#include <memailmessagesearch.h>
+#include <memailmessage.h>
+#include <emailinterfacefactory.h>
+#include <emailsorting.h>
+#include <memailmessagesearch.h>
+#include <memailfolder.h>
+#include <mmailboxsyncobserver.h>
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+#include <mmailboxcontentobserver.h>
+#endif
+
+using namespace EmailInterface;
+
+QTM_BEGIN_NAMESPACE
+
+class CFSMessagesFindOperation;
+class QMessageId;
+class QMessageAccount;
+
+struct FSMessageQueryInfo
+{
+ int operationId;
+ bool isQuery;
+ QString body;
+ QMessageDataComparator::MatchFlags matchFlags;
+ QMessageFilter filter;
+ QMessageSortOrder sortOrder;
+ int offset;
+ int limit;
+ QMessageServicePrivate* privateService;
+ CFSMessagesFindOperation* findOperation;
+ int currentFilterListIndex;
+ QMessageIdList ids;
+ int count;
+};
+
+struct FSSearchOperation
+{
+ MEmailMailbox* m_mailbox;
+ MEmailMessageSearchAsync* m_search;
+};
+
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+class CFSEngine : public MMailboxContentObserver, public MMailboxSyncObserver, public MEmailFetchObserver
+#else
+class CFSEngine : public MMailboxSyncObserver, public MEmailFetchObserver
+#endif
+{
+public:
+
+ static CFSEngine* instance();
+
+ CFSEngine();
+ ~CFSEngine();
+
+ QMessageAccountIdList queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset) const;
+ int countAccounts(const QMessageAccountFilter &filter) const;
+ QMessageAccount account(const QMessageAccountId &id) const;
+ QMessageAccountId defaultAccount(QMessage::Type type) const;
+
+ QMessageFolderIdList queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const;
+ int countFolders(const QMessageFolderFilter &filter) const;
+ QMessageFolder folder(const QMessageFolderId &id) const;
+
+ bool addMessage(QMessage *m);
+ bool updateMessage(QMessage *m);
+ bool removeMessage(const QMessageId &id, QMessageManager::RemovalOption option);
+ bool removeMessages(const QMessageFilter &filter, QMessageManager::RemovalOption option);
+ bool queryMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const;
+ bool queryMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const;
+ bool countMessages(QMessageServicePrivate& privateService, const QMessageFilter &filter);
+ bool showMessage(const QMessageId &id);
+ bool composeMessage(const QMessage &message);
+ QMessage message(const QMessageId& id) const;
+ bool sendEmail(QMessage &message);
+
+ bool retrieve(const QMessageId &messageId, const QMessageContentContainerId& id);
+ bool retrieveBody(const QMessageId& id);
+ bool retrieveHeader(const QMessageId& id);
+ bool exportUpdates(const QMessageAccountId &id);
+
+ QMessageManager::NotificationFilterId registerNotificationFilter(QMessageStorePrivate& aPrivateStore,
+ const QMessageFilter& filter, QMessageManager::NotificationFilterId aId);
+ void unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId);
+
+ void filterAndOrderMessagesReady(bool success, int operationId, QMessageIdList ids, int numberOfHandledFilters,
+ bool resultSetOrdered);
+
+ void setMtmAccountIdList(QMessageAccountIdList accountList);
+
+public: // from MMailboxSyncObserver
+ void MailboxSynchronisedL(TInt aResult);
+
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+ void setPluginObserversL();
+
+public:
+ // from MMailboxContentObserver
+ void NewMessageEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aNewMessages, const TFolderId& aParentFolderId);
+ void MessageChangedEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aChangedMessages, const TFolderId& aParentFolderId);
+ void MessageDeletedEventL(const TMailboxId& aMailbox, const REmailMessageIdArray aDeletedMessages, const TFolderId& aParentFolderId);
+#endif
+
+public: // From MEmailFetchObserver
+ virtual void DataFetchedL(const TInt aResult);
+
+private:
+
+ void queryMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const;
+ void queryMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const;
+ void countMessagesL(QMessageServicePrivate& privateService, const QMessageFilter &filter);
+
+ QMessageAccountIdList accountsByType(QMessage::Type type) const;
+ void updateEmailAccountsL() const;
+ void updateMessageL(QMessage* message);
+ MEmailMessage* createFSMessageL(const QMessage &message, const MEmailMailbox* mailbox);
+ QMessageFolderIdList folderIdsByAccountId(const QMessageAccountId& accountId) const;
+ QMessageFolderIdList folderIdsByAccountIdL(const QMessageAccountId& accountId) const;
+ QMessageFolderIdList filterMessageFoldersL(const QMessageFolderFilter& filter, bool& filterHandled) const;
+ QMessageFolderIdList allFolders() const;
+ QMessageFolder folderL(const QMessageFolderId &id) const;
+ bool fsFolderL(const QMessageFolderId& id, MEmailMailbox* mailbox, MEmailFolder* folder) const;
+ TFolderType standardFolderId(QMessage::StandardFolder standardFolder);
+
+ QMessageFolderIdList filterMessageFolders(const QMessageFolderFilter& filter, bool& filterHandled) const;
+ QMessage CreateQMessageL(MEmailMessage* aMessage) const;
+ void AddContentToMessage(MEmailMessageContent* aContent, QMessage* aMessage) const;
+ void addAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const;
+ QDateTime symbianTTimetoQDateTime(const TTime& time) const;
+ TTime qDateTimeToSymbianTTime(const QDateTime& date) const;
+
+ QMessage messageL(const QMessageId& id) const;
+ static bool accountLessThan(const QMessageAccountId accountId1, const QMessageAccountId accountId2);
+ void orderAccounts(QMessageAccountIdList& accountIds, const QMessageAccountSortOrder &sortOrder) const;
+ void applyOffsetAndLimitToAccountIds(QMessageAccountIdList& idList, int offset, int limit) const;
+
+ static bool folderLessThan(const QMessageFolderId folderId1, const QMessageFolderId folderId2);
+ void orderFolders(QMessageFolderIdList& folderIds, const QMessageFolderSortOrder &sortOrder) const;
+ void applyOffsetAndLimitToMsgFolderIds(QMessageFolderIdList& idList, int offset, int limit) const;
+ void handleNestedFiltersFromFolderFilter(QMessageFolderFilter &filter) const;
+
+ static bool messageLessThan(const QMessage& message1, const QMessage& message2);
+ void orderMessages(QMessageIdList& messageIds, const QMessageSortOrder &sortOrder) const;
+ void applyOffsetAndLimitToMsgIds(QMessageIdList& idList, int offset, int limit) const;
+
+ void handleNestedFiltersFromMessageFilter(QMessageFilter &filter) const;
+ void exportUpdatesL(const QMessageAccountId &id);
+
+ void retrieveTotalBodyL(MEmailMessageContent* aContent);
+ void retrieveAttachmentsL(MEmailMessage* aMessage);
+
+#ifdef FREESTYLEMAILBOXOBSERVERUSED
+ void notificationL(const TMailboxId& aMailbox, const TMessageId& aMessageId,
+ const TFolderId& aParentFolderId, QMessageStorePrivate::NotificationType aNotificationType);
+#endif
+
+ friend class QMessageService;
+ friend class CMessagesFindOperation;
+
+private:
+
+ CEmailInterfaceFactory* m_factory;
+ mutable MEmailInterface* m_ifPtr;
+ mutable MEmailClientApi* m_clientApi;
+ mutable QHash<QString, QMessageAccount> m_accounts;
+ mutable int m_operationIds;
+ mutable QList<FSMessageQueryInfo> m_messageQueries;
+ QMessageAccountIdList m_mtmAccountList;
+ TMailboxId m_mailboxId;
+ QMessageStorePrivate* ipMessageStorePrivate;
+ bool iListenForNotifications;
+ QMessageManager::NotificationFilterId m_filterId;
+ QMap<QMessageManager::NotificationFilterId, QMessageFilter> m_filters;
+ QMessageAccount m_account;
+ RMailboxPtrArray m_mailboxes;
+ REmailAttachmentArray m_attachments;
+ friend class QMessageService;
+ friend class CFSMessagesFindOperation;
+
+ mutable QMessageAccountSortOrder m_currentAccountOrdering;
+ mutable QMessageFolderSortOrder m_currentFolderOrdering;
+ mutable QMessageSortOrder m_currentMessageOrdering;
+
+
+};
+
+class CFSMessagesFindOperation : public QObject, MEmailSearchObserver
+{
+ Q_OBJECT
+
+public:
+ CFSMessagesFindOperation(CFSEngine& aOwner, int aOperationId);
+ ~CFSMessagesFindOperation();
+
+ void filterAndOrderMessages(const QMessageFilter& filter,
+ const QMessageSortOrder& sortOrder,
+ const QString body = QString(),
+ QMessageDataComparator::MatchFlags matchFlags = 0);
+ void filterAndOrderMessages(const QMessageFilterPrivate::SortedMessageFilterList& filters,
+ const QMessageSortOrder& sortOrder,
+ const QString body = QString(),
+ QMessageDataComparator::MatchFlags matchFlags = 0);
+
+ enum Field {None = 0, Sender, Recipients, Subject, Body};
+
+
+public slots:
+ void SearchCompleted();
+
+private:
+ // from memailmessagesearch
+ virtual void HandleResultL(MEmailMessage* aMessage);
+ virtual void SearchCompletedL();
+
+ void filterAndOrderMessagesL(const QMessageFilterPrivate::SortedMessageFilterList& filters,
+ const QMessageSortOrder& sortOrder,
+ const QString body = QString(),
+ QMessageDataComparator::MatchFlags matchFlags = 0);
+
+ void getAllMessagesL(TEmailSortCriteria& sortCriteria);
+ void getAccountSpecificMessagesL(QMessageAccount& messageAccount, TEmailSortCriteria& sortCriteria);
+ void getFolderSpecificMessagesL(QMessageFolder& messageFolder, TEmailSortCriteria sortCriteria);
+
+ bool fillsSearchKeyCriteria(QMessageId& messageId);
+
+
+private: // Data
+ CFSEngine& m_owner;
+
+ int m_numberOfHandledFilters;
+ int m_operationId;
+ int m_activeSearchCount;
+ //TMsvSelectionOrdering iOrdering;
+ bool m_resultCorrectlyOrdered;
+ QMessageIdList m_idList;
+ QMessageFilterPrivate::SortedMessageFilterList m_filterList;
+ QMessageIdList m_excludeIdList;
+
+ MEmailClientApi* m_clientApi;
+
+ CEmailInterfaceFactory* m_factory;
+ MEmailInterface* m_interfacePtr;
+ bool m_receiveNewMessages;
+ QList<FSSearchOperation> m_searchOperations;
+
+ Field m_searchField;
+ QMessageDataComparator::MatchFlags m_matchFlags;
+ QString m_searchKey;
+};
+
+
+QTM_END_NAMESPACE
+
+#endif // QFSENGINE_SYMBIAN_H
diff --git a/src/messaging/qmessage.cpp b/src/messaging/qmessage.cpp
index 2d2a2d8c3f..b05c473bb1 100644
--- a/src/messaging/qmessage.cpp
+++ b/src/messaging/qmessage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage.h b/src/messaging/qmessage.h
index 9beab2f961..bb645a50e7 100644
--- a/src/messaging/qmessage.h
+++ b/src/messaging/qmessage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_maemo.cpp b/src/messaging/qmessage_maemo.cpp
index e70f7fdd06..b7c882e472 100644
--- a/src/messaging/qmessage_maemo.cpp
+++ b/src/messaging/qmessage_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_p.h b/src/messaging/qmessage_p.h
index 9822c6c3ff..f46f0bacb9 100644
--- a/src/messaging/qmessage_p.h
+++ b/src/messaging/qmessage_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_qmf.cpp b/src/messaging/qmessage_qmf.cpp
index 4281075694..b928832577 100644
--- a/src/messaging/qmessage_qmf.cpp
+++ b/src/messaging/qmessage_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_stub.cpp b/src/messaging/qmessage_stub.cpp
index 102d623ef6..5706be8718 100644
--- a/src/messaging/qmessage_stub.cpp
+++ b/src/messaging/qmessage_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_symbian.cpp b/src/messaging/qmessage_symbian.cpp
index b29bdd761f..2fb8dc9d7b 100644
--- a/src/messaging/qmessage_symbian.cpp
+++ b/src/messaging/qmessage_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,7 +43,6 @@
#include "qmessagecontentcontainer_symbian_p.h"
#include "qmessagemanager.h"
-
QTM_BEGIN_NAMESPACE
QMessagePrivate::QMessagePrivate(QMessage *message)
diff --git a/src/messaging/qmessage_symbian_p.h b/src/messaging/qmessage_symbian_p.h
index 4a9f8a8591..b616fec2aa 100644
--- a/src/messaging/qmessage_symbian_p.h
+++ b/src/messaging/qmessage_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessage_win.cpp b/src/messaging/qmessage_win.cpp
index 40bcfdb4ce..a7da312d65 100644
--- a/src/messaging/qmessage_win.cpp
+++ b/src/messaging/qmessage_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccount.cpp b/src/messaging/qmessageaccount.cpp
index 7b8b6fdba2..5f82b37884 100644
--- a/src/messaging/qmessageaccount.cpp
+++ b/src/messaging/qmessageaccount.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccount.h b/src/messaging/qmessageaccount.h
index c9548eac04..a25014a92c 100644
--- a/src/messaging/qmessageaccount.h
+++ b/src/messaging/qmessageaccount.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -71,6 +71,9 @@ private:
QMessageAccountPrivate *d_ptr;
#ifdef Q_OS_SYMBIAN
friend class CMTMEngine;
+#ifdef FREESTYLEMAILUSED
+ friend class CFSEngine;
+#endif
friend class CMessagesFindOperation;
#endif
};
diff --git a/src/messaging/qmessageaccount_maemo.cpp b/src/messaging/qmessageaccount_maemo.cpp
index 677bbc04ef..f7484f131e 100644
--- a/src/messaging/qmessageaccount_maemo.cpp
+++ b/src/messaging/qmessageaccount_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -42,6 +42,7 @@
#include "qmessageaccount_p.h"
#include "qmessagemanager.h"
#include "modestengine_maemo_p.h"
+#include "telepathyengine_maemo_p.h"
QTM_BEGIN_NAMESPACE
@@ -114,8 +115,9 @@ QMessageAccountId QMessageAccount::defaultAccount(QMessage::Type type)
if (type == QMessage::Email) {
accountId = ModestEngine::instance()->defaultAccount();
}
- //TODO: Default SMS Account
-
+ if (type == QMessage::Sms || type == QMessage::InstantMessage) {
+ accountId = TelepathyEngine::instance()->defaultAccount(type); //TODO: Default SMS Account
+ }
return accountId;
}
diff --git a/src/messaging/qmessageaccount_p.h b/src/messaging/qmessageaccount_p.h
index 3d3f389807..7b101cd2ca 100644
--- a/src/messaging/qmessageaccount_p.h
+++ b/src/messaging/qmessageaccount_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccount_qmf.cpp b/src/messaging/qmessageaccount_qmf.cpp
index 707841a927..0a156598df 100644
--- a/src/messaging/qmessageaccount_qmf.cpp
+++ b/src/messaging/qmessageaccount_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccount_stub.cpp b/src/messaging/qmessageaccount_stub.cpp
index 5af6ffc2bf..46dbe712e9 100644
--- a/src/messaging/qmessageaccount_stub.cpp
+++ b/src/messaging/qmessageaccount_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccount_symbian.cpp b/src/messaging/qmessageaccount_symbian.cpp
index 0375c5288f..3ddddf9f13 100644
--- a/src/messaging/qmessageaccount_symbian.cpp
+++ b/src/messaging/qmessageaccount_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -106,6 +106,7 @@ QMessage::TypeFlags QMessageAccount::messageTypes() const
QMessageAccountId QMessageAccount::defaultAccount(QMessage::Type type)
{
return CMTMEngine::instance()->defaultAccount(type);
+ // or return CFSEngine::instance()->defaultAccount(type);
}
QTM_END_NAMESPACE
diff --git a/src/messaging/qmessageaccount_win.cpp b/src/messaging/qmessageaccount_win.cpp
index 7b640bb3f9..2b6a9f190a 100644
--- a/src/messaging/qmessageaccount_win.cpp
+++ b/src/messaging/qmessageaccount_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter.cpp b/src/messaging/qmessageaccountfilter.cpp
index 5a3e50b48c..ed3f195cbf 100644
--- a/src/messaging/qmessageaccountfilter.cpp
+++ b/src/messaging/qmessageaccountfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter.h b/src/messaging/qmessageaccountfilter.h
index 31db5294f3..30498ab61d 100644
--- a/src/messaging/qmessageaccountfilter.h
+++ b/src/messaging/qmessageaccountfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_maemo.cpp b/src/messaging/qmessageaccountfilter_maemo.cpp
index 820060515f..f33563cf06 100644
--- a/src/messaging/qmessageaccountfilter_maemo.cpp
+++ b/src/messaging/qmessageaccountfilter_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_p.h b/src/messaging/qmessageaccountfilter_p.h
index 3c8532b173..a346a8832e 100644
--- a/src/messaging/qmessageaccountfilter_p.h
+++ b/src/messaging/qmessageaccountfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_qmf.cpp b/src/messaging/qmessageaccountfilter_qmf.cpp
index ccb9553d9e..796ccc208c 100644
--- a/src/messaging/qmessageaccountfilter_qmf.cpp
+++ b/src/messaging/qmessageaccountfilter_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_stub.cpp b/src/messaging/qmessageaccountfilter_stub.cpp
index 1b1057bde5..32cfc3821b 100644
--- a/src/messaging/qmessageaccountfilter_stub.cpp
+++ b/src/messaging/qmessageaccountfilter_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_symbian.cpp b/src/messaging/qmessageaccountfilter_symbian.cpp
index 4b38b8ab99..87a4eea1c9 100644
--- a/src/messaging/qmessageaccountfilter_symbian.cpp
+++ b/src/messaging/qmessageaccountfilter_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountfilter_win.cpp b/src/messaging/qmessageaccountfilter_win.cpp
index d4c7f423e5..dbb895896d 100644
--- a/src/messaging/qmessageaccountfilter_win.cpp
+++ b/src/messaging/qmessageaccountfilter_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid.cpp b/src/messaging/qmessageaccountid.cpp
index 27aff77c4b..568600dbc8 100644
--- a/src/messaging/qmessageaccountid.cpp
+++ b/src/messaging/qmessageaccountid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid.h b/src/messaging/qmessageaccountid.h
index 7257fe0ae9..197c6e89ff 100644
--- a/src/messaging/qmessageaccountid.h
+++ b/src/messaging/qmessageaccountid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid_maemo.cpp b/src/messaging/qmessageaccountid_maemo.cpp
index 4b2bda39cd..14904a7e0d 100644
--- a/src/messaging/qmessageaccountid_maemo.cpp
+++ b/src/messaging/qmessageaccountid_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid_p.h b/src/messaging/qmessageaccountid_p.h
index c5ace3d5bd..f88cbef95c 100644
--- a/src/messaging/qmessageaccountid_p.h
+++ b/src/messaging/qmessageaccountid_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid_qmf.cpp b/src/messaging/qmessageaccountid_qmf.cpp
index 93589f9fb2..7d5ff89595 100644
--- a/src/messaging/qmessageaccountid_qmf.cpp
+++ b/src/messaging/qmessageaccountid_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid_stub.cpp b/src/messaging/qmessageaccountid_stub.cpp
index b700edcd16..eee406880e 100644
--- a/src/messaging/qmessageaccountid_stub.cpp
+++ b/src/messaging/qmessageaccountid_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountid_symbian.cpp b/src/messaging/qmessageaccountid_symbian.cpp
index 79136daa96..b6d645abbc 100644
--- a/src/messaging/qmessageaccountid_symbian.cpp
+++ b/src/messaging/qmessageaccountid_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -102,9 +102,11 @@ bool QMessageAccountId::operator<(const QMessageAccountId& other) const
long right = 0;
if (d_ptr) {
left = SymbianHelpers::stripIdPrefix(d_ptr->_id).toLong();
+ //left = d_ptr->_id.toLong();
}
if (other.d_ptr) {
right = SymbianHelpers::stripIdPrefix(other.d_ptr->_id).toLong();
+ //right = other.d_ptr->_id.toLong();
}
return (left < right);
diff --git a/src/messaging/qmessageaccountid_win.cpp b/src/messaging/qmessageaccountid_win.cpp
index d901a6f14c..531b756c7f 100644
--- a/src/messaging/qmessageaccountid_win.cpp
+++ b/src/messaging/qmessageaccountid_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder.cpp b/src/messaging/qmessageaccountsortorder.cpp
index ec9aaed114..a937b01fe2 100644
--- a/src/messaging/qmessageaccountsortorder.cpp
+++ b/src/messaging/qmessageaccountsortorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder.h b/src/messaging/qmessageaccountsortorder.h
index 5896baca71..6deef21bc7 100644
--- a/src/messaging/qmessageaccountsortorder.h
+++ b/src/messaging/qmessageaccountsortorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_maemo.cpp b/src/messaging/qmessageaccountsortorder_maemo.cpp
index 3c3bc74be6..7dc6d4019f 100644
--- a/src/messaging/qmessageaccountsortorder_maemo.cpp
+++ b/src/messaging/qmessageaccountsortorder_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_p.h b/src/messaging/qmessageaccountsortorder_p.h
index 09acf2de92..573bc50345 100644
--- a/src/messaging/qmessageaccountsortorder_p.h
+++ b/src/messaging/qmessageaccountsortorder_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_qmf.cpp b/src/messaging/qmessageaccountsortorder_qmf.cpp
index c14f8d9a38..55b8ff9231 100644
--- a/src/messaging/qmessageaccountsortorder_qmf.cpp
+++ b/src/messaging/qmessageaccountsortorder_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_stub.cpp b/src/messaging/qmessageaccountsortorder_stub.cpp
index 8e5fb8cf6a..f7bac94988 100644
--- a/src/messaging/qmessageaccountsortorder_stub.cpp
+++ b/src/messaging/qmessageaccountsortorder_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_symbian.cpp b/src/messaging/qmessageaccountsortorder_symbian.cpp
index aaeab7fcfd..d4da2ad721 100644
--- a/src/messaging/qmessageaccountsortorder_symbian.cpp
+++ b/src/messaging/qmessageaccountsortorder_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaccountsortorder_win.cpp b/src/messaging/qmessageaccountsortorder_win.cpp
index d04c4765a9..d25df29f0a 100644
--- a/src/messaging/qmessageaccountsortorder_win.cpp
+++ b/src/messaging/qmessageaccountsortorder_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaddress.cpp b/src/messaging/qmessageaddress.cpp
index 89a347ff82..d254022bfc 100644
--- a/src/messaging/qmessageaddress.cpp
+++ b/src/messaging/qmessageaddress.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaddress.h b/src/messaging/qmessageaddress.h
index 40e1606a22..b9526e4d8c 100644
--- a/src/messaging/qmessageaddress.h
+++ b/src/messaging/qmessageaddress.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageaddress_p.h b/src/messaging/qmessageaddress_p.h
index f01a151117..92d55d48ee 100644
--- a/src/messaging/qmessageaddress_p.h
+++ b/src/messaging/qmessageaddress_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer.cpp b/src/messaging/qmessagecontentcontainer.cpp
index 7f31ba61cc..043ac2e2d3 100644
--- a/src/messaging/qmessagecontentcontainer.cpp
+++ b/src/messaging/qmessagecontentcontainer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer.h b/src/messaging/qmessagecontentcontainer.h
index 6a8b5861e0..8b140e989c 100644
--- a/src/messaging/qmessagecontentcontainer.h
+++ b/src/messaging/qmessagecontentcontainer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_maemo.cpp b/src/messaging/qmessagecontentcontainer_maemo.cpp
index fc18df4b09..d97568b067 100644
--- a/src/messaging/qmessagecontentcontainer_maemo.cpp
+++ b/src/messaging/qmessagecontentcontainer_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -312,22 +312,32 @@ int QMessageContentContainer::size() const
QString QMessageContentContainer::textContent() const
{
- if (d_ptr->_textContent.isEmpty() && d_ptr->_attachmentId != 0) {
- ModestEngine *engine = ModestEngine::instance();
- d_ptr->_textContent = engine->getMimePart(QMessageId(d_ptr->_containingMessageId),
- d_ptr->_attachmentId);
- d_ptr->_size = d_ptr->_textContent.size();
- }
- if (!d_ptr->_textContent.isEmpty()) {
- return d_ptr->_textContent;
- }
+ QString retString;
- QTextCodec *codec = QTextCodec::codecForName(d_ptr->_charset.data());
- if (codec) {
- return codec->toUnicode(d_ptr->_content);
+ if (!d_ptr->_textContent.isEmpty()) {
+ retString = d_ptr->_textContent;
} else {
- return QString::fromLatin1(d_ptr->_content);
+ if (d_ptr->_content.isEmpty() && d_ptr->_attachmentId != 0) {
+ ModestEngine *engine = ModestEngine::instance();
+ d_ptr->_content = engine->getMimePart(QMessageId(d_ptr->_containingMessageId),
+ d_ptr->_attachmentId);
+ d_ptr->_size = d_ptr->_content.size();
+ }
+
+ if (!d_ptr->_content.isEmpty()) {
+ if (d_ptr->_subType.toLower() == "html") {
+ QTextCodec *codec = QTextCodec::codecForName(d_ptr->_charset.data());
+ if (codec) {
+ retString = codec->toUnicode(d_ptr->_content);
+ }
+ } else {
+ // Modest plugin automatically decodes plain text content to UTF-8 format
+ retString = QString::fromUtf8(d_ptr->_content);
+ }
+ }
}
+
+ return retString;
}
QByteArray QMessageContentContainer::content() const
diff --git a/src/messaging/qmessagecontentcontainer_maemo_p.h b/src/messaging/qmessagecontentcontainer_maemo_p.h
index 573a24ecda..6453007cde 100644
--- a/src/messaging/qmessagecontentcontainer_maemo_p.h
+++ b/src/messaging/qmessagecontentcontainer_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_p.h b/src/messaging/qmessagecontentcontainer_p.h
index c9609353e0..81f1dee6d1 100644
--- a/src/messaging/qmessagecontentcontainer_p.h
+++ b/src/messaging/qmessagecontentcontainer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_qmf.cpp b/src/messaging/qmessagecontentcontainer_qmf.cpp
index 5091ecc0f6..7e0a51b743 100644
--- a/src/messaging/qmessagecontentcontainer_qmf.cpp
+++ b/src/messaging/qmessagecontentcontainer_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_stub.cpp b/src/messaging/qmessagecontentcontainer_stub.cpp
index f1f7933f70..467c6adc43 100644
--- a/src/messaging/qmessagecontentcontainer_stub.cpp
+++ b/src/messaging/qmessagecontentcontainer_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_symbian.cpp b/src/messaging/qmessagecontentcontainer_symbian.cpp
index e152b41a14..d8be332820 100644
--- a/src/messaging/qmessagecontentcontainer_symbian.cpp
+++ b/src/messaging/qmessagecontentcontainer_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_symbian_p.h b/src/messaging/qmessagecontentcontainer_symbian_p.h
index 9da5403af2..67a42d351e 100644
--- a/src/messaging/qmessagecontentcontainer_symbian_p.h
+++ b/src/messaging/qmessagecontentcontainer_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainer_win.cpp b/src/messaging/qmessagecontentcontainer_win.cpp
index 0fc57fe566..1327700eba 100644
--- a/src/messaging/qmessagecontentcontainer_win.cpp
+++ b/src/messaging/qmessagecontentcontainer_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid.cpp b/src/messaging/qmessagecontentcontainerid.cpp
index f22a0ce841..9f1c26f570 100644
--- a/src/messaging/qmessagecontentcontainerid.cpp
+++ b/src/messaging/qmessagecontentcontainerid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid.h b/src/messaging/qmessagecontentcontainerid.h
index 7f6b1c198c..3c01921c9c 100644
--- a/src/messaging/qmessagecontentcontainerid.h
+++ b/src/messaging/qmessagecontentcontainerid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_maemo.cpp b/src/messaging/qmessagecontentcontainerid_maemo.cpp
index c8c5d16dae..2e34787e15 100644
--- a/src/messaging/qmessagecontentcontainerid_maemo.cpp
+++ b/src/messaging/qmessagecontentcontainerid_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_p.h b/src/messaging/qmessagecontentcontainerid_p.h
index fb94333622..0852056b00 100644
--- a/src/messaging/qmessagecontentcontainerid_p.h
+++ b/src/messaging/qmessagecontentcontainerid_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_qmf.cpp b/src/messaging/qmessagecontentcontainerid_qmf.cpp
index 163e0f21c7..033dc9b04e 100644
--- a/src/messaging/qmessagecontentcontainerid_qmf.cpp
+++ b/src/messaging/qmessagecontentcontainerid_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_stub.cpp b/src/messaging/qmessagecontentcontainerid_stub.cpp
index b16ba3d278..fd9a754264 100644
--- a/src/messaging/qmessagecontentcontainerid_stub.cpp
+++ b/src/messaging/qmessagecontentcontainerid_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_symbian.cpp b/src/messaging/qmessagecontentcontainerid_symbian.cpp
index 76fa1fbd1e..8083f9ddc1 100644
--- a/src/messaging/qmessagecontentcontainerid_symbian.cpp
+++ b/src/messaging/qmessagecontentcontainerid_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagecontentcontainerid_win.cpp b/src/messaging/qmessagecontentcontainerid_win.cpp
index 9ac740609b..658076b9de 100644
--- a/src/messaging/qmessagecontentcontainerid_win.cpp
+++ b/src/messaging/qmessagecontentcontainerid_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagedatacomparator.cpp b/src/messaging/qmessagedatacomparator.cpp
index 1fd4af7b19..0b01da1949 100644
--- a/src/messaging/qmessagedatacomparator.cpp
+++ b/src/messaging/qmessagedatacomparator.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagedatacomparator.h b/src/messaging/qmessagedatacomparator.h
index 90713958b8..209cc5f880 100644
--- a/src/messaging/qmessagedatacomparator.h
+++ b/src/messaging/qmessagedatacomparator.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter.cpp b/src/messaging/qmessagefilter.cpp
index caa8b8aac8..4c1bccd072 100644
--- a/src/messaging/qmessagefilter.cpp
+++ b/src/messaging/qmessagefilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter.h b/src/messaging/qmessagefilter.h
index cdb66cb3db..45b256d9af 100644
--- a/src/messaging/qmessagefilter.h
+++ b/src/messaging/qmessagefilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_maemo.cpp b/src/messaging/qmessagefilter_maemo.cpp
index d3e83374d4..25d5b6b0e7 100644
--- a/src/messaging/qmessagefilter_maemo.cpp
+++ b/src/messaging/qmessagefilter_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_p.h b/src/messaging/qmessagefilter_p.h
index 8091d4e0d4..8712cce829 100644
--- a/src/messaging/qmessagefilter_p.h
+++ b/src/messaging/qmessagefilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_qmf.cpp b/src/messaging/qmessagefilter_qmf.cpp
index 6e68135cb6..8de6404411 100644
--- a/src/messaging/qmessagefilter_qmf.cpp
+++ b/src/messaging/qmessagefilter_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_stub.cpp b/src/messaging/qmessagefilter_stub.cpp
index 31a1081b4d..07b1c4254f 100644
--- a/src/messaging/qmessagefilter_stub.cpp
+++ b/src/messaging/qmessagefilter_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_symbian.cpp b/src/messaging/qmessagefilter_symbian.cpp
index 584a253487..546c78530f 100644
--- a/src/messaging/qmessagefilter_symbian.cpp
+++ b/src/messaging/qmessagefilter_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefilter_win.cpp b/src/messaging/qmessagefilter_win.cpp
index 3d46802fc9..1584b41627 100644
--- a/src/messaging/qmessagefilter_win.cpp
+++ b/src/messaging/qmessagefilter_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder.cpp b/src/messaging/qmessagefolder.cpp
index b5a041df5a..45000e9ead 100644
--- a/src/messaging/qmessagefolder.cpp
+++ b/src/messaging/qmessagefolder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder.h b/src/messaging/qmessagefolder.h
index 98f3228e46..464b0ce2c1 100644
--- a/src/messaging/qmessagefolder.h
+++ b/src/messaging/qmessagefolder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_maemo.cpp b/src/messaging/qmessagefolder_maemo.cpp
index 267178204a..bbb6384f5b 100644
--- a/src/messaging/qmessagefolder_maemo.cpp
+++ b/src/messaging/qmessagefolder_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_p.h b/src/messaging/qmessagefolder_p.h
index f59f76f819..9a4ef5cac0 100644
--- a/src/messaging/qmessagefolder_p.h
+++ b/src/messaging/qmessagefolder_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_qmf.cpp b/src/messaging/qmessagefolder_qmf.cpp
index 5a5117fea4..6378086a3d 100644
--- a/src/messaging/qmessagefolder_qmf.cpp
+++ b/src/messaging/qmessagefolder_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_stub.cpp b/src/messaging/qmessagefolder_stub.cpp
index 9e96f6620d..b8a26fb0bd 100644
--- a/src/messaging/qmessagefolder_stub.cpp
+++ b/src/messaging/qmessagefolder_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_symbian.cpp b/src/messaging/qmessagefolder_symbian.cpp
index 89d7b63de9..17ac6a9530 100644
--- a/src/messaging/qmessagefolder_symbian.cpp
+++ b/src/messaging/qmessagefolder_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolder_win.cpp b/src/messaging/qmessagefolder_win.cpp
index 89d7b63de9..17ac6a9530 100644
--- a/src/messaging/qmessagefolder_win.cpp
+++ b/src/messaging/qmessagefolder_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter.cpp b/src/messaging/qmessagefolderfilter.cpp
index aed60d327b..5b88d00d9b 100644
--- a/src/messaging/qmessagefolderfilter.cpp
+++ b/src/messaging/qmessagefolderfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter.h b/src/messaging/qmessagefolderfilter.h
index 84b26e7542..7781e4d567 100644
--- a/src/messaging/qmessagefolderfilter.h
+++ b/src/messaging/qmessagefolderfilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_maemo.cpp b/src/messaging/qmessagefolderfilter_maemo.cpp
index 48407facc0..85e9ef7f0e 100644
--- a/src/messaging/qmessagefolderfilter_maemo.cpp
+++ b/src/messaging/qmessagefolderfilter_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_p.h b/src/messaging/qmessagefolderfilter_p.h
index 9fab6ba31a..472f07e809 100644
--- a/src/messaging/qmessagefolderfilter_p.h
+++ b/src/messaging/qmessagefolderfilter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_qmf.cpp b/src/messaging/qmessagefolderfilter_qmf.cpp
index 321f1f3f75..d2ca92e02c 100644
--- a/src/messaging/qmessagefolderfilter_qmf.cpp
+++ b/src/messaging/qmessagefolderfilter_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_stub.cpp b/src/messaging/qmessagefolderfilter_stub.cpp
index cac65ffaf9..a5b7a3b1d2 100644
--- a/src/messaging/qmessagefolderfilter_stub.cpp
+++ b/src/messaging/qmessagefolderfilter_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_symbian.cpp b/src/messaging/qmessagefolderfilter_symbian.cpp
index 606adfab14..adcfb9dcaf 100644
--- a/src/messaging/qmessagefolderfilter_symbian.cpp
+++ b/src/messaging/qmessagefolderfilter_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderfilter_win.cpp b/src/messaging/qmessagefolderfilter_win.cpp
index a7aa813169..84cd201a52 100644
--- a/src/messaging/qmessagefolderfilter_win.cpp
+++ b/src/messaging/qmessagefolderfilter_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid.cpp b/src/messaging/qmessagefolderid.cpp
index ce82106b0f..5b5ad74a5a 100644
--- a/src/messaging/qmessagefolderid.cpp
+++ b/src/messaging/qmessagefolderid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid.h b/src/messaging/qmessagefolderid.h
index 406a6729b8..8564953293 100644
--- a/src/messaging/qmessagefolderid.h
+++ b/src/messaging/qmessagefolderid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid_maemo.cpp b/src/messaging/qmessagefolderid_maemo.cpp
index 842c6e280b..031ba2bff4 100644
--- a/src/messaging/qmessagefolderid_maemo.cpp
+++ b/src/messaging/qmessagefolderid_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid_p.h b/src/messaging/qmessagefolderid_p.h
index 3ef3abc7d7..f4f16206f7 100644
--- a/src/messaging/qmessagefolderid_p.h
+++ b/src/messaging/qmessagefolderid_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid_qmf.cpp b/src/messaging/qmessagefolderid_qmf.cpp
index 6b0d88e3fb..522d317c5d 100644
--- a/src/messaging/qmessagefolderid_qmf.cpp
+++ b/src/messaging/qmessagefolderid_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid_stub.cpp b/src/messaging/qmessagefolderid_stub.cpp
index 49860da18e..68f3f071c5 100644
--- a/src/messaging/qmessagefolderid_stub.cpp
+++ b/src/messaging/qmessagefolderid_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefolderid_symbian.cpp b/src/messaging/qmessagefolderid_symbian.cpp
index 0fa837c23e..a81be85b88 100644
--- a/src/messaging/qmessagefolderid_symbian.cpp
+++ b/src/messaging/qmessagefolderid_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -115,7 +115,6 @@ QString QMessageFolderId::toString() const
if (!isValid()) {
return QString();
}
-
return d_ptr->_id;
}
diff --git a/src/messaging/qmessagefolderid_win.cpp b/src/messaging/qmessagefolderid_win.cpp
index 3010df0c63..3c3c4d45bc 100644
--- a/src/messaging/qmessagefolderid_win.cpp
+++ b/src/messaging/qmessagefolderid_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder.cpp b/src/messaging/qmessagefoldersortorder.cpp
index 739caf3591..6837953249 100644
--- a/src/messaging/qmessagefoldersortorder.cpp
+++ b/src/messaging/qmessagefoldersortorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder.h b/src/messaging/qmessagefoldersortorder.h
index d661f8acf5..2f4fb4c37b 100644
--- a/src/messaging/qmessagefoldersortorder.h
+++ b/src/messaging/qmessagefoldersortorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_maemo.cpp b/src/messaging/qmessagefoldersortorder_maemo.cpp
index f7010bde31..fc78645557 100644
--- a/src/messaging/qmessagefoldersortorder_maemo.cpp
+++ b/src/messaging/qmessagefoldersortorder_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_p.h b/src/messaging/qmessagefoldersortorder_p.h
index 33d9babaf6..7105416736 100644
--- a/src/messaging/qmessagefoldersortorder_p.h
+++ b/src/messaging/qmessagefoldersortorder_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_qmf.cpp b/src/messaging/qmessagefoldersortorder_qmf.cpp
index 5693f67595..d669a13616 100644
--- a/src/messaging/qmessagefoldersortorder_qmf.cpp
+++ b/src/messaging/qmessagefoldersortorder_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_stub.cpp b/src/messaging/qmessagefoldersortorder_stub.cpp
index 56a239aa13..09398421b6 100644
--- a/src/messaging/qmessagefoldersortorder_stub.cpp
+++ b/src/messaging/qmessagefoldersortorder_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_symbian.cpp b/src/messaging/qmessagefoldersortorder_symbian.cpp
index 3f49c09ccc..d269bf0c04 100644
--- a/src/messaging/qmessagefoldersortorder_symbian.cpp
+++ b/src/messaging/qmessagefoldersortorder_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagefoldersortorder_win.cpp b/src/messaging/qmessagefoldersortorder_win.cpp
index cae60856da..c2afc91825 100644
--- a/src/messaging/qmessagefoldersortorder_win.cpp
+++ b/src/messaging/qmessagefoldersortorder_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageglobal.h b/src/messaging/qmessageglobal.h
index 35c2f67c13..957a1dfb59 100644
--- a/src/messaging/qmessageglobal.h
+++ b/src/messaging/qmessageglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid.cpp b/src/messaging/qmessageid.cpp
index 6259ce8837..748c1ef181 100644
--- a/src/messaging/qmessageid.cpp
+++ b/src/messaging/qmessageid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid.h b/src/messaging/qmessageid.h
index a55284ccc1..39d604a665 100644
--- a/src/messaging/qmessageid.h
+++ b/src/messaging/qmessageid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid_maemo.cpp b/src/messaging/qmessageid_maemo.cpp
index 430d28bb2a..9ef992178a 100644
--- a/src/messaging/qmessageid_maemo.cpp
+++ b/src/messaging/qmessageid_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid_p.h b/src/messaging/qmessageid_p.h
index 7c33fe43c5..2b386805b2 100644
--- a/src/messaging/qmessageid_p.h
+++ b/src/messaging/qmessageid_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid_qmf.cpp b/src/messaging/qmessageid_qmf.cpp
index 1f1e7f2bf0..abe4a6b1aa 100644
--- a/src/messaging/qmessageid_qmf.cpp
+++ b/src/messaging/qmessageid_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid_stub.cpp b/src/messaging/qmessageid_stub.cpp
index d9ad9cbce9..3568f1d385 100644
--- a/src/messaging/qmessageid_stub.cpp
+++ b/src/messaging/qmessageid_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageid_symbian.cpp b/src/messaging/qmessageid_symbian.cpp
index a237919c97..a67497c1cc 100644
--- a/src/messaging/qmessageid_symbian.cpp
+++ b/src/messaging/qmessageid_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -104,9 +104,11 @@ bool QMessageId::operator<(const QMessageId& other) const
long right = 0;
if (d_ptr) {
left = SymbianHelpers::stripIdPrefix(d_ptr->_id).toLong();
+ //left = d_ptr->_id.toLong();
}
if (other.d_ptr) {
right = SymbianHelpers::stripIdPrefix(other.d_ptr->_id).toLong();
+ //right = other.d_ptr->_id.toLong();
}
return (left < right);
diff --git a/src/messaging/qmessageid_win.cpp b/src/messaging/qmessageid_win.cpp
index 2fed26eb4a..ad093c1b45 100644
--- a/src/messaging/qmessageid_win.cpp
+++ b/src/messaging/qmessageid_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagemanager.cpp b/src/messaging/qmessagemanager.cpp
index 2537558ef1..ad605c921f 100644
--- a/src/messaging/qmessagemanager.cpp
+++ b/src/messaging/qmessagemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagemanager.h b/src/messaging/qmessagemanager.h
index f9ea61d8d2..237da8b008 100644
--- a/src/messaging/qmessagemanager.h
+++ b/src/messaging/qmessagemanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice.cpp b/src/messaging/qmessageservice.cpp
index 9825d24afe..ee7724b3be 100644
--- a/src/messaging/qmessageservice.cpp
+++ b/src/messaging/qmessageservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice.h b/src/messaging/qmessageservice.h
index 83e237d894..d112442b51 100644
--- a/src/messaging/qmessageservice.h
+++ b/src/messaging/qmessageservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice_maemo.cpp b/src/messaging/qmessageservice_maemo.cpp
index 41087ed34d..6eaebe5460 100644
--- a/src/messaging/qmessageservice_maemo.cpp
+++ b/src/messaging/qmessageservice_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -421,9 +421,9 @@ bool QMessageService::send(QMessage &message)
}
if (account.messageTypes() & QMessage::Sms) {
- retVal = TelepathyEngine::instance()->sendMessage(message);
+ retVal = TelepathyEngine::instance()->sendMessage(outgoing);
} else if (account.messageTypes() & QMessage::InstantMessage) {
- retVal = TelepathyEngine::instance()->sendMessage(message);
+ retVal = TelepathyEngine::instance()->sendMessage(outgoing);
} else if (account.messageTypes() & QMessage::Mms) {
d_ptr->_error = QMessageManager::NotYetImplemented;
qWarning() << "QMessageService::send not yet implemented for MMS";
@@ -484,15 +484,68 @@ bool QMessageService::retrieveHeader(const QMessageId& id)
bool QMessageService::retrieveBody(const QMessageId& id)
{
- Q_UNUSED(id)
- return false; // stub
+ if (d_ptr->_active) {
+ return false;
+ }
+
+ if (!id.isValid()) {
+ d_ptr->_error = QMessageManager::InvalidId;
+ return false;
+ }
+
+ d_ptr->_active = true;
+ d_ptr->_error = QMessageManager::NoError;
+
+ bool retVal = true;
+ d_ptr->stateChanged(QMessageService::ActiveState);
+
+ if (id.toString().startsWith("MO_")) {
+ retVal = ModestEngine::instance()->retrieveBody(*this, id);
+ if (retVal == true) {
+ d_ptr->_pendingRequestCount = 1;
+ }
+ } else {
+ retVal = false;
+ }
+
+ if (retVal == false) {
+ d_ptr->setFinished(retVal);
+ }
+
+ return retVal;
}
bool QMessageService::retrieve(const QMessageId &messageId, const QMessageContentContainerId& id)
{
- Q_UNUSED(messageId)
- Q_UNUSED(id)
- return false; // stub
+ if (d_ptr->_active) {
+ return false;
+ }
+
+ if (!id.isValid()) {
+ d_ptr->_error = QMessageManager::InvalidId;
+ return false;
+ }
+
+ d_ptr->_active = true;
+ d_ptr->_error = QMessageManager::NoError;
+
+ bool retVal = true;
+ d_ptr->stateChanged(QMessageService::ActiveState);
+
+ if (messageId.toString().startsWith("MO_")) {
+ retVal = ModestEngine::instance()->retrieve(*this, messageId, id, NULL);
+ if (retVal == true) {
+ d_ptr->_pendingRequestCount = 1;
+ }
+ } else {
+ retVal = false;
+ }
+
+ if (retVal == false) {
+ d_ptr->setFinished(retVal);
+ }
+
+ return retVal;
}
bool QMessageService::show(const QMessageId& id)
diff --git a/src/messaging/qmessageservice_maemo_p.h b/src/messaging/qmessageservice_maemo_p.h
index 96a1956353..931ba104b0 100644
--- a/src/messaging/qmessageservice_maemo_p.h
+++ b/src/messaging/qmessageservice_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice_qmf.cpp b/src/messaging/qmessageservice_qmf.cpp
index f2a34663e8..cd01a08835 100644
--- a/src/messaging/qmessageservice_qmf.cpp
+++ b/src/messaging/qmessageservice_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice_stub.cpp b/src/messaging/qmessageservice_stub.cpp
index 47aaab953f..e0c38a6336 100644
--- a/src/messaging/qmessageservice_stub.cpp
+++ b/src/messaging/qmessageservice_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessageservice_symbian.cpp b/src/messaging/qmessageservice_symbian.cpp
index e62c2bdf54..7d2f84c488 100644
--- a/src/messaging/qmessageservice_symbian.cpp
+++ b/src/messaging/qmessageservice_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -50,14 +50,21 @@
#include "qmessageservice_symbian_p.h"
#include "qmtmengine_symbian_p.h"
#include "qmessage_symbian_p.h"
-
+#include "messagingutil_p.h"
+#include "maemohelpers_p.h" // contains non-meamo specific helpers for messaging
+#ifdef FREESTYLEMAILUSED
+#include "qfsengine_symbian_p.h"
+#endif
QTM_BEGIN_NAMESPACE
+using namespace SymbianHelpers;
+
QMessageServicePrivate::QMessageServicePrivate(QMessageService* parent)
: q_ptr(parent),
_state(QMessageService::InactiveState),
- _active(false)
+ _active(false),
+ _pendingRequestCount(0)
{
}
@@ -77,52 +84,241 @@ bool QMessageServicePrivate::sendMMS(QMessage &message)
bool QMessageServicePrivate::sendEmail(QMessage &message)
{
- return CMTMEngine::instance()->sendEmail(message);
+ switch (idType(message.parentAccountId())) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->sendEmail(message);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->sendEmail(message);
+ break;
+ }
}
bool QMessageServicePrivate::show(const QMessageId& id)
{
- return CMTMEngine::instance()->showMessage(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->showMessage(id);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->showMessage(id);
+ break;
+ }
}
bool QMessageServicePrivate::compose(const QMessage &message)
{
- return CMTMEngine::instance()->composeMessage(message);
+ switch (idType(message.parentAccountId())) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->composeMessage(message);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->composeMessage(message);
+ break;
+ }
}
bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
{
- return CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, limit, offset);
+ if (_pendingRequestCount > 0) {
+ return false;
+ }
+ _pendingRequestCount = 0;
+ _active = true;
+ _filter = filter;
+ _sortOrder = sortOrder;
+ _limit = limit;
+ _offset = offset;
+ _filtered = true;
+ _sorted = true;
+
+ _pendingRequestCount++;
+ CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, 0, 0);
+
+#ifdef FREESTYLEMAILUSED
+ _pendingRequestCount++;
+ CFSEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, 0, 0);
+#endif
+
+ return _active;
}
bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
{
- return CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, limit, offset);
+ if (_pendingRequestCount > 0) {
+ return false;
+ }
+ _pendingRequestCount = 0;
+ _active = true;
+ _filter = filter;
+ _sortOrder = sortOrder;
+ _limit = limit;
+ _offset = offset;
+ _filtered = true;
+ _sorted = true;
+
+ _pendingRequestCount++;
+ CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, 0, 0);
+
+#ifdef FREESTYLEMAILUSED
+ _pendingRequestCount++;
+ CFSEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, 0, 0);
+#endif
+
+ return _active;
}
bool QMessageServicePrivate::countMessages(const QMessageFilter &filter)
{
- return CMTMEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter);
+ if (_pendingRequestCount > 0) {
+ return false;
+ }
+ _pendingRequestCount = 0;
+ _active = true;
+ _count = 0;
+
+ _pendingRequestCount++;
+ CMTMEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter);
+
+#ifdef FREESTYLEMAILUSED
+ _pendingRequestCount++;
+ CFSEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter);
+#endif
+ return _active;
}
bool QMessageServicePrivate::retrieve(const QMessageId &messageId, const QMessageContentContainerId &id)
{
- return CMTMEngine::instance()->retrieve(messageId, id);
+ switch (idType(messageId)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->retrieve(messageId, id);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->retrieve(messageId, id);
+ break;
+ }
}
bool QMessageServicePrivate::retrieveBody(const QMessageId& id)
{
- return CMTMEngine::instance()->retrieveBody(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->retrieveBody(id);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->retrieveBody(id);
+ break;
+ }
}
bool QMessageServicePrivate::retrieveHeader(const QMessageId& id)
{
- return CMTMEngine::instance()->retrieveHeader(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->retrieveHeader(id);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->retrieveHeader(id);
+ break;
+ }
+}
+
+void QMessageServicePrivate::messagesFound(const QMessageIdList &ids, bool isFiltered, bool isSorted)
+{
+ _pendingRequestCount--;
+
+ if (!isFiltered) {
+ _filtered = false;
+ }
+
+ if (!isSorted) {
+ _sorted = false;
+ } else {
+ if ((ids.count() > 0) && (_ids.count() > 0)) {
+ _sorted = false;
+ }
+ }
+
+ _ids.append(ids);
+
+ if (_pendingRequestCount == 0) {
+ if (!_filtered) {
+ MessagingHelper::filterMessages(_ids, _filter);
+ }
+ if (!_sorted) {
+ MessagingHelper::orderMessages(_ids, _sortOrder);
+ }
+ MessagingHelper::applyOffsetAndLimitToMessageIdList(_ids, _limit, _offset);
+
+ emit q_ptr->messagesFound(_ids);
+
+ setFinished(true);
+
+ _ids.clear();
+ _filter = QMessageFilter();
+ _sortOrder = QMessageSortOrder();
+ }
+}
+
+void QMessageServicePrivate::messagesCounted(int count)
+{
+ _pendingRequestCount--;
+
+ _count += count;
+
+ if (_pendingRequestCount == 0) {
+
+ emit q_ptr->messagesCounted(_count);
+
+ setFinished(true);
+
+ _count = 0;
+ }
}
bool QMessageServicePrivate::exportUpdates(const QMessageAccountId &id)
{
- return CMTMEngine::instance()->exportUpdates(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return CFSEngine::instance()->exportUpdates(id);
+#else
+ return false;
+#endif
+ case EngineTypeMTM:
+ default:
+ return CMTMEngine::instance()->exportUpdates(id);;
+ }
}
void QMessageServicePrivate::setFinished(bool successful)
@@ -143,7 +339,7 @@ QMessageService::QMessageService(QObject *parent)
{
connect(d_ptr, SIGNAL(stateChanged(QMessageService::State)), this, SIGNAL(stateChanged(QMessageService::State)));
connect(d_ptr, SIGNAL(messagesFound(const QMessageIdList&)), this, SIGNAL(messagesFound(const QMessageIdList&)));
- connect(d_ptr, SIGNAL(messagesCounted(int)), this, SIGNAL(messagesCounted(int)));
+ //connect(d_ptr, SIGNAL(messagesCounted(int)), this, SIGNAL(messagesCounted(int)));
connect(d_ptr, SIGNAL(progressChanged(uint, uint)), this, SIGNAL(progressChanged(uint, uint)));
}
diff --git a/src/messaging/qmessageservice_symbian_p.h b/src/messaging/qmessageservice_symbian_p.h
index 20eb678b6d..b9f2b34f22 100644
--- a/src/messaging/qmessageservice_symbian_p.h
+++ b/src/messaging/qmessageservice_symbian_p.h
@@ -69,11 +69,14 @@ public:
bool countMessages(const QMessageFilter &filter);
void setFinished(bool successful);
+
+ void messagesFound(const QMessageIdList &ids, bool isFiltered, bool isSorted);
+ void messagesCounted(int count);
signals:
void stateChanged(QMessageService::State);
void messagesFound(const QMessageIdList&);
- void messagesCounted(int count);
+ //void messagesCounted(int count);
void progressChanged(uint, uint);
private:
@@ -81,9 +84,21 @@ private:
QMessageService::State _state;
QMessageManager::Error _error;
int _actionId;
- bool _active;
+ int _count;
+ mutable bool _active;
+ mutable int _pendingRequestCount;
+ QMessageIdList _ids;
+ mutable bool _sorted;
+ mutable bool _filtered;
+
+ mutable QMessageFilter _filter;
+ mutable QMessageSortOrder _sortOrder;
+ mutable int _limit;
+ mutable int _offset;
+
friend class CMTMEngine;
+ friend class CFSEngine;
};
diff --git a/src/messaging/qmessageservice_win.cpp b/src/messaging/qmessageservice_win.cpp
index c0fe450a61..14eb85dd4f 100644
--- a/src/messaging/qmessageservice_win.cpp
+++ b/src/messaging/qmessageservice_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder.cpp b/src/messaging/qmessagesortorder.cpp
index eabc8f235e..25126c1a89 100644
--- a/src/messaging/qmessagesortorder.cpp
+++ b/src/messaging/qmessagesortorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder.h b/src/messaging/qmessagesortorder.h
index 7e456d5c32..0a440f8684 100644
--- a/src/messaging/qmessagesortorder.h
+++ b/src/messaging/qmessagesortorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_maemo.cpp b/src/messaging/qmessagesortorder_maemo.cpp
index 66f470a81a..32df7fc4e0 100644
--- a/src/messaging/qmessagesortorder_maemo.cpp
+++ b/src/messaging/qmessagesortorder_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_p.h b/src/messaging/qmessagesortorder_p.h
index 48e85df09b..edea43d8a8 100644
--- a/src/messaging/qmessagesortorder_p.h
+++ b/src/messaging/qmessagesortorder_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_qmf.cpp b/src/messaging/qmessagesortorder_qmf.cpp
index 0601e46266..3fba295aa8 100644
--- a/src/messaging/qmessagesortorder_qmf.cpp
+++ b/src/messaging/qmessagesortorder_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_stub.cpp b/src/messaging/qmessagesortorder_stub.cpp
index c5f8dfdc55..8d0824535c 100644
--- a/src/messaging/qmessagesortorder_stub.cpp
+++ b/src/messaging/qmessagesortorder_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_symbian.cpp b/src/messaging/qmessagesortorder_symbian.cpp
index f927d2a3b4..cca48f6f79 100644
--- a/src/messaging/qmessagesortorder_symbian.cpp
+++ b/src/messaging/qmessagesortorder_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagesortorder_win.cpp b/src/messaging/qmessagesortorder_win.cpp
index 56a3c4a8a6..7897768aab 100644
--- a/src/messaging/qmessagesortorder_win.cpp
+++ b/src/messaging/qmessagesortorder_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore.cpp b/src/messaging/qmessagestore.cpp
index 697286c57e..b19ac5b293 100644
--- a/src/messaging/qmessagestore.cpp
+++ b/src/messaging/qmessagestore.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore.h b/src/messaging/qmessagestore.h
index 2bfb3c384c..a7a1363941 100644
--- a/src/messaging/qmessagestore.h
+++ b/src/messaging/qmessagestore.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_maemo.cpp b/src/messaging/qmessagestore_maemo.cpp
index 3f8c72f1ad..24084777a0 100644
--- a/src/messaging/qmessagestore_maemo.cpp
+++ b/src/messaging/qmessagestore_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_p.h b/src/messaging/qmessagestore_p.h
index 562d80d03b..d2c87ff925 100644
--- a/src/messaging/qmessagestore_p.h
+++ b/src/messaging/qmessagestore_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_qmf.cpp b/src/messaging/qmessagestore_qmf.cpp
index b7cbe7c8c9..1e6909101a 100644
--- a/src/messaging/qmessagestore_qmf.cpp
+++ b/src/messaging/qmessagestore_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_qmf_p.h b/src/messaging/qmessagestore_qmf_p.h
index 280823b73f..82be840c35 100644
--- a/src/messaging/qmessagestore_qmf_p.h
+++ b/src/messaging/qmessagestore_qmf_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_stub.cpp b/src/messaging/qmessagestore_stub.cpp
index e7edd267d0..520684aa4d 100644
--- a/src/messaging/qmessagestore_stub.cpp
+++ b/src/messaging/qmessagestore_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmessagestore_symbian.cpp b/src/messaging/qmessagestore_symbian.cpp
index 6177883112..868a59eb8c 100644
--- a/src/messaging/qmessagestore_symbian.cpp
+++ b/src/messaging/qmessagestore_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -40,11 +40,19 @@
****************************************************************************/
#include "qmessagestore_symbian_p.h"
#include "qmtmengine_symbian_p.h"
+#ifdef FREESTYLEMAILUSED
+#include "qfsengine_symbian_p.h"
+#endif
+#include "messagingutil_p.h"
+#include "maemohelpers_p.h" // contains non-meamo specific helpers for messaging
#include <QString>
QTM_BEGIN_NAMESPACE
+using namespace SymbianHelpers;
+
+
Q_GLOBAL_STATIC(QMessageStorePrivate,messageStorePrivate);
QMessageStorePrivate::QMessageStorePrivate()
@@ -62,6 +70,9 @@ void QMessageStorePrivate::initialize(QMessageStore *store)
{
q_ptr = store;
_mtmEngine = CMTMEngine::instance();
+#ifdef FREESTYLEMAILUSED
+ _fsEngine = CFSEngine::instance();
+#endif
}
QMessageIdList QMessageStorePrivate::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
@@ -130,43 +141,124 @@ void QMessageStorePrivate::messagesCounted(int count)
QMessageAccountIdList QMessageStorePrivate::queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset) const
{
- return _mtmEngine->queryAccounts(filter, sortOrder, limit, offset);
+ QMessageAccountIdList idList;
+
+ idList << _mtmEngine->queryAccounts(filter, sortOrder, 0, 0);
+
+#ifdef FREESTYLEMAILUSED
+ _fsEngine->setMtmAccountIdList(idList);
+ idList << _fsEngine->queryAccounts(filter, sortOrder, 0, 0);
+#endif
+
+ MessagingHelper::orderAccounts(idList, sortOrder);
+
+ MessagingHelper::applyOffsetAndLimitToAccountIdList(idList, limit, offset);
+
+ return idList;
}
int QMessageStorePrivate::countAccounts(const QMessageAccountFilter &filter) const
{
- return _mtmEngine->countAccounts(filter);
+ int count = 0;
+#ifdef FREESTYLEMAILUSED
+ count += _fsEngine->countAccounts(filter);
+#endif
+ count += _mtmEngine->countAccounts(filter);
+ return count;
}
QMessageFolderIdList QMessageStorePrivate::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const
{
- return _mtmEngine->queryFolders(filter, sortOrder, limit, offset);
+ QMessageFolderIdList idList;
+#ifdef FREESTYLEMAILUSED
+ idList << _fsEngine->queryFolders(filter, sortOrder, 0, 0);
+#endif
+ idList << _mtmEngine->queryFolders(filter, sortOrder, 0, 0);
+
+ MessagingHelper::orderFolders(idList, sortOrder);
+
+ MessagingHelper::applyOffsetAndLimitToFolderIdList(idList, limit, offset);
+
+ return idList;
}
int QMessageStorePrivate::countFolders(const QMessageFolderFilter& filter) const
{
- return _mtmEngine->countFolders(filter);
+ int count = 0;
+#ifdef FREESTYLEMAILUSED
+ count += _fsEngine->countFolders(filter);
+#endif
+ count += _mtmEngine->countFolders(filter);
+ return count;
}
QMessageFolder QMessageStorePrivate::folder(const QMessageFolderId& id) const
{
- return _mtmEngine->folder(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->folder(id);
+#else
+ return QMessageFolder();
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->folder(id);
+ break;
+ }
}
bool QMessageStorePrivate::addMessage(QMessage *m)
{
- return _mtmEngine->addMessage(m);
+ switch (idType(m->parentAccountId())) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->addMessage(m);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->addMessage(m);
+ break;
+ }
}
bool QMessageStorePrivate::updateMessage(QMessage *m)
{
- return _mtmEngine->updateMessage(m);
+ switch (idType(m->id())) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->updateMessage(m);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->updateMessage(m);
+ break;
+ }
}
bool QMessageStorePrivate::removeMessage(const QMessageId &id, QMessageManager::RemovalOption option)
{
- return _mtmEngine->removeMessage(id, option);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->removeMessage(id, option);
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->removeMessage(id, option);
+ break;
+ }
}
bool QMessageStorePrivate::removeMessages(const QMessageFilter &filter, QMessageManager::RemovalOption option)
@@ -182,9 +274,25 @@ bool QMessageStorePrivate::removeMessages(const QMessageFilter &filter, QMessage
loop.exec();
ids = _ids;
_ids.clear();
+
for (int i=0; i < ids.count(); i++) {
- if (!_mtmEngine->removeMessage(ids[i], option)) {
- retVal = false;
+ switch (idType(ids[i])) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ if (!_fsEngine->removeMessage(ids[i], option)) {
+ retVal = false;
+ }
+#else
+ return false;
+#endif
+ break;
+ case EngineTypeMTM:
+ if (!_mtmEngine->removeMessage(ids[i], option)) {
+ retVal = false;
+ }
+ break;
+ default:
+ return false;
}
}
} else {
@@ -196,22 +304,55 @@ bool QMessageStorePrivate::removeMessages(const QMessageFilter &filter, QMessage
QMessage QMessageStorePrivate::message(const QMessageId& id) const
{
- return _mtmEngine->message(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->message(id);
+#else
+ return QMessage();
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->message(id);
+ break;
+ }
}
QMessageAccount QMessageStorePrivate::account(const QMessageAccountId &id) const
{
- return _mtmEngine->account(id);
+ switch (idType(id)) {
+ case EngineTypeFreestyle:
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->account(id);
+#else
+ return QMessageAccount();
+#endif
+ break;
+ case EngineTypeMTM:
+ default:
+ return _mtmEngine->account(id);
+ break;
+ }
}
QMessageManager::NotificationFilterId QMessageStorePrivate::registerNotificationFilter(const QMessageFilter &filter)
{
- return _mtmEngine->registerNotificationFilter(*this, filter);
+ QMessageManager::NotificationFilterId id = _mtmEngine->registerNotificationFilter(*this, filter);
+#ifdef FREESTYLEMAILUSED
+ return _fsEngine->registerNotificationFilter(*this, filter, id);
+#else
+ return id;
+#endif
}
void QMessageStorePrivate::unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId)
{
- _mtmEngine->unregisterNotificationFilter(notificationFilterId);
+#ifdef FREESTYLEMAILUSED
+ _fsEngine->unregisterNotificationFilter(notificationFilterId);
+#endif
+ _mtmEngine->unregisterNotificationFilter(notificationFilterId);
+
}
void QMessageStorePrivate::messageNotification(QMessageStorePrivate::NotificationType type, const QMessageId& id,
@@ -219,6 +360,7 @@ void QMessageStorePrivate::messageNotification(QMessageStorePrivate::Notificatio
{
switch (type) {
case Added:
+ qDebug() << "messageAdded notification" << id.toString();
emit q_ptr->messageAdded(id, matchingFilters);
break;
case Updated:
diff --git a/src/messaging/qmessagestore_symbian_p.h b/src/messaging/qmessagestore_symbian_p.h
index d2e990b836..fd9f8a6e42 100644
--- a/src/messaging/qmessagestore_symbian_p.h
+++ b/src/messaging/qmessagestore_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -49,6 +49,9 @@
QTM_BEGIN_NAMESPACE
class CMTMEngine;
+#ifdef FREESTYLEMAILUSED
+class CFSEngine;
+#endif
class QMessageStorePrivate : public QObject
{
@@ -100,6 +103,10 @@ private:
QMessageStore* q_ptr;
CMTMEngine* _mtmEngine;
+#ifdef FREESTYLEMAILUSED
+ CFSEngine* _fsEngine;
+#endif
+
QMessageManager::Error _error;
NotificationType _notificationType;
diff --git a/src/messaging/qmessagestore_win.cpp b/src/messaging/qmessagestore_win.cpp
index 5eb302ff71..cc1a2e43b2 100644
--- a/src/messaging/qmessagestore_win.cpp
+++ b/src/messaging/qmessagestore_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmfhelpers.cpp b/src/messaging/qmfhelpers.cpp
index 07bb406071..4aef28b084 100644
--- a/src/messaging/qmfhelpers.cpp
+++ b/src/messaging/qmfhelpers.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmfhelpers_p.h b/src/messaging/qmfhelpers_p.h
index 9b8c30e7a5..17fdacc0cc 100644
--- a/src/messaging/qmfhelpers_p.h
+++ b/src/messaging/qmfhelpers_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/qmtmengine_symbian.cpp b/src/messaging/qmtmengine_symbian.cpp
index fefd50be47..aabfaa1fb5 100644
--- a/src/messaging/qmtmengine_symbian.cpp
+++ b/src/messaging/qmtmengine_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,9 +77,9 @@
#include <smuthdr.h>
#include <mtuireg.h> // CMtmUiRegistry
#include <mtmuibas.h> // CBaseMtmUi
-#include <SendUiConsts.h>
+#include <senduiconsts.h>
#include <sendui.h> // SendUi API
-#include <CMessageData.h> //CMessageData
+#include <cmessagedata.h> //CMessageData
#include <apgcli.h>
#include <rsendas.h>
#include <rsendasmessage.h>
@@ -276,13 +276,13 @@ QMessageAccountIdList CMTMEngine::queryAccounts(const QMessageAccountFilter &fil
}
}
}
-
+
if (!sortOrder.isEmpty()) {
orderAccounts(accountIds, sortOrder);
}
-
+
applyOffsetAndLimitToAccountIds(accountIds, offset, limit);
-
+
return accountIds;
}
@@ -703,27 +703,33 @@ bool CMTMEngine::showMessage(const QMessageId &id)
void CMTMEngine::showMessageL(const QMessageId &id)
{
long int messageId = SymbianHelpers::stripIdPrefix(id.toString()).toLong();
-
+
CMsvEntry* pEntry = ipMsvSession->GetEntryL(messageId);
CleanupStack::PushL(pEntry);
- CBaseMtm* mtm = ipClientMtmReg->NewMtmL(pEntry->Entry().iMtm);
- CleanupStack::PushL(mtm);
+
+ CBaseMtm* pMtm = ipClientMtmReg->NewMtmL(pEntry->Entry().iMtm);
+ CleanupStack::PushL(pMtm);
- CMtmUiRegistry* mtmUiRegistry = CMtmUiRegistry::NewL(*ipMsvSession);
- CleanupStack::PushL(mtmUiRegistry);
+ CMtmUiRegistry* pMtmUiRegistry = CMtmUiRegistry::NewL(*ipMsvSession);
+ CleanupStack::PushL(pMtmUiRegistry);
- CBaseMtmUi* ui = mtmUiRegistry->NewMtmUiL(*mtm);
- CleanupStack::PushL(ui);
+ CBaseMtmUi* pMtmUi = pMtmUiRegistry->NewMtmUiL(*pMtm);
+ CleanupStack::PushL(pMtmUi);
- ui->BaseMtm().SwitchCurrentEntryL(messageId);
- CMsvOperationWait* waiter = CMsvOperationWait::NewLC();
- waiter->Start();
- CMsvOperation* op = ui->OpenL(waiter->iStatus);
- CleanupStack::PushL(op);
+ pMtmUi->BaseMtm().SwitchCurrentEntryL(messageId);
+
+ QMTMWait mtmWait;
- CActiveScheduler::Start();
+ CMsvOperation* pMsvOperation = pMtmUi->OpenL(mtmWait.iStatus);
+
+ mtmWait.start();
- CleanupStack::PopAndDestroy(6); // op,waiter,ui,mtmuiregistry,mtm,pEntry
+ delete pMsvOperation;
+
+ CleanupStack::PopAndDestroy(pMtmUi);
+ CleanupStack::PopAndDestroy(pMtmUiRegistry);
+ CleanupStack::PopAndDestroy(pMtm);
+ CleanupStack::PopAndDestroy(pEntry);
}
bool CMTMEngine::composeMessage(const QMessage &message)
@@ -978,61 +984,59 @@ void CMTMEngine::retrieveL(const QMessageId &messageId, const QMessageContentCon
CMsvEntrySelection* sel = new(ELeave) CMsvEntrySelection;
CleanupStack::PushL(sel);
- CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-
if (pEntry->Entry().iMtm == KUidMsgTypeIMAP4){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
ipImap4Mtm->SwitchCurrentEntryL(pEntry->OwningService());
sel->AppendL(messId);
-
+
CMsvOperation* opConnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMConnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
TImImap4GetPartialMailInfo info;
info.iPartialMailOptions = EAttachmentsOnly;
TPckg<TImImap4GetPartialMailInfo> bodyInfo(info);
CMsvOperation* opPopulate = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMPopulate,
- *sel, bodyInfo, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, bodyInfo,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
- if (wait->iStatus.Int() != KErrNone) {
- if (wait->iStatus.Int() == KErrNotFound){
+ if (mtmWait.iStatus.Int() != KErrNone) {
+ if (mtmWait.iStatus.Int() == KErrNotFound){
// TODO: set messagestatus removed
}
}
CMsvOperation* opDisconnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
-
- CleanupStack::PopAndDestroy(3);
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
if (pEntry->Entry().iMtm == KUidMsgTypePOP3){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
-
+
ipPop3Mtm->SwitchCurrentEntryL(pEntry->OwningService());
sel->AppendL(pEntry->EntryId());
-
+
CMsvOperation* opConnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMConnect,
- *sel, parameter, wait->iStatus);
-
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
+
CImPop3Settings *popSettings = new (ELeave) CImPop3Settings;
CleanupStack::PushL(popSettings);
CEmailAccounts *emailAccounts = CEmailAccounts::NewLC();
@@ -1046,22 +1050,18 @@ void CMTMEngine::retrieveL(const QMessageId &messageId, const QMessageContentCon
CleanupStack::PopAndDestroy(popSettings);
CMsvOperation* opPopulate = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMPopulate,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
+
CMsvOperation* opDisconnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(3);
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
- CleanupStack::PopAndDestroy(wait);
CleanupStack::PopAndDestroy(sel);
CleanupStack::PopAndDestroy(pEntry);
}
@@ -1085,48 +1085,47 @@ void CMTMEngine::retrieveBodyL(const QMessageId& id) const
CMsvEntrySelection* sel = new(ELeave) CMsvEntrySelection;
CleanupStack::PushL(sel);
- CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-
if (pEntry->Entry().iMtm == KUidMsgTypeIMAP4){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
-
+
ipImap4Mtm->SwitchCurrentEntryL(pEntry->OwningService());
-
+
sel->AppendL(messageId);
CMsvOperation* opConnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMConnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
TImImap4GetPartialMailInfo info;
info.iPartialMailOptions = EBodyTextOnly;
TPckg<TImImap4GetPartialMailInfo> bodyInfo(info);
CMsvOperation* opPopulate = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMPopulate,
- *sel, bodyInfo, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, bodyInfo,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
- if (wait->iStatus.Int() != KErrNone) {
- if (wait->iStatus.Int() == KErrNotFound){
+ if (mtmWait.iStatus.Int() != KErrNone) {
+ if (mtmWait.iStatus.Int() == KErrNotFound){
// TODO: set messagestatus removed
}
}
CMsvOperation* opDisconnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
-
- CleanupStack::PopAndDestroy(3);
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
if (pEntry->Entry().iMtm == KUidMsgTypePOP3){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
ipPop3Mtm->SwitchCurrentEntryL(pEntry->OwningService());
@@ -1134,11 +1133,10 @@ void CMTMEngine::retrieveBodyL(const QMessageId& id) const
sel->AppendL(pEntry->EntryId());
CMsvOperation* opConnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMConnect,
- *sel, parameter, wait->iStatus);
-
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
CImPop3Settings *popSettings = new (ELeave) CImPop3Settings;
CleanupStack::PushL(popSettings);
@@ -1153,22 +1151,18 @@ void CMTMEngine::retrieveBodyL(const QMessageId& id) const
CleanupStack::PopAndDestroy(popSettings);
CMsvOperation* opPopulate = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMPopulate,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
CMsvOperation* opDisconnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(3);
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
- CleanupStack::PopAndDestroy(wait);
CleanupStack::PopAndDestroy(sel);
CleanupStack::PopAndDestroy(pEntry);
}
@@ -1192,42 +1186,41 @@ void CMTMEngine::retrieveHeaderL(const QMessageId& id) const
CMsvEntrySelection* sel = new(ELeave) CMsvEntrySelection;
CleanupStack::PushL(sel);
- CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-
if (pEntry->Entry().iMtm == KUidMsgTypeIMAP4){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
-
+
ipImap4Mtm->SwitchCurrentEntryL(pEntry->OwningService());
-
+
sel->AppendL(messageId);
-
+
CMsvOperation* opConnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMConnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
TImImap4GetMailInfo info;
info.iGetMailBodyParts = EGetImap4EmailHeaders;
TPckg<TImImap4GetMailInfo> bodyInfo(info);
CMsvOperation* opPopulate = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMPopulate,
- *sel, bodyInfo, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, bodyInfo,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
CMsvOperation* opDisconnect = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
-
- CleanupStack::PopAndDestroy(3);
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
if (pEntry->Entry().iMtm == KUidMsgTypePOP3){
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
ipPop3Mtm->SwitchCurrentEntryL(pEntry->OwningService());
@@ -1235,11 +1228,11 @@ void CMTMEngine::retrieveHeaderL(const QMessageId& id) const
sel->AppendL(pEntry->EntryId());
CMsvOperation* opConnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMConnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opConnect);
- wait->Start();
- CActiveScheduler::Start();
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opConnect;
+
CImPop3Settings *popSettings = new (ELeave) CImPop3Settings;
CleanupStack::PushL(popSettings);
CEmailAccounts *emailAccounts = CEmailAccounts::NewLC();
@@ -1252,23 +1245,18 @@ void CMTMEngine::retrieveHeaderL(const QMessageId& id) const
CleanupStack::PopAndDestroy(popSettings);
CMsvOperation* opPopulate = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMPopulate,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opPopulate);
- wait->Start();
- CActiveScheduler::Start();
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opPopulate;
CMsvOperation* opDisconnect = ipPop3Mtm->InvokeAsyncFunctionL(KPOP3MTMDisconnect,
- *sel, parameter, wait->iStatus);
- CleanupStack::PushL(opDisconnect);
-
- wait->Start();
- CActiveScheduler::Start();
-
- CleanupStack::PopAndDestroy(3);
-
+ *sel, parameter,
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete opDisconnect;
}
- CleanupStack::PopAndDestroy(wait);
CleanupStack::PopAndDestroy(sel);
CleanupStack::PopAndDestroy(pEntry);
}
@@ -1291,36 +1279,30 @@ void CMTMEngine::exportUpdatesL(const QMessageAccountId &id) const
User::Leave(KErrNotFound);
}
if (pEntry->Entry().iMtm == KUidMsgTypeIMAP4) {
+ QMTMWait mtmWait;
+
TPckgBuf<TInt> parameter;
CMsvEntrySelection* pMsvEntrySelection = new(ELeave) CMsvEntrySelection;
CleanupStack::PushL(pMsvEntrySelection);
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
-
+
ipImap4Mtm->SwitchCurrentEntryL(account.d_ptr->_service1EntryId);
pMsvEntrySelection->AppendL(account.d_ptr->_service1EntryId);
CMsvOperation* pMsvOperation = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMConnect, *pMsvEntrySelection,
- parameter, pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
+ parameter, mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
pMsvOperation = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMFullSync, *pMsvEntrySelection,
- parameter, pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
+ parameter, mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
pMsvOperation = ipImap4Mtm->InvokeAsyncFunctionL(KIMAP4MTMDisconnect, *pMsvEntrySelection,
- parameter, pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
+ parameter, mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
- CleanupStack::PopAndDestroy(pMsvOperationWait);
CleanupStack::PopAndDestroy(pMsvEntrySelection);
}
releaseCMsvEntryAndPopFromCleanupStack(pEntry);
@@ -1359,26 +1341,20 @@ bool CMTMEngine::removeMessageL(const QMessageId &id, QMessageManager::RemovalOp
ipImap4Mtm->SwitchCurrentEntryL(messageId);
TMsvId parent = ipImap4Mtm->Entry().Entry().Parent();
ipImap4Mtm->SwitchCurrentEntryL(parent);
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
- CMsvOperation* pMsvOperation = ipImap4Mtm->Entry().DeleteL(messageId, pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
- CleanupStack::PopAndDestroy(pMsvOperationWait);
+ QMTMWait mtmWait;
+ CMsvOperation* pMsvOperation = ipImap4Mtm->Entry().DeleteL(messageId, mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
} else if (pEntry->Entry().iMtm == KUidMsgTypePOP3) {
if (!ipPop3Mtm)
return false;
ipPop3Mtm->SwitchCurrentEntryL(messageId);
TMsvId parent = ipPop3Mtm->Entry().Entry().Parent();
ipPop3Mtm->SwitchCurrentEntryL(parent);
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
- CMsvOperation* pMsvOperation = ipPop3Mtm->Entry().DeleteL(messageId, pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
- CleanupStack::PopAndDestroy(pMsvOperationWait);
+ QMTMWait mtmWait;
+ CMsvOperation* pMsvOperation = ipPop3Mtm->Entry().DeleteL(messageId, mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
}
CleanupStack::PopAndDestroy(pEntry);
@@ -1721,12 +1697,10 @@ void CMTMEngine::filterAndOrderMessagesReady(bool success, int operationId, QMes
applyOffsetAndLimitToMsgIds(iMessageQueries[index].ids,
iMessageQueries[index].offset,
iMessageQueries[index].limit);
- emit iMessageQueries[index].privateService->messagesFound(iMessageQueries[index].ids);
+ iMessageQueries[index].privateService->messagesFound(iMessageQueries[index].ids, true, true);
} else {
- emit iMessageQueries[index].privateService->messagesCounted(iMessageQueries[index].count);
+ iMessageQueries[index].privateService->messagesCounted(iMessageQueries[index].count);
}
- iMessageQueries[index].privateService->_active = false;
- emit iMessageQueries[index].privateService->stateChanged(QMessageService::FinishedState);
}
} else {
// There was only one single filter to handle
@@ -1748,19 +1722,16 @@ void CMTMEngine::filterAndOrderMessagesReady(bool success, int operationId, QMes
}
// Handle offest & limit
applyOffsetAndLimitToMsgIds(ids, iMessageQueries[index].offset, iMessageQueries[index].limit);
- emit iMessageQueries[index].privateService->messagesFound(ids);
+ iMessageQueries[index].privateService->messagesFound(ids, true, true);
} else {
- emit iMessageQueries[index].privateService->messagesCounted(ids.count());
+ iMessageQueries[index].privateService->messagesCounted(ids.count());
}
- iMessageQueries[index].privateService->_active = false;
- emit iMessageQueries[index].privateService->stateChanged(QMessageService::FinishedState);
}
} else {
iMessageQueries[index].privateService->_active = false;
if (iMessageQueries[index].privateService->_error == QMessageManager::NoError) {
iMessageQueries[index].privateService->_error = QMessageManager::RequestIncomplete;
}
- emit iMessageQueries[index].privateService->stateChanged(QMessageService::FinishedState);
}
delete iMessageQueries[index].findOperation;
@@ -2319,25 +2290,20 @@ QMessage CMTMEngine::messageL(const QMessageId& id) const
CleanupStack::PushL(pEntry);
if (pEntry->Entry().iMtm == KUidMsgTypeSMS) {
- if (!ipSmsMtm)
- return message;
- message = smsMessageL(*pEntry, messageId);
+ if (ipSmsMtm)
+ message = smsMessageL(*pEntry, messageId);
} else if (pEntry->Entry().iMtm == KUidMsgTypeMultimedia) {
- if (!ipMmsMtm)
- return message;
- message = mmsMessageL(*pEntry, messageId);
+ if (ipMmsMtm)
+ message = mmsMessageL(*pEntry, messageId);
} else if (pEntry->Entry().iMtm == KUidMsgTypeSMTP) {
- if (!ipSmtpMtm)
- return message;
- message = emailMessageL(*pEntry, messageId);
+ if (ipSmtpMtm)
+ message = emailMessageL(*pEntry, messageId);
} else if (pEntry->Entry().iMtm == KUidMsgTypeIMAP4) {
- if (!ipImap4Mtm)
- return message;
- message = emailMessageL(*pEntry, messageId);
+ if (ipImap4Mtm)
+ message = emailMessageL(*pEntry, messageId);
} else if (pEntry->Entry().iMtm == KUidMsgTypePOP3) {
- if (!ipPop3Mtm)
- return message;
- message = emailMessageL(*pEntry, messageId);
+ if (ipPop3Mtm)
+ message = emailMessageL(*pEntry, messageId);
}
CleanupStack::PopAndDestroy(pEntry);
@@ -2603,7 +2569,7 @@ void CMTMEngine::sendSMSL(QMessage &message)
// Update message sending state
entry.SetSendingState(KMsvSendStateWaiting);
-
+
// Set SMS Service & delivery settings to the SMS header
CSmsHeader& smsHeader = ipSmsMtm->SmsHeader();
CSmsSettings* pSmsSettings = CSmsSettings::NewL();
@@ -2617,7 +2583,9 @@ void CMTMEngine::sendSMSL(QMessage &message)
if (smsHeader.Message().ServiceCenterAddress().Length() == 0) {
CSmsSettings* pSmsServiceSettings = &(ipSmsMtm->ServiceSettings());
if (!pSmsServiceSettings->ServiceCenterCount()) {
+#ifndef Q_CC_NOKIAX86
User::Leave(KErrNotReady);
+#endif
} else {
CSmsNumber* pSmsCenterNumber = CSmsNumber::NewL();
CleanupStack::PushL(pSmsCenterNumber);
@@ -2640,14 +2608,13 @@ void CMTMEngine::sendSMSL(QMessage &message)
// Switch current SMS MTM context to SMS message parent folder entry
ipSmsMtm->SwitchCurrentEntryL(ipSmsMtm->Entry().Entry().Parent());
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
+ QMTMWait mtmWait;
// Move SMS Message to Outbox
CMsvOperation* pMsvOperation = ipSmsMtm->Entry().MoveL(messageId,
KMsvGlobalOutBoxIndexEntryId,
- pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.iStatus);
+ mtmWait.start();
delete pMsvOperation;
// Send SMS Message
@@ -2662,14 +2629,11 @@ void CMTMEngine::sendSMSL(QMessage &message)
pMsvOperation = ipSmsMtm->InvokeAsyncFunctionL(ESmsMtmCommandScheduleCopy,
*pMsvEntrySelection,
dummyParams,
- pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.iStatus);
+ mtmWait.start();
delete pMsvOperation;
CleanupStack::PopAndDestroy(pMsvEntrySelection);
-
- CleanupStack::PopAndDestroy(pMsvOperationWait);
} else {
User::Leave(KErrCorrupt);
}
@@ -2689,22 +2653,21 @@ void CMTMEngine::storeMMSL(QMessage &message)
// => Message will be created into defined standard Folder (Default value is Drafts Folder)
destinationFolderId = standardFolderId(message.standardFolder());
}
-
- CMsvOperationWait* wait = CMsvOperationWait::NewLC();
- wait->Start();
- CMsvOperation* operation = ipMmsMtm->CreateNewEntryL(destinationFolderId, wait->iStatus);
- CleanupStack::PushL(operation);
- CActiveScheduler::Start();
- if (wait->iStatus.Int() != KErrNone){
- //TODO: handle error
- }
- TPckgBuf<TMsvId> pkg;
- pkg.Copy( operation->ProgressL());
- TMsvId indexEntry= pkg();
- CleanupStack::PopAndDestroy(2); // operation and wait
- ipMmsMtm->SwitchCurrentEntryL(indexEntry);
- ipMmsMtm->LoadMessageL();
-
+
+ // Switch current MMS MTM context to folder entry
+ ipMmsMtm->SwitchCurrentEntryL(destinationFolderId);
+
+ // Create a new MMS message entry as a child of the current context
+ // Note: CreateMessageL switches current MMS MTM context to
+ // a new MMS message context
+ ipMmsMtm->CreateMessageL(ipMmsMtm->DefaultServiceL());
+
+ // Get the current context (new message context)
+ CMsvEntry& newMessageContext = ipMmsMtm->Entry();
+
+ // Copy entry values from the new message context index entry
+ TMsvEntry entry = newMessageContext.Entry();
+
// Add receivers
QList<QMessageAddress> list(message.to());
TPtrC16 receiver(KNullDesC);
@@ -2720,30 +2683,33 @@ void CMTMEngine::storeMMSL(QMessage &message)
TPtrC16 sbj(reinterpret_cast<const TUint16*>(subject.utf16()));
ipMmsMtm->SetSubjectL(sbj);
- TMsvEntry ent = ipMmsMtm->Entry().Entry();
- ent.SetInPreparation(EFalse);
- ent.SetVisible(ETrue);
+ entry.SetInPreparation(EFalse);
+ entry.SetVisible(ETrue);
switch (message.priority()) {
case QMessage::HighPriority:
- ent.SetPriority(EMsvHighPriority);
+ entry.SetPriority(EMsvHighPriority);
break;
case QMessage::NormalPriority:
- ent.SetPriority(EMsvMediumPriority);
+ entry.SetPriority(EMsvMediumPriority);
break;
case QMessage::LowPriority:
- ent.SetPriority(EMsvLowPriority);
+ entry.SetPriority(EMsvLowPriority);
break;
}
if (message.status() & QMessage::Read) {
- ent.SetUnread(false);
- ent.SetNew(false);
+ entry.SetUnread(false);
+ entry.SetNew(false);
} else {
- ent.SetUnread(true);
- ent.SetNew(true);
+ entry.SetUnread(true);
+ entry.SetNew(true);
}
- ipMmsMtm->Entry().ChangeL(ent);
- // Save the changes
+
+ // Set new message's context's index entry to the specified values.
+ // <=> Changes are set into cache only
+ newMessageContext.ChangeL(entry);
+
+ // Commit cached changes to the storage
ipMmsMtm->SaveMessageL();
CMsvStore* store = ipMmsMtm->Entry().EditStoreL();
@@ -2865,13 +2831,13 @@ void CMTMEngine::storeMMSL(QMessage &message)
CleanupStack::PopAndDestroy(); // store
QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
- privateMessage->_id = QMessageId(SymbianHelpers::addIdPrefix(QString::number(indexEntry,SymbianHelpers::EngineTypeMTM)));
+ privateMessage->_id = QMessageId(SymbianHelpers::addIdPrefix(QString::number(entry.Id()),SymbianHelpers::EngineTypeMTM));
// Save the changes
ipMmsMtm->SaveMessageL();
if (!message.receivedDate().isNull() || !message.date().isNull()) {
// Change the date to given date
- CMsvEntry* pEntry = ipMsvSession->GetEntryL(indexEntry);
+ CMsvEntry* pEntry = ipMsvSession->GetEntryL(entry.Id());
CleanupStack::PushL(pEntry);
TMsvEntry changedEntry = pEntry->Entry();
if (!message.date().isNull()) {
@@ -3218,17 +3184,15 @@ void CMTMEngine::updateEmailL(QMessage &message)
if (mtmUid == KUidMsgTypeSMTP) {
ipSmtpMtm->Entry().ChangeL(msvEntry);
} else {
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
+ QMTMWait mtmWait;
CMsvOperation* pMsvOperation = NULL;
if (mtmUid == KUidMsgTypePOP3) {
- pMsvOperation = ipPop3Mtm->Entry().ChangeL(msvEntry, pMsvOperationWait->iStatus);
+ pMsvOperation = ipPop3Mtm->Entry().ChangeL(msvEntry, mtmWait.iStatus);
} else {
- pMsvOperation = ipImap4Mtm->Entry().ChangeL(msvEntry, pMsvOperationWait->iStatus);
+ pMsvOperation = ipImap4Mtm->Entry().ChangeL(msvEntry, mtmWait.iStatus);
}
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.start();
delete pMsvOperation;
- CleanupStack::PopAndDestroy(pMsvOperationWait);
}
// Save the changes
@@ -3239,8 +3203,6 @@ void CMTMEngine::updateEmailL(QMessage &message)
CImEmailMessage* mailMsg = CImEmailMessage::NewLC(*entry);
- CMsvOperationWait* waiter = CMsvOperationWait::NewLC();
-
CImMimeHeader* mime = CImMimeHeader::NewLC();
QByteArray filePath;
@@ -3269,9 +3231,9 @@ void CMTMEngine::updateEmailL(QMessage &message)
QString fileName = QString(name);
CleanupStack::PushL(attachmentInfo);
attachmentInfo->SetAttachmentNameL(TPtrC(reinterpret_cast<const TUint16*>(fileName.utf16())));
- mailMsg->AttachmentManager().AddAttachmentL(attachment, attachmentInfo, waiter->iStatus);
- waiter->Start();
- CActiveScheduler::Start();
+ QMTMWait mtmWait;
+ mailMsg->AttachmentManager().AddAttachmentL(attachment, attachmentInfo, mtmWait.iStatus);
+ mtmWait.start();
CleanupStack::Pop(attachmentInfo);
CleanupStack::Pop(&attachment); // close file
} else if (pPrivateContainer->_id == message.bodyId()) { // content is body text
@@ -3302,10 +3264,9 @@ void CMTMEngine::updateEmailL(QMessage &message)
}
// Insert the contents of a buffer into the document at specified position
bodyText->InsertL(0, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
- mailMsg->StoreBodyTextWithMimeHeaderL(messageId, *bodyText, *mime, waiter->iStatus);
-
- waiter->Start();
- CActiveScheduler::Start();
+ QMTMWait mtmWait;
+ mailMsg->StoreBodyTextWithMimeHeaderL(messageId, *bodyText, *mime, mtmWait.iStatus);
+ mtmWait.start();
CleanupStack::PopAndDestroy(3); // bodyText, characterFormatLayer, paragraphFormatLayer
}
@@ -3342,9 +3303,9 @@ void CMTMEngine::updateEmailL(QMessage &message)
// Insert the contents of a buffer into the document at specified position
bodyText->InsertL(0, TPtrC(reinterpret_cast<const TUint16*>(message.textContent().utf16())));
- mailMsg->StoreBodyTextWithMimeHeaderL(messageId, *bodyText, *mime, waiter->iStatus);
- waiter->Start();
- CActiveScheduler::Start();
+ QMTMWait mtmWait;
+ mailMsg->StoreBodyTextWithMimeHeaderL(messageId, *bodyText, *mime, mtmWait.iStatus);
+ mtmWait.start();
CleanupStack::PopAndDestroy(3);
//bodyText, characterFormatLayer, paragraphFormatLayer,
}
@@ -3393,7 +3354,7 @@ void CMTMEngine::updateEmailL(QMessage &message)
// Store the changes permanently
store->CommitL();
- CleanupStack::PopAndDestroy(6, entry);
+ CleanupStack::PopAndDestroy(5, entry);
// mailMsg, emailEntry, store, waiter, entry, mime
if (!message.receivedDate().isNull() || !message.date().isNull()) {
@@ -3409,17 +3370,15 @@ void CMTMEngine::updateEmailL(QMessage &message)
if (mtmUid == KUidMsgTypeSMTP) {
ipSmtpMtm->Entry().ChangeL(changedEntry);
} else {
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
+ QMTMWait mtmWait;
CMsvOperation* pMsvOperation = NULL;
if (mtmUid == KUidMsgTypePOP3) {
- pMsvOperation = ipPop3Mtm->Entry().ChangeL(changedEntry, pMsvOperationWait->iStatus);
+ pMsvOperation = ipPop3Mtm->Entry().ChangeL(changedEntry, mtmWait.iStatus);
} else {
- pMsvOperation = ipImap4Mtm->Entry().ChangeL(changedEntry, pMsvOperationWait->iStatus);
+ pMsvOperation = ipImap4Mtm->Entry().ChangeL(changedEntry, mtmWait.iStatus);
}
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.start();
delete pMsvOperation;
- CleanupStack::PopAndDestroy(pMsvOperationWait);
}
CleanupStack::PopAndDestroy(pEntry);
}
@@ -3444,14 +3403,14 @@ void CMTMEngine::sendMMSL(QMessage &message)
}
CMsvEntry* pMsvEntry = retrieveCMsvEntryAndPushToCleanupStack(messageId);
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
+
+ QMTMWait mtmWait;
CMsvOperation* pMsvOperation = NULL;
if (!messageCreated) {
ipMmsMtm->SwitchCurrentEntryL(pMsvEntry->Entry().Parent());
- pMsvOperation = ipMmsMtm->Entry().CopyL(messageId, KMsvGlobalOutBoxIndexEntryId, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ pMsvOperation = ipMmsMtm->Entry().CopyL(messageId, KMsvGlobalOutBoxIndexEntryId, mtmWait.iStatus);
+ mtmWait.start();
delete pMsvOperation;
pMsvOperation = NULL;
}
@@ -3460,16 +3419,10 @@ void CMTMEngine::sendMMSL(QMessage &message)
CMsvEntrySelection* pMsvEntrySelection = new(ELeave) CMsvEntrySelection;
pMsvEntrySelection->AppendL(messageId);
ipMmsMtm->SwitchCurrentEntryL(KMsvGlobalOutBoxIndexEntryId);
- pMsvOperation = ipMmsMtm->SendL(*pMsvEntrySelection, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- delete pMsvOperation;
-
- while (pMsvOperationWait->iStatus == KRequestPending) {
- CActiveScheduler::Start();
- }
+ pMsvOperation = ipMmsMtm->SendL(*pMsvEntrySelection, mtmWait.iStatus);
+ mtmWait.start();
- CleanupStack::PopAndDestroy(pMsvOperationWait);
+ delete pMsvOperation;
releaseCMsvEntryAndPopFromCleanupStack(pMsvEntry);
}
@@ -3521,8 +3474,9 @@ void CMTMEngine::storeEmailL(QMessage &message)
}
QMessageAccount messageAccount = this->account(message.parentAccountId());
+
+ QMTMWait mtmWait;
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
TMsvEmailTypeList msvEmailTypeList = 0;
TMsvPartList msvPartList = 0;
if (message.status() & QMessage::HasAttachments == QMessage::HasAttachments) {
@@ -3530,12 +3484,11 @@ void CMTMEngine::storeEmailL(QMessage &message)
} else {
msvPartList = KMsvMessagePartBody;
}
- CImEmailOperation* pImEmailOperation = CImEmailOperation::CreateNewL(pMsvOperationWait->iStatus, *ipMsvSession, destinationFolderId,
+ CImEmailOperation* pImEmailOperation = CImEmailOperation::CreateNewL(mtmWait.iStatus, *ipMsvSession, destinationFolderId,
messageAccount.d_ptr->_service2EntryId, msvPartList,
msvEmailTypeList, KUidMsgTypeSMTP);
CleanupStack::PushL(pImEmailOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.start();
TMsvId newMessageId;
TPckgC<TMsvId> paramPack(newMessageId);
@@ -3606,9 +3559,8 @@ void CMTMEngine::storeEmailL(QMessage &message)
pBodyRichText->InsertL(0, TPtrC(reinterpret_cast<const TUint16*>(message.textContent().utf16())));
// Note: Email message MIME header is same as Body MIME header
pImEmailMessage->StoreBodyTextWithMimeHeaderL(newMessageId, *pBodyRichText, *pImMimeHeader,
- pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ mtmWait.iStatus);
+ mtmWait.start();
CleanupStack::PopAndDestroy(pBodyRichText);
CleanupStack::PopAndDestroy(pCharFormatLayer);
@@ -3651,9 +3603,10 @@ void CMTMEngine::storeEmailL(QMessage &message)
pBodyRichText->InsertL(0, TPtrC(reinterpret_cast<const TUint16*>(container.textContent().utf16())));
// Store MIME Header and Body text to message
- pImEmailMessage->StoreBodyTextWithMimeHeaderL(newMessageId, *pBodyRichText, *pBodyImMimeHeader, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ pImEmailMessage->StoreBodyTextWithMimeHeaderL(newMessageId, *pBodyRichText,
+ *pBodyImMimeHeader,
+ mtmWait.iStatus);
+ mtmWait.start();
CleanupStack::PopAndDestroy(pBodyRichText);
CleanupStack::PopAndDestroy(pCharFormatLayer);
@@ -3690,9 +3643,10 @@ void CMTMEngine::storeEmailL(QMessage &message)
CleanupStack::PushL(pMsvAttachment);
pMsvAttachment->SetAttachmentNameL(TPtrC(reinterpret_cast<const TUint16*>(fileName.utf16())));
// Note: Following call transfers ownership of attachmentFile and pMsvAttachment to AttachmentManager
- pImEmailMessage->AttachmentManager().AddAttachmentL(attachmentFile, pMsvAttachment, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ pImEmailMessage->AttachmentManager().AddAttachmentL(attachmentFile, pMsvAttachment,
+ mtmWait.iStatus);
+ mtmWait.start();
+
CleanupStack::Pop(pMsvAttachment); // Pop attachment from CleanupStack
CleanupStack::Pop(&attachmentFile); // Pop file from CleanupStack
}
@@ -3770,17 +3724,13 @@ void CMTMEngine::storeEmailL(QMessage &message)
TMsvId parent = pMsvEntry->Entry().Parent();
ipImap4Mtm->SwitchCurrentEntryL(parent);
CMsvOperation* pMsvOperation = ipImap4Mtm->Entry().MoveL(newMessageId, imapDestinationFolderId,
- pMsvOperationWait->iStatus);
- CleanupStack::PushL(pMsvOperation);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy(pMsvOperation);
+ mtmWait.iStatus);
+ mtmWait.start();
+ delete pMsvOperation;
}
releaseCMsvEntryAndPopFromCleanupStack(pMsvEntry);
- CleanupStack::PopAndDestroy(pMsvOperationWait);
-
QMessagePrivate* privateMessage = QMessagePrivate::implementation(message);
privateMessage->_id = QMessageId(SymbianHelpers::addIdPrefix(QString::number(newMessageId),SymbianHelpers::EngineTypeMTM));
}
@@ -3817,28 +3767,28 @@ void CMTMEngine::sendEmailL(QMessage &message)
}
CMsvEntry* pMsvEntry = retrieveCMsvEntryAndPushToCleanupStack(messageId);
- CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC();
+
+ QMTMWait mtmWait;
CMsvOperation* pMsvOperation = NULL;
if (!messageCreated) {
// Sending (old) message that's in message store
// => Copy message from its original location to Outbox folder
ipSmtpMtm->SwitchCurrentEntryL(pMsvEntry->Entry().Parent());
- pMsvOperation = ipSmtpMtm->Entry().CopyL(messageId, KMsvGlobalOutBoxIndexEntryId, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ pMsvOperation = ipSmtpMtm->Entry().CopyL(messageId,
+ KMsvGlobalOutBoxIndexEntryId,
+ mtmWait.iStatus);
+ mtmWait.start();
delete pMsvOperation;
pMsvOperation = NULL;
}
ipSmtpMtm->SwitchCurrentEntryL(pMsvEntry->Entry().Parent());
// Following sends Email and _moves_ Email from Outbox Folder to Sent Folder
- pMsvOperation = ipSmtpMtm->Entry().CopyL(messageId, messageAccount.d_ptr->_service2EntryId, pMsvOperationWait->iStatus);
- pMsvOperationWait->Start();
- CActiveScheduler::Start();
+ pMsvOperation = ipSmtpMtm->Entry().CopyL(messageId, messageAccount.d_ptr->_service2EntryId, mtmWait.iStatus);
+ mtmWait.start();
delete pMsvOperation;
- CleanupStack::PopAndDestroy(pMsvOperationWait);
releaseCMsvEntryAndPopFromCleanupStack(pMsvEntry);
}
@@ -4554,7 +4504,7 @@ void CMTMEngine::notification(TMsvSessionEvent aEvent, TUid aMsgType, TMsvId aFo
matchingFilters.insert(it.key());
} else {
QMessageFilterPrivate* privateMessageFilter = QMessageFilterPrivate::implementation(filter);
- if (privateMessageFilter->_field == QMessageFilterPrivate::Type) {
+ if (privateMessageFilter->_field == QMessageFilterPrivate::Type && aEvent != EMsvEntriesCreated) {
if (aMsgType == KUidMsgTypeSMS) {
message.setType(QMessage::Sms);
} else if (aMsgType == KUidMsgTypeMultimedia) {
@@ -4566,7 +4516,7 @@ void CMTMEngine::notification(TMsvSessionEvent aEvent, TUid aMsgType, TMsvId aFo
} else {
message.setType(QMessage::NoType);
}
- } else if ((privateMessageFilter->_field == QMessageFilterPrivate::StandardFolder) &&
+ } else if ((privateMessageFilter->_field == QMessageFilterPrivate::StandardFolder && aEvent != EMsvEntriesCreated) &&
(aMsgType == KUidMsgTypeSMS || aMsgType == KUidMsgTypeMultimedia)) {
if (aFolderId == KMsvGlobalInBoxIndexEntryId) {
QMessagePrivate::setStandardFolder(message,QMessage::InboxFolder);
@@ -5657,5 +5607,31 @@ void CMessagesFindOperation::getServiceSpecificMessagesFromFolderL(TMsvId servic
}
}
+QMTMWait::QMTMWait(TInt priority)
+ : CActive(priority)
+{
+ CActiveScheduler::Add(this);
+}
+
+QMTMWait::~QMTMWait()
+{
+ Cancel();
+}
+
+void QMTMWait::start()
+{
+ SetActive();
+ m_eventLoop.exec();
+}
+
+void QMTMWait::RunL()
+{
+ m_eventLoop.quit();
+}
+
+void QMTMWait::DoCancel()
+{
+ Cancel();
+}
QTM_END_NAMESPACE
diff --git a/src/messaging/qmtmengine_symbian_p.h b/src/messaging/qmtmengine_symbian_p.h
index 58df1c804f..34c220fdc3 100644
--- a/src/messaging/qmtmengine_symbian_p.h
+++ b/src/messaging/qmtmengine_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -346,6 +346,21 @@ private: // Data
mutable RTimer iTimer;
};
+class QMTMWait : public CActive
+{
+public:
+ QMTMWait(TInt aPriority = EPriorityStandard);
+ ~QMTMWait();
+
+ void start();
+
+protected: // From CActive
+ void RunL();
+ void DoCancel();
+
+private: // Data
+ QEventLoop m_eventLoop;
+};
QTM_END_NAMESPACE
#endif // QMTMENGINE_SYMBIAN_H
diff --git a/src/messaging/qtmessaging.h b/src/messaging/qtmessaging.h
index a7c30bad3f..00d7b89f04 100644
--- a/src/messaging/qtmessaging.h
+++ b/src/messaging/qtmessaging.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/telepathyengine_maemo.cpp b/src/messaging/telepathyengine_maemo.cpp
index 0df835fda8..2c37b20178 100644
--- a/src/messaging/telepathyengine_maemo.cpp
+++ b/src/messaging/telepathyengine_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,9 +77,15 @@ bool TelepathyEngine::sendMessage(QMessage &message)
QMessageAccountId account=message.parentAccountId();
QString cm=type == QMessage::Sms ? "ring" : type == QMessage::InstantMessage ? account.toString() : "";
QMessageAddressList toList=message.to();
+ TpSessionAccount *tpsa=tpSession->getAccount(account.toString());
+ qDebug() << "sendMessage account:" << account.toString() << tpsa;
+ if(!tpsa) return false;
if(!cm.isEmpty()) {
foreach(QMessageAddress to,toList) {
- tpSession->sendMessageToAddress(cm,to.addressee(),message.textContent());
+ connect(tpsa,SIGNAL(messageQueued(TpSessionAccount *,bool)),SLOT(onMessageQueued(TpSessionAccount *,bool)));
+ tpsa->sendMessageToAddress(to.addressee(),message.textContent());
+ loop.exec(); // Wait untill this message has been queued to sent next one
+ qDebug() << "sendMessage loop exit";
retVal=true;
};
}
@@ -89,6 +95,17 @@ bool TelepathyEngine::sendMessage(QMessage &message)
}
+ void TelepathyEngine::onMessageSent(const Tp::Message &,TpSessionAccount *)
+ {
+
+ };
+
+ void TelepathyEngine::onMessageQueued(TpSessionAccount *,bool status)
+ {
+ qDebug() << "onMessageQueued:" << status;
+ loop.quit();
+ };
+
void TelepathyEngine::updateImAccounts() const
@@ -109,28 +126,32 @@ void TelepathyEngine::updateImAccounts() const
accountName,
QMessageAddress(QMessageAddress::Phone, accountAddress),
QMessage::Sms);
+ qDebug() << "updateImAccounts Sms id:" << accountId << " accountName:" << accountName << "accountAddress" << accountAddress;
iAccounts.insert(accountId, account);
defaultSmsAccountId=accountId;
- } else
- if(cm=="gabble") { // Gabble for googletalk
+ } else {
QString accountId = tpacc->acc->uniqueIdentifier();
QString accountName = tpacc->acc->normalizedName();
QString accountAddress = tpacc->acc->normalizedName();
+ qDebug() << "updateImAccounts InstantMessage id:" << accountId << " accountName:" << accountName << "accountAddress" << accountAddress;
QMessageAccount account = QMessageAccountPrivate::from(QMessageAccountId(accountId),
accountName,
QMessageAddress(QMessageAddress::InstantMessage, accountAddress),
QMessage::InstantMessage);
iAccounts.insert(accountId, account);
- } else qDebug() << "Protocol " << tpacc->acc->protocol() << "with connectionmanager " << cm << "Is not yet supported";
-// if (strncmp(account_name_key, default_account, strlen(default_account))) iDefaultEmailAccountId = accountId;
-
}
+// else qDebug() << "Protocol " << tpacc->acc->protocol() << "with connectionmanager " << cm << "Is not yet supported";
+// if (strncmp(account_name_key, default_account, strlen(default_account))) iDefaultEmailAccountId = accountId;
+ }
}
}
QMessageAccountIdList TelepathyEngine::queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder,
uint limit, uint offset, bool &isFiltered, bool &isSorted) const
{
+ Q_UNUSED(sortOrder);
+ Q_UNUSED(limit);
+ Q_UNUSED(offset);
// qDebug() << "TelepathyEngine::queryAccounts";
QMessageAccountIdList accountIds;
@@ -166,4 +187,5 @@ QMessageAccountId TelepathyEngine ::defaultAccount(QMessage::Type type) const
return defaultSmsAccountId;
}
+#include "moc_telepathyengine_maemo_p.cpp"
QTM_END_NAMESPACE
diff --git a/src/messaging/telepathyengine_maemo_p.h b/src/messaging/telepathyengine_maemo_p.h
index cf1699ba90..9e368792d9 100644
--- a/src/messaging/telepathyengine_maemo_p.h
+++ b/src/messaging/telepathyengine_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -51,8 +51,9 @@ QTM_BEGIN_NAMESPACE
class QMessageService;
-class TelepathyEngine
+class TelepathyEngine : public QObject
{
+ Q_OBJECT
public:
static TelepathyEngine* instance();
@@ -67,8 +68,9 @@ public:
bool sendMessage(QMessage &message);
-
-
+public slots:
+ void onMessageSent(const Tp::Message &,TpSessionAccount *);
+ void onMessageQueued(TpSessionAccount *,bool);
private:
void updateImAccounts() const;
@@ -78,6 +80,7 @@ private: //Data
TpSession *tpSession;
mutable QMessageAccountId defaultSmsAccountId;
mutable QHash<QString, QMessageAccount> iAccounts;
+ QEventLoop loop; // For making send message synchronous
};
QTM_END_NAMESPACE
diff --git a/src/messaging/win32wce/longstring.cpp b/src/messaging/win32wce/longstring.cpp
index 668c501c10..f2dc83bedd 100644
--- a/src/messaging/win32wce/longstring.cpp
+++ b/src/messaging/win32wce/longstring.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/longstring_p.h b/src/messaging/win32wce/longstring_p.h
index ef7ea43436..0063237c24 100644
--- a/src/messaging/win32wce/longstring_p.h
+++ b/src/messaging/win32wce/longstring_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailaddress.cpp b/src/messaging/win32wce/qmailaddress.cpp
index 2423e50154..b4ae930f9a 100644
--- a/src/messaging/win32wce/qmailaddress.cpp
+++ b/src/messaging/win32wce/qmailaddress.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailaddress.h b/src/messaging/win32wce/qmailaddress.h
index 97d643419a..e9baf6b145 100644
--- a/src/messaging/win32wce/qmailaddress.h
+++ b/src/messaging/win32wce/qmailaddress.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailcodec.cpp b/src/messaging/win32wce/qmailcodec.cpp
index 60571055df..4d1df48d61 100644
--- a/src/messaging/win32wce/qmailcodec.cpp
+++ b/src/messaging/win32wce/qmailcodec.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailcodec.h b/src/messaging/win32wce/qmailcodec.h
index d45f8c6e62..6adb4c6ad2 100644
--- a/src/messaging/win32wce/qmailcodec.h
+++ b/src/messaging/win32wce/qmailcodec.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailfolderfwd.h b/src/messaging/win32wce/qmailfolderfwd.h
index 036ffa8998..5da251fcc5 100644
--- a/src/messaging/win32wce/qmailfolderfwd.h
+++ b/src/messaging/win32wce/qmailfolderfwd.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailglobal.h b/src/messaging/win32wce/qmailglobal.h
index 2d792056a1..d15b36f877 100644
--- a/src/messaging/win32wce/qmailglobal.h
+++ b/src/messaging/win32wce/qmailglobal.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailid.cpp b/src/messaging/win32wce/qmailid.cpp
index 2a2c86fe9e..48d1cff280 100644
--- a/src/messaging/win32wce/qmailid.cpp
+++ b/src/messaging/win32wce/qmailid.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailid.h b/src/messaging/win32wce/qmailid.h
index bdef8a7c74..1d533d05e3 100644
--- a/src/messaging/win32wce/qmailid.h
+++ b/src/messaging/win32wce/qmailid.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailinstantiations.cpp b/src/messaging/win32wce/qmailinstantiations.cpp
index 2197376f27..b638e7eed5 100644
--- a/src/messaging/win32wce/qmailinstantiations.cpp
+++ b/src/messaging/win32wce/qmailinstantiations.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailipc.h b/src/messaging/win32wce/qmailipc.h
index 46a7dd2e6c..63f9dae2b4 100644
--- a/src/messaging/win32wce/qmailipc.h
+++ b/src/messaging/win32wce/qmailipc.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmaillog.cpp b/src/messaging/win32wce/qmaillog.cpp
index 707ed9edcd..46e12316ed 100644
--- a/src/messaging/win32wce/qmaillog.cpp
+++ b/src/messaging/win32wce/qmaillog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmaillog.h b/src/messaging/win32wce/qmaillog.h
index e7d4854c97..5f7541d2fb 100644
--- a/src/messaging/win32wce/qmaillog.h
+++ b/src/messaging/win32wce/qmaillog.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailmessage.cpp b/src/messaging/win32wce/qmailmessage.cpp
index 0b3b00526c..f994b9f3a3 100644
--- a/src/messaging/win32wce/qmailmessage.cpp
+++ b/src/messaging/win32wce/qmailmessage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailmessage.h b/src/messaging/win32wce/qmailmessage.h
index 36676dc518..a25be47e5a 100644
--- a/src/messaging/win32wce/qmailmessage.h
+++ b/src/messaging/win32wce/qmailmessage.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailmessage_p.h b/src/messaging/win32wce/qmailmessage_p.h
index ff82935afb..d5c2e1dffe 100644
--- a/src/messaging/win32wce/qmailmessage_p.h
+++ b/src/messaging/win32wce/qmailmessage_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailmessagefwd.cpp b/src/messaging/win32wce/qmailmessagefwd.cpp
index 16ee4700b2..9681d00bc3 100644
--- a/src/messaging/win32wce/qmailmessagefwd.cpp
+++ b/src/messaging/win32wce/qmailmessagefwd.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailmessagefwd.h b/src/messaging/win32wce/qmailmessagefwd.h
index 7126a0d3fc..569e8540cc 100644
--- a/src/messaging/win32wce/qmailmessagefwd.h
+++ b/src/messaging/win32wce/qmailmessagefwd.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailnamespace.cpp b/src/messaging/win32wce/qmailnamespace.cpp
index ac9cf67567..1bea4bff04 100644
--- a/src/messaging/win32wce/qmailnamespace.cpp
+++ b/src/messaging/win32wce/qmailnamespace.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailnamespace.h b/src/messaging/win32wce/qmailnamespace.h
index ec774c60c3..9105745738 100644
--- a/src/messaging/win32wce/qmailnamespace.h
+++ b/src/messaging/win32wce/qmailnamespace.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailtimestamp.cpp b/src/messaging/win32wce/qmailtimestamp.cpp
index 7a62cb6506..d4fa5da66b 100644
--- a/src/messaging/win32wce/qmailtimestamp.cpp
+++ b/src/messaging/win32wce/qmailtimestamp.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qmailtimestamp.h b/src/messaging/win32wce/qmailtimestamp.h
index bd0e8bd5e1..85e6738876 100644
--- a/src/messaging/win32wce/qmailtimestamp.h
+++ b/src/messaging/win32wce/qmailtimestamp.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qprivateimplementation.cpp b/src/messaging/win32wce/qprivateimplementation.cpp
index 3f92183894..0dc1041085 100644
--- a/src/messaging/win32wce/qprivateimplementation.cpp
+++ b/src/messaging/win32wce/qprivateimplementation.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qprivateimplementation.h b/src/messaging/win32wce/qprivateimplementation.h
index 6f70c49477..9ffed71772 100644
--- a/src/messaging/win32wce/qprivateimplementation.h
+++ b/src/messaging/win32wce/qprivateimplementation.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/win32wce/qprivateimplementationdef.h b/src/messaging/win32wce/qprivateimplementationdef.h
index e9cdc93247..98cab4a68b 100644
--- a/src/messaging/win32wce/qprivateimplementationdef.h
+++ b/src/messaging/win32wce/qprivateimplementationdef.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/winhelpers.cpp b/src/messaging/winhelpers.cpp
index bf43f065b7..e72c942d1f 100644
--- a/src/messaging/winhelpers.cpp
+++ b/src/messaging/winhelpers.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/messaging/winhelpers_p.h b/src/messaging/winhelpers_p.h
index 2fc5cf0b92..fdc5f8c6bc 100644
--- a/src/messaging/winhelpers_p.h
+++ b/src/messaging/winhelpers_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudiocapturesource.cpp b/src/multimedia/qaudiocapturesource.cpp
index 0dcb6501db..1ac99db84e 100644
--- a/src/multimedia/qaudiocapturesource.cpp
+++ b/src/multimedia/qaudiocapturesource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudiocapturesource.h b/src/multimedia/qaudiocapturesource.h
index 4340820bd5..cca8162c6c 100644
--- a/src/multimedia/qaudiocapturesource.h
+++ b/src/multimedia/qaudiocapturesource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudioencodercontrol.cpp b/src/multimedia/qaudioencodercontrol.cpp
index bb00113b4a..23cb958f48 100644
--- a/src/multimedia/qaudioencodercontrol.cpp
+++ b/src/multimedia/qaudioencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudioencodercontrol.h b/src/multimedia/qaudioencodercontrol.h
index 1822476d82..1887c63904 100644
--- a/src/multimedia/qaudioencodercontrol.h
+++ b/src/multimedia/qaudioencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudioendpointselector.cpp b/src/multimedia/qaudioendpointselector.cpp
index 85643fcf18..c6084a825d 100644
--- a/src/multimedia/qaudioendpointselector.cpp
+++ b/src/multimedia/qaudioendpointselector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qaudioendpointselector.h b/src/multimedia/qaudioendpointselector.h
index 6058dda08f..7d2dfd0d74 100644
--- a/src/multimedia/qaudioendpointselector.h
+++ b/src/multimedia/qaudioendpointselector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qgraphicsvideoitem.cpp b/src/multimedia/qgraphicsvideoitem.cpp
index 0e53e88743..4c227617e9 100644
--- a/src/multimedia/qgraphicsvideoitem.cpp
+++ b/src/multimedia/qgraphicsvideoitem.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qgraphicsvideoitem.h b/src/multimedia/qgraphicsvideoitem.h
index 7673cbccaa..85fe3aa2b9 100644
--- a/src/multimedia/qgraphicsvideoitem.h
+++ b/src/multimedia/qgraphicsvideoitem.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qgraphicsvideoitem_maemo5.cpp b/src/multimedia/qgraphicsvideoitem_maemo5.cpp
index 343586c482..f5b75139db 100644
--- a/src/multimedia/qgraphicsvideoitem_maemo5.cpp
+++ b/src/multimedia/qgraphicsvideoitem_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qimageencodercontrol.cpp b/src/multimedia/qimageencodercontrol.cpp
index 267cbff9bf..bf9446ac50 100644
--- a/src/multimedia/qimageencodercontrol.cpp
+++ b/src/multimedia/qimageencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qimageencodercontrol.h b/src/multimedia/qimageencodercontrol.h
index 7231596d05..a3a2f0a7cb 100644
--- a/src/multimedia/qimageencodercontrol.h
+++ b/src/multimedia/qimageencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qlocalmediaplaylistprovider.cpp b/src/multimedia/qlocalmediaplaylistprovider.cpp
index fc5bd332cb..610f36b0db 100644
--- a/src/multimedia/qlocalmediaplaylistprovider.cpp
+++ b/src/multimedia/qlocalmediaplaylistprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qlocalmediaplaylistprovider.h b/src/multimedia/qlocalmediaplaylistprovider.h
index b1d8421a99..03ec35a073 100644
--- a/src/multimedia/qlocalmediaplaylistprovider.h
+++ b/src/multimedia/qlocalmediaplaylistprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontainercontrol.cpp b/src/multimedia/qmediacontainercontrol.cpp
index 1ea163b60d..01bc4ccf91 100644
--- a/src/multimedia/qmediacontainercontrol.cpp
+++ b/src/multimedia/qmediacontainercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontainercontrol.h b/src/multimedia/qmediacontainercontrol.h
index e4e7ba0658..6efa4f0d17 100644
--- a/src/multimedia/qmediacontainercontrol.h
+++ b/src/multimedia/qmediacontainercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontent.cpp b/src/multimedia/qmediacontent.cpp
index f29c77cafd..e6e515933e 100644
--- a/src/multimedia/qmediacontent.cpp
+++ b/src/multimedia/qmediacontent.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontent.h b/src/multimedia/qmediacontent.h
index 2d23814310..6e89d57d29 100644
--- a/src/multimedia/qmediacontent.h
+++ b/src/multimedia/qmediacontent.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontrol.cpp b/src/multimedia/qmediacontrol.cpp
index f4e66361e1..1eaeea576d 100644
--- a/src/multimedia/qmediacontrol.cpp
+++ b/src/multimedia/qmediacontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontrol.h b/src/multimedia/qmediacontrol.h
index 3f77b829b3..1097db19d9 100644
--- a/src/multimedia/qmediacontrol.h
+++ b/src/multimedia/qmediacontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediacontrol_p.h b/src/multimedia/qmediacontrol_p.h
index 701ccec082..1326d3c267 100644
--- a/src/multimedia/qmediacontrol_p.h
+++ b/src/multimedia/qmediacontrol_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaencodersettings.cpp b/src/multimedia/qmediaencodersettings.cpp
index 91082e002b..92f0f7cf32 100644
--- a/src/multimedia/qmediaencodersettings.cpp
+++ b/src/multimedia/qmediaencodersettings.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaencodersettings.h b/src/multimedia/qmediaencodersettings.h
index d0800fa7fb..e48b469c29 100644
--- a/src/multimedia/qmediaencodersettings.h
+++ b/src/multimedia/qmediaencodersettings.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaimageviewer.cpp b/src/multimedia/qmediaimageviewer.cpp
index 6aa028bf21..20acfa23e5 100644
--- a/src/multimedia/qmediaimageviewer.cpp
+++ b/src/multimedia/qmediaimageviewer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaimageviewer.h b/src/multimedia/qmediaimageviewer.h
index 8e7c2a51aa..a2e4d3733b 100644
--- a/src/multimedia/qmediaimageviewer.h
+++ b/src/multimedia/qmediaimageviewer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaimageviewerservice.cpp b/src/multimedia/qmediaimageviewerservice.cpp
index 5e1b12e212..d514d6f6a7 100644
--- a/src/multimedia/qmediaimageviewerservice.cpp
+++ b/src/multimedia/qmediaimageviewerservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaimageviewerservice_p.h b/src/multimedia/qmediaimageviewerservice_p.h
index ace5d4475e..9e40a39b59 100644
--- a/src/multimedia/qmediaimageviewerservice_p.h
+++ b/src/multimedia/qmediaimageviewerservice_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaobject.cpp b/src/multimedia/qmediaobject.cpp
index ed524c5acb..d1c5d2856b 100644
--- a/src/multimedia/qmediaobject.cpp
+++ b/src/multimedia/qmediaobject.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaobject.h b/src/multimedia/qmediaobject.h
index 390e4a3296..1fccd775ca 100644
--- a/src/multimedia/qmediaobject.h
+++ b/src/multimedia/qmediaobject.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaobject_p.h b/src/multimedia/qmediaobject_p.h
index e2e643c314..8f6bcba8c2 100644
--- a/src/multimedia/qmediaobject_p.h
+++ b/src/multimedia/qmediaobject_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplayer.cpp b/src/multimedia/qmediaplayer.cpp
index 64a8e3969d..80e5de0e67 100644
--- a/src/multimedia/qmediaplayer.cpp
+++ b/src/multimedia/qmediaplayer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplayer.h b/src/multimedia/qmediaplayer.h
index a9789bfd78..c581d4ba81 100644
--- a/src/multimedia/qmediaplayer.h
+++ b/src/multimedia/qmediaplayer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplayercontrol.cpp b/src/multimedia/qmediaplayercontrol.cpp
index 85807ee3f4..986745482b 100644
--- a/src/multimedia/qmediaplayercontrol.cpp
+++ b/src/multimedia/qmediaplayercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplayercontrol.h b/src/multimedia/qmediaplayercontrol.h
index 8573cb2c2d..f0137ce2de 100644
--- a/src/multimedia/qmediaplayercontrol.h
+++ b/src/multimedia/qmediaplayercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylist.cpp b/src/multimedia/qmediaplaylist.cpp
index ca9e53d71b..82a5a80caf 100644
--- a/src/multimedia/qmediaplaylist.cpp
+++ b/src/multimedia/qmediaplaylist.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylist.h b/src/multimedia/qmediaplaylist.h
index 768fa1bf13..872d5b8986 100644
--- a/src/multimedia/qmediaplaylist.h
+++ b/src/multimedia/qmediaplaylist.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylist_p.h b/src/multimedia/qmediaplaylist_p.h
index d9126968b7..95544f5aa3 100644
--- a/src/multimedia/qmediaplaylist_p.h
+++ b/src/multimedia/qmediaplaylist_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistcontrol.cpp b/src/multimedia/qmediaplaylistcontrol.cpp
index 2614323b8c..2737716d1d 100644
--- a/src/multimedia/qmediaplaylistcontrol.cpp
+++ b/src/multimedia/qmediaplaylistcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistcontrol.h b/src/multimedia/qmediaplaylistcontrol.h
index cbef02a07d..61fcd76ba2 100644
--- a/src/multimedia/qmediaplaylistcontrol.h
+++ b/src/multimedia/qmediaplaylistcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistioplugin.cpp b/src/multimedia/qmediaplaylistioplugin.cpp
index 9cd8cef090..9fbd98bc3d 100644
--- a/src/multimedia/qmediaplaylistioplugin.cpp
+++ b/src/multimedia/qmediaplaylistioplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistioplugin.h b/src/multimedia/qmediaplaylistioplugin.h
index 8efdfa3990..9a381d431b 100644
--- a/src/multimedia/qmediaplaylistioplugin.h
+++ b/src/multimedia/qmediaplaylistioplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistnavigator.cpp b/src/multimedia/qmediaplaylistnavigator.cpp
index b94a0edcab..8d1e66c06c 100644
--- a/src/multimedia/qmediaplaylistnavigator.cpp
+++ b/src/multimedia/qmediaplaylistnavigator.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistnavigator.h b/src/multimedia/qmediaplaylistnavigator.h
index b22f63e763..396bae9d46 100644
--- a/src/multimedia/qmediaplaylistnavigator.h
+++ b/src/multimedia/qmediaplaylistnavigator.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistprovider.cpp b/src/multimedia/qmediaplaylistprovider.cpp
index a390b2308a..8565d8b062 100644
--- a/src/multimedia/qmediaplaylistprovider.cpp
+++ b/src/multimedia/qmediaplaylistprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistprovider.h b/src/multimedia/qmediaplaylistprovider.h
index bb7a00e4fd..f05d6da5f8 100644
--- a/src/multimedia/qmediaplaylistprovider.h
+++ b/src/multimedia/qmediaplaylistprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaplaylistprovider_p.h b/src/multimedia/qmediaplaylistprovider_p.h
index b46705f460..dc5b1e1cb5 100644
--- a/src/multimedia/qmediaplaylistprovider_p.h
+++ b/src/multimedia/qmediaplaylistprovider_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediapluginloader.cpp b/src/multimedia/qmediapluginloader.cpp
index 663e3e45fc..45bc525f67 100644
--- a/src/multimedia/qmediapluginloader.cpp
+++ b/src/multimedia/qmediapluginloader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediapluginloader_p.h b/src/multimedia/qmediapluginloader_p.h
index cf45d306b7..39b935a2b5 100644
--- a/src/multimedia/qmediapluginloader_p.h
+++ b/src/multimedia/qmediapluginloader_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediarecorder.cpp b/src/multimedia/qmediarecorder.cpp
index 5af078b94c..7122807a43 100644
--- a/src/multimedia/qmediarecorder.cpp
+++ b/src/multimedia/qmediarecorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediarecorder.h b/src/multimedia/qmediarecorder.h
index 837b84104d..eb2acf5b0a 100644
--- a/src/multimedia/qmediarecorder.h
+++ b/src/multimedia/qmediarecorder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediarecordercontrol.cpp b/src/multimedia/qmediarecordercontrol.cpp
index 9d2f703965..91122baca0 100644
--- a/src/multimedia/qmediarecordercontrol.cpp
+++ b/src/multimedia/qmediarecordercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediarecordercontrol.h b/src/multimedia/qmediarecordercontrol.h
index e3564329c0..dcefd46ebc 100644
--- a/src/multimedia/qmediarecordercontrol.h
+++ b/src/multimedia/qmediarecordercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaresource.cpp b/src/multimedia/qmediaresource.cpp
index f345230f12..8914dffaeb 100644
--- a/src/multimedia/qmediaresource.cpp
+++ b/src/multimedia/qmediaresource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaresource.h b/src/multimedia/qmediaresource.h
index 8a6cf89fb7..6075fc0b91 100644
--- a/src/multimedia/qmediaresource.h
+++ b/src/multimedia/qmediaresource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaservice.cpp b/src/multimedia/qmediaservice.cpp
index 4681e6dd1e..b6dc1bff6b 100644
--- a/src/multimedia/qmediaservice.cpp
+++ b/src/multimedia/qmediaservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaservice.h b/src/multimedia/qmediaservice.h
index 847c1cb785..2fb64359da 100644
--- a/src/multimedia/qmediaservice.h
+++ b/src/multimedia/qmediaservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaservice_p.h b/src/multimedia/qmediaservice_p.h
index d7f389ad44..dffab10eb5 100644
--- a/src/multimedia/qmediaservice_p.h
+++ b/src/multimedia/qmediaservice_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp
index 2782f5dc81..bef91fdf0d 100644
--- a/src/multimedia/qmediaserviceprovider.cpp
+++ b/src/multimedia/qmediaserviceprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaserviceprovider.h b/src/multimedia/qmediaserviceprovider.h
index 15c4682e63..a35eadcc7c 100644
--- a/src/multimedia/qmediaserviceprovider.h
+++ b/src/multimedia/qmediaserviceprovider.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h
index 985be343d1..fef199f18c 100644
--- a/src/multimedia/qmediaserviceproviderplugin.h
+++ b/src/multimedia/qmediaserviceproviderplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediastreamscontrol.cpp b/src/multimedia/qmediastreamscontrol.cpp
index 91dfe9b47d..89cec07bf1 100644
--- a/src/multimedia/qmediastreamscontrol.cpp
+++ b/src/multimedia/qmediastreamscontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediastreamscontrol.h b/src/multimedia/qmediastreamscontrol.h
index b3130a74f3..6a0bd7de28 100644
--- a/src/multimedia/qmediastreamscontrol.h
+++ b/src/multimedia/qmediastreamscontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediatimerange.cpp b/src/multimedia/qmediatimerange.cpp
index 42b902ffba..417c6b461e 100644
--- a/src/multimedia/qmediatimerange.cpp
+++ b/src/multimedia/qmediatimerange.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmediatimerange.h b/src/multimedia/qmediatimerange.h
index 15e84ed079..d6fa83c7d9 100644
--- a/src/multimedia/qmediatimerange.h
+++ b/src/multimedia/qmediatimerange.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmetadatacontrol.cpp b/src/multimedia/qmetadatacontrol.cpp
index 7d5996b9f4..461ce4d443 100644
--- a/src/multimedia/qmetadatacontrol.cpp
+++ b/src/multimedia/qmetadatacontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qmetadatacontrol.h b/src/multimedia/qmetadatacontrol.h
index e52fecea07..d90e083925 100644
--- a/src/multimedia/qmetadatacontrol.h
+++ b/src/multimedia/qmetadatacontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qpaintervideosurface.cpp b/src/multimedia/qpaintervideosurface.cpp
index 7790e3a5d5..91c2f35474 100644
--- a/src/multimedia/qpaintervideosurface.cpp
+++ b/src/multimedia/qpaintervideosurface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qpaintervideosurface_p.h b/src/multimedia/qpaintervideosurface_p.h
index 3a20115dc3..0de5150595 100644
--- a/src/multimedia/qpaintervideosurface_p.h
+++ b/src/multimedia/qpaintervideosurface_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qradiotuner.cpp b/src/multimedia/qradiotuner.cpp
index ca5ac75640..6cacf71915 100644
--- a/src/multimedia/qradiotuner.cpp
+++ b/src/multimedia/qradiotuner.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qradiotuner.h b/src/multimedia/qradiotuner.h
index d7228b639f..70e6b07e33 100644
--- a/src/multimedia/qradiotuner.h
+++ b/src/multimedia/qradiotuner.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qradiotunercontrol.cpp b/src/multimedia/qradiotunercontrol.cpp
index e6fd7ca697..1260bc1ea9 100644
--- a/src/multimedia/qradiotunercontrol.cpp
+++ b/src/multimedia/qradiotunercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qradiotunercontrol.h b/src/multimedia/qradiotunercontrol.h
index 47651f766a..231f32fd6d 100644
--- a/src/multimedia/qradiotunercontrol.h
+++ b/src/multimedia/qradiotunercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qsoundeffect_p.h b/src/multimedia/qsoundeffect_p.h
index de7070e06d..ea7c49f697 100644
--- a/src/multimedia/qsoundeffect_p.h
+++ b/src/multimedia/qsoundeffect_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qtmedianamespace.h b/src/multimedia/qtmedianamespace.h
index b6a3454186..beca47dab1 100644
--- a/src/multimedia/qtmedianamespace.h
+++ b/src/multimedia/qtmedianamespace.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qtmedianamespace.qdoc b/src/multimedia/qtmedianamespace.qdoc
index fd5734afde..c39316a779 100644
--- a/src/multimedia/qtmedianamespace.qdoc
+++ b/src/multimedia/qtmedianamespace.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideodevicecontrol.cpp b/src/multimedia/qvideodevicecontrol.cpp
index 8ff26e7471..b02e6a9b28 100644
--- a/src/multimedia/qvideodevicecontrol.cpp
+++ b/src/multimedia/qvideodevicecontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideodevicecontrol.h b/src/multimedia/qvideodevicecontrol.h
index 2e817a27ac..bc7f9ca3f5 100644
--- a/src/multimedia/qvideodevicecontrol.h
+++ b/src/multimedia/qvideodevicecontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideoencodercontrol.cpp b/src/multimedia/qvideoencodercontrol.cpp
index f416300ac2..0d5b88b9b6 100644
--- a/src/multimedia/qvideoencodercontrol.cpp
+++ b/src/multimedia/qvideoencodercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideoencodercontrol.h b/src/multimedia/qvideoencodercontrol.h
index 08fc7e6f5f..6a75fb32f7 100644
--- a/src/multimedia/qvideoencodercontrol.h
+++ b/src/multimedia/qvideoencodercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideooutputcontrol.cpp b/src/multimedia/qvideooutputcontrol.cpp
index 95de2cde30..21f93fda1d 100644
--- a/src/multimedia/qvideooutputcontrol.cpp
+++ b/src/multimedia/qvideooutputcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideooutputcontrol.h b/src/multimedia/qvideooutputcontrol.h
index adc44e4e49..80a2827a7e 100644
--- a/src/multimedia/qvideooutputcontrol.h
+++ b/src/multimedia/qvideooutputcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideorenderercontrol.cpp b/src/multimedia/qvideorenderercontrol.cpp
index 787436d170..89d3333bd4 100644
--- a/src/multimedia/qvideorenderercontrol.cpp
+++ b/src/multimedia/qvideorenderercontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideorenderercontrol.h b/src/multimedia/qvideorenderercontrol.h
index b754b90e10..b253141bd5 100644
--- a/src/multimedia/qvideorenderercontrol.h
+++ b/src/multimedia/qvideorenderercontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowidget.cpp b/src/multimedia/qvideowidget.cpp
index 6c5804b708..1ad7e8bb5d 100644
--- a/src/multimedia/qvideowidget.cpp
+++ b/src/multimedia/qvideowidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowidget.h b/src/multimedia/qvideowidget.h
index 630a8d3212..5cf3c000e4 100644
--- a/src/multimedia/qvideowidget.h
+++ b/src/multimedia/qvideowidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowidget_p.h b/src/multimedia/qvideowidget_p.h
index 660236af57..20d45510d7 100644
--- a/src/multimedia/qvideowidget_p.h
+++ b/src/multimedia/qvideowidget_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowidgetcontrol.cpp b/src/multimedia/qvideowidgetcontrol.cpp
index ac08c8a120..7464a37635 100644
--- a/src/multimedia/qvideowidgetcontrol.cpp
+++ b/src/multimedia/qvideowidgetcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowidgetcontrol.h b/src/multimedia/qvideowidgetcontrol.h
index a57b73dd54..177e544bbe 100644
--- a/src/multimedia/qvideowidgetcontrol.h
+++ b/src/multimedia/qvideowidgetcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowindowcontrol.cpp b/src/multimedia/qvideowindowcontrol.cpp
index fe121e25d4..e5dd8409e0 100644
--- a/src/multimedia/qvideowindowcontrol.cpp
+++ b/src/multimedia/qvideowindowcontrol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qvideowindowcontrol.h b/src/multimedia/qvideowindowcontrol.h
index 9b0afa008d..534f5d2f9f 100644
--- a/src/multimedia/qvideowindowcontrol.h
+++ b/src/multimedia/qvideowindowcontrol.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qxvideosurface_maemo5.cpp b/src/multimedia/qxvideosurface_maemo5.cpp
index 5bebe5cb63..d69e66736c 100644
--- a/src/multimedia/qxvideosurface_maemo5.cpp
+++ b/src/multimedia/qxvideosurface_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/multimedia/qxvideosurface_maemo5_p.h b/src/multimedia/qxvideosurface_maemo5_p.h
index 7415b8dc85..16b6fbfc60 100644
--- a/src/multimedia/qxvideosurface_maemo5_p.h
+++ b/src/multimedia/qxvideosurface_maemo5_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/contextkitlayer.cpp b/src/publishsubscribe/contextkitlayer.cpp
index 7436289c28..065ec7fda5 100644
--- a/src/publishsubscribe/contextkitlayer.cpp
+++ b/src/publishsubscribe/contextkitlayer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -129,19 +129,21 @@ void ContextKitHandle::insert (const QString &path, const QString &key)
ContextKitHandle::ContextKitHandle (ContextKitHandle *parent, const QString &path)
{
QString key = path;
- if (key.startsWith("/"))
+ if (key.startsWith(QLatin1Char('/')))
key = key.mid(1);
- key = key.replace('/', '.');
+ key = key.replace(QLatin1Char('/'), QLatin1Char('.'));
if (parent)
key = parent->prefix + key;
- prefix = (key == "")? "" : key + ".";
+ if (!key.isEmpty())
+ prefix = key + QLatin1Char('.');
+
foreach (const QString &k, ContextRegistryInfo::instance()->listKeys())
{
if (k == key)
- insert ("", k);
- else if (k.startsWith (prefix))
- insert (k.mid(prefix.length()).replace ('.', '/'), k);
+ insert(QString(), k);
+ else if (k.startsWith(prefix))
+ insert(k.mid(prefix.length()).replace (QLatin1Char('.'), QLatin1Char('/')), k);
}
}
diff --git a/src/publishsubscribe/gconfitem.cpp b/src/publishsubscribe/gconfitem.cpp
index a826b421ed..98e9165e3f 100644
--- a/src/publishsubscribe/gconfitem.cpp
+++ b/src/publishsubscribe/gconfitem.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/gconfitem_p.h b/src/publishsubscribe/gconfitem_p.h
index 3bbb5188b2..9afe824574 100644
--- a/src/publishsubscribe/gconfitem_p.h
+++ b/src/publishsubscribe/gconfitem_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/gconflayer_linux.cpp b/src/publishsubscribe/gconflayer_linux.cpp
index 5f7e4d03e0..5a0709c1f8 100644
--- a/src/publishsubscribe/gconflayer_linux.cpp
+++ b/src/publishsubscribe/gconflayer_linux.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -191,7 +191,7 @@ QSet<QString> GConfLayer::children(Handle handle)
GConfItem gconfItem(sh->path);
QSet<QString> ret;
- foreach (const QString child, gconfItem.listEntries() + gconfItem.listDirs()) {
+ foreach (const QString &child, gconfItem.listEntries() + gconfItem.listDirs()) {
const int index = child.lastIndexOf(QLatin1Char('/'), -1);
ret += child.mid(index + 1);
}
diff --git a/src/publishsubscribe/gconflayer_linux_p.h b/src/publishsubscribe/gconflayer_linux_p.h
index 103ab8731e..dde7284743 100644
--- a/src/publishsubscribe/gconflayer_linux_p.h
+++ b/src/publishsubscribe/gconflayer_linux_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/pathmapper_proxy_symbian.cpp b/src/publishsubscribe/pathmapper_proxy_symbian.cpp
index c90a7e57a7..f5aac21409 100644
--- a/src/publishsubscribe/pathmapper_proxy_symbian.cpp
+++ b/src/publishsubscribe/pathmapper_proxy_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/pathmapper_proxy_symbian_p.h b/src/publishsubscribe/pathmapper_proxy_symbian_p.h
index c4334e52c5..7e54ba23da 100644
--- a/src/publishsubscribe/pathmapper_proxy_symbian_p.h
+++ b/src/publishsubscribe/pathmapper_proxy_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/clientservercommon.h b/src/publishsubscribe/psmapperserver_symbian/clientservercommon.h
index 137bcf786d..8cdffabbb3 100644
--- a/src/publishsubscribe/psmapperserver_symbian/clientservercommon.h
+++ b/src/publishsubscribe/psmapperserver_symbian/clientservercommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian.cpp b/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian.cpp
index 790dbe8e12..f9a201b70c 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian.cpp
+++ b/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -130,7 +130,7 @@ bool PathMapper::getChildren(const QString &path, QSet<QString> &children) const
QString basePath = path;
if (basePath.right(1) != QString(QLatin1Char('/')))
basePath += QLatin1Char('/');
- foreach (const QString foundPath, childPaths(basePath)) {
+ foreach (const QString &foundPath, childPaths(basePath)) {
QString value = foundPath.mid(basePath.size());
int index = value.indexOf(QLatin1Char('/'));
if (index != -1)
diff --git a/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian_p.h b/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian_p.h
index dc4af6bed1..b5a9f7dc0b 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian_p.h
+++ b/src/publishsubscribe/psmapperserver_symbian/pathmapper_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.cpp b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.cpp
index 53d245d39b..7c181e0122 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.cpp
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.h b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.h
index 7d0f62058e..55c9cf8d67 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.h
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.pan b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.pan
index 4c6d764c6a..640a314374 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.pan
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmapperserver.pan
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmapperservermain.cpp b/src/publishsubscribe/psmapperserver_symbian/pspathmapperservermain.cpp
index 7fc6d164da..fb64e9840f 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmapperservermain.cpp
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmapperservermain.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.cpp b/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.cpp
index c63380a00f..b40b0f0e56 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.cpp
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.h b/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.h
index 4b2b1327cc..61221b49f4 100644
--- a/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.h
+++ b/src/publishsubscribe/psmapperserver_symbian/pspathmappersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/psmapperserver_symbian/qcrmlparser.cpp b/src/publishsubscribe/psmapperserver_symbian/qcrmlparser.cpp
index 2466fb2515..e6aad14c15 100644
--- a/src/publishsubscribe/psmapperserver_symbian/qcrmlparser.cpp
+++ b/src/publishsubscribe/psmapperserver_symbian/qcrmlparser.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -100,23 +100,24 @@ QList<KeyData> QCrmlParser::parseRepository()
{
QList<KeyData> rv;
QStringList mandatoryAttributes;
- mandatoryAttributes << "uidValue";
- setError(NoError, "");
+ mandatoryAttributes << QLatin1String("uidValue");
+ setError(NoError, QString());
if (!checkMandatoryAttributes(mandatoryAttributes))
return rv;
bool ok;
- quint32 uidValue = uidStringToUInt32(attributes().value("uidValue").toString(), &ok);
+ quint32 uidValue =
+ uidStringToUInt32(attributes().value(QLatin1String("uidValue")).toString(), &ok);
if (!ok) {
setError(ParseError, QObject::tr("repository element has invalid uidValue on line %1")
.arg(QString::number(lineNumber())));
return rv;
}
- QString targetStr = attributes().value("target").toString();
- if (targetStr.isEmpty() || targetStr == "CRepository") {
+ QString targetStr = attributes().value(QLatin1String("target")).toString();
+ if (targetStr.isEmpty() || targetStr == QLatin1String("CRepository")) {
m_target = KeyData::CRepository;
- } else if (targetStr == "RProperty") {
+ } else if (targetStr == QLatin1String("RProperty")) {
m_target = KeyData::RProperty;
} else {
setError(ParseError, QObject::tr("repository element has unrecognised target attribute "
@@ -166,12 +167,12 @@ QList<KeyData> QCrmlParser::parseKey(quint32 repoUid)
{
QList<KeyData> rv;
QStringList mandatoryAttributes;
- mandatoryAttributes << "int";
+ mandatoryAttributes << QLatin1String("int");
if (!checkMandatoryAttributes(mandatoryAttributes))
return rv;
QXmlStreamAttributes attribs = attributes();
- QString keyIntStr = attribs.value("int").toString();
+ QString keyIntStr = attribs.value(QLatin1String("int")).toString();
bool ok =false;
quint32 keyInt = uidStringToUInt32(keyIntStr, &ok);
if (!ok) {
@@ -180,7 +181,7 @@ QList<KeyData> QCrmlParser::parseKey(quint32 repoUid)
return rv;
}
- if (attribs.value("ref").isNull()) {
+ if (attribs.value(QLatin1String("ref")).isNull()) {
//no ref attribute so this must be
//a bitmask key
while (!atEnd()) {
@@ -202,7 +203,7 @@ QList<KeyData> QCrmlParser::parseKey(quint32 repoUid)
}
}
} else {
- QString keyRef = attribs.value("ref").toString();
+ QString keyRef = attribs.value(QLatin1String("ref")).toString();
if (keyRef.isEmpty()) {
setError(ParseError, QObject::tr("ref attribute of key element is empty on line %1")
.arg(QString::number(lineNumber())));
@@ -234,8 +235,8 @@ QList<KeyData> QCrmlParser::parseKey(quint32 repoUid)
}
QString keyPath(keyRef);
- if (!keyPath.startsWith("/"))
- keyPath.prepend("/");
+ if (!keyPath.startsWith(QLatin1Char('/')))
+ keyPath.prepend(QLatin1Char('/'));
quint64 uid = repoUid;
uid = uid << 32;
uid += keyInt;
@@ -251,22 +252,23 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
//if keyRange has no ref attribute it must
//only be used for creating access control
//policies which we do not need to worry about
- if (attributes().value("ref").isNull())
+ if (attributes().value(QLatin1String("ref")).isNull())
return rv;
QStringList mandatoryAttributes;
- mandatoryAttributes << "firstInt" << "lastInt";
+ mandatoryAttributes << QLatin1String("firstInt") << QLatin1String("lastInt");
if (!checkMandatoryAttributes(mandatoryAttributes))
return rv;
bool ok = false;
QString pathPrefix;
- pathPrefix = attributes().value("ref").toString();
- if (!pathPrefix.startsWith("/"))
- pathPrefix.prepend("/");
+ pathPrefix = attributes().value(QLatin1String("ref")).toString();
+ if (!pathPrefix.startsWith(QLatin1Char('/')))
+ pathPrefix.prepend(QLatin1Char('/'));
- if (!attributes().value("countInt").isNull()) {
- quint32 countInt = uidStringToUInt32(attributes().value("countInt").toString(), &ok);
+ if (!attributes().value(QLatin1String("countInt")).isNull()) {
+ quint32 countInt =
+ uidStringToUInt32(attributes().value(QLatin1String("countInt")).toString(), &ok);
if (!ok) {
setError(ParseError, QObject::tr("keyRange element has invalid countInt attribute on line %1")
.arg(QString::number(lineNumber())));
@@ -277,10 +279,11 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
rv.append(KeyData(pathPrefix,(quint64)countInt + (((quint64)repoUid) << 32), m_target));
}
- if (!pathPrefix.endsWith("/"))
- pathPrefix.append("/");
+ if (!pathPrefix.endsWith(QLatin1Char('/')))
+ pathPrefix.append(QLatin1Char('/'));
- quint32 firstInt = uidStringToUInt32(attributes().value("firstInt").toString(), &ok);
+ quint32 firstInt =
+ uidStringToUInt32(attributes().value(QLatin1String("firstInt")).toString(), &ok);
if (!ok) {
setError(ParseError, QObject::tr("keyRange element has invalid firstInt attribute on line %1")
.arg(QString::number(lineNumber())));
@@ -288,7 +291,8 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
return rv;
}
- quint32 lastInt = uidStringToUInt32(attributes().value("lastInt").toString(),&ok);
+ quint32 lastInt =
+ uidStringToUInt32(attributes().value(QLatin1String("lastInt")).toString(),&ok);
if (!ok) {
setError(ParseError, QObject::tr("keyRange element has invalid lastInt attribute on line %1")
.arg(QString::number(lineNumber())));
@@ -299,7 +303,7 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
quint32 maxNum =0;
quint32 indexBits = 0;
quint32 firstIndex = 0;
- if (attributes().value("indexBits").isNull()) {
+ if (attributes().value(QLatin1String("indexBits")).isNull()) {
//keyRange doesn't map to sequence setting
maxNum = lastInt - firstInt + 1;
@@ -325,7 +329,8 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
}
} else {
//keyRanges does map to sequence setting
- indexBits = uidStringToUInt32(attributes().value("indexBits").toString(), &ok);
+ indexBits =
+ uidStringToUInt32(attributes().value(QLatin1String("indexBits")).toString(), &ok);
if (!ok) {
setError(ParseError, QObject::tr("keyRange elment has invalid indexBits attribute on line %1")
.arg(QString::number(lineNumber())));
@@ -333,8 +338,8 @@ QList<KeyData> QCrmlParser::parseKeyRange(quint32 repoUid)
return rv;
}
- if (!attributes().value("firstIndex").isNull()) {
- QString firstIndexStr = attributes().value("firstIndex").toString();
+ if (!attributes().value(QLatin1String("firstIndex")).isNull()) {
+ QString firstIndexStr = attributes().value(QLatin1String("firstIndex")).toString();
firstIndex = firstIndexStr.toUInt(&ok, 10);
if (!ok) {
setError(ParseError, QObject::tr("keyRange element has invalid firstIndex attribute on line %1")
@@ -408,15 +413,15 @@ QList<KeyData> QCrmlParser::parseBit(quint32 repoUid, quint32 keyInt)
{
QList <KeyData> rv;
QStringList mandatoryAttributes;
- mandatoryAttributes << "ref";
+ mandatoryAttributes << QLatin1String("ref");
if (!checkMandatoryAttributes(mandatoryAttributes)) {
rv.clear();
return rv;
}
- QString keyPath = attributes().value("ref").toString();
- if (!keyPath.startsWith("/"))
- keyPath.prepend("/");
+ QString keyPath = attributes().value(QLatin1String("ref")).toString();
+ if (!keyPath.startsWith(QLatin1Char('/')))
+ keyPath.prepend(QLatin1Char('/'));
int bitIndex = 0;
while(!atEnd()) {
@@ -517,7 +522,7 @@ void QCrmlParser::setError(Error error, const QString &errorString)
quint32 QCrmlParser::uidStringToUInt32(const QString &uidString, bool *ok)
{
quint32 uid = 0;
- if (!uidString.startsWith("0x")) {
+ if (!uidString.startsWith(QLatin1String("0x"))) {
if (ok != NULL)
*ok = false;
return 0;
diff --git a/src/publishsubscribe/psmapperserver_symbian/qcrmlparser_p.h b/src/publishsubscribe/psmapperserver_symbian/qcrmlparser_p.h
index e8ef1dc41d..da6e18ad69 100644
--- a/src/publishsubscribe/psmapperserver_symbian/qcrmlparser_p.h
+++ b/src/publishsubscribe/psmapperserver_symbian/qcrmlparser_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qmallocpool.cpp b/src/publishsubscribe/qmallocpool.cpp
index eacdaeb6f8..d5746a7a62 100644
--- a/src/publishsubscribe/qmallocpool.cpp
+++ b/src/publishsubscribe/qmallocpool.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qmallocpool_p.h b/src/publishsubscribe/qmallocpool_p.h
index fb9e522623..5ed4c8eaac 100644
--- a/src/publishsubscribe/qmallocpool_p.h
+++ b/src/publishsubscribe/qmallocpool_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qpacketprotocol.cpp b/src/publishsubscribe/qpacketprotocol.cpp
index 3eaa14bf0e..d25c6978ae 100644
--- a/src/publishsubscribe/qpacketprotocol.cpp
+++ b/src/publishsubscribe/qpacketprotocol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qpacketprotocol_p.h b/src/publishsubscribe/qpacketprotocol_p.h
index 91de8937d9..dbc2bdce53 100644
--- a/src/publishsubscribe/qpacketprotocol_p.h
+++ b/src/publishsubscribe/qpacketprotocol_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qsystemreadwritelock_p.h b/src/publishsubscribe/qsystemreadwritelock_p.h
index 4350945a63..612ede7d39 100644
--- a/src/publishsubscribe/qsystemreadwritelock_p.h
+++ b/src/publishsubscribe/qsystemreadwritelock_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -63,7 +63,7 @@ public:
UnknownError
};
- QSystemReadWriteLock(const QString &key, AccessMode mode = Open);
+ explicit QSystemReadWriteLock(const QString &key, AccessMode mode = Open);
~QSystemReadWriteLock();
bool lockForRead();
diff --git a/src/publishsubscribe/qsystemreadwritelock_unix.cpp b/src/publishsubscribe/qsystemreadwritelock_unix.cpp
index 6ab79a1c9a..e2b8cfe898 100644
--- a/src/publishsubscribe/qsystemreadwritelock_unix.cpp
+++ b/src/publishsubscribe/qsystemreadwritelock_unix.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -160,7 +160,7 @@ QString makePlatformSafeKey(const QString &key,
QString result = prefix;
QString part1 = key;
- part1.replace(QRegExp(QLatin1String("[^A-Za-z]")), QString());
+ part1.remove(QRegExp(QLatin1String("[^A-Za-z]")));
result.append(part1);
QByteArray hex = QCryptographicHash::hash(key.toUtf8(), QCryptographicHash::Sha1).toHex();
@@ -236,7 +236,7 @@ QSystemReadWriteLock::QSystemReadWriteLock(const QString &key, AccessMode mode)
if (built == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::QSystemReadWriteLock: "
"unable to make key file for key: %1(%2)")
- .arg(key).arg(strerror(errno)));
+ .arg(key).arg(QString::fromLatin1(strerror(errno))));
return;
}
@@ -245,7 +245,7 @@ QSystemReadWriteLock::QSystemReadWriteLock(const QString &key, AccessMode mode)
if (d->id == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::QSystemReadWriteLock: "
"ftok failed for key %1(%2)")
- .arg(key).arg(strerror(errno)));
+ .arg(key).arg(QString::fromLatin1(strerror(errno))));
return;
}
@@ -258,13 +258,13 @@ QSystemReadWriteLock::QSystemReadWriteLock(const QString &key, AccessMode mode)
if (d->semId == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::QSystemReadWriteLock: "
"Unable to access semaphore set for key %1(%2)")
- .arg(key).arg(::strerror(errno)));
+ .arg(key).arg(QString::fromLatin1(strerror(errno))));
return;
}
} else {
d->setError(QObject::tr("QSystemReadWriteLock:QSystemReadWriteLock: "
"Unable to access semaphore set for key %1(%2)")
- .arg(key).arg(::strerror(errno)));
+ .arg(key).arg(QString::fromLatin1(strerror(errno))));
return;
}
} else {
@@ -296,7 +296,7 @@ QSystemReadWriteLock::QSystemReadWriteLock(const QString &key, AccessMode mode)
{
d->setError(QObject::tr("QSystemReadWriteLock::QSystemReadWriteLock: "
"Unable to reset semaphore set for key %1(%2)")
- .arg(key).arg(::strerror(errno)));
+ .arg(key).arg(QString::fromLatin1(strerror(errno))));
QFile::remove(d->keyFileName);
::semctl(d->semId, 0, IPC_RMID);
d->semId = -1;
@@ -312,7 +312,7 @@ QSystemReadWriteLock::QSystemReadWriteLock(const QString &key, AccessMode mode)
if (semoprv == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::QSystemReadWriteLock: "
"Unable to increment NumInstances semaphore "
- "for key%1(%2)").arg(key).arg(::strerror(errno)));
+ "for key%1(%2)").arg(key).arg(QString::fromLatin1(strerror(errno))));
d->semId = -1;
return;
}
@@ -340,23 +340,23 @@ QSystemReadWriteLock::~QSystemReadWriteLock()
int semoprv = ::semop(d->semId, ops, 2);
if (semoprv == 0) {
if(::semctl(d->semId, 0, IPC_RMID) == -1) {
- qWarning(QObject::tr("QSystemReadWriteLock::~QSystemReadWriteLock: "
- "Unable to remove semaphore %1(%2)")
- .arg(d->key).arg(::strerror(errno)).toLatin1());
+ qWarning("QSystemReadWriteLock::~QSystemReadWriteLock: "
+ "Unable to remove semaphore %s(%s)",
+ d->key.toLocal8Bit().constData(), strerror(errno));
}
QFile::remove(d->keyFileName);
} else {
if (errno == EAGAIN) {
//wasn't 0 instances so just decrement the NumInstances semaphore
if (::semop(d->semId, ops, 1) == -1) {
- qWarning(QObject::tr("QSystemReadWriteLock::~QSystemReadWriteLock: unable "
- "to decrement NumInstances semaphore for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)).toLatin1());
+ qWarning("QSystemReadWriteLock::~QSystemReadWriteLock: "
+ "Unable to decrement NumInstances semaphore for key %s(%s)",
+ d->key.toLocal8Bit().constData(), strerror(errno));
}
} else {
- qWarning(QObject::tr("QSystemReadWriteLock::~QSystemReadWriteLock: unable "
- "to decrement and check NumInstances semaphore for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)).toLatin1());
+ qWarning("QSystemReadWriteLock::~QSystemReadWriteLock: "
+ "Unable to decrement and check NumInstances semaphore for key %s(%s)",
+ d->key.toLocal8Bit().constData(), strerror(errno));
::semop(d->semId, ops, 1);//try decrement anyway
}
}
@@ -383,8 +383,9 @@ QString QSystemReadWriteLock::key() const
bool QSystemReadWriteLock::lockForRead()
{
if (d->semId == -1) {
- d->errorString = QObject::tr("QSystemReadWriteLock::lockForRead: unable to lock for read for key %1(%2)")
- .arg(d->key).arg("Lock had not been correctly initialized");
+ d->errorString = QObject::tr("QSystemReadWriteLock::lockForRead: "
+ "Unable to lock for read for key %1"
+ "(Lock had not been correctly initialized)").arg(d->key);
d->error = UnknownError;
return false;
}
@@ -400,11 +401,12 @@ bool QSystemReadWriteLock::lockForRead()
ops[1].sem_flg = 0;
if (-1 == ::semop(d->semId, ops, 2)) {
- d->setError(QObject::tr("QSystemReadWriteLock::lockForRead: unable to lock for read for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ d->setError(QObject::tr("QSystemReadWriteLock::lockForRead: "
+ "Unable to lock for read for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
return false;
} else {
- d->errorString = "";
+ d->errorString.clear();
d->error = NoError;
return true;
}
@@ -418,8 +420,8 @@ bool QSystemReadWriteLock::lockForWrite()
{
if (d->semId == -1) {
d->errorString = QObject::tr("QSystemReadWriteLock::lockForWrite: "
- "unable to lock for write for key %1(%2)")
- .arg(d->key).arg("Lock had not been correctly initialized");
+ "Unable to lock for write for key %1"
+ "(Lock had not been correctly initialized)").arg(d->key);
d->error = UnknownError;
return false;
}
@@ -432,8 +434,8 @@ bool QSystemReadWriteLock::lockForWrite()
int semoprv = ::semop(d->semId, &op, 1);
if (semoprv == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::lockForWrite: "
- "Could not increment TotalWriters semaphore for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ "Could not increment TotalWriters semaphore for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
return false;
}
@@ -443,8 +445,8 @@ bool QSystemReadWriteLock::lockForWrite()
semoprv = ::semop(d->semId, &op, 1);
if (semoprv == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::lockForWrite: "
- "Could not detect if all readers were finished for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ "Could not detect if all readers were finished for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
// Decrement our write lock
op.sem_num = QSystemReadWriteLockPrivate::TotalWriters;
@@ -460,8 +462,8 @@ bool QSystemReadWriteLock::lockForWrite()
if (semoprv == -1) {
d->setError(QObject::tr("QSystemReadWriteLock::lockForWrite: "
- "Could not decrement ActiveWriterSem semaphore for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ "Could not decrement ActiveWriterSem semaphore for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
op.sem_num = QSystemReadWriteLockPrivate::TotalWriters;
op.sem_op = -1;
@@ -469,7 +471,7 @@ bool QSystemReadWriteLock::lockForWrite()
::semop(d->semId, &op, 1);
return false;
}
- d->errorString ="";
+ d->errorString.clear();
d->error = NoError;
return true;
}
@@ -481,8 +483,9 @@ bool QSystemReadWriteLock::lockForWrite()
void QSystemReadWriteLock::unlock()
{
if (d->semId == -1) {
- d->errorString = QObject::tr("QSystemReadWriteLock::unlock: unable to unlock for key %1(%2)")
- .arg(d->key).arg("Lock had not been correctly initialized");
+ d->errorString = QObject::tr("QSystemReadWriteLock::unlock: "
+ "Unable to unlock for key %1"
+ "(Lock had not been correctly initialized)").arg(d->key);
d->error = UnknownError;
return;
}
@@ -509,21 +512,21 @@ void QSystemReadWriteLock::unlock()
if (::semop(d->semId, ops, 3) == -1) {
if (errno != EAGAIN) {
- d->setError(QObject::tr("QSystemSemaphoreWriteLock::unlock: unable to check and "
- "update writer semaphores for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ d->setError(QObject::tr("QSystemSemaphoreWriteLock::unlock: "
+ "Unable to check and update writer semaphores for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
return;
} //Note: EAGAIN indicates that ActiveWriterSem is has a non zero value
//indicating there is no current writer, so nothing needs to be done
}
} else {
//error in decrementing readers
- d->setError(QObject::tr("QSystemReadWriteLock::unlock: unable to decrement "
- "ActiveReaders semaphore for key %1(%2)")
- .arg(d->key).arg(::strerror(errno)));
+ d->setError(QObject::tr("QSystemReadWriteLock::unlock: "
+ "Unable to decrement ActiveReaders semaphore for key %1(%2)")
+ .arg(d->key).arg(QString::fromLatin1(strerror(errno))));
return;
}
- d->errorString="";
+ d->errorString.clear();
d->error = NoError;
}
diff --git a/src/publishsubscribe/qsystemreadwritelock_win.cpp b/src/publishsubscribe/qsystemreadwritelock_win.cpp
index 21dbe8f56f..aa586e050b 100644
--- a/src/publishsubscribe/qsystemreadwritelock_win.cpp
+++ b/src/publishsubscribe/qsystemreadwritelock_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespace.cpp b/src/publishsubscribe/qvaluespace.cpp
index 01f79f711b..0ffaee41ac 100644
--- a/src/publishsubscribe/qvaluespace.cpp
+++ b/src/publishsubscribe/qvaluespace.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespace.h b/src/publishsubscribe/qvaluespace.h
index ea7111b428..f9c5c8d8d5 100644
--- a/src/publishsubscribe/qvaluespace.h
+++ b/src/publishsubscribe/qvaluespace.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespace_p.h b/src/publishsubscribe/qvaluespace_p.h
index 1e55f3beb1..720e83d8f5 100644
--- a/src/publishsubscribe/qvaluespace_p.h
+++ b/src/publishsubscribe/qvaluespace_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacemanager.cpp b/src/publishsubscribe/qvaluespacemanager.cpp
index 82f3e4fd34..d038c53773 100644
--- a/src/publishsubscribe/qvaluespacemanager.cpp
+++ b/src/publishsubscribe/qvaluespacemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacemanager_p.h b/src/publishsubscribe/qvaluespacemanager_p.h
index 7b2b61e39b..b2bef40a05 100644
--- a/src/publishsubscribe/qvaluespacemanager_p.h
+++ b/src/publishsubscribe/qvaluespacemanager_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacepublisher.cpp b/src/publishsubscribe/qvaluespacepublisher.cpp
index 52293c2955..5496717aea 100644
--- a/src/publishsubscribe/qvaluespacepublisher.cpp
+++ b/src/publishsubscribe/qvaluespacepublisher.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacepublisher.h b/src/publishsubscribe/qvaluespacepublisher.h
index 066d6f6f5c..0196011ed4 100644
--- a/src/publishsubscribe/qvaluespacepublisher.h
+++ b/src/publishsubscribe/qvaluespacepublisher.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacesubscriber.cpp b/src/publishsubscribe/qvaluespacesubscriber.cpp
index 78c2e133e9..93bd9e56a7 100644
--- a/src/publishsubscribe/qvaluespacesubscriber.cpp
+++ b/src/publishsubscribe/qvaluespacesubscriber.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/qvaluespacesubscriber.h b/src/publishsubscribe/qvaluespacesubscriber.h
index a9b277f407..47eea6c60e 100644
--- a/src/publishsubscribe/qvaluespacesubscriber.h
+++ b/src/publishsubscribe/qvaluespacesubscriber.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/registrylayer_win.cpp b/src/publishsubscribe/registrylayer_win.cpp
index b6576a7be5..a68bb91e69 100644
--- a/src/publishsubscribe/registrylayer_win.cpp
+++ b/src/publishsubscribe/registrylayer_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -490,6 +490,7 @@ bool RegistryLayer::value(Handle handle, const QString &subPath, QVariant *data)
return false;
} else if (result != ERROR_SUCCESS) {
qDebug() << "RegQueryValueEx failed with error" << result;
+ *data = QVariant();
if (createdHandle)
removeHandle(handle);
return false;
@@ -578,7 +579,12 @@ QSet<QString> RegistryLayer::children(Handle handle)
DWORD subKeySize = MAX_KEY_LENGTH;
result = RegEnumKeyEx(key, i, subKey, &subKeySize, 0, 0, 0, 0);
- if (result == ERROR_NO_MORE_ITEMS)
+ if (result == ERROR_KEY_DELETED) {
+ QMetaObject::invokeMethod(this, "emitHandleChanged", Qt::QueuedConnection,
+ Q_ARG(void *, key));
+ break;
+ }
+ if (result != ERROR_SUCCESS)
break;
foundChildren << QString::fromWCharArray(subKey, subKeySize);
@@ -591,7 +597,12 @@ QSet<QString> RegistryLayer::children(Handle handle)
DWORD valueNameSize = MAX_NAME_LENGTH;
result = RegEnumValue(key, i, valueName, &valueNameSize, 0, 0, 0, 0);
- if (result == ERROR_NO_MORE_ITEMS)
+ if (result == ERROR_KEY_DELETED) {
+ QMetaObject::invokeMethod(this, "emitHandleChanged", Qt::QueuedConnection,
+ Q_ARG(void *, key));
+ break;
+ }
+ if (result != ERROR_SUCCESS)
break;
foundChildren << QString::fromWCharArray(valueName, valueNameSize);
diff --git a/src/publishsubscribe/settingslayer_symbian.cpp b/src/publishsubscribe/settingslayer_symbian.cpp
index 64c19fd068..7673150283 100644
--- a/src/publishsubscribe/settingslayer_symbian.cpp
+++ b/src/publishsubscribe/settingslayer_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -238,7 +238,7 @@ void SymbianSettingsLayer::setProperty(Handle handle, Properties properties)
if (!sh)
return;
- foreach (const QString fullPath, m_pathMapper.childPaths(sh->path)) {
+ foreach (const QString &fullPath, m_pathMapper.childPaths(sh->path)) {
PathMapper::Target target;
quint32 category;
quint32 key;
diff --git a/src/publishsubscribe/settingslayer_symbian_p.h b/src/publishsubscribe/settingslayer_symbian_p.h
index d9c3be8cc5..df4f7cfd81 100644
--- a/src/publishsubscribe/settingslayer_symbian_p.h
+++ b/src/publishsubscribe/settingslayer_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/sharedmemorylayer.cpp b/src/publishsubscribe/sharedmemorylayer.cpp
index 9ca1c4b19e..575439fb51 100644
--- a/src/publishsubscribe/sharedmemorylayer.cpp
+++ b/src/publishsubscribe/sharedmemorylayer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -1921,31 +1921,34 @@ bool SharedMemoryLayer::startup(Type type)
if(Server == type) {
shm = new QSharedMemory(socket(), this);
- bool created = shm->create(SHMLAYER_SIZE);
- if (!created) {
- //qDebug() << "Reattaching to existing memory";
+ // create or reattach to existing shared memory
+ if (!shm->create(SHMLAYER_SIZE))
shm->attach();
+
+ if (shm->error() != QSharedMemory::NoError) {
+ qFatal("SharedMemoryLayer: Unable to create or access shared resource. %d(%s)",
+ shm->error(),
+ shm->errorString().toLatin1().constData());
}
- lock = new QSystemReadWriteLock(socket() + "_lock", QSystemReadWriteLock::Create);
+ lock = new QSystemReadWriteLock(socket() + QLatin1String("_lock"),
+ QSystemReadWriteLock::Create);
} else {
shm = new QSharedMemory(socket(), this);
shm->attach(QSharedMemory::ReadOnly);
+ if (shm->error() != QSharedMemory::NoError) {
+ qFatal("SharedMemoryLayer: Unable to access shared memory. %d(%s)",
+ shm->error(), shm->errorString().toLatin1().constData());
+ }
+
qsrand(QTime(0,0,0).secsTo(QTime::currentTime())+QCoreApplication::applicationPid());
subShm = new QSharedMemory(socket()+QString::number(qrand()), this);
if (!subShm->create((VERSION_TABLE_ENTRIES + 7) / 8, QSharedMemory::ReadWrite)) {
- qWarning() << "SharedMemoryLayer client cannot create clientIndex:"
- << subShm->errorString() << subShm->key();
+ qWarning("SharedMemoryLayer: client cannot create clientIndex: %s %s",
+ subShm->errorString().toLatin1().constData(), subShm->key().toLatin1().constData());
}
- lock = new QSystemReadWriteLock(socket() + "_lock", QSystemReadWriteLock::Open);
- }
-
- if (shm->error() != QSharedMemory::NoError ||
- ((!subShm || subShm->error()!= QSharedMemory::NoError) && Server != type)) {
- qFatal("SharedMemoryLayer: Unable to create or access shared resources. (%s - %s)",
- shm->errorString().toLatin1().constData(),
- subShm->errorString().toLatin1().constData());
- return false;
+ lock = new QSystemReadWriteLock(socket() + QLatin1String("_lock"),
+ QSystemReadWriteLock::Open);
}
if (subShm)
@@ -2080,7 +2083,7 @@ void SharedMemoryLayer::disconnected()
owner.data2 = 0xFFFFFFFF;
connections.remove(protocol);
- if(layer->remove("/", owner)) {
+ if (layer->remove("/", owner)) {
QPacket others;
others << (quint8)SHMLAYER_SYNC << (unsigned int)0;
for(QSet<QPacketProtocol *>::ConstIterator iter = connections.begin();
@@ -2857,7 +2860,7 @@ bool SharedMemoryLayer::setWatch(NodeWatch watch, const QByteArray &path)
{
QMutexLocker locker(&localLock);
- if(path.count() > MAX_PATH_SIZE || path.startsWith("/.ValueSpace") || !valid)
+ if (path.count() > MAX_PATH_SIZE || path.startsWith("/.ValueSpace") || !valid)
return false;
Q_ASSERT(layer);
@@ -2932,7 +2935,7 @@ bool SharedMemoryLayer::setItem(NodeOwner owner, const QByteArray &path,
{
QMutexLocker locker(&localLock);
- if(path.count() > MAX_PATH_SIZE || path.startsWith("/.ValueSpace") || !valid)
+ if (path.count() > MAX_PATH_SIZE || path.startsWith("/.ValueSpace") || !valid)
return false;
Q_ASSERT(layer);
bool changed = false;
@@ -3304,7 +3307,7 @@ bool SharedMemoryLayer::setValue(QValueSpacePublisher *creator, Handle handle, c
if (!fullPath.endsWith('/') && path != QLatin1String("/"))
fullPath.append('/');
- fullPath.append(path.mid(1));
+ fullPath.append(path.mid(1).toUtf8());
return setItem(owner, fullPath, data);
}
@@ -3332,7 +3335,7 @@ bool SharedMemoryLayer::removeValue(QValueSpacePublisher *creator,
while (index < path.length() && path[index] == QLatin1Char('/'))
++index;
- fullPath.append(path.mid(index));
+ fullPath.append(path.mid(index).toUtf8());
return remItems(owner, fullPath);
}
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.cpp
index 3e97725025..79624ecda6 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.h b/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.h
index 660bf56ab5..785bf3af07 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/ccentralrepositoryhandler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.cpp
index 4ccddad572..ebcf23d1be 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.h b/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.h
index 7c6eb9d087..cc19b6d77c 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/cenrepmonitor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.cpp
index 338bf7d202..4c61681429 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.h b/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.h
index 261815594b..c2f3508d81 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/cpublishandsubscribehandler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.cpp
index bb5ef418cd..5fc8a23990 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.h b/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.h
index 74d8caeb0b..72d4b485a1 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/pubsubmonitor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.cpp
index e55e50d5b2..193697baba 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.h b/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.h
index d2375aef40..3fc6288aa6 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/settingshandlerbase.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/settingsmanager_global.h b/src/publishsubscribe/xqsettingsmanager_symbian/settingsmanager_global.h
index 8b19fac509..f574a8304b 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/settingsmanager_global.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/settingsmanager_global.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.cpp
index 2d333a3372..82850f9874 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.h
index 70155cbc33..45c66eaf7c 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositorysearchcriteria.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -59,7 +59,7 @@
class XQSETTINGSMANAGER_EXPORT XQCentralRepositorySearchCriteria
{
public:
- XQCentralRepositorySearchCriteria(long int repositoryUid,
+ explicit XQCentralRepositorySearchCriteria(long int repositoryUid,
unsigned long int partialKey = 0, unsigned long int bitMask = 0);
~XQCentralRepositorySearchCriteria();
void setValueCriteria(const QVariant& value, bool negativeCriteria = false);
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.cpp
index 43c28bf578..bbc5414582 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -114,7 +114,7 @@ XQCentralRepositoryUtils::~XQCentralRepositoryUtils()
\param value Initial value to be written into central repository. The type is determined with
QVariant.type() and it must be either QVariant::Int, QVariant::Double, QVariant::String or
QVariant::ByteArray.
- \return True if the key was succesfully created, otherwise return false.
+ \return True if the key was successfully created, otherwise return false.
*/
bool XQCentralRepositoryUtils::createKey(const XQCentralRepositorySettingsKey& key, const QVariant& value)
{
@@ -125,7 +125,7 @@ bool XQCentralRepositoryUtils::createKey(const XQCentralRepositorySettingsKey& k
Deletes a key from central repository. (NOTE: This function is not enabled in public
releases by default.)
\param key XQCentralRepositorySettingsKey which defines the key details
- \return True if the key was succesfully deleted, otherwise return false.
+ \return True if the key was successfully deleted, otherwise return false.
*/
bool XQCentralRepositoryUtils::deleteKey(const XQCentralRepositorySettingsKey& key)
{
@@ -135,7 +135,7 @@ bool XQCentralRepositoryUtils::deleteKey(const XQCentralRepositorySettingsKey& k
/*
Resets a key in central repository to it's initial value defined in .ini file.
\param key XQCentralRepositorySettingsKey which defines the key details
- \return True if the key was succesfully reset, otherwise return false.
+ \return True if the key was successfully reset, otherwise return false.
*/
bool XQCentralRepositoryUtils::resetKey(const XQCentralRepositorySettingsKey& key)
{
@@ -145,7 +145,7 @@ bool XQCentralRepositoryUtils::resetKey(const XQCentralRepositorySettingsKey& ke
/*
Resets the whole central repository file to it's initial state defined in .ini file.
\param repositoryUid Repository UID
- \return True if the repository was succesfully reset, otherwise return false.
+ \return True if the repository was successfully reset, otherwise return false.
*/
bool XQCentralRepositoryUtils::resetRepository(long int repositoryUid)
{
@@ -166,7 +166,7 @@ QList<XQCentralRepositorySettingsKey> XQCentralRepositoryUtils::findKeys(const X
Starts transaction. See Symbian documentation for more info.
\param repositoryUid Repository UID
\param transactionMode Transaction mode.
- \return True if the transaction was succesfully started, otherwise return false.
+ \return True if the transaction was successfully started, otherwise return false.
*/
bool XQCentralRepositoryUtils::startTransaction(long int repositoryUid, TransactionMode transactionMode)
{
@@ -176,7 +176,7 @@ bool XQCentralRepositoryUtils::startTransaction(long int repositoryUid, Transact
/*
Commits transaction. See Symbian documentation for more info.
\param repositoryUid Repository UID
- \return True if the transaction was succesfully committed, otherwise return false.
+ \return True if the transaction was successfully committed, otherwise return false.
*/
bool XQCentralRepositoryUtils::commitTransaction(long int repositoryUid)
{
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.h
index 6f2d7d850a..d72683e119 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -80,7 +80,7 @@ public:
UnknownTransaction
};
- XQCentralRepositoryUtils(XQSettingsManager& settingsManager, QObject* parent = 0);
+ explicit XQCentralRepositoryUtils(XQSettingsManager& settingsManager, QObject* parent = 0);
~XQCentralRepositoryUtils();
bool createKey(const XQCentralRepositorySettingsKey& key, const QVariant& value);
bool deleteKey(const XQCentralRepositorySettingsKey& key);
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.cpp
index 32a586a2a2..44c80e2a96 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.h
index 6652c068e5..0157b09321 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqcentralrepositoryutils_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.cpp
index 7b536fcb67..d4c43e12ec 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.h
index f6e6c4c8ff..e0c1cf65c2 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribesecuritypolicy.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.cpp
index ca33c30817..6e616c4597 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -72,7 +72,7 @@ XQPublishAndSubscribeUtils::~XQPublishAndSubscribeUtils()
Defines a propery
\param key XQPublishAndSubscribeSettingsKey which defines the propery details
\param type Propery type (NOTE: TypeDouble is not supported by Publish and Subscribe.)
- \return True if the property was succesfully defined, otherwise return false.
+ \return True if the property was successfully defined, otherwise return false.
*/
bool XQPublishAndSubscribeUtils::defineProperty(const XQPublishAndSubscribeSettingsKey& key, XQSettingsManager::Type type)
{
@@ -85,7 +85,7 @@ bool XQPublishAndSubscribeUtils::defineProperty(const XQPublishAndSubscribeSetti
\param type Propery type (NOTE: TypeDouble is not supported by Publish and Subscribe.)
\param readPolicy Policy definition for read operations
\param writePolicy Policy definition for write operations
- \return True if the property was succesfully defined, otherwise return false.
+ \return True if the property was successfully defined, otherwise return false.
*/
bool XQPublishAndSubscribeUtils::defineProperty(const XQPublishAndSubscribeSettingsKey& key, XQSettingsManager::Type type,
const XQPublishAndSubscribeSecurityPolicy& readPolicy, const XQPublishAndSubscribeSecurityPolicy& writePolicy)
@@ -96,7 +96,7 @@ bool XQPublishAndSubscribeUtils::defineProperty(const XQPublishAndSubscribeSetti
/*
Deletes a propery
\param key XQPublishAndSubscribeSettingsKey which defines the propery details
- \return True if the property was succesfully defined, otherwise return false.
+ \return True if the property was successfully defined, otherwise return false.
*/
bool XQPublishAndSubscribeUtils::deleteProperty(const XQPublishAndSubscribeSettingsKey& key)
{
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.h
index 0f92d91392..50bbab5209 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -65,7 +65,7 @@ class XQPublishAndSubscribeSecurityPolicy;
class XQSETTINGSMANAGER_EXPORT XQPublishAndSubscribeUtils : public QObject
{
public:
- XQPublishAndSubscribeUtils(XQSettingsManager& settingsManager, QObject* parent = 0);
+ explicit XQPublishAndSubscribeUtils(XQSettingsManager& settingsManager, QObject* parent = 0);
~XQPublishAndSubscribeUtils();
bool defineProperty(const XQPublishAndSubscribeSettingsKey& key, XQSettingsManager::Type type);
bool defineProperty(const XQPublishAndSubscribeSettingsKey& key, XQSettingsManager::Type type,
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.cpp
index 35726318db..07d74d5b69 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.h
index 3b52a77660..dab17b7e7a 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqpublishandsubscribeutils_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.cpp
index d3077b85de..3ed73bc174 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.h
index b65bcef3dd..5a92398153 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingskey.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.cpp
index a2f344e134..a9b35c4250 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -96,7 +96,7 @@ XQSettingsManager::~XQSettingsManager()
This enum defines the possible errors for an XQSettingsManager object.
*/
/* \var XQSettingsManager::Error XQSettingsManager::NoError
- No error occured.
+ No error occurred.
*/
/* \var XQSettingsManager::Error XQSettingsManager::OutOfMemoryError
Not enough memory.
@@ -137,7 +137,7 @@ QVariant XQSettingsManager::readItemValue(const XQSettingsKey& key, XQSettingsMa
\param value Value to be written into the settings item. The type is determined with
QVariant.type() and it must be either QVariant::Int, QVariant::Double, QVariant::String or
QVariant::ByteArray.
- \return True if the item was written succesfully, otherwise return false.
+ \return True if the item was written successfully, otherwise return false.
\sa error(), readItemValue()
*/
bool XQSettingsManager::writeItemValue(const XQSettingsKey& key, const QVariant& value)
@@ -150,7 +150,7 @@ bool XQSettingsManager::writeItemValue(const XQSettingsKey& key, const QVariant&
\param key XQSettingsKey of which changes are monitored.
\param type Value type. Default is TypeVariant which means that the type is
tried to detect automatically.
- \return True if monitoring was started succesfully, otherwise return false.
+ \return True if monitoring was started successfully, otherwise return false.
\sa error(), stopMonitoring()
*/
bool XQSettingsManager::startMonitoring(const XQSettingsKey& key, XQSettingsManager::Type type)
@@ -161,7 +161,7 @@ bool XQSettingsManager::startMonitoring(const XQSettingsKey& key, XQSettingsMana
/*
Stops monitoring a settings item.
\param key XQSettingsKey of which changes are not monitored any more.
- \return True if monitoring was stopped succesfully, otherwise return false.
+ \return True if monitoring was stopped successfully, otherwise return false.
\sa error(), startMonitoring()
*/
bool XQSettingsManager::stopMonitoring(const XQSettingsKey& key)
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.h
index 3c6e0990c7..431bb8807e 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.cpp b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.cpp
index 240c0a0335..2d23151e75 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.cpp
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.h b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.h
index 8da7835a34..e0d4074ad1 100644
--- a/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.h
+++ b/src/publishsubscribe/xqsettingsmanager_symbian/xqsettingsmanager_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/s60installs/bwins/QtContactsu.def b/src/s60installs/bwins/QtContactsu.def
index 2025743f34..00d2c729ff 100644
--- a/src/s60installs/bwins/QtContactsu.def
+++ b/src/s60installs/bwins/QtContactsu.def
@@ -994,75 +994,4 @@ EXPORTS
?d_func@QContactUnionFilter@QtMobility@@AAEPAVQContactUnionFilterPrivate@2@XZ @ 993 NONAME ; class QtMobility::QContactUnionFilterPrivate * QtMobility::QContactUnionFilter::d_func(void)
??_EQContactDetailDefinitionRemoveRequest@QtMobility@@UAE@I@Z @ 994 NONAME ; QtMobility::QContactDetailDefinitionRemoveRequest::~QContactDetailDefinitionRemoveRequest(unsigned int)
?staticMetaObject@QContactDetailDefinitionSaveRequest@QtMobility@@2UQMetaObject@@B @ 995 NONAME ; struct QMetaObject const QtMobility::QContactDetailDefinitionSaveRequest::staticMetaObject
- ??0QContactActionDescriptor@QtMobility@@QAE@ABV01@@Z @ 996 NONAME ; QtMobility::QContactActionDescriptor::QContactActionDescriptor(class QtMobility::QContactActionDescriptor const &)
- ??0QContactActionDescriptor@QtMobility@@QAE@ABVQString@@0H@Z @ 997 NONAME ; QtMobility::QContactActionDescriptor::QContactActionDescriptor(class QString const &, class QString const &, int)
- ??0QContactActionFilter@QtMobility@@QAE@ABVQContactFilter@1@@Z @ 998 NONAME ; QtMobility::QContactActionFilter::QContactActionFilter(class QtMobility::QContactFilter const &)
- ??0QContactActionFilter@QtMobility@@QAE@XZ @ 999 NONAME ; QtMobility::QContactActionFilter::QContactActionFilter(void)
- ??1QContactAction@QtMobility@@UAE@XZ @ 1000 NONAME ; QtMobility::QContactAction::~QContactAction(void)
- ??1QContactActionDescriptor@QtMobility@@QAE@XZ @ 1001 NONAME ; QtMobility::QContactActionDescriptor::~QContactActionDescriptor(void)
- ??1QContactActionFactory@QtMobility@@UAE@XZ @ 1002 NONAME ; QtMobility::QContactActionFactory::~QContactActionFactory(void)
- ??1QContactActionFilter@QtMobility@@QAE@XZ @ 1003 NONAME ; QtMobility::QContactActionFilter::~QContactActionFilter(void)
- ??4QContactActionDescriptor@QtMobility@@QAEAAV01@ABV01@@Z @ 1004 NONAME ; class QtMobility::QContactActionDescriptor & QtMobility::QContactActionDescriptor::operator=(class QtMobility::QContactActionDescriptor const &)
- ??8QContactActionDescriptor@QtMobility@@QBE_NABV01@@Z @ 1005 NONAME ; bool QtMobility::QContactActionDescriptor::operator==(class QtMobility::QContactActionDescriptor const &) const
- ??9QContactActionDescriptor@QtMobility@@QBE_NABV01@@Z @ 1006 NONAME ; bool QtMobility::QContactActionDescriptor::operator!=(class QtMobility::QContactActionDescriptor const &) const
- ??MQContactActionDescriptor@QtMobility@@QBE_NABV01@@Z @ 1007 NONAME ; bool QtMobility::QContactActionDescriptor::operator<(class QtMobility::QContactActionDescriptor const &) const
- ??_EQContact@QtMobility@@QAE@I@Z @ 1008 NONAME ; QtMobility::QContact::~QContact(unsigned int)
- ??_EQContactAction@QtMobility@@UAE@I@Z @ 1009 NONAME ; QtMobility::QContactAction::~QContactAction(unsigned int)
- ??_EQContactActionDescriptor@QtMobility@@QAE@I@Z @ 1010 NONAME ; QtMobility::QContactActionDescriptor::~QContactActionDescriptor(unsigned int)
- ??_EQContactActionFactory@QtMobility@@UAE@I@Z @ 1011 NONAME ; QtMobility::QContactActionFactory::~QContactActionFactory(unsigned int)
- ??_EQContactDetail@QtMobility@@QAE@I@Z @ 1012 NONAME ; QtMobility::QContactDetail::~QContactDetail(unsigned int)
- ??_EQContactDetailDefinition@QtMobility@@QAE@I@Z @ 1013 NONAME ; QtMobility::QContactDetailDefinition::~QContactDetailDefinition(unsigned int)
- ??_EQContactFilter@QtMobility@@QAE@I@Z @ 1014 NONAME ; QtMobility::QContactFilter::~QContactFilter(unsigned int)
- ??_EQContactId@QtMobility@@QAE@I@Z @ 1015 NONAME ; QtMobility::QContactId::~QContactId(unsigned int)
- ??_EQContactRelationship@QtMobility@@QAE@I@Z @ 1016 NONAME ; QtMobility::QContactRelationship::~QContactRelationship(unsigned int)
- ??_EQContactSortOrder@QtMobility@@QAE@I@Z @ 1017 NONAME ; QtMobility::QContactSortOrder::~QContactSortOrder(unsigned int)
- ?action@QContactAction@QtMobility@@SAPAV12@ABVQContactActionDescriptor@2@@Z @ 1018 NONAME ; class QtMobility::QContactAction * QtMobility::QContactAction::action(class QtMobility::QContactActionDescriptor const &)
- ?actionDescriptors@QContactAction@QtMobility@@SA?AV?$QList@VQContactActionDescriptor@QtMobility@@@@ABVQString@@0H@Z @ 1019 NONAME ; class QList<class QtMobility::QContactActionDescriptor> QtMobility::QContactAction::actionDescriptors(class QString const &, class QString const &, int)
- ?actionName@QContactActionDescriptor@QtMobility@@QBE?AVQString@@XZ @ 1020 NONAME ; class QString QtMobility::QContactActionDescriptor::actionName(void) const
- ?actionName@QContactActionFilter@QtMobility@@QBE?AVQString@@XZ @ 1021 NONAME ; class QString QtMobility::QContactActionFilter::actionName(void) const
- ?availableActions@QContact@QtMobility@@QBE?AV?$QList@VQContactActionDescriptor@QtMobility@@@@ABVQString@@H@Z @ 1022 NONAME ; class QList<class QtMobility::QContactActionDescriptor> QtMobility::QContact::availableActions(class QString const &, int) const
- ?availableActions@QContactAction@QtMobility@@SA?AVQStringList@@ABVQString@@H@Z @ 1023 NONAME ; class QStringList QtMobility::QContactAction::availableActions(class QString const &, int)
- ?d_func@QContactActionFilter@QtMobility@@AAEPAVQContactActionFilterPrivate@2@XZ @ 1024 NONAME ; class QtMobility::QContactActionFilterPrivate * QtMobility::QContactActionFilter::d_func(void)
- ?d_func@QContactActionFilter@QtMobility@@ABEPBVQContactActionFilterPrivate@2@XZ @ 1025 NONAME ; class QtMobility::QContactActionFilterPrivate const * QtMobility::QContactActionFilter::d_func(void) const
- ?detailWithAction@QContact@QtMobility@@QBE?AVQContactDetail@2@PAVQContactAction@2@@Z @ 1026 NONAME ; class QtMobility::QContactDetail QtMobility::QContact::detailWithAction(class QtMobility::QContactAction *) const
- ?detailsWithAction@QContact@QtMobility@@QBE?AV?$QList@VQContactDetail@QtMobility@@@@PAVQContactAction@2@@Z @ 1027 NONAME ; class QList<class QtMobility::QContactDetail> QtMobility::QContact::detailsWithAction(class QtMobility::QContactAction *) const
- ?getStaticMetaObject@QContactAction@QtMobility@@SAABUQMetaObject@@XZ @ 1028 NONAME ; struct QMetaObject const & QtMobility::QContactAction::getStaticMetaObject(void)
- ?getStaticMetaObject@QContactActionFactory@QtMobility@@SAABUQMetaObject@@XZ @ 1029 NONAME ; struct QMetaObject const & QtMobility::QContactActionFactory::getStaticMetaObject(void)
- ?implementationVersion@QContactActionDescriptor@QtMobility@@QBEHXZ @ 1030 NONAME ; int QtMobility::QContactActionDescriptor::implementationVersion(void) const
- ?implementationVersion@QContactActionFilter@QtMobility@@QBEHXZ @ 1031 NONAME ; int QtMobility::QContactActionFilter::implementationVersion(void) const
- ?isEmpty@QContactActionDescriptor@QtMobility@@QBE_NXZ @ 1032 NONAME ; bool QtMobility::QContactActionDescriptor::isEmpty(void) const
- ?isPreferredDetail@QContact@QtMobility@@QBE_NABVQString@@ABVQContactDetail@2@@Z @ 1033 NONAME ; bool QtMobility::QContact::isPreferredDetail(class QString const &, class QtMobility::QContactDetail const &) const
- ?metaObject@QContactAction@QtMobility@@UBEPBUQMetaObject@@XZ @ 1034 NONAME ; struct QMetaObject const * QtMobility::QContactAction::metaObject(void) const
- ?metaObject@QContactActionFactory@QtMobility@@UBEPBUQMetaObject@@XZ @ 1035 NONAME ; struct QMetaObject const * QtMobility::QContactActionFactory::metaObject(void) const
- ?preferredDetail@QContact@QtMobility@@QBE?AVQContactDetail@2@ABVQString@@@Z @ 1036 NONAME ; class QtMobility::QContactDetail QtMobility::QContact::preferredDetail(class QString const &) const
- ?preferredDetails@QContact@QtMobility@@QBE?AV?$QMap@VQString@@VQContactDetail@QtMobility@@@@XZ @ 1037 NONAME ; class QMap<class QString, class QtMobility::QContactDetail> QtMobility::QContact::preferredDetails(void) const
- ?qHash@QtMobility@@YAIABVQContactActionDescriptor@1@@Z @ 1038 NONAME ; unsigned int QtMobility::qHash(class QtMobility::QContactActionDescriptor const &)
- ?qt_metacall@QContactAction@QtMobility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1039 NONAME ; int QtMobility::QContactAction::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QContactActionFactory@QtMobility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1040 NONAME ; int QtMobility::QContactActionFactory::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@QContactAction@QtMobility@@UAEPAXPBD@Z @ 1041 NONAME ; void * QtMobility::QContactAction::qt_metacast(char const *)
- ?qt_metacast@QContactActionFactory@QtMobility@@UAEPAXPBD@Z @ 1042 NONAME ; void * QtMobility::QContactActionFactory::qt_metacast(char const *)
- ?resultsAvailable@QContactAction@QtMobility@@IAEXXZ @ 1043 NONAME ; void QtMobility::QContactAction::resultsAvailable(void)
- ?setActionName@QContactActionDescriptor@QtMobility@@QAEXABVQString@@@Z @ 1044 NONAME ; void QtMobility::QContactActionDescriptor::setActionName(class QString const &)
- ?setActionName@QContactActionFilter@QtMobility@@QAEXABVQString@@@Z @ 1045 NONAME ; void QtMobility::QContactActionFilter::setActionName(class QString const &)
- ?setImplementationVersion@QContactActionDescriptor@QtMobility@@QAEXH@Z @ 1046 NONAME ; void QtMobility::QContactActionDescriptor::setImplementationVersion(int)
- ?setPreferredDetail@QContact@QtMobility@@QAE_NABVQString@@ABVQContactDetail@2@@Z @ 1047 NONAME ; bool QtMobility::QContact::setPreferredDetail(class QString const &, class QtMobility::QContactDetail const &)
- ?setValue@QContactActionFilter@QtMobility@@QAEXABVQVariant@@@Z @ 1048 NONAME ; void QtMobility::QContactActionFilter::setValue(class QVariant const &)
- ?setVendor@QContactActionFilter@QtMobility@@QAEXABVQString@@H@Z @ 1049 NONAME ; void QtMobility::QContactActionFilter::setVendor(class QString const &, int)
- ?setVendorName@QContactActionDescriptor@QtMobility@@QAEXABVQString@@@Z @ 1050 NONAME ; void QtMobility::QContactActionDescriptor::setVendorName(class QString const &)
- ?stateChanged@QContactAction@QtMobility@@IAEXW4State@12@@Z @ 1051 NONAME ; void QtMobility::QContactAction::stateChanged(enum QtMobility::QContactAction::State)
- ?supportedDetails@QContactAction@QtMobility@@UBE?AV?$QList@VQContactDetail@QtMobility@@@@ABVQContact@2@@Z @ 1052 NONAME ; class QList<class QtMobility::QContactDetail> QtMobility::QContactAction::supportedDetails(class QtMobility::QContact const &) const
- ?tr@QContactAction@QtMobility@@SA?AVQString@@PBD0@Z @ 1053 NONAME ; class QString QtMobility::QContactAction::tr(char const *, char const *)
- ?tr@QContactAction@QtMobility@@SA?AVQString@@PBD0H@Z @ 1054 NONAME ; class QString QtMobility::QContactAction::tr(char const *, char const *, int)
- ?tr@QContactActionFactory@QtMobility@@SA?AVQString@@PBD0@Z @ 1055 NONAME ; class QString QtMobility::QContactActionFactory::tr(char const *, char const *)
- ?tr@QContactActionFactory@QtMobility@@SA?AVQString@@PBD0H@Z @ 1056 NONAME ; class QString QtMobility::QContactActionFactory::tr(char const *, char const *, int)
- ?trUtf8@QContactAction@QtMobility@@SA?AVQString@@PBD0@Z @ 1057 NONAME ; class QString QtMobility::QContactAction::trUtf8(char const *, char const *)
- ?trUtf8@QContactAction@QtMobility@@SA?AVQString@@PBD0H@Z @ 1058 NONAME ; class QString QtMobility::QContactAction::trUtf8(char const *, char const *, int)
- ?trUtf8@QContactActionFactory@QtMobility@@SA?AVQString@@PBD0@Z @ 1059 NONAME ; class QString QtMobility::QContactActionFactory::trUtf8(char const *, char const *)
- ?trUtf8@QContactActionFactory@QtMobility@@SA?AVQString@@PBD0H@Z @ 1060 NONAME ; class QString QtMobility::QContactActionFactory::trUtf8(char const *, char const *, int)
- ?validateActionFilter@QContactManagerEngine@QtMobility@@SA_NABVQContactFilter@2@@Z @ 1061 NONAME ; bool QtMobility::QContactManagerEngine::validateActionFilter(class QtMobility::QContactFilter const &)
- ?value@QContactActionFilter@QtMobility@@QBE?AVQVariant@@XZ @ 1062 NONAME ; class QVariant QtMobility::QContactActionFilter::value(void) const
- ?vendorName@QContactActionDescriptor@QtMobility@@QBE?AVQString@@XZ @ 1063 NONAME ; class QString QtMobility::QContactActionDescriptor::vendorName(void) const
- ?vendorName@QContactActionFilter@QtMobility@@QBE?AVQString@@XZ @ 1064 NONAME ; class QString QtMobility::QContactActionFilter::vendorName(void) const
- ?staticMetaObject@QContactActionFactory@QtMobility@@2UQMetaObject@@B @ 1065 NONAME ; struct QMetaObject const QtMobility::QContactActionFactory::staticMetaObject
- ?staticMetaObject@QContactAction@QtMobility@@2UQMetaObject@@B @ 1066 NONAME ; struct QMetaObject const QtMobility::QContactAction::staticMetaObject
diff --git a/src/s60installs/eabi/QtContactsu.def b/src/s60installs/eabi/QtContactsu.def
index 4fdd897a40..45392224a2 100644
--- a/src/s60installs/eabi/QtContactsu.def
+++ b/src/s60installs/eabi/QtContactsu.def
@@ -729,67 +729,4 @@ EXPORTS
_ZTVN10QtMobility35QContactDetailDefinitionSaveRequestE @ 728 NONAME
_ZTVN10QtMobility36QContactDetailDefinitionFetchRequestE @ 729 NONAME
_ZTVN10QtMobility37QContactDetailDefinitionRemoveRequestE @ 730 NONAME
- _ZN10QtMobility14QContactAction11qt_metacallEN11QMetaObject4CallEiPPv @ 731 NONAME
- _ZN10QtMobility14QContactAction11qt_metacastEPKc @ 732 NONAME
- _ZN10QtMobility14QContactAction12stateChangedENS0_5StateE @ 733 NONAME
- _ZN10QtMobility14QContactAction16availableActionsERK7QStringi @ 734 NONAME
- _ZN10QtMobility14QContactAction16resultsAvailableEv @ 735 NONAME
- _ZN10QtMobility14QContactAction16staticMetaObjectE @ 736 NONAME DATA 16
- _ZN10QtMobility14QContactAction17actionDescriptorsERK7QStringS3_i @ 737 NONAME
- _ZN10QtMobility14QContactAction19getStaticMetaObjectEv @ 738 NONAME
- _ZN10QtMobility14QContactAction6actionERKNS_24QContactActionDescriptorE @ 739 NONAME
- _ZN10QtMobility14QContactActionD0Ev @ 740 NONAME
- _ZN10QtMobility14QContactActionD1Ev @ 741 NONAME
- _ZN10QtMobility14QContactActionD2Ev @ 742 NONAME
- _ZN10QtMobility20QContactActionFilter13setActionNameERK7QString @ 743 NONAME
- _ZN10QtMobility20QContactActionFilter8setValueERK8QVariant @ 744 NONAME
- _ZN10QtMobility20QContactActionFilter9setVendorERK7QStringi @ 745 NONAME
- _ZN10QtMobility20QContactActionFilterC1ERKNS_14QContactFilterE @ 746 NONAME
- _ZN10QtMobility20QContactActionFilterC1Ev @ 747 NONAME
- _ZN10QtMobility20QContactActionFilterC2ERKNS_14QContactFilterE @ 748 NONAME
- _ZN10QtMobility20QContactActionFilterC2Ev @ 749 NONAME
- _ZN10QtMobility21QContactActionFactory11qt_metacallEN11QMetaObject4CallEiPPv @ 750 NONAME
- _ZN10QtMobility21QContactActionFactory11qt_metacastEPKc @ 751 NONAME
- _ZN10QtMobility21QContactActionFactory16staticMetaObjectE @ 752 NONAME DATA 16
- _ZN10QtMobility21QContactActionFactory19getStaticMetaObjectEv @ 753 NONAME
- _ZN10QtMobility21QContactActionFactoryD0Ev @ 754 NONAME
- _ZN10QtMobility21QContactActionFactoryD1Ev @ 755 NONAME
- _ZN10QtMobility21QContactActionFactoryD2Ev @ 756 NONAME
- _ZN10QtMobility21QContactManagerEngine20validateActionFilterERKNS_14QContactFilterE @ 757 NONAME
- _ZN10QtMobility24QContactActionDescriptor13setActionNameERK7QString @ 758 NONAME
- _ZN10QtMobility24QContactActionDescriptor13setVendorNameERK7QString @ 759 NONAME
- _ZN10QtMobility24QContactActionDescriptor24setImplementationVersionEi @ 760 NONAME
- _ZN10QtMobility24QContactActionDescriptorC1ERK7QStringS3_i @ 761 NONAME
- _ZN10QtMobility24QContactActionDescriptorC1ERKS0_ @ 762 NONAME
- _ZN10QtMobility24QContactActionDescriptorC2ERK7QStringS3_i @ 763 NONAME
- _ZN10QtMobility24QContactActionDescriptorC2ERKS0_ @ 764 NONAME
- _ZN10QtMobility24QContactActionDescriptorD1Ev @ 765 NONAME
- _ZN10QtMobility24QContactActionDescriptorD2Ev @ 766 NONAME
- _ZN10QtMobility24QContactActionDescriptoraSERKS0_ @ 767 NONAME
- _ZN10QtMobility5qHashERKNS_24QContactActionDescriptorE @ 768 NONAME
- _ZN10QtMobility8QContact18setPreferredDetailERK7QStringRKNS_14QContactDetailE @ 769 NONAME
- _ZNK10QtMobility14QContactAction10metaObjectEv @ 770 NONAME
- _ZNK10QtMobility14QContactAction16supportedDetailsERKNS_8QContactE @ 771 NONAME
- _ZNK10QtMobility20QContactActionFilter10actionNameEv @ 772 NONAME
- _ZNK10QtMobility20QContactActionFilter10vendorNameEv @ 773 NONAME
- _ZNK10QtMobility20QContactActionFilter21implementationVersionEv @ 774 NONAME
- _ZNK10QtMobility20QContactActionFilter5valueEv @ 775 NONAME
- _ZNK10QtMobility21QContactActionFactory10metaObjectEv @ 776 NONAME
- _ZNK10QtMobility24QContactActionDescriptor10actionNameEv @ 777 NONAME
- _ZNK10QtMobility24QContactActionDescriptor10vendorNameEv @ 778 NONAME
- _ZNK10QtMobility24QContactActionDescriptor21implementationVersionEv @ 779 NONAME
- _ZNK10QtMobility24QContactActionDescriptor7isEmptyEv @ 780 NONAME
- _ZNK10QtMobility24QContactActionDescriptoreqERKS0_ @ 781 NONAME
- _ZNK10QtMobility24QContactActionDescriptorltERKS0_ @ 782 NONAME
- _ZNK10QtMobility24QContactActionDescriptorneERKS0_ @ 783 NONAME
- _ZNK10QtMobility8QContact15preferredDetailERK7QString @ 784 NONAME
- _ZNK10QtMobility8QContact16availableActionsERK7QStringi @ 785 NONAME
- _ZNK10QtMobility8QContact16detailWithActionEPNS_14QContactActionE @ 786 NONAME
- _ZNK10QtMobility8QContact16preferredDetailsEv @ 787 NONAME
- _ZNK10QtMobility8QContact17detailsWithActionEPNS_14QContactActionE @ 788 NONAME
- _ZNK10QtMobility8QContact17isPreferredDetailERK7QStringRKNS_14QContactDetailE @ 789 NONAME
- _ZTIN10QtMobility14QContactActionE @ 790 NONAME ; #<TI>#
- _ZTIN10QtMobility21QContactActionFactoryE @ 791 NONAME ; #<TI>#
- _ZTVN10QtMobility14QContactActionE @ 792 NONAME ; #<VT>#
- _ZTVN10QtMobility21QContactActionFactoryE @ 793 NONAME ; #<VT>#
diff --git a/src/s60installs/eabi/QtSensorsu.def b/src/s60installs/eabi/QtSensorsu.def
index 9ea1ca87ec..40464ab162 100644
--- a/src/s60installs/eabi/QtSensorsu.def
+++ b/src/s60installs/eabi/QtSensorsu.def
@@ -284,4 +284,11 @@ EXPORTS
_ZTVN10QtMobility21QAccelerometerReadingE @ 283 NONAME
_ZTVN10QtMobility7QSensorE @ 284 NONAME
_ZTVN10QtMobility8QCompassE @ 285 NONAME
+ _ZN10QtMobility14QSensorReading14copyValuesFromEPS0_ @ 286 NONAME
+ _ZN10QtMobility14QSensorReadingC1EP7QObjectPNS_21QSensorReadingPrivateE @ 287 NONAME
+ _ZN10QtMobility19QSensorPluginLoader4loadEv @ 288 NONAME
+ _ZN10QtMobility19QSensorPluginLoaderC1EPKcRK7QString @ 289 NONAME
+ _ZN10QtMobility19QSensorPluginLoaderC2EPKcRK7QString @ 290 NONAME
+ _ZN10QtMobility19QSensorPluginLoaderD1Ev @ 291 NONAME
+ _ZN10QtMobility19QSensorPluginLoaderD2Ev @ 292 NONAME
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index e13369d6ff..98e6bb7fab 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -1,6 +1,6 @@
TEMPLATE = subdirs
-symbian: {
+isEmpty(QT_LIBINFIX):symbian {
include(../../staticconfig.pri)
load(data_caging_paths)
include($$QT_MOBILITY_BUILD_TREE/config.pri)
@@ -8,11 +8,8 @@ symbian: {
SUBDIRS =
TARGET = "QtMobility"
TARGET.UID3 = 0x2002AC89
- # TP preview 0.1.0
- # Beta 0.2.0
- # Final 1.0.0
- VERSION = 1.0.0
+ VERSION = 1.0.1
vendorinfo = \
"; Localised Vendor name" \
@@ -157,20 +154,14 @@ symbian: {
"IF package(0x102032BE)" \
" \"$${EPOCROOT31}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_s60sensorapi.dll\" - \"!:\\sys\\bin\\qtsensor_s60sensorapi.dll\"" \
" \"$${EPOCROOT31}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_generic.dll\" - \"!:\\sys\\bin\\qtsensors_generic.dll\"" \
- "ELSEIF package(0x102752AE)" \
- " \"$${EPOCROOT32}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_s60sensorapi.dll\" - \"!:\\sys\\bin\\sensors_sym.dll\"" \
- " \"$${EPOCROOT32}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_generic.dll\" - \"!:\\sys\\bin\\qtsensors_generic.dll\"" \
"ENDIF"
} else:equals(sensors_symbian_enabled,yes) {
sensors += \
- "IF package(0x1028315F)" \
- " \"$${EPOCROOT31}epoc32/release/$(PLATFORM)/$(TARGET)/sensors_sym.dll\" - \"!:\\sys\\bin\\sensors_sym.dll\"" \
- " \"$${EPOCROOT31}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_generic.dll\" - \"!:\\sys\\bin\\qtsensors_generic.dll\"" \
- "ELSEIF package(0x102752AE)" \
- " \"$${EPOCROOT32}epoc32/release/$(PLATFORM)/$(TARGET)/sensors_sym.dll\" - \"!:\\sys\\bin\\sensors_sym.dll\"" \
+ "IF package(0x102752AE)" \
+ " \"$${EPOCROOT32}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_sym.dll\" - \"!:\\sys\\bin\\qtsensors_sym.dll\"" \
" \"$${EPOCROOT32}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_generic.dll\" - \"!:\\sys\\bin\\qtsensors_generic.dll\"" \
"ELSE" \
- " \"$${EPOCROOT50}epoc32/release/$(PLATFORM)/$(TARGET)/sensors_sym.dll\" - \"!:\\sys\\bin\\sensors_sym.dll\"" \
+ " \"$${EPOCROOT50}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_sym.dll\" - \"!:\\sys\\bin\\qtsensors_sym.dll\"" \
" \"$${EPOCROOT50}epoc32/release/$(PLATFORM)/$(TARGET)/qtsensors_generic.dll\" - \"!:\\sys\\bin\\qtsensors_generic.dll\"" \
"ENDIF"
}
@@ -183,15 +174,17 @@ symbian: {
"\"$$QT_MOBILITY_BUILD_TREE/plugins/sensors/generic/qmakepluginstubs/qtsensors_generic.qtplugin\" - \"!:\\resource\\qt\\plugins\\sensors\\qtsensors_generic.qtplugin\""
} else:equals(sensors_symbian_enabled,yes) {
pluginstubs += \
- "\"$$QT_MOBILITY_BUILD_TREE/plugins/sensors/symbian/qmakepluginstubs/sensors_sym.qtplugin\" - \"!:\\resource\\qt\\plugins\\sensors\\sensors_sym.qtplugin\""\
+ "\"$$QT_MOBILITY_BUILD_TREE/plugins/sensors/symbian/qmakepluginstubs/qtsensors_sym.qtplugin\" - \"!:\\resource\\qt\\plugins\\sensors\\qtsensors_sym.qtplugin\""\
"\"$$QT_MOBILITY_BUILD_TREE/plugins/sensors/generic/qmakepluginstubs/qtsensors_generic.qtplugin\" - \"!:\\resource\\qt\\plugins\\sensors\\qtsensors_generic.qtplugin\""
}
}
- qtmobilitydeployment.pkg_postrules += pluginstubs
+ !isEmpty(pluginstubs):qtmobilitydeployment.pkg_postrules += pluginstubs
qtmobilitydeployment.path = /sys/bin
DEPLOYMENT += qtmobilitydeployment
+} else {
+ message(Deployment of infixed library names not supported)
}
diff --git a/src/sensors/make_sensor.pl b/src/sensors/make_sensor.pl
index 5bf499a84e..9daf9b9a85 100755
--- a/src/sensors/make_sensor.pl
+++ b/src/sensors/make_sensor.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
#############################################################################
##
-## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
@@ -89,11 +89,9 @@ if (! -e $pheader) {
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class '.$reading_private.' : public QSensorReadingPrivate
+class '.$reading_private.'
{
public:
'.$reading_private.'()
@@ -156,7 +154,7 @@ public:
{ setType('.$sensor.'::type); }
virtual ~'.$sensor.'() {}
'.$reading.' *reading() const { return static_cast<'.$reading.'*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
@@ -231,7 +229,7 @@ void '.$reading.'::setMyprop(qreal myprop)
\sa QSensorFilter::filter()
*/
-const char *'.$sensor.'::type("'.$sensor.'");
+char const * const '.$sensor.'::type("'.$sensor.'");
/*!
\class '.$sensor.'
diff --git a/src/sensors/qaccelerometer.cpp b/src/sensors/qaccelerometer.cpp
index f62b4617eb..d022e2858f 100644
--- a/src/sensors/qaccelerometer.cpp
+++ b/src/sensors/qaccelerometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -148,7 +148,7 @@ void QAccelerometerReading::setZ(qreal z)
\sa QSensorFilter::filter()
*/
-const char *QAccelerometer::type("QAccelerometer");
+char const * const QAccelerometer::type("QAccelerometer");
/*!
\class QAccelerometer
diff --git a/src/sensors/qaccelerometer.h b/src/sensors/qaccelerometer.h
index 2ddb14b53e..e8d942e450 100644
--- a/src/sensors/qaccelerometer.h
+++ b/src/sensors/qaccelerometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -81,7 +81,7 @@ public:
explicit QAccelerometer(QObject *parent = 0) : QSensor(QAccelerometer::type, parent) {}
virtual ~QAccelerometer() {}
QAccelerometerReading *reading() const { return static_cast<QAccelerometerReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qaccelerometer_p.h b/src/sensors/qaccelerometer_p.h
index 59ee3dffea..ff54eca80a 100644
--- a/src/sensors/qaccelerometer_p.h
+++ b/src/sensors/qaccelerometer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QAccelerometerReadingPrivate : public QSensorReadingPrivate
+class QAccelerometerReadingPrivate
{
public:
QAccelerometerReadingPrivate()
diff --git a/src/sensors/qambientlightsensor.cpp b/src/sensors/qambientlightsensor.cpp
index 874596df47..563ec4b432 100644
--- a/src/sensors/qambientlightsensor.cpp
+++ b/src/sensors/qambientlightsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -113,7 +113,7 @@ void QAmbientLightReading::setLightLevel(QAmbientLightReading::LightLevel lightL
\sa QSensorFilter::filter()
*/
-const char *QAmbientLightSensor::type("QAmbientLightSensor");
+char const * const QAmbientLightSensor::type("QAmbientLightSensor");
/*!
\class QAmbientLightSensor
diff --git a/src/sensors/qambientlightsensor.h b/src/sensors/qambientlightsensor.h
index 4fd6d1a54f..6953fd83dc 100644
--- a/src/sensors/qambientlightsensor.h
+++ b/src/sensors/qambientlightsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -83,7 +83,7 @@ public:
explicit QAmbientLightSensor(QObject *parent = 0) : QSensor(QAmbientLightSensor::type, parent) {}
virtual ~QAmbientLightSensor() {}
QAmbientLightReading *reading() const { return static_cast<QAmbientLightReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qambientlightsensor_p.h b/src/sensors/qambientlightsensor_p.h
index 17b41d5d69..c685320365 100644
--- a/src/sensors/qambientlightsensor_p.h
+++ b/src/sensors/qambientlightsensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QAmbientLightReadingPrivate : public QSensorReadingPrivate
+class QAmbientLightReadingPrivate
{
public:
QAmbientLightReadingPrivate()
diff --git a/src/sensors/qcompass.cpp b/src/sensors/qcompass.cpp
index 8ef4879132..ba8dc41aa6 100644
--- a/src/sensors/qcompass.cpp
+++ b/src/sensors/qcompass.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -133,7 +133,7 @@ void QCompassReading::setCalibrationLevel(qreal calibrationLevel)
\sa QSensorFilter::filter()
*/
-const char *QCompass::type("QCompass");
+char const * const QCompass::type("QCompass");
/*!
\class QCompass
diff --git a/src/sensors/qcompass.h b/src/sensors/qcompass.h
index 17e2f38a10..86c95f5c41 100644
--- a/src/sensors/qcompass.h
+++ b/src/sensors/qcompass.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -77,7 +77,7 @@ public:
explicit QCompass(QObject *parent = 0) : QSensor(QCompass::type, parent) {}
virtual ~QCompass() {}
QCompassReading *reading() const { return static_cast<QCompassReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qcompass_p.h b/src/sensors/qcompass_p.h
index dc91d0c39e..24ec2b83d9 100644
--- a/src/sensors/qcompass_p.h
+++ b/src/sensors/qcompass_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QCompassReadingPrivate : public QSensorReadingPrivate
+class QCompassReadingPrivate
{
public:
QCompassReadingPrivate()
diff --git a/src/sensors/qmagnetometer.cpp b/src/sensors/qmagnetometer.cpp
index 2f388aa691..84031bfaab 100644
--- a/src/sensors/qmagnetometer.cpp
+++ b/src/sensors/qmagnetometer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -185,7 +185,7 @@ void QMagnetometerReading::setCalibrationLevel(qreal calibrationLevel)
\sa QSensorFilter::filter()
*/
-const char *QMagnetometer::type("QMagnetometer");
+char const * const QMagnetometer::type("QMagnetometer");
/*!
\class QMagnetometer
diff --git a/src/sensors/qmagnetometer.h b/src/sensors/qmagnetometer.h
index af8801a8d3..01a80e5d8d 100644
--- a/src/sensors/qmagnetometer.h
+++ b/src/sensors/qmagnetometer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -91,7 +91,7 @@ public:
explicit QMagnetometer(QObject *parent = 0) : QSensor(QMagnetometer::type, parent) {}
virtual ~QMagnetometer() {}
QMagnetometerReading *reading() const { return static_cast<QMagnetometerReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qmagnetometer_p.h b/src/sensors/qmagnetometer_p.h
index 96f1d640a5..d1216123dc 100644
--- a/src/sensors/qmagnetometer_p.h
+++ b/src/sensors/qmagnetometer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QMagnetometerReadingPrivate : public QSensorReadingPrivate
+class QMagnetometerReadingPrivate
{
public:
QMagnetometerReadingPrivate()
diff --git a/src/sensors/qorientationsensor.cpp b/src/sensors/qorientationsensor.cpp
index 1455e38244..2ce920047b 100644
--- a/src/sensors/qorientationsensor.cpp
+++ b/src/sensors/qorientationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -122,7 +122,7 @@ void QOrientationReading::setOrientation(QOrientationReading::Orientation orient
\sa QSensorFilter::filter()
*/
-const char *QOrientationSensor::type("QOrientationSensor");
+char const * const QOrientationSensor::type("QOrientationSensor");
/*!
\class QOrientationSensor
diff --git a/src/sensors/qorientationsensor.h b/src/sensors/qorientationsensor.h
index 1826bb73b7..8ed65ec143 100644
--- a/src/sensors/qorientationsensor.h
+++ b/src/sensors/qorientationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -84,7 +84,7 @@ public:
explicit QOrientationSensor(QObject *parent = 0) : QSensor(QOrientationSensor::type, parent) {}
virtual ~QOrientationSensor() {}
QOrientationReading *reading() const { return static_cast<QOrientationReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qorientationsensor_p.h b/src/sensors/qorientationsensor_p.h
index 9764ce4afc..dfb3de5323 100644
--- a/src/sensors/qorientationsensor_p.h
+++ b/src/sensors/qorientationsensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QOrientationReadingPrivate : public QSensorReadingPrivate
+class QOrientationReadingPrivate
{
public:
QOrientationReadingPrivate()
diff --git a/src/sensors/qproximitysensor.cpp b/src/sensors/qproximitysensor.cpp
index 411904307c..023356f695 100644
--- a/src/sensors/qproximitysensor.cpp
+++ b/src/sensors/qproximitysensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -103,7 +103,7 @@ void QProximityReading::setClose(bool close)
\sa QSensorFilter::filter()
*/
-const char *QProximitySensor::type("QProximitySensor");
+char const * const QProximitySensor::type("QProximitySensor");
/*!
\class QProximitySensor
diff --git a/src/sensors/qproximitysensor.h b/src/sensors/qproximitysensor.h
index 1bfd725a83..4f84e13df4 100644
--- a/src/sensors/qproximitysensor.h
+++ b/src/sensors/qproximitysensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -73,7 +73,7 @@ public:
explicit QProximitySensor(QObject *parent = 0) : QSensor(QProximitySensor::type, parent) {}
virtual ~QProximitySensor() {}
QProximityReading *reading() const { return static_cast<QProximityReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qproximitysensor_p.h b/src/sensors/qproximitysensor_p.h
index 817c84b1c0..b16d0d7320 100644
--- a/src/sensors/qproximitysensor_p.h
+++ b/src/sensors/qproximitysensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QProximityReadingPrivate : public QSensorReadingPrivate
+class QProximityReadingPrivate
{
public:
QProximityReadingPrivate()
diff --git a/src/sensors/qrotationsensor.cpp b/src/sensors/qrotationsensor.cpp
index 0b554f763e..2d7df0f854 100644
--- a/src/sensors/qrotationsensor.cpp
+++ b/src/sensors/qrotationsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -184,7 +184,7 @@ void QRotationReading::setZ(qreal z)
\sa QSensorFilter::filter()
*/
-const char *QRotationSensor::type("QRotationSensor");
+char const * const QRotationSensor::type("QRotationSensor");
/*!
\class QRotationSensor
diff --git a/src/sensors/qrotationsensor.h b/src/sensors/qrotationsensor.h
index 664ce724c7..1d4a996538 100644
--- a/src/sensors/qrotationsensor.h
+++ b/src/sensors/qrotationsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -84,7 +84,7 @@ public:
explicit QRotationSensor(QObject *parent = 0) : QSensor(QRotationSensor::type, parent) {}
virtual ~QRotationSensor() {}
QRotationReading *reading() const { return static_cast<QRotationReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qrotationsensor_p.h b/src/sensors/qrotationsensor_p.h
index 5a8c9e2082..77ab3b9a47 100644
--- a/src/sensors/qrotationsensor_p.h
+++ b/src/sensors/qrotationsensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QRotationReadingPrivate : public QSensorReadingPrivate
+class QRotationReadingPrivate
{
public:
QRotationReadingPrivate()
diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp
index 86aeb382a3..83e3c28c44 100644
--- a/src/sensors/qsensor.cpp
+++ b/src/sensors/qsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -179,10 +179,7 @@ bool QSensor::connectToBackend()
if (d->backend)
return true;
- int rate = d->dataRate;
d->backend = QSensorManager::createBackend(this);
- if (rate != 0)
- setDataRate(rate);
return (d->backend != 0);
}
@@ -253,11 +250,23 @@ qrangelist QSensor::availableDataRates() const
Measured in Hertz.
- The default value is determined by the backend.
+ The data rate is the maximum frequency at which the sensor can detect changes.
+
+ Setting this property is not portable and can cause conflicts with other
+ applications. Check with the sensor backend and platform documentation for
+ any policy regarding multiple applications requesting a data rate.
+
+ The default value (0) means that the app does not care what the data rate is.
+ Applications should consider using a timer-based poll of the current value or
+ ensure that the code that processes values can run very quickly as the platform
+ may provide updates hundreds of times each second.
This should be set before calling start() because the sensor may not
notice changes to this value while it is running.
+ Note that there is no mechanism to determine the current data rate in use by the
+ platform.
+
\sa QSensor::availableDataRates
*/
@@ -268,6 +277,10 @@ int QSensor::dataRate() const
void QSensor::setDataRate(int rate)
{
+ if (rate == 0) {
+ d->dataRate = rate;
+ return;
+ }
bool warn = true;
Q_FOREACH (const qrange &range, d->availableDataRates) {
if (rate >= range.first && rate <= range.second) {
@@ -295,8 +308,6 @@ bool QSensor::start()
return true;
if (!connectToBackend())
return false;
- if (d->availableDataRates.count() == 0)
- return false;
// Set these flags to their defaults
d->active = true;
d->busy = false;
@@ -398,8 +409,16 @@ qoutputrangelist QSensor::outputRanges() const
\property QSensor::outputRange
\brief the output range in use by the sensor.
- A sensor may have more than one output range. Typically this is done
- to give a greater measurement range at the cost of lowering accuracy.
+ This value represents the index in the QSensor::outputRanges list to use.
+
+ Setting this property is not portable and can cause conflicts with other
+ applications. Check with the sensor backend and platform documentation for
+ any policy regarding multiple applications requesting an output range.
+
+ The default value (-1) means that the app does not care what the output range is.
+
+ Note that there is no mechanism to determine the current output range in use by the
+ platform.
\sa QSensor::outputRanges
*/
@@ -411,7 +430,7 @@ int QSensor::outputRange() const
void QSensor::setOutputRange(int index)
{
- if (index < 0 || index >= d->outputRanges.count()) {
+ if (index < -1 || index >= d->outputRanges.count()) {
qWarning() << "ERROR: Output range" << index << "is not valid";
return;
}
@@ -529,16 +548,11 @@ void QSensorFilter::setSensor(QSensor *sensor)
*/
QSensorReading::QSensorReading(QObject *parent, QSensorReadingPrivate *_d)
: QObject(parent)
- , d(_d)
+ , d(_d?_d:new QSensorReadingPrivate)
{
}
/*!
- \fn QSensorReading::d_ptr()
- \internal
-*/
-
-/*!
\internal
*/
QSensorReading::~QSensorReading()
@@ -638,6 +652,13 @@ QVariant QSensorReading::value(int index) const
Note that this method should only be called by QSensorBackend.
*/
+void QSensorReading::copyValuesFrom(QSensorReading *other)
+{
+ QSensorReadingPrivate *my_ptr = d.data();
+ QSensorReadingPrivate *other_ptr = other->d.data();
+ /* Do a direct copy of the private class */
+ *(my_ptr) = *(other_ptr);
+}
/*!
\macro DECLARE_READING(classname)
diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h
index ee802867f6..c895578503 100644
--- a/src/sensors/qsensor.h
+++ b/src/sensors/qsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -189,32 +189,13 @@ public:
protected:
explicit QSensorReading(QObject *parent, QSensorReadingPrivate *d);
- QScopedPointer<QSensorReadingPrivate> *d_ptr() { return &d; }
- virtual void copyValuesFrom(QSensorReading *other) = 0;
+ virtual void copyValuesFrom(QSensorReading *other);
private:
QScopedPointer<QSensorReadingPrivate> d;
Q_DISABLE_COPY(QSensorReading)
};
-template <typename T>
-class qTypedWrapper
-{
-public:
- qTypedWrapper(QScopedPointer<QSensorReadingPrivate> *_ptr)
- : ptr(_ptr)
- {
- }
-
- T *operator->() const
- {
- return static_cast<T*>(ptr->data());
- }
-
-private:
- QScopedPointer<QSensorReadingPrivate> *ptr;
-};
-
#define DECLARE_READING(classname)\
DECLARE_READING_D(classname, classname ## Private)
@@ -224,25 +205,27 @@ private:
virtual ~classname();\
void copyValuesFrom(QSensorReading *other);\
private:\
- qTypedWrapper<pclassname> d;
+ QScopedPointer<pclassname> d;
#define IMPLEMENT_READING(classname)\
IMPLEMENT_READING_D(classname, classname ## Private)
#define IMPLEMENT_READING_D(classname, pclassname)\
classname::classname(QObject *parent)\
- : QSensorReading(parent, new pclassname)\
- , d(d_ptr())\
+ : QSensorReading(parent, 0)\
+ , d(new pclassname)\
{}\
classname::~classname() {}\
void classname::copyValuesFrom(QSensorReading *_other)\
{\
/* No need to verify types, only called by QSensorBackend */\
classname *other = static_cast<classname *>(_other);\
- pclassname *my_ptr = static_cast<pclassname*>(d_ptr()->data());\
- pclassname *other_ptr = static_cast<pclassname*>(other->d_ptr()->data());\
+ pclassname *my_ptr = d.data();\
+ pclassname *other_ptr = other->d.data();\
/* Do a direct copy of the private class */\
*(my_ptr) = *(other_ptr);\
+ /* We need to copy the parent too */\
+ QSensorReading::copyValuesFrom(_other);\
}
QTM_END_NAMESPACE
diff --git a/src/sensors/qsensor_p.h b/src/sensors/qsensor_p.h
index bfd56ae68c..1e4163f88b 100644
--- a/src/sensors/qsensor_p.h
+++ b/src/sensors/qsensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -109,8 +109,6 @@ public:
{
}
- size_t size;
-
// sensor data cache
qtimestamp timestamp;
};
diff --git a/src/sensors/qsensorbackend.cpp b/src/sensors/qsensorbackend.cpp
index b4c89d53df..e790b8486b 100644
--- a/src/sensors/qsensorbackend.cpp
+++ b/src/sensors/qsensorbackend.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensorbackend.h b/src/sensors/qsensorbackend.h
index d234666517..d3c9b18598 100644
--- a/src/sensors/qsensorbackend.h
+++ b/src/sensors/qsensorbackend.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp
index 4e7baa0707..c32b2582f3 100644
--- a/src/sensors/qsensormanager.cpp
+++ b/src/sensors/qsensormanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -160,7 +160,7 @@ QSensorBackend *QSensorManager::createBackend(QSensor *sensor)
//SENSORLOG() << "factory" << QString().sprintf("0x%08x", (unsigned int)factory);
sensor->setIdentifier(defaultIdentifier); // the factory requires this
backend = factory->createBackend(sensor);
- if (backend) goto gotbackend; // Got it!
+ if (backend) return backend; // Got it!
// The default failed to instantiate so try any other registered sensors for this type
Q_FOREACH (const QByteArray &identifier, factoryByIdentifier.keys()) {
@@ -170,7 +170,7 @@ QSensorBackend *QSensorManager::createBackend(QSensor *sensor)
//SENSORLOG() << "factory" << QString().sprintf("0x%08x", (unsigned int)factory);
sensor->setIdentifier(identifier); // the factory requires this
backend = factory->createBackend(sensor);
- if (backend) goto gotbackend; // Got it!
+ if (backend) return backend; // Got it!
}
SENSORLOG() << "FAILED";
sensor->setIdentifier(QByteArray()); // clear the identifier
@@ -184,17 +184,11 @@ QSensorBackend *QSensorManager::createBackend(QSensor *sensor)
factory = factoryByIdentifier[sensor->identifier()];
//SENSORLOG() << "factory" << QString().sprintf("0x%08x", (unsigned int)factory);
backend = factory->createBackend(sensor);
- if (backend) goto gotbackend; // Got it!
+ if (backend) return backend; // Got it!
}
SENSORLOG() << "no suitable backend found for requested identifier" << sensor->identifier() << "and type" << sensor->type();
return 0;
-
-gotbackend:
- if (sensor->availableDataRates().count() != 0 && sensor->dataRate() == 0) {
- qWarning() << sensor->identifier() << "backend did not supply default data rate.";
- }
- return backend;
}
// =====================================================================
diff --git a/src/sensors/qsensormanager.h b/src/sensors/qsensormanager.h
index 7e803b188e..a8e1d72598 100644
--- a/src/sensors/qsensormanager.h
+++ b/src/sensors/qsensormanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensorplugin.cpp b/src/sensors/qsensorplugin.cpp
index 3846a2e410..d860710ead 100644
--- a/src/sensors/qsensorplugin.cpp
+++ b/src/sensors/qsensorplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensorplugin.h b/src/sensors/qsensorplugin.h
index 454e507d15..694e2efbe1 100644
--- a/src/sensors/qsensorplugin.h
+++ b/src/sensors/qsensorplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensorpluginloader.cpp b/src/sensors/qsensorpluginloader.cpp
index 996ed6ecfd..8a2b9f1d8e 100644
--- a/src/sensors/qsensorpluginloader.cpp
+++ b/src/sensors/qsensorpluginloader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qsensorpluginloader_p.h b/src/sensors/qsensorpluginloader_p.h
index 8e49073988..7007f40e90 100644
--- a/src/sensors/qsensorpluginloader_p.h
+++ b/src/sensors/qsensorpluginloader_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/sensors/qtapsensor.cpp b/src/sensors/qtapsensor.cpp
index 907d0558bb..0a461d7b44 100644
--- a/src/sensors/qtapsensor.cpp
+++ b/src/sensors/qtapsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -59,7 +59,7 @@ IMPLEMENT_READING(QTapReading)
\image sensors-coordinates2.jpg
- By default it returns double tap events. The QTapSensor::returnDoubleTapEvents property
+ By default it returns only double tap events. The QTapSensor::returnDoubleTapEvents property
must be set to false to return individual tap events.
*/
@@ -145,7 +145,7 @@ void QTapReading::setDoubleTap(bool doubleTap)
\sa QSensorFilter::filter()
*/
-const char *QTapSensor::type("QTapSensor");
+char const * const QTapSensor::type("QTapSensor");
/*!
\class QTapSensor
@@ -186,8 +186,11 @@ const char *QTapSensor::type("QTapSensor");
\property QTapSensor::returnDoubleTapEvents
\brief a value indicating if double tap events should be reported.
- Set to true (the default) to have the sensor report on double tap events.
- Set to false to have the sensor report on individual tap events.
+ Set to true (the default) to have the sensor report only on double tap events.
+ Set to false to have the sensor report only on individual tap events.
+
+ It is not possible to have the sensor report both single and double tap events.
+ If both are needed the app should create 2 sensor objects.
Note that you must access this property via QObject::property() and QObject::setProperty().
The property must be set before calling start().
diff --git a/src/sensors/qtapsensor.h b/src/sensors/qtapsensor.h
index baafe6cd2f..2b36c29a60 100644
--- a/src/sensors/qtapsensor.h
+++ b/src/sensors/qtapsensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -94,7 +94,7 @@ public:
explicit QTapSensor(QObject *parent = 0) : QSensor(QTapSensor::type, parent) {}
virtual ~QTapSensor() {}
QTapReading *reading() const { return static_cast<QTapReading*>(QSensor::reading()); }
- static const char *type;
+ static char const * const type;
};
QTM_END_NAMESPACE
diff --git a/src/sensors/qtapsensor_p.h b/src/sensors/qtapsensor_p.h
index 85919675d7..ad01af7614 100644
--- a/src/sensors/qtapsensor_p.h
+++ b/src/sensors/qtapsensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,11 +53,9 @@
// We mean it.
//
-#include "qsensor_p.h"
-
QTM_BEGIN_NAMESPACE
-class QTapReadingPrivate : public QSensorReadingPrivate
+class QTapReadingPrivate
{
public:
QTapReadingPrivate()
diff --git a/src/sensors/sensorlog_p.h b/src/sensors/sensorlog_p.h
index 9684cd0e39..f614cb472c 100644
--- a/src/sensors/sensorlog_p.h
+++ b/src/sensors/sensorlog_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanager.cpp b/src/serviceframework/databasemanager.cpp
index c999be80ad..6210989a50 100644
--- a/src/serviceframework/databasemanager.cpp
+++ b/src/serviceframework/databasemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanager_p.h b/src/serviceframework/databasemanager_p.h
index ff21b83e01..30e22eddf0 100644
--- a/src/serviceframework/databasemanager_p.h
+++ b/src/serviceframework/databasemanager_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanager_symbian.cpp b/src/serviceframework/databasemanager_symbian.cpp
index b5d7694e41..2ab8944e6d 100644
--- a/src/serviceframework/databasemanager_symbian.cpp
+++ b/src/serviceframework/databasemanager_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanager_symbian_p.h b/src/serviceframework/databasemanager_symbian_p.h
index d33ce1c97e..0056357251 100644
--- a/src/serviceframework/databasemanager_symbian_p.h
+++ b/src/serviceframework/databasemanager_symbian_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/clientservercommon.h b/src/serviceframework/databasemanagerserver_symbian/clientservercommon.h
index 313d5ffb91..2d1176dfc8 100644
--- a/src/serviceframework/databasemanagerserver_symbian/clientservercommon.h
+++ b/src/serviceframework/databasemanagerserver_symbian/clientservercommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.cpp b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.cpp
index dcd0506996..f7a90069c7 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.cpp
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.h b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.h
index 12597738a8..52570acb20 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.h
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.pan b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.pan
index 9750a379a2..8a0feaed4b 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.pan
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagerserver.pan
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagerservermain.cpp b/src/serviceframework/databasemanagerserver_symbian/databasemanagerservermain.cpp
index 56faaa27a3..e9a5448195 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagerservermain.cpp
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagerservermain.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.cpp b/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.cpp
index dcfc043eda..208930eee4 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.cpp
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.h b/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.h
index 35f2ddcd7a..b820ec80c4 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.h
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagersession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.cpp b/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.cpp
index 178fb2cc6a..a9ef84b2bd 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.cpp
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.h b/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.h
index 7b31188718..0dec3c0f85 100644
--- a/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.h
+++ b/src/serviceframework/databasemanagerserver_symbian/databasemanagersignalhandler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/dberror.cpp b/src/serviceframework/dberror.cpp
index cfbf36699b..b0d436b831 100644
--- a/src/serviceframework/dberror.cpp
+++ b/src/serviceframework/dberror.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/dberror_p.h b/src/serviceframework/dberror_p.h
index 82f1fd568b..9ab50fa376 100644
--- a/src/serviceframework/dberror_p.h
+++ b/src/serviceframework/dberror_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qabstractsecuritysession.cpp b/src/serviceframework/qabstractsecuritysession.cpp
index 1c17b7622f..918494b7dd 100644
--- a/src/serviceframework/qabstractsecuritysession.cpp
+++ b/src/serviceframework/qabstractsecuritysession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qabstractsecuritysession.h b/src/serviceframework/qabstractsecuritysession.h
index 0f9968df09..4683ada6bc 100644
--- a/src/serviceframework/qabstractsecuritysession.h
+++ b/src/serviceframework/qabstractsecuritysession.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservice.h b/src/serviceframework/qservice.h
index 47902840d2..2525a72cd9 100644
--- a/src/serviceframework/qservice.h
+++ b/src/serviceframework/qservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservice.qdoc b/src/serviceframework/qservice.qdoc
index 5bbb35d06d..bc2d030f25 100644
--- a/src/serviceframework/qservice.qdoc
+++ b/src/serviceframework/qservice.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicecontext.cpp b/src/serviceframework/qservicecontext.cpp
index becb7c409e..5419830494 100644
--- a/src/serviceframework/qservicecontext.cpp
+++ b/src/serviceframework/qservicecontext.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicecontext.h b/src/serviceframework/qservicecontext.h
index 8412917d81..6511227972 100644
--- a/src/serviceframework/qservicecontext.h
+++ b/src/serviceframework/qservicecontext.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicefilter.cpp b/src/serviceframework/qservicefilter.cpp
index 6044e15c50..598429b11e 100644
--- a/src/serviceframework/qservicefilter.cpp
+++ b/src/serviceframework/qservicefilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicefilter.h b/src/serviceframework/qservicefilter.h
index 486eb92b38..68531ec2bb 100644
--- a/src/serviceframework/qservicefilter.h
+++ b/src/serviceframework/qservicefilter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qserviceinterfacedescriptor.cpp b/src/serviceframework/qserviceinterfacedescriptor.cpp
index a9b38f7723..7ee0045881 100644
--- a/src/serviceframework/qserviceinterfacedescriptor.cpp
+++ b/src/serviceframework/qserviceinterfacedescriptor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qserviceinterfacedescriptor.h b/src/serviceframework/qserviceinterfacedescriptor.h
index 779e601a1b..696eec84a3 100644
--- a/src/serviceframework/qserviceinterfacedescriptor.h
+++ b/src/serviceframework/qserviceinterfacedescriptor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qserviceinterfacedescriptor_p.h b/src/serviceframework/qserviceinterfacedescriptor_p.h
index 0ef54c977d..f3979748b6 100644
--- a/src/serviceframework/qserviceinterfacedescriptor_p.h
+++ b/src/serviceframework/qserviceinterfacedescriptor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicemanager.cpp b/src/serviceframework/qservicemanager.cpp
index f45078b58a..8f87d7daaa 100644
--- a/src/serviceframework/qservicemanager.cpp
+++ b/src/serviceframework/qservicemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qservicemanager.h b/src/serviceframework/qservicemanager.h
index d27748a14b..e770de1cde 100644
--- a/src/serviceframework/qservicemanager.h
+++ b/src/serviceframework/qservicemanager.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qserviceplugininterface.cpp b/src/serviceframework/qserviceplugininterface.cpp
index b08c50f75f..f41b57e59c 100644
--- a/src/serviceframework/qserviceplugininterface.cpp
+++ b/src/serviceframework/qserviceplugininterface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/qserviceplugininterface.h b/src/serviceframework/qserviceplugininterface.h
index 35b9ebebcc..d9bc095c87 100644
--- a/src/serviceframework/qserviceplugininterface.h
+++ b/src/serviceframework/qserviceplugininterface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/servicedatabase.cpp b/src/serviceframework/servicedatabase.cpp
index 7ae1784f01..99b61b9516 100644
--- a/src/serviceframework/servicedatabase.cpp
+++ b/src/serviceframework/servicedatabase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/servicedatabase_p.h b/src/serviceframework/servicedatabase_p.h
index 91e95cede9..95f2b768de 100644
--- a/src/serviceframework/servicedatabase_p.h
+++ b/src/serviceframework/servicedatabase_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/servicemetadata.cpp b/src/serviceframework/servicemetadata.cpp
index 476f054aeb..760de70d50 100644
--- a/src/serviceframework/servicemetadata.cpp
+++ b/src/serviceframework/servicemetadata.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/serviceframework/servicemetadata_p.h b/src/serviceframework/servicemetadata_p.h
index 81a374f97f..09fc9b1958 100644
--- a/src/serviceframework/servicemetadata_p.h
+++ b/src/serviceframework/servicemetadata_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/src.pro b/src/src.pro
index 1e0cc3553b..0cad926a7e 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -38,6 +38,6 @@ contains(qmf_enabled, yes)|wince*|win32|symbian|maemo5 {
}
symbian {
- SUBDIRS += s60installs/s60installs.pro
+ SUBDIRS += s60installs
}
diff --git a/src/systeminfo/qhalservice_linux.cpp b/src/systeminfo/qhalservice_linux.cpp
index da12d308bd..328f6bfacc 100644
--- a/src/systeminfo/qhalservice_linux.cpp
+++ b/src/systeminfo/qhalservice_linux.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qhalservice_linux_p.h b/src/systeminfo/qhalservice_linux_p.h
index 3c15fc7a04..37c0c6d81b 100644
--- a/src/systeminfo/qhalservice_linux_p.h
+++ b/src/systeminfo/qhalservice_linux_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qnetworkmanagerservice_linux.cpp b/src/systeminfo/qnetworkmanagerservice_linux.cpp
index 88a1da0304..7b3c92ce17 100644
--- a/src/systeminfo/qnetworkmanagerservice_linux.cpp
+++ b/src/systeminfo/qnetworkmanagerservice_linux.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qnetworkmanagerservice_linux_p.h b/src/systeminfo/qnetworkmanagerservice_linux_p.h
index 8a41e28088..90f1487a5e 100644
--- a/src/systeminfo/qnetworkmanagerservice_linux_p.h
+++ b/src/systeminfo/qnetworkmanagerservice_linux_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qnmdbushelper.cpp b/src/systeminfo/qnmdbushelper.cpp
index 4b81705473..37fcf29d64 100644
--- a/src/systeminfo/qnmdbushelper.cpp
+++ b/src/systeminfo/qnmdbushelper.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qnmdbushelper_p.h b/src/systeminfo/qnmdbushelper_p.h
index d527b68974..0e5e291638 100644
--- a/src/systeminfo/qnmdbushelper_p.h
+++ b/src/systeminfo/qnmdbushelper_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qsysteminfo.cpp b/src/systeminfo/qsysteminfo.cpp
index de4cb0008b..bc052489e6 100644
--- a/src/systeminfo/qsysteminfo.cpp
+++ b/src/systeminfo/qsysteminfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -152,7 +152,7 @@ is a reliable way to gather such information.
\value EmergencyOnly Emergency calls only.
\value Searching Searching for or connecting with the network.
\value Busy Network is busy.
- \value Connected Connected to newtwork.
+ \value Connected Connected to network.
\value HomeNetwork On Home Network.
\value Denied Network access denied.
\value Roaming On Roaming network.
@@ -229,14 +229,14 @@ information from the system.
/*!
\fn void QSystemDeviceInfo::powerStateChanged(QSystemDeviceInfo::PowerState state)
- This signal is emitted when the power state has changed, such as when a phone gets plugged qint32o the wall.
+ This signal is emitted when the power state has changed, such as when a phone gets plugged in to the wall.
\a state is the new power state.
*/
/*!
\fn void QSystemDeviceInfo::currentProfileChanged(QSystemDeviceInfo::Profile profile)
- This signal is emitted whenever the network profile changes, specified by \a profile.
+ This signal is emitted whenever the users active profile changes, specified by \a profile.
*/
@@ -495,7 +495,7 @@ int QSystemNetworkInfo::networkSignalStrength(QSystemNetworkInfo::NetworkMode mo
/*!
\property QSystemNetworkInfo::cellId
\brief The devices Cell ID
- Returns the Cell ID of the connected tower or based station.
+ Returns the Cell ID of the connected tower or based station, or 0 if not connected.
*/
int QSystemNetworkInfo::cellId()
{
@@ -506,7 +506,7 @@ int QSystemNetworkInfo::cellId()
\property QSystemNetworkInfo::locationAreaCode
\brief The LAC.
- Returns the Location Area Code. In the case of none such as a Desktop, an empty string.
+ Returns the Location Area Code. In the case of a Desktop computer, 0 is returned.
*/
int QSystemNetworkInfo::locationAreaCode()
{
@@ -517,8 +517,8 @@ int QSystemNetworkInfo::locationAreaCode()
\property QSystemNetworkInfo::currentMobileCountryCode
\brief The current MCC.
- Returns the current Mobile Country Code. In the case of none such as a Desktop, an empty string.
-/*/
+ Returns the current Mobile Country Code. In the case of a Desktop computer, an empty string is returned.
+*/
QString QSystemNetworkInfo::currentMobileCountryCode()
{
return netInfoPrivate()->currentMobileCountryCode();
@@ -528,7 +528,7 @@ QString QSystemNetworkInfo::currentMobileCountryCode()
\property QSystemNetworkInfo::currentMobileNetworkCode
\brief The current MNC.
- Returns the current Mobile Network Code. In the case of none such as a Desktop, an empty string.
+ Returns the current Mobile Network Code. In the case of a Desktop computer, an empty string is returned.
*/
QString QSystemNetworkInfo::currentMobileNetworkCode()
{
@@ -539,7 +539,7 @@ QString QSystemNetworkInfo::currentMobileNetworkCode()
\property QSystemNetworkInfo::homeMobileCountryCode
\brief The home MNC.
- Returns the home Mobile Country Code. In the case of none such as a Desktop, an empty string.
+ Returns the home Mobile Country Code. In the case of a Desktop computer, an empty string is returned.
*/
QString QSystemNetworkInfo::homeMobileCountryCode()
{
@@ -550,7 +550,7 @@ QString QSystemNetworkInfo::homeMobileCountryCode()
\property QSystemNetworkInfo::homeMobileNetworkCode
\brief The home MCC.
- Returns the home Mobile Network Code. In the case of none such as a Desktop, an empty string.
+ Returns the home Mobile Network Code. In the case of a Desktop computer, an empty string is returned.
Note: Some platforms don't support retrieving this info. In this case the Network Code is
returned only when the device is registered on home network.
*/
@@ -577,7 +577,7 @@ QString QSystemNetworkInfo::macAddress(QSystemNetworkInfo::NetworkMode mode)
}
/*!
- Returns the first found QNetworkInterface for type \a mode.
+ Returns the first found QNetworkInterface for type \a mode, or an invalid QNetworkInterface, if none is found.
*/
QNetworkInterface QSystemNetworkInfo::interfaceForMode(QSystemNetworkInfo::NetworkMode mode)
{
@@ -607,6 +607,8 @@ void QSystemNetworkInfo::connectNotify(const char *signal)
networkSignalStrengthChanged(QSystemNetworkInfo::NetworkMode, int))))) {
netInfoPrivate()->setWlanSignalStrengthCheckEnabled(true);
}
+#else
+Q_UNUSED(signal)
#endif
}
@@ -627,6 +629,8 @@ void QSystemNetworkInfo::disconnectNotify(const char *signal)
networkSignalStrengthChanged(QSystemNetworkInfo::NetworkMode, int))))) {
netInfoPrivate()->setWlanSignalStrengthCheckEnabled(false);
}
+#else
+Q_UNUSED(signal)
#endif
}
@@ -663,7 +667,7 @@ int QSystemDisplayInfo::displayBrightness(int screenNumber)
}
/*!
- Returns the color depth of the screen with the index \a screenNumber, in bits per pixel.
+ Returns the color depth of the screen with the index \a screenNumber, in bits per pixel, or 0 if the screen is not found.
\sa QDesktopWidget::screenCount()
*/
@@ -711,7 +715,7 @@ qlonglong QSystemStorageInfo::availableDiskSpace(const QString &volumeDrive)
\property QSystemStorageInfo::logicalDrives
\brief The logical drives.
- Returns a QStringList of volumes or partitions.
+ Returns a QStringList of volumes or partitions, or an empty list if no drives are found.
*/
QStringList QSystemStorageInfo::logicalDrives()
{
@@ -821,7 +825,7 @@ QString QSystemDeviceInfo::model()
\property QSystemDeviceInfo::productName
\brief The product name.
- Returns the product name of the device. In the case where no product information is available,
+ Returns the product name of the device. In the case where no product information is available, an empty string will be returned.
*/
QString QSystemDeviceInfo::productName()
@@ -907,7 +911,7 @@ QSystemDeviceInfo::PowerState QSystemDeviceInfo::currentPowerState()
/*!
Constructs a QSystemScreenSaver object with the given \a parent.
- On platforms where there is no one default screensaver mechanism, such as Linux, this class
+ On platforms where there is no default screensaver mechanism, such as Linux, this class
may not be available.
*/
@@ -933,8 +937,9 @@ QSystemScreenSaver::~QSystemScreenSaver()
/*!
Temporarily inhibits the screensaver.
- Will be reverted upon destruction of the QSystemScreenSaver object.
- Returns true on success, otherwise false.
+ The screensaver will be set to a non inhibited state only when this QSystemScreenSaver object gets destroyed.
+
+ This is a non blocking function that will return true if the inhibit procedure was successful, otherwise false.
On platforms that support it, if screensaver is secure by policy, the policy will be honored
and this will fail.
diff --git a/src/systeminfo/qsysteminfo.h b/src/systeminfo/qsysteminfo.h
index 0f909388b4..91d6d1c34b 100644
--- a/src/systeminfo/qsysteminfo.h
+++ b/src/systeminfo/qsysteminfo.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qsysteminfo_linux.cpp b/src/systeminfo/qsysteminfo_linux.cpp
index 90a3ff6d8d..2973f14f26 100644
--- a/src/systeminfo/qsysteminfo_linux.cpp
+++ b/src/systeminfo/qsysteminfo_linux.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qsysteminfo_linux_common.cpp b/src/systeminfo/qsysteminfo_linux_common.cpp
index 489b012da0..24adb84472 100644
--- a/src/systeminfo/qsysteminfo_linux_common.cpp
+++ b/src/systeminfo/qsysteminfo_linux_common.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,7 +44,7 @@
#include <QDir>
#if !defined(QT_NO_DBUS)
-#include <qhalservice_linux_p.h>
+#include "qhalservice_linux_p.h"
#include <QtDBus/QtDBus>
#include <QtDBus/QDBusConnection>
#include <QtDBus/QDBusError>
@@ -191,16 +191,7 @@ bool QSystemInfoLinuxCommonPrivate::hasFeatureSupported(QSystemInfo::Feature fea
break;
case QSystemInfo::FmradioFeature :
{
- const QString sysPath = "/sys/class/video4linux/";
- const QDir sysDir(sysPath);
- QStringList filters;
- filters << "*";
- QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
- foreach(const QString dir, sysList) {
- if (dir.contains("radio")) {
- featureSupported = true;
- }
- }
+ featureSupported = !(QDir("/sys/class/video4linux/").entryList(QStringList("radio*")).empty());
}
break;
case QSystemInfo::IrFeature :
@@ -284,14 +275,7 @@ bool QSystemInfoLinuxCommonPrivate::hasFeatureSupported(QSystemInfo::Feature fea
break;
case QSystemInfo::VideoOutFeature :
{
- const QString sysPath = "/sys/class/video4linux/";
- const QDir sysDir(sysPath);
- QStringList filters;
- filters << "*";
- const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
- if(sysList.contains("video")) {
- featureSupported = true;
- }
+ featureSupported = !(QDir("/sys/class/video4linux/").entryList(QStringList("video*")).empty());
}
break;
case QSystemInfo::HapticsFeature:
diff --git a/src/systeminfo/qsysteminfo_linux_common_p.h b/src/systeminfo/qsysteminfo_linux_common_p.h
index ef1d5a668b..188c1840d2 100644
--- a/src/systeminfo/qsysteminfo_linux_common_p.h
+++ b/src/systeminfo/qsysteminfo_linux_common_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -61,7 +61,7 @@
#include "qsysteminfo.h"
#include <qmobilityglobal.h>
#if !defined(QT_NO_DBUS)
-#include <qhalservice_linux_p.h>
+#include "qhalservice_linux_p.h"
#endif
QT_BEGIN_HEADER
diff --git a/src/systeminfo/qsysteminfo_linux_p.h b/src/systeminfo/qsysteminfo_linux_p.h
index b3014b7155..d191e6f5bd 100644
--- a/src/systeminfo/qsysteminfo_linux_p.h
+++ b/src/systeminfo/qsysteminfo_linux_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qsysteminfo_mac.mm b/src/systeminfo/qsysteminfo_mac.mm
index f1184e0ad6..883a3cfb0a 100644
--- a/src/systeminfo/qsysteminfo_mac.mm
+++ b/src/systeminfo/qsysteminfo_mac.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -123,6 +123,7 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
+
static QString stringFromCFString(CFStringRef value) {
QString retVal;
if(CFStringGetLength(value) > 1) {
@@ -306,6 +307,8 @@ NSObject* delegate;
QTM_BEGIN_NAMESPACE
+Q_GLOBAL_STATIC(QSystemDeviceInfoPrivate, qsystemDeviceInfoPrivate)
+
QSystemInfoPrivate *QSystemInfoPrivate::self = 0;
QSystemInfoPrivate::QSystemInfoPrivate(QObject *parent)
@@ -319,7 +322,6 @@ QSystemInfoPrivate::~QSystemInfoPrivate()
{
if(langloopThread->isRunning()) {
langloopThread->quit();
- langloopThread->wait();
}
}
@@ -523,7 +525,10 @@ void networkChangeCallback(SCDynamicStoreRef /*dynamicStore*/, CFArrayRef change
}
#ifdef MAC_SDK_10_6
+QtMLangListener *langListener;
#endif
+
+
QLangLoopThread::QLangLoopThread(QObject *parent)
:QThread(parent)
{
@@ -537,7 +542,12 @@ void QLangLoopThread::quit()
{
mutex.lock();
keepRunning = false;
+ CFRunLoopStop(CFRunLoopGetCurrent());
+#ifdef MAC_SDK_10_6
+ [langListener release];
+#endif
mutex.unlock();
+ wait();
}
void QLangLoopThread::run()
@@ -548,8 +558,7 @@ void QLangLoopThread::run()
mutex.unlock();
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- QtMLangListener *listener;
- listener = [[QtMLangListener alloc] init];
+ langListener = [[QtMLangListener alloc] init];
NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:1.0];
while (keepRunning &&
@@ -571,18 +580,24 @@ QRunLoopThread::QRunLoopThread(QObject *parent)
QRunLoopThread::~QRunLoopThread()
{
-#ifdef MAC_SDK_10_6
- [listener dealloc];
-#endif
}
-void QRunLoopThread::quit()
+void QRunLoopThread::stop()
{
- CFRelease(runloopSource);
mutex.lock();
keepRunning = false;
mutex.unlock();
- CFRelease(storeSession);
+#ifdef MAC_SDK_10_6
+ [listener release];
+ [delegate release];
+#endif
+ if(currentThread() != this) {
+ QMetaObject::invokeMethod(this, "quit",
+ Qt::QueuedConnection);
+ } else {
+ quit();
+ }
+ wait();
}
@@ -600,11 +615,11 @@ void QRunLoopThread::run()
listener = [[QtMNSListener alloc] init];
- NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:1.0];
+ SInt32 result;
while (keepRunning &&
- [[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate: loopUntil]) {
- loopUntil = [NSDate dateWithTimeIntervalSinceNow:1.0];
+ (result = CFRunLoopRunInMode(kCFRunLoopDefaultMode ,5, YES))) {
}
+ CFRunLoopStop(CFRunLoopGetCurrent());
[pool release];
#endif
}
@@ -687,16 +702,161 @@ void QRunLoopThread::startNetworkChangeLoop()
}
CFRunLoopAddSource(CFRunLoopGetCurrent(), runloopSource, kCFRunLoopDefaultMode);
+ CFRelease(runloopSource);
+ CFRelease(storeSession);
return;
}
+static bool isBtPowerOn()
+{
+ //depreciated yes, but what's the replacement?
+ BluetoothHCIPowerState powerState;
+ IOBluetoothLocalDeviceGetPowerState(&powerState);
+ if(powerState == kBluetoothHCIPowerStateON)
+ return true;
+ return false;
+}
+
+void btPowerStateChange(void *ref, io_service_t /*service*/, natural_t messageType, void */*info*/)
+{
+ QBluetoothListenerThread * thread = reinterpret_cast< QBluetoothListenerThread *>(ref);
+ switch (messageType) {
+ case kIOMessageDeviceWillPowerOff:
+ {
+ if(!isBtPowerOn())
+ thread->emitBtPower(false);
+ }
+ break;
+ case kIOMessageDeviceHasPoweredOn:
+ {
+ if(isBtPowerOn())
+ thread->emitBtPower(true);
+ }
+ break;
+ }
+}
+
+QBluetoothListenerThread::QBluetoothListenerThread(QObject *parent)
+ :QThread(parent)
+{
+ setTerminationEnabled(true);
+}
+
+QBluetoothListenerThread::~QBluetoothListenerThread()
+{
+ if(isRunning()) {
+ terminate();
+ wait();
+ }
+}
+
+void QBluetoothListenerThread::stop()
+{
+ mutex.lock();
+ keepRunning = false;
+ mutex.unlock();
+
+ if(CFRunLoopContainsSource(rl,rls,kCFRunLoopDefaultMode)) {
+ CFRunLoopRemoveSource(rl,
+ rls,
+ kCFRunLoopDefaultMode);
+ CFRunLoopStop(rl);
+ }
+ if(currentThread() != this) {
+ QMetaObject::invokeMethod(this, "quit",
+ Qt::QueuedConnection);
+ } else {
+ quit();
+ }
+ mutex.lock();
+ IONotificationPortDestroy(port);
+ mutex.unlock();
+}
+
+void QBluetoothListenerThread::run()
+{
+#ifdef MAC_SDK_10_6
+ mutex.lock();
+ keepRunning = true;
+ mutex.unlock();
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ io_object_t notifyObject;
+ io_service_t bluetoothservice;
+
+ io_iterator_t ioIterator;
+ mach_port_t masterPort;
+ CFMutableDictionaryRef serviceMatchDict;
+
+ if (0 != IOMasterPort(MACH_PORT_NULL, &masterPort)) {
+ qDebug() << "IOMasterPort failed";
+ }
+
+ serviceMatchDict = IOServiceMatching("IOBluetoothHCIController");
+ if (NULL == serviceMatchDict) {
+ qDebug() << "IOServiceMatching failed";
+ }
+
+ if (0 != IOServiceGetMatchingServices(masterPort, serviceMatchDict, &ioIterator)) {
+ qDebug() << "IOServiceGetMatchingServices failed";
+ }
+
+ IOReturn ret;
+
+ bluetoothservice = IOIteratorNext(ioIterator);
+ if (0 == bluetoothservice) {
+ IOObjectRelease(ioIterator);
+ qDebug() << "IOIteratorNext failed";
+ }
+ IOObjectRelease(ioIterator);
+
+ port = IONotificationPortCreate(masterPort);
+ if (0 == port) {
+ qDebug() << "IONotificationPortCreate failed";
+ }
+
+ ret = IOServiceAddInterestNotification(port, bluetoothservice,
+ kIOGeneralInterest, btPowerStateChange,
+ this, &notifyObject);
+ if(ret != kIOReturnSuccess) {
+ qDebug() << "IOServiceAddInterestNotification failed";
+ return;
+ }
+
+ rl = CFRunLoopGetCurrent();
+ rls = IONotificationPortGetRunLoopSource(port);
+
+ CFRunLoopAddSource(rl,
+ rls,
+ kCFRunLoopDefaultMode);
+ SInt32 result;
+ while (keepRunning &&
+ (result = CFRunLoopRunInMode(kCFRunLoopDefaultMode ,1, NO))) {
+ }
+
+ CFRunLoopStop(rl);
+
+ IOObjectRelease(bluetoothservice);
+ CFRunLoopRemoveSource(rl,
+ rls,
+ kCFRunLoopDefaultMode);
+ [pool release];
+#endif
+}
+
+void QBluetoothListenerThread::emitBtPower(bool b)
+{
+ Q_EMIT bluetoothPower(b);
+}
+
+
QSystemNetworkInfoPrivate::QSystemNetworkInfoPrivate(QObject *parent)
: QObject(parent), signalStrengthCache(0)
{
defaultInterface = "";
qRegisterMetaType<QSystemNetworkInfo::NetworkMode>("QSystemNetworkInfo::NetworkMode");
qRegisterMetaType<QSystemNetworkInfo::NetworkStatus>("QSystemNetworkInfo::NetworkStatus");
+
#ifdef MAC_SDK_10_6
if([[CWInterface supportedInterfaces] count] > 0 ) {
hasWifi = true;
@@ -715,9 +875,7 @@ QSystemNetworkInfoPrivate::~QSystemNetworkInfoPrivate()
{
#ifdef MAC_SDK_10_6
if(hasWifi && runloopThread->isRunning()) {
- runloopThread->quit();
- runloopThread->wait();
- [delegate release];
+ runloopThread->stop();
}
#endif
}
@@ -1377,8 +1535,6 @@ QStringList QSystemStorageInfoPrivate::logicalDrives()
return drivesList;
}
-QSystemDeviceInfoPrivate *QSystemDeviceInfoPrivate::self = 0;
-
void powerInfoChanged(void* runLoopInfo)
{
Q_UNUSED(runLoopInfo)
@@ -1387,24 +1543,52 @@ void powerInfoChanged(void* runLoopInfo)
}
QSystemDeviceInfoPrivate::QSystemDeviceInfoPrivate(QObject *parent)
- : QObject(parent)
+ : QObject(parent),btThread(0)
{
batteryLevelCache = 0;
currentPowerStateCache = QSystemDeviceInfo::UnknownPower;
batteryStatusCache = QSystemDeviceInfo::NoBatteryLevel;
- CFRunLoopSourceRef runLoopSource = (CFRunLoopSourceRef)IOPSNotificationCreateRunLoopSource(powerInfoChanged, this);
- if (runLoopSource) {
- CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, kCFRunLoopDefaultMode);
- CFRelease(runLoopSource);
- }
- if(!self)
- self = this;
}
QSystemDeviceInfoPrivate::~QSystemDeviceInfoPrivate()
{
+ btThread->stop();
+}
+
+QSystemDeviceInfoPrivate *QSystemDeviceInfoPrivate::instance()
+{
+ return qsystemDeviceInfoPrivate();
}
+void QSystemDeviceInfoPrivate::connectNotify(const char *signal)
+{
+ if (QLatin1String(signal) == SIGNAL(bluetoothStateChanged(bool))) {
+ if(!btThread) {
+ btThread = new QBluetoothListenerThread(this);
+ btThread->start();
+ connect(btThread,SIGNAL(bluetoothPower(bool)), this, SIGNAL(bluetoothStateChanged(bool)));
+ }
+ }
+
+ if (QLatin1String(signal) == SIGNAL(powerStateChanged(QSystemDeviceInfo::PowerState))) {
+ CFRunLoopSourceRef runLoopSource = (CFRunLoopSourceRef)IOPSNotificationCreateRunLoopSource(powerInfoChanged, this);
+ if (runLoopSource) {
+ CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, kCFRunLoopDefaultMode);
+ CFRelease(runLoopSource);
+ }
+ }
+}
+
+void QSystemDeviceInfoPrivate::disconnectNotify(const char *signal)
+{
+ if (QLatin1String(signal) == SIGNAL(bluetoothStateChanged(bool))) {
+ if(btThread->isRunning()) {
+ btThread->stop();
+ }
+ }
+}
+
+
QSystemDeviceInfo::Profile QSystemDeviceInfoPrivate::currentProfile()
{
return QSystemDeviceInfo::UnknownProfile;
diff --git a/src/systeminfo/qsysteminfo_mac_p.h b/src/systeminfo/qsysteminfo_mac_p.h
index 3fdb834b97..9b22dbf6d0 100644
--- a/src/systeminfo/qsysteminfo_mac_p.h
+++ b/src/systeminfo/qsysteminfo_mac_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -64,7 +64,8 @@
#include <QTimer>
#include <QtCore/qthread.h>
#include <QtCore/qmutex.h>
- #include <QEventLoop>
+#include <QEventLoop>
+#include <IOKit/IOKitLib.h>
#include <SystemConfiguration/SystemConfiguration.h>
//#include <CoreFoundation/CoreFoundation.h>
@@ -110,7 +111,7 @@ private:
static QSystemInfoPrivate *self;
private Q_SLOTS:
- protected:
+protected:
void connectNotify(const char *signal);
void disconnectNotify(const char *signal);
@@ -213,6 +214,7 @@ private:
};
+class QBluetoothListenerThread;
class QSystemDeviceInfoPrivate : public QObject
{
Q_OBJECT
@@ -238,7 +240,9 @@ public:
QSystemDeviceInfo::PowerState currentPowerState();
void setConnection();
- static QSystemDeviceInfoPrivate *instance() {return self;}
+ static QSystemDeviceInfoPrivate *instance();
+
+ bool currentBluetoothPowerState();
Q_SIGNALS:
void batteryLevelChanged(int);
@@ -253,6 +257,12 @@ private:
QSystemDeviceInfo::PowerState currentPowerStateCache;
QSystemDeviceInfo::BatteryStatus batteryStatusCache;
static QSystemDeviceInfoPrivate *self;
+ QBluetoothListenerThread *btThread;
+
+protected:
+ void connectNotify(const char *signal);
+ void disconnectNotify(const char *signal);
+
};
@@ -287,7 +297,7 @@ public:
QRunLoopThread(QObject *parent = 0);
~QRunLoopThread();
bool keepRunning;
- void quit();
+ void stop();
protected:
void run();
@@ -316,6 +326,33 @@ protected:
private:
QMutex mutex;
+private Q_SLOTS:
+};
+
+class QBluetoothListenerThread : public QThread
+{
+ Q_OBJECT
+
+public:
+ QBluetoothListenerThread(QObject *parent = 0);
+ ~QBluetoothListenerThread();
+ bool keepRunning;
+
+public Q_SLOTS:
+ void emitBtPower(bool);
+ void stop();
+
+Q_SIGNALS:
+ void bluetoothPower(bool);
+
+protected:
+ void run();
+ IONotificationPortRef port;
+ CFRunLoopRef rl;
+ CFRunLoopSourceRef rls;
+
+private:
+ QMutex mutex;
private Q_SLOTS:
};
diff --git a/src/systeminfo/qsysteminfo_maemo.cpp b/src/systeminfo/qsysteminfo_maemo.cpp
index 6b2772370b..66845875ca 100644
--- a/src/systeminfo/qsysteminfo_maemo.cpp
+++ b/src/systeminfo/qsysteminfo_maemo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -38,8 +38,9 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qsysteminfo.h>
-#include <qsysteminfo_maemo_p.h>
+#include "qsysteminfo.h"
+#include "qsysteminfo_maemo_p.h"
+
#include <QStringList>
#include <QSize>
#include <QFile>
@@ -147,14 +148,8 @@ bool QSystemInfoPrivate::hasFeatureSupported(QSystemInfo::Feature feature)
switch (feature) {
case QSystemInfo::SimFeature :
{
- GConfItem locationValues("/system/nokia/location");
- const QStringList locationKeys = locationValues.listEntries();
-
- foreach (const QString str, locationKeys) {
- if (str.contains("sim_imsi"))
- featureSupported = true;
- break;
- }
+ QSystemDeviceInfoPrivate d;
+ featureSupported = (d.simStatus() != QSystemDeviceInfo::SimNotAvailable);
}
break;
case QSystemInfo::LocationFeature :
@@ -166,18 +161,6 @@ bool QSystemInfoPrivate::hasFeatureSupported(QSystemInfo::Feature feature)
}
}
break;
- case QSystemInfo::VideoOutFeature :
- {
- const QString sysPath = "/sys/class/video4linux/";
- const QDir sysDir(sysPath);
- QStringList filters;
- filters << "*";
- const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
- if(sysList.contains("video0")) {
- featureSupported = true;
- }
- }
- break;
case QSystemInfo::HapticsFeature:
{
// if(halIsAvailable) {
@@ -320,11 +303,12 @@ QString QSystemNetworkInfoPrivate::currentMobileNetworkCode()
QString QSystemNetworkInfoPrivate::homeMobileCountryCode()
{
- QString imsi = GConfItem("/system/nokia/location/sim_imsi").value().toString();
+ QSystemDeviceInfoPrivate d;
+ QString imsi = d.imsi();
if (imsi.length() >= 3) {
return imsi.left(3);
}
- return QString();
+ return "";
}
QString QSystemNetworkInfoPrivate::homeMobileNetworkCode()
@@ -828,44 +812,50 @@ QSystemDeviceInfo::Profile QSystemDeviceInfoPrivate::currentProfile()
QString QSystemDeviceInfoPrivate::imei()
{
- #if !defined(QT_NO_DBUS)
- QDBusInterface connectionInterface("com.nokia.phone.SIM",
+#if !defined(QT_NO_DBUS)
+ #if defined(Q_WS_MAEMO_6)
+ QString dBusService = "com.nokia.csd.Info";
+ #else
+ /* Maemo 5 */
+ QString dBusService = "com.nokia.phone.SIM";
+ #endif
+ QDBusInterface connectionInterface(dBusService,
"/com/nokia/csd/info",
"com.nokia.csd.Info",
QDBusConnection::systemBus());
- if(!connectionInterface.isValid()) {
- qWarning() << "interfacenot valid";
- }
-
QDBusReply< QString > reply = connectionInterface.call("GetIMEINumber");
return reply.value();
-
#endif
- return "Not Available";
+ return "";
}
QString QSystemDeviceInfoPrivate::imsi()
{
+#if defined(Q_WS_MAEMO_6)
+ /* Maemo 6 */
+ #if !defined(QT_NO_DBUS)
+ QDBusInterface connectionInterface("com.nokia.csd.SIM",
+ "/com/nokia/csd/sim",
+ "com.nokia.csd.SIM.Identity",
+ QDBusConnection::systemBus());
+ QDBusReply< QString > reply = connectionInterface.call("GetIMSI");
+ return reply.value();
+ #endif
+ return "";
+#else
+ /* Maemo 5 */
return GConfItem("/system/nokia/location/sim_imsi").value().toString();
+#endif
}
QSystemDeviceInfo::SimStatus QSystemDeviceInfoPrivate::simStatus()
{
- GConfItem locationValues("/system/nokia/location");
- const QStringList locationKeys = locationValues.listEntries();
- QStringList result;
- int count = 0;
- foreach (const QString str, locationKeys) {
- if (str.contains("sim_imsi"))
- count++;
- }
-
- if(count == 1) {
- return QSystemDeviceInfo::SingleSimAvailable;
- } else if (count == 2) {
- return QSystemDeviceInfo::DualSimAvailable;
+ QSystemDeviceInfo::SimStatus simStatus = QSystemDeviceInfo::SimNotAvailable;
+ QString imsi = QSystemDeviceInfoPrivate::imsi();
+ if (imsi.length() > 0) {
+ simStatus = QSystemDeviceInfo::SingleSimAvailable;
}
- return QSystemDeviceInfo::SimNotAvailable;
+ return simStatus;
}
bool QSystemDeviceInfoPrivate::isDeviceLocked()
@@ -1023,23 +1013,23 @@ void QSystemDeviceInfoPrivate::deviceModeChanged(QString newMode)
emit currentProfileChanged(currentProfile());
}
-void QSystemDeviceInfoPrivate::profileChanged(bool, bool, QString profile, QList<ProfileDataValue> values)
+void QSystemDeviceInfoPrivate::profileChanged(bool changed, bool active, QString profile, QList<ProfileDataValue> values)
{
- const QSystemDeviceInfo::Profile previousProfile = currentProfile();
-
- profileName = profile;
- foreach (const ProfileDataValue value, values) {
- if (value.key == "ringing.alert.type")
- silentProfile = value.val == "silent";
- else if (value.key == "vibrating.alert.enabled")
- vibratingAlertEnabled = value.val == "On";
- else if (value.key == "ringing.alert.volume")
- ringingAlertVolume = value.val.toInt();
+ if (active) {
+ const QSystemDeviceInfo::Profile previousProfile = currentProfile();
+ profileName = profile;
+ foreach (const ProfileDataValue value, values) {
+ if (value.key == "ringing.alert.type")
+ silentProfile = value.val == "silent";
+ else if (value.key == "vibrating.alert.enabled")
+ vibratingAlertEnabled = value.val == "On";
+ else if (value.key == "ringing.alert.volume")
+ ringingAlertVolume = value.val.toInt();
+ }
+ QSystemDeviceInfo::Profile newProfile = currentProfile();
+ if (previousProfile != newProfile)
+ emit currentProfileChanged(newProfile);
}
-
- QSystemDeviceInfo::Profile newProfile = currentProfile();
- if (previousProfile != newProfile)
- emit currentProfileChanged(newProfile);
}
#endif
diff --git a/src/systeminfo/qsysteminfo_maemo_p.h b/src/systeminfo/qsysteminfo_maemo_p.h
index 9a8081088c..e6258ad17d 100644
--- a/src/systeminfo/qsysteminfo_maemo_p.h
+++ b/src/systeminfo/qsysteminfo_maemo_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -62,7 +62,7 @@
#include "qsysteminfo.h"
#include <qmobilityglobal.h>
#if !defined(QT_NO_DBUS)
-#include <qhalservice_linux_p.h>
+#include "qhalservice_linux_p.h"
typedef enum
{
diff --git a/src/systeminfo/qsysteminfo_s60.cpp b/src/systeminfo/qsysteminfo_s60.cpp
index 3b75e42d56..2fdb13b55e 100644
--- a/src/systeminfo/qsysteminfo_s60.cpp
+++ b/src/systeminfo/qsysteminfo_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -47,18 +47,18 @@
#include <QTimer>
#include <sysutil.h>
-#include <PtiEngine.h>
+#include <ptiengine.h>
#include <featdiscovery.h>
#ifndef KFeatureIdMmc
#include <featureinfo.h>
#endif
#include <hwrmvibra.h>
-#include <AknUtils.h>
+#include <aknutils.h>
#include <w32std.h>
#include <centralrepository.h>
-#include <MProEngEngine.h>
-#include <ProEngFactory.h>
-#include <MProEngNotifyHandler.h>
+#include <mproengengine.h>
+#include <proengfactory.h>
+#include <mproengnotifyhandler.h>
#include <btserversdkcrkeys.h>
#include <bt_subscribe.h>
#include <bttypes.h>
diff --git a/src/systeminfo/qsysteminfo_s60_p.h b/src/systeminfo/qsysteminfo_s60_p.h
index b8bd7e34c3..04007f6d07 100644
--- a/src/systeminfo/qsysteminfo_s60_p.h
+++ b/src/systeminfo/qsysteminfo_s60_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -178,7 +178,7 @@ private:
class DeviceInfo;
QTM_END_NAMESPACE
-#include <MProEngProfileActivationObserver.h>
+#include <mproengprofileactivationobserver.h>
#include <cenrepnotifyhandler.h>
class MProEngEngine;
diff --git a/src/systeminfo/qsysteminfo_win.cpp b/src/systeminfo/qsysteminfo_win.cpp
index 67db5900cb..1bbaa972bd 100644
--- a/src/systeminfo/qsysteminfo_win.cpp
+++ b/src/systeminfo/qsysteminfo_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qsysteminfo_win_p.h b/src/systeminfo/qsysteminfo_win_p.h
index 7de41f2edb..331a420abe 100644
--- a/src/systeminfo/qsysteminfo_win_p.h
+++ b/src/systeminfo/qsysteminfo_win_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qwmihelper_win.cpp b/src/systeminfo/qwmihelper_win.cpp
index a3f57d86ec..a570d9ffef 100644
--- a/src/systeminfo/qwmihelper_win.cpp
+++ b/src/systeminfo/qwmihelper_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/qwmihelper_win_p.h b/src/systeminfo/qwmihelper_win_p.h
index 52689b2ef4..93b495bb75 100644
--- a/src/systeminfo/qwmihelper_win_p.h
+++ b/src/systeminfo/qwmihelper_win_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/symbian/chargingstatus_s60.cpp b/src/systeminfo/symbian/chargingstatus_s60.cpp
index 31d0e7ab6b..c8a1b09cf1 100644
--- a/src/systeminfo/symbian/chargingstatus_s60.cpp
+++ b/src/systeminfo/symbian/chargingstatus_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/symbian/chargingstatus_s60.h b/src/systeminfo/symbian/chargingstatus_s60.h
index aa99d38c6d..0ddfb11cf8 100644
--- a/src/systeminfo/symbian/chargingstatus_s60.h
+++ b/src/systeminfo/symbian/chargingstatus_s60.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/symbian/telephonyinfo_s60.cpp b/src/systeminfo/symbian/telephonyinfo_s60.cpp
index b2ba01cb16..5696937209 100644
--- a/src/systeminfo/symbian/telephonyinfo_s60.cpp
+++ b/src/systeminfo/symbian/telephonyinfo_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/symbian/telephonyinfo_s60.h b/src/systeminfo/symbian/telephonyinfo_s60.h
index 19696f039a..63df518491 100644
--- a/src/systeminfo/symbian/telephonyinfo_s60.h
+++ b/src/systeminfo/symbian/telephonyinfo_s60.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/systeminfo/systeminfo.pro b/src/systeminfo/systeminfo.pro
index 7003b297ff..68d6dcaa27 100644
--- a/src/systeminfo/systeminfo.pro
+++ b/src/systeminfo/systeminfo.pro
@@ -85,7 +85,8 @@ unix: {
HEADERS += qsysteminfo_mac_p.h
LIBS += -framework SystemConfiguration -framework CoreFoundation \
-framework IOKit -framework ApplicationServices -framework Foundation \
- -framework CoreServices -framework ScreenSaver -framework QTKit
+ -framework CoreServices -framework ScreenSaver -framework QTKit \
+ -framework IOBluetooth
contains(corewlan_enabled, yes) {
isEmpty(QMAKE_MAC_SDK) {
@@ -97,13 +98,13 @@ unix: {
}
!isEmpty(SDK6) {
- LIBS += -framework CoreWLAN -framework IOBluetooth -framework CoreLocation
+ LIBS += -framework CoreWLAN -framework CoreLocation
DEFINES += MAC_SDK_10_6
}
} else {
CONFIG += no_keywords
}
-
+
TEMPLATE = lib
}
diff --git a/src/versit/qvcard21writer.cpp b/src/versit/qvcard21writer.cpp
index 07fb9f52f3..360ba95267 100644
--- a/src/versit/qvcard21writer.cpp
+++ b/src/versit/qvcard21writer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qvcard21writer_p.h b/src/versit/qvcard21writer_p.h
index 022d23d16f..479d135995 100644
--- a/src/versit/qvcard21writer_p.h
+++ b/src/versit/qvcard21writer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qvcard30writer.cpp b/src/versit/qvcard30writer.cpp
index 2253bb37fc..a3e011519a 100644
--- a/src/versit/qvcard30writer.cpp
+++ b/src/versit/qvcard30writer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qvcard30writer_p.h b/src/versit/qvcard30writer_p.h
index 77453145c1..0040ea6407 100644
--- a/src/versit/qvcard30writer_p.h
+++ b/src/versit/qvcard30writer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitcontactexporter.cpp b/src/versit/qversitcontactexporter.cpp
index 9198e5d7a1..be7d65dbc6 100644
--- a/src/versit/qversitcontactexporter.cpp
+++ b/src/versit/qversitcontactexporter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -102,7 +102,7 @@ QTM_USE_NAMESPACE
* setDetailHandler(), the client can pass in a handler to override the processing of details and/or
* handle details that QVersitContactExporter doesn't support.
*
- * An example detail handler that logs unknown properties:
+ * An example detail handler that encodes all unknown details as nonstandard vCard propreties:
* \snippet ../../doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp Detail handler
*
* An example usage of QVersitContactExporter
diff --git a/src/versit/qversitcontactexporter.h b/src/versit/qversitcontactexporter.h
index cc3d8cea4e..a2ac12e739 100644
--- a/src/versit/qversitcontactexporter.h
+++ b/src/versit/qversitcontactexporter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitcontactexporter_p.cpp b/src/versit/qversitcontactexporter_p.cpp
index 0cd6eda073..cda1eaa4d0 100644
--- a/src/versit/qversitcontactexporter_p.cpp
+++ b/src/versit/qversitcontactexporter_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitcontactexporter_p.h b/src/versit/qversitcontactexporter_p.h
index 90baa20199..1d784b2974 100644
--- a/src/versit/qversitcontactexporter_p.h
+++ b/src/versit/qversitcontactexporter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitcontactimporter.cpp b/src/versit/qversitcontactimporter.cpp
index 4098f797e0..a64d8163c6 100644
--- a/src/versit/qversitcontactimporter.cpp
+++ b/src/versit/qversitcontactimporter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -109,7 +109,7 @@ QTM_USE_NAMESPACE
* setPropertyHandler(), the client can pass in a handler to override the processing of properties
* and/or handle properties that QVersitContactImporter doesn't support.
*
- * An example property handler that logs unknown properties:
+ * An example property handler that decodes unknown properties generated by the example detail handler provided in the QVersitContactExporter documentation:
* \snippet ../../doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp Property handler
*
* An example usage of QVersitContactImporter
diff --git a/src/versit/qversitcontactimporter.h b/src/versit/qversitcontactimporter.h
index ab0f883a1c..b2a51df03d 100644
--- a/src/versit/qversitcontactimporter.h
+++ b/src/versit/qversitcontactimporter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitcontactimporter_p.cpp b/src/versit/qversitcontactimporter_p.cpp
index 5c5e41465c..ef4e09908f 100644
--- a/src/versit/qversitcontactimporter_p.cpp
+++ b/src/versit/qversitcontactimporter_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -142,12 +142,14 @@ bool QVersitContactImporterPrivate::importContact(
// First, do the properties with PREF set so they appear first in the contact details
foreach (const QVersitProperty& property, properties) {
- if (property.parameters().contains(QLatin1String("TYPE"), QLatin1String("PREF")))
+ QStringList typeParameters = property.parameters().values(QLatin1String("TYPE"));
+ if (typeParameters.contains(QLatin1String("PREF"), Qt::CaseInsensitive))
importProperty(document, property, contactIndex, contact);
}
// ... then, do the rest of the properties.
foreach (const QVersitProperty& property, properties) {
- if (!property.parameters().contains(QLatin1String("TYPE"), QLatin1String("PREF")))
+ QStringList typeParameters = property.parameters().values(QLatin1String("TYPE"));
+ if (!typeParameters.contains(QLatin1String("PREF"), Qt::CaseInsensitive))
importProperty(document, property, contactIndex, contact);
}
@@ -229,11 +231,21 @@ bool QVersitContactImporterPrivate::createName(
|| variant.type() != QVariant::StringList)
return false;
QStringList values = variant.toStringList();
- name.setLastName(takeFirst(values));
- name.setFirstName(takeFirst(values));
- name.setMiddleName(takeFirst(values));
- name.setPrefix(takeFirst(values));
- name.setSuffix(takeFirst(values));
+ QString value(takeFirst(values));
+ if (!value.isEmpty())
+ name.setLastName(value);
+ value = takeFirst(values);
+ if (!value.isEmpty())
+ name.setFirstName(value);
+ value = takeFirst(values);
+ if (!value.isEmpty())
+ name.setMiddleName(value);
+ value = takeFirst(values);
+ if (!value.isEmpty())
+ name.setPrefix(value);
+ value = takeFirst(values);
+ if (!value.isEmpty())
+ name.setSuffix(value);
saveDetailWithContext(contact, &name, extractContexts(property));
return true;
@@ -268,15 +280,27 @@ bool QVersitContactImporterPrivate::createAddress(
|| variant.type() != QVariant::StringList)
return false;
QStringList addressParts = variant.toStringList();
- address.setPostOfficeBox(takeFirst(addressParts));
+ QString value(takeFirst(addressParts));
+ if (!value.isEmpty())
+ address.setPostOfficeBox(value);
// There is no setter for the Extended Address in QContactAddress:
if (!addressParts.isEmpty())
addressParts.removeFirst();
- address.setStreet(takeFirst(addressParts));
- address.setLocality(takeFirst(addressParts));
- address.setRegion(takeFirst(addressParts));
- address.setPostcode(takeFirst(addressParts));
- address.setCountry(takeFirst(addressParts));
+ value = takeFirst(addressParts);
+ if (!value.isEmpty())
+ address.setStreet(value);
+ value = takeFirst(addressParts);
+ if (!value.isEmpty())
+ address.setLocality(value);
+ value = takeFirst(addressParts);
+ if (!value.isEmpty())
+ address.setRegion(value);
+ value = takeFirst(addressParts);
+ if (!value.isEmpty())
+ address.setPostcode(value);
+ value = takeFirst(addressParts);
+ if (!value.isEmpty())
+ address.setCountry(value);
address.setSubTypes(extractSubTypes(property));
saveDetailWithContext(contact, &address, extractContexts(property));
@@ -594,11 +618,10 @@ bool QVersitContactImporterPrivate::createCustomLabel(
QStringList QVersitContactImporterPrivate::extractContexts(
const QVersitProperty& property) const
{
- QStringList types =
- property.parameters().values(QLatin1String("TYPE"));
+ QStringList types = property.parameters().values(QLatin1String("TYPE"));
QStringList contexts;
foreach (const QString& type, types) {
- QString value = mContextMappings.value(type);
+ QString value = mContextMappings.value(type.toUpper());
if (value.length() > 0)
contexts.append(value);
}
@@ -611,11 +634,10 @@ QStringList QVersitContactImporterPrivate::extractContexts(
QStringList QVersitContactImporterPrivate::extractSubTypes(
const QVersitProperty& property) const
{
- QStringList types =
- property.parameters().values(QLatin1String("TYPE"));
+ QStringList types = property.parameters().values(QLatin1String("TYPE"));
QStringList subTypes;
foreach (const QString& type, types) {
- QString subType = mSubTypeMappings.value(type);
+ QString subType = mSubTypeMappings.value(type.toUpper());
if (subType.length() > 0)
subTypes += subType;
}
diff --git a/src/versit/qversitcontactimporter_p.h b/src/versit/qversitcontactimporter_p.h
index afd66c756d..6fe1e3f63f 100644
--- a/src/versit/qversitcontactimporter_p.h
+++ b/src/versit/qversitcontactimporter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitdefs_p.h b/src/versit/qversitdefs_p.h
index 36e727969f..7d05192442 100644
--- a/src/versit/qversitdefs_p.h
+++ b/src/versit/qversitdefs_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitdocument.cpp b/src/versit/qversitdocument.cpp
index 42a88d2084..de7d3de2a0 100644
--- a/src/versit/qversitdocument.cpp
+++ b/src/versit/qversitdocument.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitdocument.h b/src/versit/qversitdocument.h
index 93bc475198..2e555cff44 100644
--- a/src/versit/qversitdocument.h
+++ b/src/versit/qversitdocument.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitdocument_p.h b/src/versit/qversitdocument_p.h
index 7129f9cb70..0f26ec69b3 100644
--- a/src/versit/qversitdocument_p.h
+++ b/src/versit/qversitdocument_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitdocumentwriter_p.cpp b/src/versit/qversitdocumentwriter_p.cpp
index 661d753c44..4e8a1aaa2a 100644
--- a/src/versit/qversitdocumentwriter_p.cpp
+++ b/src/versit/qversitdocumentwriter_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitproperty.cpp b/src/versit/qversitproperty.cpp
index 94b95d5c76..6f8e4db80b 100644
--- a/src/versit/qversitproperty.cpp
+++ b/src/versit/qversitproperty.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -240,7 +240,7 @@ void QVersitProperty::setParameters(const QMultiHash<QString,QString>& parameter
*/
void QVersitProperty::insertParameter(const QString& name, const QString& value)
{
- d->mParameters.insert(name.toUpper(), value.toUpper());
+ d->mParameters.insert(name.toUpper(), value);
}
/*!
@@ -250,7 +250,7 @@ void QVersitProperty::insertParameter(const QString& name, const QString& value)
*/
void QVersitProperty::removeParameter(const QString& name, const QString& value)
{
- d->mParameters.remove(name.toUpper(), value.toUpper());
+ d->mParameters.remove(name.toUpper(), value);
}
/*!
diff --git a/src/versit/qversitproperty.h b/src/versit/qversitproperty.h
index ae482bb165..48994a5b48 100644
--- a/src/versit/qversitproperty.h
+++ b/src/versit/qversitproperty.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitproperty_p.h b/src/versit/qversitproperty_p.h
index 81422e61ed..4ac0d0b6d7 100644
--- a/src/versit/qversitproperty_p.h
+++ b/src/versit/qversitproperty_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitreader.cpp b/src/versit/qversitreader.cpp
index f2d7934dbb..4eefadf726 100644
--- a/src/versit/qversitreader.cpp
+++ b/src/versit/qversitreader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitreader.h b/src/versit/qversitreader.h
index 405cdebbfc..d7f16a7c96 100644
--- a/src/versit/qversitreader.h
+++ b/src/versit/qversitreader.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitreader_p.cpp b/src/versit/qversitreader_p.cpp
index 87b55b287f..4ed1c04d53 100644
--- a/src/versit/qversitreader_p.cpp
+++ b/src/versit/qversitreader_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -471,13 +471,15 @@ void QVersitReaderPrivate::parseVCard21Property(VersitCursor& cursor, QVersitPro
}
} else {
QTextCodec* codec;
- QVariant valueVariant(decodeCharset(value, property, lineReader.codec(), &codec));
- bool isBinary = unencode(valueVariant, cursor, property, codec, lineReader);
- property.setValue(valueVariant);
- if (isBinary)
+ bool isBinary = unencode(value, cursor, property, lineReader);
+ if (isBinary) {
+ property.setValue(value);
property.setValueType(QVersitProperty::BinaryType);
- else
+ }
+ else {
+ property.setValue(decodeCharset(value, property, lineReader.codec(), &codec));
splitStructuredValue(property, false);
+ }
}
}
@@ -492,9 +494,9 @@ void QVersitReaderPrivate::parseVCard30Property(VersitCursor& cursor, QVersitPro
QByteArray value = extractPropertyValue(cursor);
QTextCodec* codec;
- QString valueString(decodeCharset(value, property, lineReader.codec(), &codec));
if (property.valueType() == QVersitProperty::VersitDocumentType) {
+ QString valueString(decodeCharset(value, property, lineReader.codec(), &codec));
removeBackSlashEscaping(valueString);
// Make a line reader from the value of the property.
QByteArray subDocumentValue(codec->fromUnicode(valueString));
@@ -510,12 +512,12 @@ void QVersitReaderPrivate::parseVCard30Property(VersitCursor& cursor, QVersitPro
property.setValue(QVariant::fromValue(subDocument));
}
} else {
- QVariant valueVariant(valueString);
- bool isBinary = unencode(valueVariant, cursor, property, codec, lineReader);
- property.setValue(valueVariant);
+ bool isBinary = unencode(value, cursor, property, lineReader);
if (isBinary) {
+ property.setValue(value);
property.setValueType(QVersitProperty::BinaryType);
} else {
+ property.setValue(decodeCharset(value, property, lineReader.codec(), &codec));
bool isList = splitStructuredValue(property, true);
// Do backslash unescaping
if (isList) {
@@ -541,8 +543,10 @@ bool QVersitReaderPrivate::setVersionFromProperty(QVersitDocument& document, con
bool valid = true;
if (property.name() == QLatin1String("VERSION")) {
QString value = property.value().trimmed();
- if (property.parameters().contains(QLatin1String("ENCODING"),QLatin1String("BASE64"))
- || property.parameters().contains(QLatin1String("TYPE"),QLatin1String("BASE64")))
+ QStringList encodingParameters = property.parameters().values(QLatin1String("ENCODING"));
+ QStringList typeParameters = property.parameters().values(QLatin1String("TYPE"));
+ if (encodingParameters.contains(QLatin1String("BASE64"), Qt::CaseInsensitive)
+ || typeParameters.contains(QLatin1String("BASE64"), Qt::CaseInsensitive))
value = QLatin1String(QByteArray::fromBase64(value.toAscii()));
if (value == QLatin1String("2.1")) {
document.setType(QVersitDocument::VCard21Type);
@@ -556,44 +560,38 @@ bool QVersitReaderPrivate::setVersionFromProperty(QVersitDocument& document, con
}
/*!
- * On entry, \a value should hold a QString. On exit, it may be either a QString or a QByteArray.
- * Returns true if and only if the property value is turned into a QByteArray.
+ * On entry, \a value should be the byte array to unencode. It is modified to be the unencoded
+ * version. Returns true if and only if the value was base-64 encoded. \a cursor and
+ * \a lineReader are supplied in case more lines need to be read (for quoted-printable). The
+ * \a property is supplied so we know what kind of encoding was used.
*/
-bool QVersitReaderPrivate::unencode(QVariant& value, VersitCursor& cursor,
- QVersitProperty& property, QTextCodec* codec,
+bool QVersitReaderPrivate::unencode(QByteArray& value, VersitCursor& cursor,
+ QVersitProperty& property,
LineReader& lineReader) const
{
- Q_ASSERT(value.type() == QVariant::String);
-
- QString valueString = value.toString();
-
- if (property.parameters().contains(QLatin1String("ENCODING"), QLatin1String("QUOTED-PRINTABLE"))) {
+ QStringList encodingParameters = property.parameters().values(QLatin1String("ENCODING"));
+ QStringList typeParameters = property.parameters().values(QLatin1String("TYPE"));
+ if (encodingParameters.contains(QLatin1String("QUOTED-PRINTABLE"), Qt::CaseInsensitive)) {
// At this point, we need to accumulate bytes until we hit a real line break (no = before
// it) value already contains everything up to the character before the newline
- while (valueString.endsWith(QLatin1Char('='))) {
- valueString.chop(1); // Get rid of '='
+ while (value.endsWith('=')) {
+ value.chop(1); // Get rid of '='
// We add each line (minus the escaped = and newline chars)
cursor = lineReader.readLine();
- QString line = codec->toUnicode(
- cursor.data.mid(cursor.position, cursor.selection-cursor.position));
- valueString.append(line);
+ QByteArray line = cursor.data.mid(cursor.position, cursor.selection-cursor.position);
+ value.append(line);
}
- decodeQuotedPrintable(valueString);
+ decodeQuotedPrintable(value);
// Remove the encoding parameter as the value is now decoded
property.removeParameters(QLatin1String("ENCODING"));
- value.setValue(valueString);
return false;
- } else if (property.parameters().contains(QLatin1String("ENCODING"), QLatin1String("BASE64"))
- || property.parameters().contains(QLatin1String("ENCODING"), QLatin1String("B"))
- || property.parameters().contains(QLatin1String("TYPE"), QLatin1String("BASE64"))
- || property.parameters().contains(QLatin1String("TYPE"), QLatin1String("B"))) {
- value.setValue(QByteArray::fromBase64(valueString.toAscii()));
+ } else if (encodingParameters.contains(QLatin1String("BASE64"), Qt::CaseInsensitive)
+ || encodingParameters.contains(QLatin1String("B"), Qt::CaseInsensitive)
+ || typeParameters.contains(QLatin1String("BASE64"), Qt::CaseInsensitive)
+ || typeParameters.contains(QLatin1String("B"), Qt::CaseInsensitive)) {
+ value = QByteArray::fromBase64(value);
// Remove the encoding parameter as the value is now decoded
property.removeParameters(QLatin1String("ENCODING"));
- // Hack: add the charset parameter back in (even if there wasn't one to start with and
- // the default codec was used). This will help later on if someone calls valueString()
- // on the property.
- property.insertParameter(QLatin1String("CHARSET"), QLatin1String(codec->name()));
return true;
}
return false;
@@ -627,13 +625,13 @@ QString QVersitReaderPrivate::decodeCharset(const QByteArray& value,
/*!
* Decodes Quoted-Printable encoded (RFC 1521) characters in /a text.
*/
-void QVersitReaderPrivate::decodeQuotedPrintable(QString& text) const
+void QVersitReaderPrivate::decodeQuotedPrintable(QByteArray& text) const
{
for (int i=0; i < text.length(); i++) {
- QChar current = text.at(i);
- if (current == QLatin1Char('=') && i+2 < text.length()) {
- int next = text.at(i+1).unicode();
- int nextAfterNext = text.at(i+2).unicode();
+ char current = text.at(i);
+ if (current == '=' && i+2 < text.length()) {
+ char next = text.at(i+1);
+ char nextAfterNext = text.at(i+2);
if (((next >= 'a' && next <= 'f') ||
(next >= 'A' && next <= 'F') ||
(next >= '0' && next <= '9')) &&
@@ -641,9 +639,11 @@ void QVersitReaderPrivate::decodeQuotedPrintable(QString& text) const
(nextAfterNext >= 'A' && nextAfterNext <= 'F') ||
(nextAfterNext >= '0' && nextAfterNext <= '9'))) {
bool ok;
- QChar decodedChar(text.mid(i+1, 2).toInt(&ok,16));
- if (ok)
- text.replace(i, 3, decodedChar);
+ char decodedChar(text.mid(i+1, 2).toInt(&ok,16));
+ if (ok) {
+ text[i] = decodedChar;
+ text.remove(i+1, 2);
+ }
} else if (next == '\r' && nextAfterNext == '\n') {
// Newlines can still be found here if they are encoded in a non-default charset.
text.remove(i, 3);
diff --git a/src/versit/qversitreader_p.h b/src/versit/qversitreader_p.h
index 128ca25463..7b6604a922 100644
--- a/src/versit/qversitreader_p.h
+++ b/src/versit/qversitreader_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -176,10 +176,9 @@ public: // New functions
const QVersitProperty& property) const;
bool unencode(
- QVariant& value,
+ QByteArray& value,
VersitCursor& cursor,
QVersitProperty& property,
- QTextCodec* codec,
LineReader& lineReader) const;
QString decodeCharset(
@@ -188,7 +187,7 @@ public: // New functions
QTextCodec* defaultCodec,
QTextCodec** codec) const;
- void decodeQuotedPrintable(QString& text) const;
+ void decodeQuotedPrintable(QByteArray& text) const;
/* These functions operate on a cursor describing a single line */
diff --git a/src/versit/qversitwriter.cpp b/src/versit/qversitwriter.cpp
index 9a3aee953f..180056501a 100644
--- a/src/versit/qversitwriter.cpp
+++ b/src/versit/qversitwriter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitwriter.h b/src/versit/qversitwriter.h
index d6bb01cce3..26f29a7c7f 100644
--- a/src/versit/qversitwriter.h
+++ b/src/versit/qversitwriter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitwriter_p.cpp b/src/versit/qversitwriter_p.cpp
index ad6bee8522..5e91fb2d6f 100644
--- a/src/versit/qversitwriter_p.cpp
+++ b/src/versit/qversitwriter_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/qversitwriter_p.h b/src/versit/qversitwriter_p.h
index 70908d78b3..1fd3d49a1f 100644
--- a/src/versit/qversitwriter_p.h
+++ b/src/versit/qversitwriter_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/versitutils.cpp b/src/versit/versitutils.cpp
index 9542d031fc..4384b40e47 100644
--- a/src/versit/versitutils.cpp
+++ b/src/versit/versitutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/src/versit/versitutils_p.h b/src/versit/versitutils_p.h
index 8299903dcd..25eb88a4b0 100644
--- a/src/versit/versitutils_p.h
+++ b/src/versit/versitutils_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/databasemanager/tst_databasemanager.cpp b/tests/auto/databasemanager/tst_databasemanager.cpp
index f38855a850..af4e01bce3 100644
--- a/tests/auto/databasemanager/tst_databasemanager.cpp
+++ b/tests/auto/databasemanager/tst_databasemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/databasemanager/tst_databasemanager_symbian.cpp b/tests/auto/databasemanager/tst_databasemanager_symbian.cpp
index 62f9a1a479..2f26a913bf 100644
--- a/tests/auto/databasemanager/tst_databasemanager_symbian.cpp
+++ b/tests/auto/databasemanager/tst_databasemanager_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qabstractsecuritysession/tst_qabstractsecuritysession.cpp b/tests/auto/qabstractsecuritysession/tst_qabstractsecuritysession.cpp
index df9c13d773..10d967759f 100644
--- a/tests/auto/qabstractsecuritysession/tst_qabstractsecuritysession.cpp
+++ b/tests/auto/qabstractsecuritysession/tst_qabstractsecuritysession.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qaudiocapturesource/tst_qaudiocapturesource.cpp b/tests/auto/qaudiocapturesource/tst_qaudiocapturesource.cpp
index f1a42e4f52..c11a9eb328 100644
--- a/tests/auto/qaudiocapturesource/tst_qaudiocapturesource.cpp
+++ b/tests/auto/qaudiocapturesource/tst_qaudiocapturesource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qbearertestcommon.h b/tests/auto/qbearertestcommon.h
index e4626b6b08..55d7a04f9f 100644
--- a/tests/auto/qbearertestcommon.h
+++ b/tests/auto/qbearertestcommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontact/qcontact.pro b/tests/auto/qcontact/qcontact.pro
index 82cb029030..a2c6e23fa8 100644
--- a/tests/auto/qcontact/qcontact.pro
+++ b/tests/auto/qcontact/qcontact.pro
@@ -29,6 +29,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontact/tst_qcontact.cpp b/tests/auto/qcontact/tst_qcontact.cpp
index 210dd33901..ed4975b7a7 100644
--- a/tests/auto/qcontact/tst_qcontact.cpp
+++ b/tests/auto/qcontact/tst_qcontact.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactasync/maliciousplugin/maliciousplugin.cpp b/tests/auto/qcontactasync/maliciousplugin/maliciousplugin.cpp
index 11b5d4cd7f..848b51b292 100644
--- a/tests/auto/qcontactasync/maliciousplugin/maliciousplugin.cpp
+++ b/tests/auto/qcontactasync/maliciousplugin/maliciousplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -53,9 +53,112 @@
#include "maliciousplugin_p.h"
#include "qcontactmanager.h"
+#include <QThread>
+#include <QMutex>
+#include <QSet>
+#include <QDebug>
+
+class MaliciousThreadObject : public QObject
+{
+ Q_OBJECT
+public:
+ MaliciousThreadObject() {}
+
+public slots:
+ void activateRequest(QContactAbstractRequest* req)
+ {
+ mutex.lock();
+ if (activeRequests.contains(req)) {
+ QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::ActiveState);
+ }
+ mutex.unlock();
+ }
+
+ void finishRequest(QContactAbstractRequest* req)
+ {
+ QContactManager::Error errorResult = QContactManager::NoError;
+ QMap<int, QContactManager::Error> errorsResult;
+ QList<QContactLocalId> idResult;
+ QList<QContact> contactResult;
+ QList<QContactDetailDefinition> defResult;
+ QMap<QString, QContactDetailDefinition> defMapResult;
+ QList<QContactRelationship> relResult;
+
+ mutex.lock();
+ if (activeRequests.contains(req)) {
+ switch(req->type()) {
+ case QContactAbstractRequest::ContactLocalIdFetchRequest:
+ QContactManagerEngine::updateContactLocalIdFetchRequest(static_cast<QContactLocalIdFetchRequest*>(req), idResult, errorResult, QContactAbstractRequest::FinishedState);
+ break;
+
+ case QContactAbstractRequest::ContactFetchRequest:
+ QContactManagerEngine::updateContactFetchRequest(static_cast<QContactFetchRequest*>(req), contactResult, errorResult, QContactAbstractRequest::FinishedState);
+ break;
+
+ case QContactAbstractRequest::DetailDefinitionSaveRequest:
+ QContactManagerEngine::updateDefinitionSaveRequest(static_cast<QContactDetailDefinitionSaveRequest*>(req), defResult, errorResult, errorsResult, QContactAbstractRequest::FinishedState);
+ break;
+
+ case QContactAbstractRequest::DetailDefinitionFetchRequest:
+ QContactManagerEngine::updateDefinitionFetchRequest(static_cast<QContactDetailDefinitionFetchRequest*>(req), defMapResult, errorResult, errorsResult, QContactAbstractRequest::FinishedState);
+ break;
+
+ case QContactAbstractRequest::DetailDefinitionRemoveRequest:
+ QContactManagerEngine::updateDefinitionRemoveRequest(static_cast<QContactDetailDefinitionRemoveRequest*>(req), errorResult, errorsResult, QContactAbstractRequest::FinishedState);
+ break;
+ default:
+ QContactManagerEngine::updateRequestState(req, QContactAbstractRequest::FinishedState);
+ break;
+ }
+ }
+ activeRequests.remove(req);
+ mutex.unlock();
+ }
+public:
+ QMutex mutex;
+
+ QSet<QContactAbstractRequest*> activeRequests;
+};
+
+class MaliciousThread : public QThread
+{
+ Q_OBJECT;
+public:
+ MaliciousThread();
+ ~MaliciousThread();
+ QObject* eventLoopQuitHack;
+};
+
+MaliciousThread::MaliciousThread()
+{
+ eventLoopQuitHack = new QObject;
+ eventLoopQuitHack->moveToThread(this);
+ connect(eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection);
+}
+
+MaliciousThread::~MaliciousThread()
+{
+ eventLoopQuitHack->deleteLater();
+ wait();
+}
+
MaliciousAsyncManagerEngine::MaliciousAsyncManagerEngine()
: QContactManagerEngine()
{
+ thread = new MaliciousThread();
+ threadObject = new MaliciousThreadObject();
+ threadObject->moveToThread(thread);
+
+ connect(this, SIGNAL(doStartRequest(QContactAbstractRequest*)), threadObject, SLOT(activateRequest(QContactAbstractRequest*)));
+ connect(this, SIGNAL(doFinishRequest(QContactAbstractRequest*)), threadObject, SLOT(finishRequest(QContactAbstractRequest*)));
+
+ thread->start();
+}
+
+MaliciousAsyncManagerEngine::~MaliciousAsyncManagerEngine()
+{
+ delete thread;
+ delete threadObject;
}
QString MaliciousAsyncManagerEngine::synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const
@@ -72,25 +175,14 @@ QString MaliciousAsyncManagerEngine::managerName() const
bool MaliciousAsyncManagerEngine::startRequest(QContactAbstractRequest* req)
{
- // maliciously attempt to update the request with every result type
- updateRequestState(req, QContactAbstractRequest::ActiveState);
- // XXX TODO: call the request-type specific update functions
-/*
- //QContactManager::Error errorResult = QContactManager::NoError;
- QList<QContactManager::Error> errorsResult;
- QList<QContactLocalId> idResult;
- QList<QContact> contactResult;
- QList<QContactDetailDefinition> defResult;
- QMap<QString, QContactDetailDefinition> defMapResult;
- QList<QContactRelationship> relResult;
-
- updateContactLocalIdFetchRequest(req, idResult, errorResult, errorsResult, QContactAbstractRequest::ActiveState, false);
- updateContactFetchRequest(req, contactResult, errorResult, errorsResult, QContactAbstractRequest::ActiveState, false);
- updateDefinitionSaveRequest(req, defResult, errorResult, errorsResult, QContactAbstractRequest::ActiveState);
- updateDefinitionFetchRequest(req, defMapResult, errorResult, errorsResult, QContactAbstractRequest::ActiveState, false);
- updateRequest(req, relResult, errorResult, errorsResult, QContactAbstractRequest::ActiveState, false);
-*/
- QContactManagerEngine::startRequest(req);
+ threadObject->mutex.lock();
+ threadObject->activeRequests.insert(req);
+ threadObject->mutex.unlock();
+
+ // Spawn a thread to do stuff on another thread
+ emit doStartRequest(req);
+ emit doFinishRequest(req);
+
return true;
}
@@ -101,6 +193,13 @@ bool MaliciousAsyncManagerEngine::cancelRequest(QContactAbstractRequest *req)
return true;
}
+void MaliciousAsyncManagerEngine::requestDestroyed(QContactAbstractRequest *req)
+{
+ threadObject->mutex.lock();
+ threadObject->activeRequests.remove(req);
+ threadObject->mutex.unlock();
+ QContactManagerEngine::requestDestroyed(req);
+}
QString MaliciousEngineFactory::managerName() const
{
@@ -114,3 +213,5 @@ QContactManagerEngine* MaliciousEngineFactory::engine(const QMap<QString, QStrin
*error = QContactManager::NoError;
return new MaliciousAsyncManagerEngine();
}
+
+#include "maliciousplugin.moc"
diff --git a/tests/auto/qcontactasync/maliciousplugin/maliciousplugin_p.h b/tests/auto/qcontactasync/maliciousplugin/maliciousplugin_p.h
index 3a9786a4d8..13bcb6bf17 100644
--- a/tests/auto/qcontactasync/maliciousplugin/maliciousplugin_p.h
+++ b/tests/auto/qcontactasync/maliciousplugin/maliciousplugin_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -62,12 +62,15 @@
QTM_USE_NAMESPACE
+class QThread;
+class MaliciousThreadObject;
class MaliciousAsyncManagerEngine : public QContactManagerEngine
{
Q_OBJECT
public:
MaliciousAsyncManagerEngine();
+ ~MaliciousAsyncManagerEngine();
QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
QString managerName() const;
@@ -167,7 +170,7 @@ public:
}
/* Asynchronous Request Support */
- void requestDestroyed(QContactAbstractRequest* req) {QContactManagerEngine::requestDestroyed(req);}
+ void requestDestroyed(QContactAbstractRequest* req);
bool waitForRequestFinished(QContactAbstractRequest* req, int msecs) {return QContactManagerEngine::waitForRequestFinished(req, msecs);}
/* Capabilities reporting */
@@ -195,6 +198,12 @@ public:
return QContactManagerEngine::supportedContactTypes();
}
+signals:
+ void doStartRequest(QContactAbstractRequest *req);
+ void doFinishRequest(QContactAbstractRequest *req);
+private:
+ QThread* thread;
+ MaliciousThreadObject* threadObject;
};
class MaliciousEngineFactory : public QObject, public QContactManagerEngineFactory
diff --git a/tests/auto/qcontactasync/unittest/tst_qcontactasync.cpp b/tests/auto/qcontactasync/unittest/tst_qcontactasync.cpp
index 8e30bcb1dc..e6446757c3 100644
--- a/tests/auto/qcontactasync/unittest/tst_qcontactasync.cpp
+++ b/tests/auto/qcontactasync/unittest/tst_qcontactasync.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -181,11 +181,11 @@ public slots:
void cleanupTestCase();
private:
- void addManagers(); // add standard managers to the data
+ void addManagers(QStringList includes = QStringList()); // add standard managers to the data
private slots:
void testDestructor();
- void testDestructor_data() { addManagers(); }
+ void testDestructor_data() { addManagers(QStringList(QString("maliciousplugin"))); }
void contactFetch();
void contactFetch_data() { addManagers(); }
@@ -213,12 +213,13 @@ private slots:
void maliciousManager(); // uses it's own custom data (manager)
void testQuickDestruction();
- void testQuickDestruction_data() { addManagers(); }
+ void testQuickDestruction_data() { addManagers(QStringList(QString("maliciousplugin"))); }
void threadDelivery();
- void threadDelivery_data() { addManagers(); }
+ void threadDelivery_data() { addManagers(QStringList(QString("maliciousplugin"))); }
protected slots:
void resultsAvailableReceived();
+ void deleteRequest();
private:
bool compareContactLists(QList<QContact> lista, QList<QContact> listb);
@@ -375,6 +376,12 @@ void tst_QContactAsync::testDestructor()
delete cm2;
}
+void tst_QContactAsync::deleteRequest()
+{
+ // Delete the sender (request) - check that it doesn't crash in this common coding error
+ delete sender();
+}
+
void tst_QContactAsync::contactFetch()
{
QFETCH(QString, uri);
@@ -601,6 +608,19 @@ void tst_QContactAsync::contactFetch()
break;
}
+ // Now test deletion in the first slot called
+ QContactFetchRequest *cfr2 = new QContactFetchRequest();
+ QPointer<QObject> obj(cfr2);
+ cfr2->setManager(cm.data());
+ connect(cfr2, SIGNAL(resultsAvailable()), this, SLOT(deleteRequest()));
+ QVERIFY(cfr2->start());
+ int i = 100;
+ // at this point we can't even call wait for finished..
+ while(obj && i > 0) {
+ QTest::qWait(50); // force it to process events at least once.
+ i--;
+ }
+ QVERIFY(obj == NULL);
}
void tst_QContactAsync::contactIdFetch()
@@ -2084,7 +2104,7 @@ void tst_QContactAsync::maliciousManager()
delete destroyedRequest;
// now use a malicious manager that deliberately calls
- // incorrect "updateRequest" functions in base class:
+ // things in a different thread
QContactManager mcm("maliciousplugin");
QCOMPARE(mcm.managerName(), QString("maliciousplugin"));
QList<QContact> emptyCList;
@@ -2095,71 +2115,44 @@ void tst_QContactAsync::maliciousManager()
cfr.setFilter(fil);
cfr.setManager(&mcm);
QVERIFY(cfr.start());
- QVERIFY(cfr.cancel());
- QVERIFY(cfr.waitForFinished(100));
- QVERIFY(cfr.start());
- QVERIFY(!cfr.waitForFinished(100));
- QVERIFY(cfr.cancel());
QContactLocalIdFetchRequest cifr;
cifr.setFilter(fil);
cifr.setManager(&mcm);
QVERIFY(cifr.start());
- QVERIFY(cifr.cancel());
- QVERIFY(cifr.waitForFinished(100));
- QVERIFY(cifr.start());
- QVERIFY(!cifr.waitForFinished(100));
- QVERIFY(cifr.cancel());
QContactRemoveRequest crr;
crr.setContactIds(mcm.contactIds(fil));
crr.setManager(&mcm);
QVERIFY(crr.start());
- QVERIFY(crr.cancel());
- QVERIFY(crr.waitForFinished(100));
- QVERIFY(crr.start());
- QVERIFY(!crr.waitForFinished(100));
- QVERIFY(crr.cancel());
QContactSaveRequest csr;
csr.setContacts(emptyCList);
csr.setManager(&mcm);
QVERIFY(csr.start());
- QVERIFY(csr.cancel());
- QVERIFY(csr.waitForFinished(100));
- QVERIFY(csr.start());
- QVERIFY(!csr.waitForFinished(100));
- QVERIFY(csr.cancel());
+ {
QContactDetailDefinitionFetchRequest dfr;
dfr.setDefinitionNames(emptyDNList);
dfr.setManager(&mcm);
QVERIFY(dfr.start());
- QVERIFY(dfr.cancel());
- QVERIFY(dfr.waitForFinished(100));
- QVERIFY(dfr.start());
- QVERIFY(!dfr.waitForFinished(100));
- QVERIFY(dfr.cancel());
+ }
+
+ {
+ QContactDetailDefinitionFetchRequest dfr;
+ dfr.setDefinitionNames(emptyDNList);
+ dfr.setManager(&mcm);
+ }
QContactDetailDefinitionSaveRequest dsr;
dsr.setDefinitions(emptyDList);
dsr.setManager(&mcm);
QVERIFY(dsr.start());
- QVERIFY(dsr.cancel());
- QVERIFY(dsr.waitForFinished(100));
- QVERIFY(dsr.start());
- QVERIFY(!dsr.waitForFinished(100));
- QVERIFY(dsr.cancel());
QContactDetailDefinitionRemoveRequest drr;
drr.setDefinitionNames(emptyDNList);
drr.setManager(&mcm);
QVERIFY(drr.start());
- QVERIFY(drr.cancel());
- QVERIFY(drr.waitForFinished(100));
- QVERIFY(drr.start());
- QVERIFY(!drr.waitForFinished(100));
- QVERIFY(drr.cancel());
}
void tst_QContactAsync::testQuickDestruction()
@@ -2247,10 +2240,10 @@ void tst_QContactAsync::resultsAvailableReceived()
if (req)
m_resultsAvailableSlotThreadId = req->thread()->currentThreadId();
else
- qDebug() << "resultsAvailableReceived() : request deleted; unable to set thread id!";
+ qWarning() << "resultsAvailableReceived() : request deleted; unable to set thread id!";
}
-void tst_QContactAsync::addManagers()
+void tst_QContactAsync::addManagers(QStringList stringlist)
{
QTest::addColumn<QString>("uri");
@@ -2258,10 +2251,14 @@ void tst_QContactAsync::addManagers()
QStringList managers = QContactManager::availableManagers();
// remove ones that we know will not pass
- managers.removeAll("invalid");
- managers.removeAll("maliciousplugin");
- managers.removeAll("testdummy");
- managers.removeAll("symbiansim"); // SIM backend does not support all the required details for tests to pass.
+ if (!stringlist.contains("invalid"))
+ managers.removeAll("invalid");
+ if (!stringlist.contains("maliciousplugin"))
+ managers.removeAll("maliciousplugin");
+ if (!stringlist.contains("testdummy"))
+ managers.removeAll("testdummy");
+ if (!stringlist.contains("symbiansim"))
+ managers.removeAll("symbiansim"); // SIM backend does not support all the required details for tests to pass.
foreach(QString mgr, managers) {
QMap<QString, QString> params;
diff --git a/tests/auto/qcontactasync/unittest/unittest.pro b/tests/auto/qcontactasync/unittest/unittest.pro
index 25882b4fc4..3d85009fb6 100644
--- a/tests/auto/qcontactasync/unittest/unittest.pro
+++ b/tests/auto/qcontactasync/unittest/unittest.pro
@@ -32,6 +32,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactdetail/qcontactdetail.pro b/tests/auto/qcontactdetail/qcontactdetail.pro
index 625ddd287f..9b6f2b5586 100644
--- a/tests/auto/qcontactdetail/qcontactdetail.pro
+++ b/tests/auto/qcontactdetail/qcontactdetail.pro
@@ -19,6 +19,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactdetail/tst_qcontactdetail.cpp b/tests/auto/qcontactdetail/tst_qcontactdetail.cpp
index fc5b62c91b..d2fdeb4e40 100644
--- a/tests/auto/qcontactdetail/tst_qcontactdetail.cpp
+++ b/tests/auto/qcontactdetail/tst_qcontactdetail.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactdetaildefinition/qcontactdetaildefinition.pro b/tests/auto/qcontactdetaildefinition/qcontactdetaildefinition.pro
index 42f7b00ef9..cd40da03c5 100644
--- a/tests/auto/qcontactdetaildefinition/qcontactdetaildefinition.pro
+++ b/tests/auto/qcontactdetaildefinition/qcontactdetaildefinition.pro
@@ -19,6 +19,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactdetaildefinition/tst_qcontactdetaildefinition.cpp b/tests/auto/qcontactdetaildefinition/tst_qcontactdetaildefinition.cpp
index c591919ac9..d7c6aa5283 100644
--- a/tests/auto/qcontactdetaildefinition/tst_qcontactdetaildefinition.cpp
+++ b/tests/auto/qcontactdetaildefinition/tst_qcontactdetaildefinition.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactdetails/qcontactdetails.pro b/tests/auto/qcontactdetails/qcontactdetails.pro
index 776954349e..1aa6089856 100644
--- a/tests/auto/qcontactdetails/qcontactdetails.pro
+++ b/tests/auto/qcontactdetails/qcontactdetails.pro
@@ -19,6 +19,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactdetails/tst_qcontactdetails.cpp b/tests/auto/qcontactdetails/tst_qcontactdetails.cpp
index 7f4cfc3344..16848c0f49 100644
--- a/tests/auto/qcontactdetails/tst_qcontactdetails.cpp
+++ b/tests/auto/qcontactdetails/tst_qcontactdetails.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactfilter/qcontactfilter.pro b/tests/auto/qcontactfilter/qcontactfilter.pro
index 1d544d8918..15ea14eeca 100644
--- a/tests/auto/qcontactfilter/qcontactfilter.pro
+++ b/tests/auto/qcontactfilter/qcontactfilter.pro
@@ -20,6 +20,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactfilter/tst_qcontactfilter.cpp b/tests/auto/qcontactfilter/tst_qcontactfilter.cpp
index 8f13da4bf4..4449f37c1a 100644
--- a/tests/auto/qcontactfilter/tst_qcontactfilter.cpp
+++ b/tests/auto/qcontactfilter/tst_qcontactfilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -445,10 +445,58 @@ void tst_QContactFilter::detailFilter()
QContactDetailFilter df2 = f;
QVERIFY(df2 == df);
+ QVERIFY(df2.detailDefinitionName() == "Definition");
+ QVERIFY(df2.detailFieldName() == "Field");
/* Self assignment should do nothing */
df2 = df2;
QVERIFY(df2 == df);
+
+ /* Some cross casting */
+ QContactDetailRangeFilter rf;
+
+ /* Directly */
+ df2 = rf;
+ QVERIFY(df2.type() == QContactFilter::ContactDetailFilter);
+ QVERIFY(df2.detailDefinitionName().isEmpty());
+ QVERIFY(df2.detailFieldName().isEmpty());
+ QVERIFY(df2.value().isNull());
+
+ /* reset it */
+ df2 = df;
+ QVERIFY(df2.detailDefinitionName() == "Definition");
+ QVERIFY(df2.detailFieldName() == "Field");
+
+ /* Through base class */
+ f = rf;
+ df2 = f;
+ QVERIFY(df2.detailDefinitionName().isEmpty());
+ QVERIFY(df2.detailFieldName().isEmpty());
+ QVERIFY(df2.value().isNull());
+
+ /* Now test copy ctor */
+ QContactDetailFilter df3(rf);
+ QVERIFY(df3.type() == QContactFilter::ContactDetailFilter);
+ QVERIFY(df3.detailDefinitionName().isEmpty());
+ QVERIFY(df3.detailFieldName().isEmpty());
+ QVERIFY(df3.value().isNull());
+
+ /* reset it */
+ df3 = df;
+ QVERIFY(df3.detailDefinitionName() == "Definition");
+ QVERIFY(df3.detailFieldName() == "Field");
+
+ /* Now test copy ctor through base class */
+ QContactDetailFilter df4(f);
+ QVERIFY(df4.type() == QContactFilter::ContactDetailFilter);
+ QVERIFY(df4.detailDefinitionName().isEmpty());
+ QVERIFY(df4.detailFieldName().isEmpty());
+ QVERIFY(df4.value().isNull());
+
+ /* reset it */
+ df4 = df;
+ QVERIFY(df4.detailDefinitionName() == "Definition");
+ QVERIFY(df4.detailFieldName() == "Field");
}
void tst_QContactFilter::detailRangeFilter()
@@ -486,6 +534,16 @@ void tst_QContactFilter::detailRangeFilter()
rf.setMatchFlags(QContactFilter::MatchExactly);
QVERIFY(rf.matchFlags() == QContactFilter::MatchExactly);
+ rf.setMatchFlags(QContactFilter::MatchCaseSensitive);
+ QVERIFY(rf.matchFlags() == QContactFilter::MatchCaseSensitive);
+
+ // Contains is not allowed
+ rf.setMatchFlags(QContactFilter::MatchCaseSensitive | QContactFilter::MatchContains);
+ QVERIFY(rf.matchFlags() == QContactFilter::MatchCaseSensitive);
+
+ rf.setMatchFlags(QContactFilter::MatchEndsWith);
+ QVERIFY(rf.matchFlags() == QContactFilter::MatchExactly); // 0
+
rf.setRange(5, 10);
QVERIFY(rf.minValue() == 5);
QVERIFY(rf.maxValue() == 10);
@@ -989,11 +1047,11 @@ void tst_QContactFilter::canonicalizedFilter_data()
QContactDetailRangeFilter qcdrf;
qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
qcdrf.setRange(QLatin1String("a"), QLatin1String("a"));
- qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
QContactDetailFilter expected;
expected.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
expected.setValue(QLatin1String("a"));
- expected.setMatchFlags(QContactFilter::MatchStartsWith);
+ expected.setMatchFlags(QContactFilter::MatchFixedString);
QTest::newRow("Equal valued range filter")
<< static_cast<QContactFilter>(qcdrf)
<< static_cast<QContactFilter>(expected);
@@ -1004,7 +1062,7 @@ void tst_QContactFilter::canonicalizedFilter_data()
qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
qcdrf.setRange(QLatin1String("a"), QLatin1String("a"),
QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper);
- qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
QTest::newRow("Equal valued range filter with excluded bounds")
<< static_cast<QContactFilter>(qcdrf)
<< static_cast<QContactFilter>(invalidFilter);
@@ -1014,7 +1072,7 @@ void tst_QContactFilter::canonicalizedFilter_data()
QContactDetailRangeFilter qcdrf;
qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
qcdrf.setRange(QLatin1String("a"), QLatin1String("b"));
- qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
QTest::newRow("Normal range filter")
<< static_cast<QContactFilter>(qcdrf)
<< static_cast<QContactFilter>(qcdrf);
@@ -1024,10 +1082,10 @@ void tst_QContactFilter::canonicalizedFilter_data()
QContactDetailRangeFilter qcdrf;
qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
qcdrf.setRange(QVariant(QVariant::String), QVariant(QVariant::String)); // null bounds
- qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
QContactDetailFilter qcdf;
qcdf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
- qcdf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdf.setMatchFlags(QContactFilter::MatchFixedString);
qcdf.setValue(QVariant(QVariant::String));
QTest::newRow("Null valued range filter")
<< static_cast<QContactFilter>(qcdrf)
@@ -1038,7 +1096,7 @@ void tst_QContactFilter::canonicalizedFilter_data()
QContactDetailRangeFilter qcdrf;
qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
qcdrf.setRange(QVariant(QVariant::String), QLatin1String("a")); // min is null
- qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+ qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
QTest::newRow("One sided range filter")
<< static_cast<QContactFilter>(qcdrf)
<< static_cast<QContactFilter>(qcdrf);
diff --git a/tests/auto/qcontactmanager/qcontactmanager.pro b/tests/auto/qcontactmanager/qcontactmanager.pro
index 23718be557..2d541fc025 100644
--- a/tests/auto/qcontactmanager/qcontactmanager.pro
+++ b/tests/auto/qcontactmanager/qcontactmanager.pro
@@ -20,6 +20,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactmanager/tst_qcontactmanager.cpp b/tests/auto/qcontactmanager/tst_qcontactmanager.cpp
index 22837538bf..807adeb1b6 100644
--- a/tests/auto/qcontactmanager/tst_qcontactmanager.cpp
+++ b/tests/auto/qcontactmanager/tst_qcontactmanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -1988,11 +1988,11 @@ void tst_QContactManager::signalEmission()
/* Batch modifies */
QContactName modifiedName = c.detail(QContactName::DefinitionName);
- saveContactName(&c, nameDef, &modifiedName, "This is modified number 1");
+ saveContactName(&c, nameDef, &modifiedName, "Modified number 1");
modifiedName = c2.detail(QContactName::DefinitionName);
- saveContactName(&c2, nameDef, &modifiedName, "This is modified number 2");
+ saveContactName(&c2, nameDef, &modifiedName, "Modified number 2");
modifiedName = c3.detail(QContactName::DefinitionName);
- saveContactName(&c3, nameDef, &modifiedName, "This is modified number 3");
+ saveContactName(&c3, nameDef, &modifiedName, "Modified number 3");
batchAdd.clear();
batchAdd << c << c2 << c3;
@@ -2012,6 +2012,20 @@ void tst_QContactManager::signalEmission()
QTRY_COMPARE(spyCM.count(), 0);
QScopedPointer<QContactManager> m2(QContactManager::fromUri(uri));
+
+ // During construction SIM backend (m2) will try writing contacts with
+ // nickname, email and additional number to find out if the SIM card
+ // will support these fields. The other backend (m1) will then receive
+ // signals about that. These need to be caught so they don't interfere
+ // with the tests. (This trial and error method is used because existing
+ // API for checking the availability of these fields is not public.)
+ // NOTE: This applies only to pre 10.1 platforms (S60 3.1, 3.2, ect.)
+ if (uri.contains("symbiansim")) {
+ QTest::qWait(0);
+ spyCA.clear();
+ spyCM.clear();
+ spyCR.clear();
+ }
QVERIFY(m1->hasFeature(QContactManager::Anonymous) ==
m2->hasFeature(QContactManager::Anonymous));
diff --git a/tests/auto/qcontactmanagerdataholder.h b/tests/auto/qcontactmanagerdataholder.h
index e20398806b..f584ed2569 100644
--- a/tests/auto/qcontactmanagerdataholder.h
+++ b/tests/auto/qcontactmanagerdataholder.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactmanagerfiltering/qcontactmanagerfiltering.pro b/tests/auto/qcontactmanagerfiltering/qcontactmanagerfiltering.pro
index 6d6f7eee4e..02d54a9921 100644
--- a/tests/auto/qcontactmanagerfiltering/qcontactmanagerfiltering.pro
+++ b/tests/auto/qcontactmanagerfiltering/qcontactmanagerfiltering.pro
@@ -20,6 +20,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactmanagerfiltering/tst_qcontactmanagerfiltering.cpp b/tests/auto/qcontactmanagerfiltering/tst_qcontactmanagerfiltering.cpp
index 1cf5c43b6f..77869b9798 100644
--- a/tests/auto/qcontactmanagerfiltering/tst_qcontactmanagerfiltering.cpp
+++ b/tests/auto/qcontactmanagerfiltering/tst_qcontactmanagerfiltering.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -166,12 +166,11 @@ void tst_QContactManagerFiltering::initTestCase()
managerNames.removeAll("testdummy");
managerNames.removeAll("teststaticdummy");
managerNames.removeAll("maliciousplugin");
-#if defined(Q_OS_SYMBIAN)
- // TODO: Analyze fails on symbiansim backend. Simply disable testing of
- // symbiansim backend for now to make sure the fails do not steal attention
- // from possible fails in symbian backend.
+ // Symbiansim backend does not support the required details for these
+ // tests to pass. Symbiansim backend specific unit test tst_simcm is
+ // testing filtering instead.
managerNames.removeAll("symbiansim");
-#endif
+
foreach(QString mgr, managerNames) {
QMap<QString, QString> params;
@@ -529,7 +528,7 @@ void tst_QContactManagerFiltering::detailVariantFiltering_data()
newMRow("no def name", manager) << manager << es << "value" << false << ev << es;
/* Strings (name) */
- newMRow("first name presence", manager) << manager << "Name" << QString(QLatin1String(QContactName::FieldFirstName)) << false << ev << "abcdefg";
+ newMRow("first name presence", manager) << manager << "Name" << QString(QLatin1String(QContactName::FieldFirstName)) << false << ev << "abcdefghijk";
newMRow("first name == Aaron", manager) << manager << "Name" << QString(QLatin1String(QContactName::FieldFirstName)) << true << QVariant("Aaron") << "a";
/*
@@ -806,7 +805,7 @@ void tst_QContactManagerFiltering::rangeFiltering_data()
/* First, cover the "empty defname / fieldname / ranges" cases */
newMRow("invalid defname", manager) << manager << es << firstname << QVariant("A") << QVariant("Bob") << false << 0 << true << 0 << es;
- newMRow("defn presence test", manager) << manager << namedef << es << QVariant("A") << QVariant("Bob") << false << 0 << true << 0 << "abcdefg";
+ newMRow("defn presence test", manager) << manager << namedef << es << QVariant("A") << QVariant("Bob") << false << 0 << true << 0 << "abcdefghijk";
newMRow("field presence test", manager) << manager << phonedef << phonenum << QVariant() << QVariant() << false << 0 << true << 0 << "ab";
newMRow("good def, bad field", manager) << manager << namedef << "Bongo" << QVariant("A") << QVariant("Bob") << false << 0 << true << 0 << es;
newMRow("bad def", manager) << manager << "Bongo" << es << QVariant("A") << QVariant("Bob") << false << 0 << true << 0 << es;
@@ -816,27 +815,27 @@ void tst_QContactManagerFiltering::rangeFiltering_data()
newMRow("field presence test negative", manager) << manager << "Burgers" << "Beef" << ev << ev << false << 0 << false << 0 << es;
newMRow("defn yes, field no presence test negative", manager) << manager << namedef << "Burger" << ev << ev << false << 0 << false << 0 << es;
- newMRow("no max, all results", manager) << manager << namedef << firstname << QVariant("a") << QVariant() << false << 0 << true << 0 << "abcdefg";
- newMRow("no max, some results", manager) << manager << namedef << firstname << QVariant("BOB") << QVariant() << false << 0 << true << 0 << "bcdefg";
+ newMRow("no max, all results", manager) << manager << namedef << firstname << QVariant("a") << QVariant() << false << 0 << true << 0 << "abcdefghijk";
+ newMRow("no max, some results", manager) << manager << namedef << firstname << QVariant("bob") << QVariant() << false << 0 << true << 0 << "bcdefghijk";
newMRow("no max, no results", manager) << manager << namedef << firstname << QVariant("ZamBeZI") << QVariant() << false << 0 << true << 0 << es;
- newMRow("no min, all results", manager) << manager << namedef << firstname << QVariant() << QVariant("zambezi") << false << 0 << true << 0 << "abcdefg";
+ newMRow("no min, all results", manager) << manager << namedef << firstname << QVariant() << QVariant("zambezi") << false << 0 << true << 0 << "abcdefghijk";
newMRow("no min, some results", manager) << manager << namedef << firstname << QVariant() << QVariant("bOb") << false << 0 << true << 0 << "a";
newMRow("no min, no results", manager) << manager << namedef << firstname << QVariant() << QVariant("aardvark") << false << 0 << true << 0 << es;
/* now case sensitive */
- newMRow("no max, cs, all results", manager) << manager << namedef << firstname << QVariant("A") << QVariant() << false << 0 << true << csflag << "abcdefg";
- newMRow("no max, cs, some results", manager) << manager << namedef << firstname << QVariant("Bob") << QVariant() << false << 0 << true << csflag << "bcdefg";
- newMRow("no max, cs, no results", manager) << manager << namedef << firstname << QVariant("Zambezi") << QVariant() << false << 0 << true << csflag << es;
- newMRow("no min, cs, all results", manager) << manager << namedef << firstname << QVariant() << QVariant("Zambezi") << false << 0 << true << csflag << "abcdefg";
+ newMRow("no max, cs, all results", manager) << manager << namedef << firstname << QVariant("A") << QVariant() << false << 0 << true << csflag << "abcdefghijk";
+ newMRow("no max, cs, some results", manager) << manager << namedef << firstname << QVariant("Bob") << QVariant() << false << 0 << true << csflag << "bcdefghijk";
+ newMRow("no max, cs, no results", manager) << manager << namedef << firstname << QVariant("Xambezi") << QVariant() << false << 0 << true << csflag << "hijk";
+ newMRow("no min, cs, most results", manager) << manager << namedef << firstname << QVariant() << QVariant("Xambezi") << false << 0 << true << csflag << "abcdefg";
newMRow("no min, cs, some results", manager) << manager << namedef << firstname << QVariant() << QVariant("Bob") << false << 0 << true << csflag << "a";
newMRow("no min, cs, no results", manager) << manager << namedef << firstname << QVariant() << QVariant("Aardvark") << false << 0 << true << csflag << es;
/* due to ascii sorting, most lower case parameters give all results, which is boring */
- newMRow("no max, cs, badcase, all results", manager) << manager << namedef << firstname << QVariant("A") << QVariant() << false << 0 << true << csflag << "abcdefg";
- newMRow("no max, cs, badcase, some results", manager) << manager << namedef << firstname << QVariant("BOB") << QVariant() << false << 0 << true << csflag << "bcdefg";
- newMRow("no max, cs, badcase, no results", manager) << manager << namedef << firstname << QVariant("ZAMBEZI") << QVariant() << false << 0 << true << csflag << es;
- newMRow("no min, cs, badcase, all results", manager) << manager << namedef << firstname << QVariant() << QVariant("ZAMBEZI") << false << 0 << true << csflag << "abcdefg";
- newMRow("no min, cs, badcase, some results", manager) << manager << namedef << firstname << QVariant() << QVariant("BOB") << false << 0 << true << csflag << "a";
+ newMRow("no max, cs, badcase, all results", manager) << manager << namedef << firstname << QVariant("A") << QVariant() << false << 0 << true << csflag << "abcdefghijk";
+ newMRow("no max, cs, badcase, some results", manager) << manager << namedef << firstname << QVariant("BOB") << QVariant() << false << 0 << true << csflag << "cdefghijk";
+ newMRow("no max, cs, badcase, no results", manager) << manager << namedef << firstname << QVariant("XAMBEZI") << QVariant() << false << 0 << true << csflag << "hijk";
+ newMRow("no min, cs, badcase, all results", manager) << manager << namedef << firstname << QVariant() << QVariant("XAMBEZI") << false << 0 << true << csflag << "abcdefg";
+ newMRow("no min, cs, badcase, some results", manager) << manager << namedef << firstname << QVariant() << QVariant("BOB") << false << 0 << true << csflag << "ab";
newMRow("no min, cs, badcase, no results", manager) << manager << namedef << firstname << QVariant() << QVariant("AARDVARK") << false << 0 << true << csflag << es;
/* 'a' has phone number ("5551212") */
@@ -867,36 +866,15 @@ void tst_QContactManagerFiltering::rangeFiltering_data()
QTest::newRow("string range - startswith - 9") << manager << namedef << firstname << QVariant("Barry") << QVariant("C") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchStartsWith) << "bc";
// Open ended starts with
- QTest::newRow("string range - startswith open top - 1") << manager << namedef << firstname << QVariant("A") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefg";
- QTest::newRow("string range - startswith open top - 2") << manager << namedef << firstname << QVariant("A") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefg";
- QTest::newRow("string range - startswith open top - 3") << manager << namedef << firstname << QVariant("Aaron") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefg";
- QTest::newRow("string range - startswith open top - 4") << manager << namedef << firstname << QVariant("Aaron") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchStartsWith) << "bcdefg";
+ QTest::newRow("string range - startswith open top - 1") << manager << namedef << firstname << QVariant("A") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefghijk";
+ QTest::newRow("string range - startswith open top - 2") << manager << namedef << firstname << QVariant("A") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefghijk";
+ QTest::newRow("string range - startswith open top - 3") << manager << namedef << firstname << QVariant("Aaron") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchStartsWith) << "abcdefghijk";
+ QTest::newRow("string range - startswith open top - 4") << manager << namedef << firstname << QVariant("Aaron") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchStartsWith) << "bcdefghijk";
QTest::newRow("string range - startswith open bottom - 1") << manager << namedef << firstname << ev << QVariant("Borit") << true << (int)(QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchStartsWith) << "abc";
QTest::newRow("string range - startswith open bottom - 2") << manager << namedef << firstname << ev << QVariant("Borit") << true << (int)(QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchStartsWith) << "abc";
QTest::newRow("string range - startswith open bottom - 3") << manager << namedef << firstname << ev << QVariant("Boris") << true << (int)(QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchStartsWith) << "abc";
QTest::newRow("string range - startswith open bottom - 4") << manager << namedef << firstname << ev << QVariant("Boris") << true << (int)(QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchStartsWith) << "ab";
- // Qt::MatchContains with range is invalid
- QTest::newRow("string range - contains - 1") << manager << namedef << firstname << QVariant("A") << QVariant("Bob") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchContains) << es;
-
- // Check EndsWith with range: A == son, B == sen, C == sun
- QTest::newRow("string range - endswith - 1") << manager << namedef << lastname << QVariant("sen") << QVariant("son") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchEndsWith) << es;
- QTest::newRow("string range - endswith - 2") << manager << namedef << lastname << QVariant("sen") << QVariant("son") << true << (int)(QContactDetailRangeFilter::IncludeLower | QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchEndsWith) << "b";
- QTest::newRow("string range - endswith - 3") << manager << namedef << lastname << QVariant("sen") << QVariant("son") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchEndsWith) << "a";
- QTest::newRow("string range - endswith - 4") << manager << namedef << lastname << QVariant("sen") << QVariant("son") << true << (int)(QContactDetailRangeFilter::IncludeLower | QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchEndsWith) << "ab";
- QTest::newRow("string range - endswith - 5") << manager << namedef << lastname << QVariant("sen") << QVariant("sun") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchEndsWith) << "ac";
- QTest::newRow("string range - endswith - 6") << manager << namedef << lastname << QVariant("sen") << QVariant("sun") << true << (int)(QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchEndsWith) << "a";
-
- // Endswith with open ends
- QTest::newRow("string range - endswith no max - 1") << manager << namedef << lastname << QVariant("sen") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchEndsWith) << "acdg";
- QTest::newRow("string range - endswith no max - 2") << manager << namedef << lastname << QVariant("sen") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchEndsWith) << "abcdg";
- QTest::newRow("string range - endswith no max - 3") << manager << namedef << lastname << QVariant("sem") << ev << true << (int)(QContactDetailRangeFilter::ExcludeLower) << true << (int)(Qt::MatchEndsWith) << "abcdg";
- QTest::newRow("string range - endswith no max - 4") << manager << namedef << lastname << QVariant("sem") << ev << true << (int)(QContactDetailRangeFilter::IncludeLower) << true << (int)(Qt::MatchEndsWith) << "abcdg";
- QTest::newRow("string range - endswith no min - 1") << manager << namedef << lastname << ev << QVariant("sen") << true << (int)(QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchEndsWith) << "ef";
- QTest::newRow("string range - endswith no min - 2") << manager << namedef << lastname << ev << QVariant("sen") << true << (int)(QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchEndsWith) << "bef";
- QTest::newRow("string range - endswith no min - 3") << manager << namedef << lastname << ev << QVariant("seo") << true << (int)(QContactDetailRangeFilter::ExcludeUpper) << true << (int)(Qt::MatchEndsWith) << "bef";
- QTest::newRow("string range - endswith no min - 4") << manager << namedef << lastname << ev << QVariant("seo") << true << (int)(QContactDetailRangeFilter::IncludeUpper) << true << (int)(Qt::MatchEndsWith) << "bef";
-
/* A(10), B(20), C(-20) */
// Now integer range testing
QPair<QString, QString> defAndFieldNames = defAndFieldNamesForTypePerManager.value(manager).value("Integer");
@@ -2025,14 +2003,22 @@ void tst_QContactManagerFiltering::sorting_data()
QTest::addColumn<int>("directioni");
QTest::addColumn<bool>("setbp");
QTest::addColumn<int>("blankpolicyi");
+ QTest::addColumn<int>("casesensitivityi");
QTest::addColumn<QString>("expected");
QTest::addColumn<QString>("unstable");
QString firstname = QContactName::FieldFirstName;
QString lastname = QContactName::FieldLastName;
QString namedef = QContactName::DefinitionName;
- QString urldef = QContactUrl::DefinitionName;
- QString urlfield = QContactUrl::FieldUrl;
+ QString dldef = QContactDisplayLabel::DefinitionName;
+ QString dlfld = QContactDisplayLabel::FieldLabel;
+
+ int asc = Qt::AscendingOrder;
+ int desc = Qt::DescendingOrder;
+ int bll = QContactSortOrder::BlanksLast;
+ int blf = QContactSortOrder::BlanksFirst;
+ int cs = Qt::CaseSensitive;
+ int ci = Qt::CaseInsensitive;
for (int i = 0; i < managers.size(); i++) {
QContactManager *manager = managers.at(i);
@@ -2040,20 +2026,23 @@ void tst_QContactManagerFiltering::sorting_data()
QPair<QString, QString> integerDefAndFieldNames = defAndFieldNamesForTypePerManager.value(manager).value("Integer");
QPair<QString, QString> stringDefAndFieldNames = defAndFieldNamesForTypePerManager.value(manager).value("String");
- newMRow("first ascending", manager) << manager << namedef << firstname << (int)(Qt::AscendingOrder) << false << 0 << "abcdefg" << "efg"; // efg have the same first name
- newMRow("first descending", manager) << manager << namedef << firstname << (int)(Qt::DescendingOrder) << false << 0 << "efgdcba" << "efg";// efg have the same first name
- newMRow("last ascending", manager) << manager << namedef << lastname << (int)(Qt::AscendingOrder) << false << 0 << "bacdefg" << ""; // all have a well defined, sortable last name
- newMRow("last descending", manager) << manager << namedef << lastname << (int)(Qt::DescendingOrder) << false << 0 << "gfedcab" << ""; // all have a well defined, sortable last name
+ newMRow("first ascending", manager) << manager << namedef << firstname << asc << false << 0 << cs << "abcdefghjik" << "efg"; // efg have the same first name
+ newMRow("first descending", manager) << manager << namedef << firstname << desc << false << 0 << cs << "kijhefgdcba" << "efg";// efg have the same first name
+ newMRow("last ascending", manager) << manager << namedef << lastname << asc << false << 0 << cs << "bacdefghijk" << "hijk"; // all have a well defined, sortable last name except hijk
+ newMRow("last descending", manager) << manager << namedef << lastname << desc << false << 0 << cs << "gfedcabhijk" << "hijk"; // all have a well defined, sortable last name except hijk
if (!integerDefAndFieldNames.first.isEmpty() && !integerDefAndFieldNames.second.isEmpty()) {
- newMRow("integer ascending, blanks last", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << (int)(Qt::AscendingOrder) << true << (int)(QContactSortOrder::BlanksLast) << "cabgfed" << "gfed"; // gfed have no integer
- newMRow("integer descending, blanks last", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << (int)(Qt::DescendingOrder) << true << (int)(QContactSortOrder::BlanksLast) << "bacgfed" << "gfed"; // gfed have no integer
- newMRow("integer ascending, blanks first", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << (int)(Qt::AscendingOrder) << true << (int)(QContactSortOrder::BlanksFirst) << "defgcab" << "gfed"; // gfed have no integer
- newMRow("integer descending, blanks first", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << (int)(Qt::DescendingOrder) << true << (int)(QContactSortOrder::BlanksFirst) << "defgbac" << "gfed"; // gfed have no integer
+ newMRow("integer ascending, blanks last", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << asc << true << bll << cs << "cabgfedhijk" << "gfedhijk"; // gfedhijk have no integer
+ newMRow("integer descending, blanks last", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << desc << true << bll << cs << "bacgfedhijk" << "gfedhijk"; // gfedhijk have no integer
+ newMRow("integer ascending, blanks first", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << asc << true << blf << cs << "hijkdefgcab" << "gfedhijk"; // gfedhijk have no integer
+ newMRow("integer descending, blanks first", manager) << manager << integerDefAndFieldNames.first << integerDefAndFieldNames.second << desc << true << blf << cs << "hijkdefgbac" << "gfedhijk"; // gfedhijk have no integer
}
if (!stringDefAndFieldNames.first.isEmpty() && !stringDefAndFieldNames.second.isEmpty()) {
- QTest::newRow("string ascending (null value), blanks first") << manager << stringDefAndFieldNames.first << stringDefAndFieldNames.second << (int)(Qt::AscendingOrder) << true << (int)(QContactSortOrder::BlanksFirst) << "feabcdg" << "fe"; // f and e have blank string
- QTest::newRow("string ascending (null value), blanks last") << manager << stringDefAndFieldNames.first << stringDefAndFieldNames.second << (int)(Qt::AscendingOrder) << true << (int)(QContactSortOrder::BlanksLast) << "abcdgef" << "ef"; // f and e have blank string
+ QTest::newRow("string ascending (null value), blanks first") << manager << stringDefAndFieldNames.first << stringDefAndFieldNames.second << asc << true << blf << cs << "feabcdg" << "fehijk"; // f and e have blank string
+ QTest::newRow("string ascending (null value), blanks last") << manager << stringDefAndFieldNames.first << stringDefAndFieldNames.second << asc << true << bll << cs << "abcdgef" << "efhijk"; // f and e have blank string
}
+
+ newMRow("display label insensitive", manager) << manager << dldef << dlfld << asc << false << 0 << cs << "abcdefghjik" << "efg";
+ newMRow("display label sensitive", manager) << manager << dldef << dlfld << asc << false << 0 << ci << "abcdefghjik" << "efg";
}
}
@@ -2193,68 +2182,71 @@ void tst_QContactManagerFiltering::multiSorting_data()
QString phonedef = QContactPhoneNumber::DefinitionName;
QString numberfield = QContactPhoneNumber::FieldNumber;
+ int asc = Qt::AscendingOrder;
+ int desc = Qt::DescendingOrder;
+
for (int i = 0; i < managers.size(); i++) {
QContactManager *manager = managers.at(i);
QPair<QString, QString> stringDefAndFieldNames = defAndFieldNamesForTypePerManager.value(manager).value("String");
QTest::newRow("1") << manager
- << true << namedef << firstname << (int)(Qt::AscendingOrder)
- << true << namedef << lastname << (int)(Qt::AscendingOrder)
+ << true << namedef << firstname << asc
+ << true << namedef << lastname << asc
<< "abcdefg" << false;
QTest::newRow("2") << manager
- << true << namedef << firstname << (int)(Qt::AscendingOrder)
- << true << namedef << lastname << (int)(Qt::DescendingOrder)
+ << true << namedef << firstname << asc
+ << true << namedef << lastname << desc
<< "abcdgfe" << false;
QTest::newRow("3") << manager
- << true << namedef << firstname << (int)(Qt::DescendingOrder)
- << true << namedef << lastname << (int)(Qt::AscendingOrder)
+ << true << namedef << firstname << desc
+ << true << namedef << lastname << asc
<< "efgdcba" << false;
QTest::newRow("4") << manager
- << true << namedef << firstname << (int)(Qt::DescendingOrder)
- << true << namedef << lastname << (int)(Qt::DescendingOrder)
+ << true << namedef << firstname << desc
+ << true << namedef << lastname << desc
<< "gfedcba" << false;
QTest::newRow("5") << manager
- << true << namedef << firstname << (int)(Qt::AscendingOrder)
- << false << namedef << lastname << (int)(Qt::AscendingOrder)
+ << true << namedef << firstname << asc
+ << false << namedef << lastname << asc
<< "abcdefg" << true;
QTest::newRow("5b") << manager
- << true << namedef << firstname << (int)(Qt::AscendingOrder)
- << true << es << es << (int)(Qt::AscendingOrder)
+ << true << namedef << firstname << asc
+ << true << es << es << asc
<< "abcdefg" << true;
QTest::newRow("6") << manager
- << false << namedef << firstname << (int)(Qt::AscendingOrder)
- << true << namedef << lastname << (int)(Qt::AscendingOrder)
+ << false << namedef << firstname << asc
+ << true << namedef << lastname << asc
<< "bacdefg" << false;
// This test is completely unstable; no sort criteria means dependent upon internal sort order of manager.
//QTest::newRow("7") << manager
- // << false << namedef << firstname << (int)(Qt::AscendingOrder)
- // << false << namedef << lastname << (int)(Qt::AscendingOrder)
+ // << false << namedef << firstname << asc
+ // << false << namedef << lastname << asc
// << "abcdefg" << false; // XXX Isn't this totally unstable?
if (!stringDefAndFieldNames.first.isEmpty() && !stringDefAndFieldNames.second.isEmpty()) {
QTest::newRow("8") << manager
- << true << stringDefAndFieldNames.first << stringDefAndFieldNames.second << (int)(Qt::AscendingOrder)
- << false << stringDefAndFieldNames.first << stringDefAndFieldNames.second << (int)(Qt::DescendingOrder)
+ << true << stringDefAndFieldNames.first << stringDefAndFieldNames.second << asc
+ << false << stringDefAndFieldNames.first << stringDefAndFieldNames.second << desc
<< "abcdgef" << false; // default policy = blanks last, and ef have no value (e is empty, f is null)
QTest::newRow("8b") << manager
- << true << stringDefAndFieldNames.first << stringDefAndFieldNames.second << (int)(Qt::AscendingOrder)
- << false << es << es << (int)(Qt::DescendingOrder)
+ << true << stringDefAndFieldNames.first << stringDefAndFieldNames.second << asc
+ << false << es << es << desc
<< "abcdgef" << false; // default policy = blanks last, and ef have no value (e is empty, f is null)
}
QTest::newRow("9") << manager
- << true << phonedef << numberfield << (int)(Qt::AscendingOrder)
- << true << namedef << lastname << (int)(Qt::DescendingOrder)
+ << true << phonedef << numberfield << asc
+ << true << namedef << lastname << desc
<< "abgfedc" << false;
QTest::newRow("10") << manager
- << true << namedef << firstname << (int)(Qt::AscendingOrder)
- << true << namedef << firstname << (int)(Qt::DescendingOrder)
+ << true << namedef << firstname << asc
+ << true << namedef << firstname << desc
<< "abcdefg" << true;
}
@@ -2295,6 +2287,12 @@ void tst_QContactManagerFiltering::multiSorting()
QList<QContactLocalId> ids = cm->contactIds(sortOrders);
QString output = convertIds(contacts, ids);
+ // Remove the display label tests
+ output.remove('h');
+ output.remove('i');
+ output.remove('j');
+ output.remove('k');
+
// Just like the single sort test, we might get some contacts back in indeterminate order
// (but their relative position with other contacts should not change)
if (efgunstable) {
@@ -2916,6 +2914,32 @@ QList<QContactLocalId> tst_QContactManagerFiltering::prepareModel(QContactManage
originalContactCount += 7;
Q_ASSERT(cm->contactIds().count() == originalContactCount);
+ /* Now some for the locale aware sorting */
+ QContact h, i, j, k;
+ QContactName n2;
+ n2.setFirstName("xander");
+ n2.setCustomLabel("xander");
+ h.saveDetail(&n2);
+ n2.setFirstName("Xander");
+ n2.setCustomLabel("Xander");
+ i.saveDetail(&n2);
+ n2.setFirstName("xAnder");
+ n2.setCustomLabel("xAnder");
+ j.saveDetail(&n2);
+ n2.setFirstName("Yarrow");
+ n2.setCustomLabel("Yarrow");
+ k.saveDetail(&n2);
+
+ // XXX add &aumlaut; or &acircum; etc to test those sort orders
+ h = cm->compatibleContact(h);
+ i = cm->compatibleContact(i);
+ j = cm->compatibleContact(j);
+ k = cm->compatibleContact(k);
+ Q_ASSERT(cm->saveContact(&h));
+ Q_ASSERT(cm->saveContact(&i));
+ Q_ASSERT(cm->saveContact(&j));
+ Q_ASSERT(cm->saveContact(&k));
+
/* Ensure the last modified times are different */
QTest::qSleep(napTime);
QContactName modifiedName = c.detail(QContactName::DefinitionName);
@@ -2935,6 +2959,10 @@ QList<QContactLocalId> tst_QContactManagerFiltering::prepareModel(QContactManage
QTest::qSleep(napTime);
/* Add our newly saved contacts to our internal list of added contacts */
+ contactsAddedToManagers.insert(cm, k.id().localId());
+ contactsAddedToManagers.insert(cm, j.id().localId());
+ contactsAddedToManagers.insert(cm, i.id().localId());
+ contactsAddedToManagers.insert(cm, h.id().localId());
contactsAddedToManagers.insert(cm, g.id().localId());
contactsAddedToManagers.insert(cm, f.id().localId());
contactsAddedToManagers.insert(cm, e.id().localId());
@@ -2951,6 +2979,10 @@ QList<QContactLocalId> tst_QContactManagerFiltering::prepareModel(QContactManage
e = cm->contact(e.id().localId());
f = cm->contact(f.id().localId());
g = cm->contact(g.id().localId());
+ h = cm->contact(h.id().localId());
+ i = cm->contact(i.id().localId());
+ j = cm->contact(j.id().localId());
+ k = cm->contact(k.id().localId());
QList<QContactLocalId> list;
if (!a.isEmpty())
@@ -2967,6 +2999,14 @@ QList<QContactLocalId> tst_QContactManagerFiltering::prepareModel(QContactManage
list << f.id().localId();
if (!g.isEmpty())
list << g.id().localId();
+ if (!h.isEmpty())
+ list << h.id().localId();
+ if (!i.isEmpty())
+ list << i.id().localId();
+ if (!j.isEmpty())
+ list << j.id().localId();
+ if (!k.isEmpty())
+ list << k.id().localId();
return list;
}
diff --git a/tests/auto/qcontactmanagerplugins/dummyotherplugin/dummyotherplugin.cpp b/tests/auto/qcontactmanagerplugins/dummyotherplugin/dummyotherplugin.cpp
index 519e266fd9..63359f475a 100644
--- a/tests/auto/qcontactmanagerplugins/dummyotherplugin/dummyotherplugin.cpp
+++ b/tests/auto/qcontactmanagerplugins/dummyotherplugin/dummyotherplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactmanagerplugins/dummyplugin/dummyplugin.cpp b/tests/auto/qcontactmanagerplugins/dummyplugin/dummyplugin.cpp
index b53b3114ee..10abd20c92 100644
--- a/tests/auto/qcontactmanagerplugins/dummyplugin/dummyplugin.cpp
+++ b/tests/auto/qcontactmanagerplugins/dummyplugin/dummyplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactmanagerplugins/unittest/tst_qcontactmanagerplugins.cpp b/tests/auto/qcontactmanagerplugins/unittest/tst_qcontactmanagerplugins.cpp
index aba096844e..5c83c6f5c8 100644
--- a/tests/auto/qcontactmanagerplugins/unittest/tst_qcontactmanagerplugins.cpp
+++ b/tests/auto/qcontactmanagerplugins/unittest/tst_qcontactmanagerplugins.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactmanagerplugins/unittest/unittest.pro b/tests/auto/qcontactmanagerplugins/unittest/unittest.pro
index 96f645f709..b8d510824e 100644
--- a/tests/auto/qcontactmanagerplugins/unittest/unittest.pro
+++ b/tests/auto/qcontactmanagerplugins/unittest/unittest.pro
@@ -38,6 +38,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactmemusage/tst_qcontactmemusage.cpp b/tests/auto/qcontactmemusage/tst_qcontactmemusage.cpp
index 4961023dcf..80d61102b8 100644
--- a/tests/auto/qcontactmemusage/tst_qcontactmemusage.cpp
+++ b/tests/auto/qcontactmemusage/tst_qcontactmemusage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcontactrelationship/qcontactrelationship.pro b/tests/auto/qcontactrelationship/qcontactrelationship.pro
index b2115df435..871cf367cd 100644
--- a/tests/auto/qcontactrelationship/qcontactrelationship.pro
+++ b/tests/auto/qcontactrelationship/qcontactrelationship.pro
@@ -29,6 +29,5 @@ symbian: {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
- WriteDeviceData \
- AllFiles \
+ WriteDeviceData
}
diff --git a/tests/auto/qcontactrelationship/tst_qcontactrelationship.cpp b/tests/auto/qcontactrelationship/tst_qcontactrelationship.cpp
index 8a5d9df715..4672fcac95 100644
--- a/tests/auto/qcontactrelationship/tst_qcontactrelationship.cpp
+++ b/tests/auto/qcontactrelationship/tst_qcontactrelationship.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qcrmlparser/tst_qcrmlparser.cpp b/tests/auto/qcrmlparser/tst_qcrmlparser.cpp
index 505c0892cc..9a697bf19e 100644
--- a/tests/auto/qcrmlparser/tst_qcrmlparser.cpp
+++ b/tests/auto/qcrmlparser/tst_qcrmlparser.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
index 9b6dfd73be..0bcab28482 100644
--- a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
+++ b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp b/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
index cd9a50207f..f1fca9e4d4 100644
--- a/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
+++ b/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeoinfosources_wince/tst_qgeoinfosources_wince.cpp b/tests/auto/qgeoinfosources_wince/tst_qgeoinfosources_wince.cpp
index b5e8496f0e..1f50423ad8 100644
--- a/tests/auto/qgeoinfosources_wince/tst_qgeoinfosources_wince.cpp
+++ b/tests/auto/qgeoinfosources_wince/tst_qgeoinfosources_wince.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp b/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
index 37973c5569..238920893e 100644
--- a/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
+++ b/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeopositioninfosource/tst_qgeopositioninfosource.cpp b/tests/auto/qgeopositioninfosource/tst_qgeopositioninfosource.cpp
index a1abd9fd85..ac96e39508 100644
--- a/tests/auto/qgeopositioninfosource/tst_qgeopositioninfosource.cpp
+++ b/tests/auto/qgeopositioninfosource/tst_qgeopositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeosatelliteinfo/tst_qgeosatelliteinfo.cpp b/tests/auto/qgeosatelliteinfo/tst_qgeosatelliteinfo.cpp
index 8cbabdf466..0731930abb 100644
--- a/tests/auto/qgeosatelliteinfo/tst_qgeosatelliteinfo.cpp
+++ b/tests/auto/qgeosatelliteinfo/tst_qgeosatelliteinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgeosatelliteinfosource/tst_qgeosatelliteinfosource.cpp b/tests/auto/qgeosatelliteinfosource/tst_qgeosatelliteinfosource.cpp
index 576313974b..ad62a49f0a 100644
--- a/tests/auto/qgeosatelliteinfosource/tst_qgeosatelliteinfosource.cpp
+++ b/tests/auto/qgeosatelliteinfosource/tst_qgeosatelliteinfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp b/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp
index 05c533f249..bfd1bfe707 100644
--- a/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp
+++ b/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qlatin1constant/tst_qlatin1constant.cpp b/tests/auto/qlatin1constant/tst_qlatin1constant.cpp
index d7598126d0..37a16a6223 100644
--- a/tests/auto/qlatin1constant/tst_qlatin1constant.cpp
+++ b/tests/auto/qlatin1constant/tst_qlatin1constant.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qlocationtestutils.cpp b/tests/auto/qlocationtestutils.cpp
index f0f2aa1e99..53f09b1104 100644
--- a/tests/auto/qlocationtestutils.cpp
+++ b/tests/auto/qlocationtestutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qlocationtestutils_p.h b/tests/auto/qlocationtestutils_p.h
index 662ee01ff0..3da2d609aa 100644
--- a/tests/auto/qlocationtestutils_p.h
+++ b/tests/auto/qlocationtestutils_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qlocationutils/tst_qlocationutils.cpp b/tests/auto/qlocationutils/tst_qlocationutils.cpp
index 417aabe318..895a222655 100644
--- a/tests/auto/qlocationutils/tst_qlocationutils.cpp
+++ b/tests/auto/qlocationutils/tst_qlocationutils.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmallocpool/tst_qmallocpool.cpp b/tests/auto/qmallocpool/tst_qmallocpool.cpp
index a7b34cb02a..b3752afbda 100644
--- a/tests/auto/qmallocpool/tst_qmallocpool.cpp
+++ b/tests/auto/qmallocpool/tst_qmallocpool.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediacontent/tst_qmediacontent.cpp b/tests/auto/qmediacontent/tst_qmediacontent.cpp
index cd01c30571..d365673f4c 100644
--- a/tests/auto/qmediacontent/tst_qmediacontent.cpp
+++ b/tests/auto/qmediacontent/tst_qmediacontent.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaimageviewer/tst_qmediaimageviewer.cpp b/tests/auto/qmediaimageviewer/tst_qmediaimageviewer.cpp
index 26d04ab484..8dd45e18aa 100644
--- a/tests/auto/qmediaimageviewer/tst_qmediaimageviewer.cpp
+++ b/tests/auto/qmediaimageviewer/tst_qmediaimageviewer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaobject/tst_qmediaobject.cpp b/tests/auto/qmediaobject/tst_qmediaobject.cpp
index 237fb24ba6..9d729f1ed9 100644
--- a/tests/auto/qmediaobject/tst_qmediaobject.cpp
+++ b/tests/auto/qmediaobject/tst_qmediaobject.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
index b9053c3a25..5ac875a135 100644
--- a/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
+++ b/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp b/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp
index ed8d4e2711..72ff0f44ab 100644
--- a/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp
+++ b/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp b/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
index d3d7a85a6d..d67d2f70ea 100644
--- a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
+++ b/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp b/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp
index 3ed9aa10f8..3251a49d77 100644
--- a/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp
+++ b/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/qmediarecorder/tst_qmediarecorder.cpp
index e238614dfe..fbfc57f32a 100644
--- a/tests/auto/qmediarecorder/tst_qmediarecorder.cpp
+++ b/tests/auto/qmediarecorder/tst_qmediarecorder.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaresource/tst_qmediaresource.cpp b/tests/auto/qmediaresource/tst_qmediaresource.cpp
index fd7b485db8..9486fcea52 100644
--- a/tests/auto/qmediaresource/tst_qmediaresource.cpp
+++ b/tests/auto/qmediaresource/tst_qmediaresource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaservice/tst_qmediaservice.cpp b/tests/auto/qmediaservice/tst_qmediaservice.cpp
index 510d3b28b1..5f77cab5a2 100644
--- a/tests/auto/qmediaservice/tst_qmediaservice.cpp
+++ b/tests/auto/qmediaservice/tst_qmediaservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp b/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
index 1f6de51052..744512562c 100644
--- a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
+++ b/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmediatimerange/tst_qmediatimerange.cpp b/tests/auto/qmediatimerange/tst_qmediatimerange.cpp
index 7b0efd2f61..cc65a752de 100644
--- a/tests/auto/qmediatimerange/tst_qmediatimerange.cpp
+++ b/tests/auto/qmediatimerange/tst_qmediatimerange.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmessage/tst_qmessage.cpp b/tests/auto/qmessage/tst_qmessage.cpp
index 41fc3398fa..edf8b60728 100644
--- a/tests/auto/qmessage/tst_qmessage.cpp
+++ b/tests/auto/qmessage/tst_qmessage.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmessageservice/tst_qmessageservice.cpp b/tests/auto/qmessageservice/tst_qmessageservice.cpp
index 86ff094cff..8f380726f1 100644
--- a/tests/auto/qmessageservice/tst_qmessageservice.cpp
+++ b/tests/auto/qmessageservice/tst_qmessageservice.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmessagestore/tst_qmessagestore.cpp b/tests/auto/qmessagestore/tst_qmessagestore.cpp
index 850694e5a7..cda80a3784 100644
--- a/tests/auto/qmessagestore/tst_qmessagestore.cpp
+++ b/tests/auto/qmessagestore/tst_qmessagestore.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp b/tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp
index ee24740979..0207731a3b 100644
--- a/tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp
+++ b/tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -45,7 +45,12 @@
#include "qtmessaging.h"
#include "../support/support.h"
-#if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) && defined(_WIN32_WCE))
+#if (defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
+# if defined(TESTDATA_DIR)
+# undef TESTDATA_DIR
+# endif
+# define TESTDATA_DIR "/var/tmp"
+#elif (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) && defined(_WIN32_WCE))
# if defined(TESTDATA_DIR)
# undef TESTDATA_DIR
# endif
@@ -1463,7 +1468,6 @@ void tst_QMessageStoreKeys::testFolderOrdering()
}
}
-
void tst_QMessageStoreKeys::testMessageFilter_data()
{
QTest::addColumn<QMessageFilter>("filter");
@@ -2188,7 +2192,6 @@ void tst_QMessageStoreKeys::testMessageFilter_data()
<< "";
#endif
-#if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
QTest::newRow("status equality 1")
<< QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Equal)
<< ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
@@ -2308,7 +2311,6 @@ void tst_QMessageStoreKeys::testMessageFilter_data()
<< ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
<< ( QMessageIdList() << messageIds[0] << messageIds[3] )
<< "";
-#endif
QTest::newRow("size equality 1")
<< QMessageFilter::bySize(messageSizes[3], QMessageDataComparator::Equal)
@@ -2888,6 +2890,7 @@ void tst_QMessageStoreKeys::testMessageFilter()
QSKIP("Unsupported for this configuration", SkipSingle);
}
}
+
void tst_QMessageStoreKeys::testMessageOrdering_data()
{
QTest::addColumn<MessageSortList>("sorts");
diff --git a/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
index 3995459f3a..6da8d60644 100644
--- a/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
+++ b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -44,6 +44,13 @@
#include "../../../src/bearer/qnetworkconfiguration.h"
#include "../../../src/bearer/qnetworkconfigmanager.h"
+/*
+ Although this unit test doesn't use QNetworkAccessManager
+ this include is used to ensure that bearer continues to compile against
+ Qt 4.7+ which has a QNetworkConfiguration enabled QNetworkAccessManager
+*/
+#include <QNetworkAccessManager>
+
#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
#include <stdio.h>
#include <iapconf.h>
diff --git a/tests/auto/qnetworksession/lackey/main.cpp b/tests/auto/qnetworksession/lackey/main.cpp
index a92f449928..9ed8f2cdf5 100644
--- a/tests/auto/qnetworksession/lackey/main.cpp
+++ b/tests/auto/qnetworksession/lackey/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -46,6 +46,8 @@
#include "../../../../src/bearer/qnetworkconfiguration.h"
#include "../../../../src/bearer/qnetworksession.h"
+#include <QEventLoop>
+#include <QTimer>
#include <QDebug>
QTM_USE_NAMESPACE
@@ -59,7 +61,14 @@ int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
+ // Update configurations so that everything is up to date for this process too.
+ // Event loop is used to wait for awhile.
QNetworkConfigurationManager manager;
+ manager.updateConfigurations();
+ QEventLoop iIgnoreEventLoop;
+ QTimer::singleShot(3000, &iIgnoreEventLoop, SLOT(quit()));
+ iIgnoreEventLoop.exec();
+
QList<QNetworkConfiguration> discovered =
manager.allConfigurations(QNetworkConfiguration::Discovered);
@@ -75,7 +84,6 @@ int main(int argc, char** argv)
// Cannot read/write to processes on WinCE or Symbian.
// Easiest alternative is to use sockets for IPC.
-
QLocalSocket oopSocket;
oopSocket.connectToServer("tst_qnetworksession");
diff --git a/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp
index 376d81b287..4cb0d9c2a8 100644
--- a/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp
+++ b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp
@@ -1,5 +1,5 @@
/****************************************************************************
-**
+**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -96,6 +96,7 @@ private slots:
private:
QNetworkConfigurationManager manager;
+ QMap<QString, bool> testsToRun;
uint inProcessSessionManagementCount;
@@ -113,6 +114,7 @@ private:
bool openSession(QNetworkSession *session);
bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration = true);
void updateConfigurations();
+void printConfigurations();
QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType);
void tst_QNetworkSession::initTestCase()
@@ -121,7 +123,19 @@ void tst_QNetworkSession::initTestCase()
qRegisterMetaType<QNetworkSession::SessionError>("QNetworkSession::SessionError");
qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
qRegisterMetaType<QNetworkConfiguration::Type>("QNetworkConfiguration::Type");
-
+
+ // If you wish to skip tests, set value as false. This is often very convinient because tests are so lengthy.
+ // Better way still would be to make this readable from a file.
+ testsToRun["robustnessBombing"] = true;
+ testsToRun["outOfProcessSession"] = true;
+ testsToRun["invalidSession"] = true;
+ testsToRun["repeatedOpenClose"] = true;
+ testsToRun["roamingErrorCodes"] = true;
+ testsToRun["sessionStop"] = true;
+ testsToRun["sessionProperties"] = true;
+ testsToRun["userChoiceSession"] = true;
+ testsToRun["sessionOpenCloseStop"] = true;
+
#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
iapconf = new Maemo::IAPConf("007");
iapconf->setValue("ipv4_type", "AUTO");
@@ -234,6 +248,10 @@ void tst_QNetworkSession::cleanupTestCase()
// Robustness test for calling interfaces in nonsense order / with nonsense parameters
void tst_QNetworkSession::robustnessBombing()
{
+ if (!testsToRun["robustnessBombing"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
+
QNetworkConfigurationManager mgr;
QNetworkSession testSession(mgr.defaultConfiguration());
// Should not reset even session is not opened
@@ -241,15 +259,14 @@ void tst_QNetworkSession::robustnessBombing()
testSession.accept();
testSession.ignore();
testSession.reject();
- quint64 temp;
- temp = testSession.bytesWritten();
- temp = testSession.bytesReceived();
- temp = testSession.activeTime();
}
void tst_QNetworkSession::invalidSession()
-{
+{
+ if (!testsToRun["invalidSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
// 1. Verify that session created with invalid configuration remains in invalid state
QNetworkSession session(QNetworkConfiguration(), 0);
QVERIFY(!session.isOpen());
@@ -264,11 +281,24 @@ void tst_QNetworkSession::invalidSession()
qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
QVERIFY(error == QNetworkSession::InvalidConfigurationError);
QVERIFY(session.state() == QNetworkSession::Invalid);
-
+
#ifdef QNETWORKSESSION_MANUAL_TESTS
+
+ QNetworkConfiguration invalidatedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
+ if (invalidatedConfig.isValid()) {
+ // 3. Verify that invalidating a session after its successfully configured works
+ QNetworkSession invalidatedSession(invalidatedConfig);
+ qDebug() << "Delete the WLAN IAP from phone now (waiting 60 seconds): " << invalidatedConfig.name();
+ QTest::qWait(60000);
+ QVERIFY(!invalidatedConfig.isValid());
+ QVERIFY(invalidatedSession.state() == QNetworkSession::Invalid);
+ qDebug() << "Add the WLAN IAP back (waiting 60 seconds): " << invalidatedConfig.name();
+ QTest::qWait(60000);
+ }
+
QNetworkConfiguration definedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
if (definedConfig.isValid()) {
- // 3. Verify that opening a session with defined configuration emits error and enters notavailable-state
+ // 4. Verify that opening a session with defined configuration emits error and enters notavailable-state
// TODO these timer waits should be changed to waiting appropriate signals, now these wait excessively
qDebug() << "Shutdown WLAN IAP (waiting 60 seconds): " << definedConfig.name();
QTest::qWait(60000);
@@ -277,43 +307,27 @@ void tst_QNetworkSession::invalidSession()
QNetworkSession definedSession(definedConfig);
QSignalSpy errorSpy(&definedSession, SIGNAL(error(QNetworkSession::SessionError)));
QNetworkSession::SessionError sessionError;
+ updateConfigurations();
definedSession.open();
+#ifdef Q_OS_SYMBIAN
+ // On symbian, the connection opening is tried even with defined state.
+ qDebug("Waiting for 10 seconds to all signals to propagate.");
+ QTest::qWait(10000);
+#endif
+ updateConfigurations();
QVERIFY(definedConfig.isValid()); // Session remains valid
QVERIFY(definedSession.state() == QNetworkSession::NotAvailable); // State is not available because WLAN is not in coverage
QVERIFY(!errorSpy.isEmpty()); // Session tells with error about invalidated configuration
sessionError = qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
- qDebug() << "Error code is: " << sessionError;
QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError);
-
qDebug() << "Turn the WLAN IAP back on (waiting 60 seconds): " << definedConfig.name();
QTest::qWait(60000);
- updateConfigurations();
-
+ updateConfigurations();
QVERIFY(definedConfig.state() == QNetworkConfiguration::Discovered);
}
-
- QNetworkConfiguration invalidatedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
- if (invalidatedConfig.isValid()) {
- // 4. Verify that invalidating a session after its successfully configured works
- QNetworkSession invalidatedSession(invalidatedConfig);
- QSignalSpy errorSpy(&invalidatedSession, SIGNAL(error(QNetworkSession::SessionError)));
- QNetworkSession::SessionError sessionError;
-
- qDebug() << "Delete the WLAN IAP from phone now (waiting 60 seconds): " << invalidatedConfig.name();
- QTest::qWait(60000);
-
- invalidatedSession.open();
- QVERIFY(!invalidatedConfig.isValid());
- QVERIFY(invalidatedSession.state() == QNetworkSession::Invalid);
- QVERIFY(!errorSpy.isEmpty());
-
- sessionError = qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
- QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError);
- qDebug() << "Add the WLAN IAP back (waiting 60 seconds): " << invalidatedConfig.name();
- QTest::qWait(60000);
- }
+
#endif
}
@@ -331,12 +345,12 @@ void tst_QNetworkSession::sessionProperties_data()
void tst_QNetworkSession::sessionProperties()
{
+ if (!testsToRun["sessionProperties"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
-
QNetworkSession session(configuration);
-
QVERIFY(session.configuration() == configuration);
-
QStringList validBearerNames = QStringList() << QLatin1String("Unknown")
<< QLatin1String("Ethernet")
<< QLatin1String("WLAN")
@@ -407,7 +421,12 @@ void tst_QNetworkSession::repeatedOpenClose_data() {
}
// Tests repeated-open close.
-void tst_QNetworkSession::repeatedOpenClose() {
+void tst_QNetworkSession::repeatedOpenClose()
+{
+ if (!testsToRun["repeatedOpenClose"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
+
QFETCH(QString, bearerType);
QFETCH(QNetworkConfiguration::Type, configurationType);
QFETCH(int, repeatTimes);
@@ -423,13 +442,20 @@ void tst_QNetworkSession::repeatedOpenClose() {
!closeSession(&permanentSession)) {
QSKIP("Unable to open/close session, skipping this round of repeated open-close test.", SkipSingle);
}
- for (int i = repeatTimes; i > 0; i--) {
+ for (int i = 0; i < repeatTimes; i++) {
+ qDebug() << "Opening, loop number " << i;
QVERIFY(openSession(&permanentSession));
+ qDebug() << "Closing, loop number, then waiting 5 seconds: " << i;
QVERIFY(closeSession(&permanentSession));
+ QTest::qWait(5000);
}
}
-void tst_QNetworkSession::roamingErrorCodes() {
+void tst_QNetworkSession::roamingErrorCodes()
+{
+ if (!testsToRun["roamingErrorCodes"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#ifndef Q_OS_SYMBIAN
QSKIP("Roaming supported on Symbian.", SkipAll);
#else
@@ -453,41 +479,11 @@ void tst_QNetworkSession::roamingErrorCodes() {
adminIapSession.stop(); // requires NetworkControl capabilities
QTRY_VERIFY(!errorSpy.isEmpty()); // wait for error signals
QNetworkSession::SessionError error = qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0));
+ QTest::qWait(2000); // Wait for a moment to all platform signals to propagate
QVERIFY(error == QNetworkSession::SessionAbortedError);
QVERIFY(iapSession.state() == QNetworkSession::Disconnected);
QVERIFY(adminIapSession.state() == QNetworkSession::Disconnected);
#endif // Q_OS_SYMBIAN
-
-#ifdef QNETWORKSESSION_MANUAL_TESTS
- // Check for roaming error.
- // Case requires that you have controllable WLAN in Internet SNAP (only).
- QNetworkConfiguration snapConfig = suitableConfiguration("bearer_not_relevant_with_snaps", QNetworkConfiguration::ServiceNetwork);
- if (!snapConfig.isValid()) {
- QSKIP("No SNAP accessible, skipping test.", SkipAll);
- }
- QNetworkSession snapSession(snapConfig);
- QVERIFY(openSession(&snapSession));
- QSignalSpy errorSpySnap(&snapSession, SIGNAL(error(QNetworkSession::SessionError)));
- qDebug("Disconnect the WLAN now");
- QTRY_VERIFY(!errorSpySnap.isEmpty()); // wait for error signals
- QVERIFY(errorSpySnap.count() == 1);
- error = qvariant_cast<QNetworkSession::SessionError>(errorSpySnap.first().at(0));
- qDebug() << "Error received when turning off wlan on SNAP: " << error;
- QVERIFY(error == QNetworkSession::RoamingError);
-
- qDebug("Connect the WLAN now");
- QTest::qWait(60000); // Wait for WLAN to get up
- QNetworkConfiguration wlanIapConfig2 = suitableConfiguration("WLAN", QNetworkConfiguration::InternetAccessPoint);
- QNetworkSession iapSession2(wlanIapConfig2);
- QVERIFY(openSession(&iapSession2));
- QSignalSpy errorSpy2(&iapSession2, SIGNAL(error(QNetworkSession::SessionError)));
- qDebug("Disconnect the WLAN now");
- QTRY_VERIFY(!errorSpy2.isEmpty()); // wait for error signals
- QVERIFY(errorSpy2.count() == 1);
- error = qvariant_cast<QNetworkSession::SessionError>(errorSpy2.first().at(0));
- QVERIFY(error == QNetworkSession::SessionAbortedError);
- QVERIFY(iapSession2.state() == QNetworkSession::Disconnected);
-#endif
}
@@ -502,6 +498,9 @@ void tst_QNetworkSession::sessionStop_data() {
void tst_QNetworkSession::sessionStop()
{
+ if (!testsToRun["sessionStop"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#ifndef Q_OS_SYMBIAN
QSKIP("Testcase contains mainly Symbian specific checks, because it is only platform to really support interface (IAP-level) Stop.", SkipAll);
#endif
@@ -509,6 +508,9 @@ void tst_QNetworkSession::sessionStop()
QFETCH(QNetworkConfiguration::Type, configurationType);
int configWaitdelayInMs = 2000;
+
+ updateConfigurations();
+ printConfigurations();
QNetworkConfiguration config = suitableConfiguration(bearerType, configurationType);
if (!config.isValid()) {
@@ -526,6 +528,9 @@ void tst_QNetworkSession::sessionStop()
QSignalSpy closedSessionStateChangedSpy(&closedSession, SIGNAL(stateChanged(QNetworkSession::State)));
QSignalSpy closedErrorSpy(&closedSession, SIGNAL(error(QNetworkSession::SessionError)));
+ QSignalSpy openedSessionClosedSpy(&openedSession, SIGNAL(closed()));
+ QSignalSpy openedSessionStateChangedSpy(&openedSession, SIGNAL(stateChanged(QNetworkSession::State)));
+
QSignalSpy innocentSessionClosedSpy(&innocentSession, SIGNAL(closed()));
QSignalSpy innocentSessionStateChangedSpy(&innocentSession, SIGNAL(stateChanged(QNetworkSession::State)));
QSignalSpy innocentErrorSpy(&innocentSession, SIGNAL(error(QNetworkSession::SessionError)));
@@ -541,10 +546,18 @@ void tst_QNetworkSession::sessionStop()
closedSessionClosedSpy.clear();
closedSessionStateChangedSpy.clear();
closedErrorSpy.clear();
+ openedSessionStateChangedSpy.clear();
+ openedSessionClosedSpy.clear();
+
openedSession.stop();
- QVERIFY(openedSession.state() == QNetworkSession::Disconnected);
+ qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+
+ // First to closing, then to disconnected
+ QVERIFY(openedSessionStateChangedSpy.count() == 2);
+ QVERIFY(!openedSessionClosedSpy.isEmpty());
+ QVERIFY(openedSession.state() == QNetworkSession::Disconnected);
QVERIFY(config.state() != QNetworkConfiguration::Active);
// 2. Verify that stopping a session based on non-connected configuration does nothing
@@ -570,18 +583,20 @@ void tst_QNetworkSession::sessionStop()
// 3. Check that stopping a opened session affects also other opened session based on the same configuration.
if (config.type() == QNetworkConfiguration::InternetAccessPoint) {
qDebug("----------3. Check that stopping a opened session affects also other opened session based on the same configuration.");
+
QVERIFY(openSession(&openedSession));
QVERIFY(openSession(&innocentSession));
-
+
configChangeSpy.clear();
innocentSessionClosedSpy.clear();
innocentSessionStateChangedSpy.clear();
innocentErrorSpy.clear();
-
+
openedSession.stop();
qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
-
+ QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+
QVERIFY(!innocentSessionClosedSpy.isEmpty());
QVERIFY(!innocentSessionStateChangedSpy.isEmpty());
QVERIFY(!innocentErrorSpy.isEmpty());
@@ -601,14 +616,19 @@ void tst_QNetworkSession::sessionStop()
if (config.type() == QNetworkConfiguration::ServiceNetwork) {
qDebug("----------4. Skip for SNAP configuration.");
} else if (config.type() == QNetworkConfiguration::InternetAccessPoint) {
- qDebug("----------4. Check that stopping a non-opened session stops the other session based on the same configuration");
- QVERIFY(openSession(&innocentSession));
+ qDebug("----------4. Check that stopping a non-opened session stops the other session based on the same configuration");
+ qDebug("----------4.1 Opening innocent session");
+ QVERIFY(openSession(&innocentSession));
qDebug("Waiting for %d ms after open to make sure all platform indications are propagated", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs);
+ qDebug("----------4.2 Calling closedSession.stop()");
closedSession.stop();
qDebug("Waiting for %d ms to get all configurationChange signals from platform..", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+ QTest::qWait(configWaitdelayInMs);
+ QTest::qWait(configWaitdelayInMs);
+
QVERIFY(!innocentSessionClosedSpy.isEmpty());
QVERIFY(!innocentSessionStateChangedSpy.isEmpty());
QVERIFY(!innocentErrorSpy.isEmpty());
@@ -640,6 +660,9 @@ void tst_QNetworkSession::userChoiceSession_data()
void tst_QNetworkSession::userChoiceSession()
{
+ if (!testsToRun["userChoiceSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
QVERIFY(configuration.type() == QNetworkConfiguration::UserChoice);
@@ -669,7 +692,20 @@ void tst_QNetworkSession::userChoiceSession()
session.open();
+#if defined(Q_OS_SYMBIAN)
+ // Opening & closing multiple connections in a row sometimes
+ // results hanging of connection opening on Symbian devices
+ // => If first open fails, wait a moment and try again.
+ if (!session.waitForOpened()) {
+ qDebug("**** Session open Timeout - Wait 5 seconds and try once again ****");
+ session.close();
+ QTest::qWait(5000); // Wait a while before trying to open session again
+ session.open();
+ session.waitForOpened();
+ }
+#else
session.waitForOpened();
+#endif
if (session.isOpen())
QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty());
@@ -769,6 +805,9 @@ void tst_QNetworkSession::sessionOpenCloseStop_data()
void tst_QNetworkSession::sessionOpenCloseStop()
{
+ if (!testsToRun["sessionOpenCloseStop"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
QFETCH(bool, forceSessionStop);
@@ -801,7 +840,20 @@ void tst_QNetworkSession::sessionOpenCloseStop()
session.open();
+#if defined(Q_OS_SYMBIAN)
+ // Opening & closing multiple connections in a row sometimes
+ // results hanging of connection opening on Symbian devices
+ // => If first open fails, wait a moment and try again.
+ if (!session.waitForOpened()) {
+ qDebug("**** Session open Timeout - Wait 5 seconds and try once again ****");
+ session.close();
+ QTest::qWait(5000); // Wait a while before trying to open session again
+ session.open();
+ session.waitForOpened();
+ }
+#else
session.waitForOpened();
+#endif
if (session.isOpen())
QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty());
@@ -875,24 +927,28 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(session.error() == QNetworkSession::UnknownSessionError);
session2.open();
-
+
QTRY_VERIFY(!sessionOpenedSpy2.isEmpty() || !errorSpy2.isEmpty());
+ if (errorSpy2.isEmpty()) {
+ QVERIFY(session2.isOpen());
+ QVERIFY(session2.state() == QNetworkSession::Connected);
+ }
QVERIFY(session.isOpen());
- QVERIFY(session2.isOpen());
QVERIFY(session.state() == QNetworkSession::Connected);
- QVERIFY(session2.state() == QNetworkSession::Connected);
#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__))
// On Symbian emulator, the support for data bearers is limited
QVERIFY(session.interface().isValid());
#endif
- QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress());
- QCOMPARE(session.interface().index(), session2.interface().index());
+ if (errorSpy2.isEmpty()) {
+ QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress());
+ QCOMPARE(session.interface().index(), session2.interface().index());
+ }
}
sessionOpenedSpy2.clear();
- if (forceSessionStop) {
+ if (forceSessionStop && session2.isOpen()) {
// Test forcing the second session to stop the interface.
QNetworkSession::State previousState = session.state();
#ifdef Q_CC_NOKIAX86
@@ -901,15 +957,17 @@ void tst_QNetworkSession::sessionOpenCloseStop()
#else
bool expectStateChange = previousState != QNetworkSession::Disconnected;
#endif
-
session2.stop();
+ // QNetworkSession::stop() must result either closed() signal
+ // or error() signal
QTRY_VERIFY(!sessionClosedSpy2.isEmpty() || !errorSpy2.isEmpty());
-
QVERIFY(!session2.isOpen());
if (!errorSpy2.isEmpty()) {
- QVERIFY(!errorSpy.isEmpty());
+ // QNetworkSession::stop() resulted error() signal for session2
+ // => also session should emit error() signal
+ QTRY_VERIFY(!errorSpy.isEmpty());
// check for SessionAbortedError
QNetworkSession::SessionError error =
@@ -929,9 +987,12 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(errorSpy.isEmpty());
QVERIFY(errorSpy2.isEmpty());
-
+
+ // Wait for Disconnected state
+ QTRY_NOOP(session2.state() == QNetworkSession::Disconnected);
+
if (expectStateChange)
- QTRY_VERIFY(stateChangedSpy2.count() >= 2 || !errorSpy2.isEmpty());
+ QTRY_VERIFY(stateChangedSpy2.count() >= 1 || !errorSpy2.isEmpty());
if (!errorSpy2.isEmpty()) {
QVERIFY(session2.state() == previousState);
@@ -975,54 +1036,66 @@ void tst_QNetworkSession::sessionOpenCloseStop()
state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(3).at(0));
QVERIFY(state == QNetworkSession::Disconnected);
+
+ QTRY_VERIFY(session.state() == QNetworkSession::Roaming ||
+ session.state() == QNetworkSession::Connected ||
+ session.state() == QNetworkSession::Disconnected);
+
QTRY_VERIFY(stateChangedSpy.count() > 0);
- state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(0).at(0));
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(stateChangedSpy.count() - 1).at(0));
+
if (state == QNetworkSession::Roaming) {
- QTRY_VERIFY(!errorSpy.isEmpty() || stateChangedSpy.count() > 1);
+ QTRY_VERIFY(session.state() == QNetworkSession::Connected);
+ QTRY_VERIFY(session2.state() == QNetworkSession::Connected);
+ roamedSuccessfully = true;
+ } else if (state == QNetworkSession::Disconnected) {
+ QTRY_VERIFY(!errorSpy.isEmpty());
+ QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected);
+ } else if (state == QNetworkSession::Connected) {
+ QTRY_VERIFY(errorSpy.isEmpty());
if (stateChangedSpy.count() > 1) {
- state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(1).at(0));
- if (state == QNetworkSession::Connected) {
- roamedSuccessfully = true;
- QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected);
- }
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(stateChangedSpy.count() - 2).at(0));
+ QVERIFY(state == QNetworkSession::Roaming);
}
- }
+ roamedSuccessfully = true;
+ }
+
if (roamedSuccessfully) {
QString configId = session.sessionProperty("ActiveConfiguration").toString();
QNetworkConfiguration config = manager.configurationFromIdentifier(configId);
QNetworkSession session3(config);
QSignalSpy errorSpy3(&session3, SIGNAL(error(QNetworkSession::SessionError)));
QSignalSpy sessionOpenedSpy3(&session3, SIGNAL(opened()));
-
session3.open();
- session3.waitForOpened();
-
+ session3.waitForOpened();
if (session.isOpen())
QVERIFY(!sessionOpenedSpy3.isEmpty() || !errorSpy3.isEmpty());
-
session.stop();
-
QTRY_VERIFY(session.state() == QNetworkSession::Disconnected);
- QTRY_VERIFY(session3.state() == QNetworkSession::Disconnected);
}
#ifndef Q_CC_NOKIAX86
if (!roamedSuccessfully)
QVERIFY(!errorSpy.isEmpty());
#endif
} else {
- QCOMPARE(stateChangedSpy2.count(), 2);
-
- QNetworkSession::State state =
- qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
- QVERIFY(state == QNetworkSession::Closing);
-
- state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0));
- QVERIFY(state == QNetworkSession::Disconnected);
+ QTest::qWait(2000); // Wait awhile to get all signals from platform
+
+ if (stateChangedSpy2.count() == 2) {
+ QNetworkSession::State state =
+ qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
+ QVERIFY(state == QNetworkSession::Closing);
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0));
+ QVERIFY(state == QNetworkSession::Disconnected);
+ } else { // Assume .count() == 1
+ QCOMPARE(stateChangedSpy2.count(), 1);
+ QNetworkSession::State state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
+ // Symbian version dependant.
+ QVERIFY(state == QNetworkSession::Disconnected);
+ }
}
QTRY_VERIFY(!sessionClosedSpy.isEmpty());
- QVERIFY(session.state() == QNetworkSession::Disconnected);
- QVERIFY(session2.state() == QNetworkSession::Disconnected);
+ QTRY_VERIFY(session.state() == QNetworkSession::Disconnected);
}
QVERIFY(errorSpy2.isEmpty());
@@ -1041,7 +1114,7 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(!session.isOpen());
#endif
QVERIFY(!session2.isOpen());
- } else {
+ } else if (session2.isOpen()) {
// Test closing the second session.
{
int stateChangedCountBeforeClose = stateChangedSpy2.count();
@@ -1138,9 +1211,15 @@ QDebug operator<<(QDebug debug, const QList<QNetworkConfiguration> &list)
// at Discovered -state.
void tst_QNetworkSession::outOfProcessSession()
{
+ if (!testsToRun["outOfProcessSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#if defined(Q_OS_SYMBIAN) && defined(__WINS__)
QSKIP("Symbian emulator does not support two [QR]PRocesses linking a dll (QtBearer.dll) with global writeable static data.", SkipAll);
#endif
+ updateConfigurations();
+ QTest::qWait(2000);
+
QNetworkConfigurationManager manager;
// Create a QNetworkConfigurationManager to detect configuration changes made in Lackey. This
// is actually the essence of this testcase - to check that platform mediates/reflects changes
@@ -1161,6 +1240,7 @@ void tst_QNetworkSession::outOfProcessSession()
lackey.start("qnetworksessionlackey");
QVERIFY(lackey.waitForStarted());
+
QVERIFY(oopServer.waitForNewConnection(-1));
QLocalSocket *oopSocket = oopServer.nextPendingConnection();
@@ -1241,6 +1321,7 @@ QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfigur
// Refresh configurations and derive configurations matching given parameters.
QNetworkConfigurationManager mgr;
QSignalSpy updateSpy(&mgr, SIGNAL(updateCompleted()));
+
mgr.updateConfigurations();
QTRY_NOOP(updateSpy.count() == 1);
if (updateSpy.count() != 1) {
@@ -1249,8 +1330,7 @@ QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfigur
}
QList<QNetworkConfiguration> discoveredConfigs = mgr.allConfigurations(QNetworkConfiguration::Discovered);
foreach(QNetworkConfiguration config, discoveredConfigs) {
- if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
- // qDebug() << "Dumping config because is active: " << config.name();
+ if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
discoveredConfigs.removeOne(config);
} else if (config.type() != configType) {
// qDebug() << "Dumping config because type (IAP/SNAP) mismatches: " << config.name();
@@ -1287,9 +1367,23 @@ void updateConfigurations()
QTRY_NOOP(updateSpy.count() == 1);
}
+// A convinience-function: updates and prints all available confiurations and their states
+void printConfigurations()
+{
+ QNetworkConfigurationManager manager;
+ QList<QNetworkConfiguration> allConfigs =
+ manager.allConfigurations();
+ qDebug("tst_QNetworkSession::printConfigurations QNetworkConfigurationManager gives following configurations: ");
+ foreach(QNetworkConfiguration config, allConfigs) {
+ qDebug() << "Name of the configuration: " << config.name();
+ qDebug() << "State of the configuration: " << config.state();
+ }
+}
+
// A convinience function for test-cases: opens the given configuration and return
// true if it was done gracefully.
bool openSession(QNetworkSession *session) {
+ bool result = true;
QNetworkConfigurationManager mgr;
QSignalSpy openedSpy(session, SIGNAL(opened()));
QSignalSpy stateChangeSpy(session, SIGNAL(stateChanged(QNetworkSession::State)));
@@ -1299,43 +1393,57 @@ bool openSession(QNetworkSession *session) {
// active by some other session
QNetworkConfiguration::StateFlags configInitState = session->configuration().state();
QNetworkSession::State sessionInitState = session->state();
+ qDebug() << "tst_QNetworkSession::openSession() name of the configuration to be opened: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::openSession() state of the configuration to be opened: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::openSession() state of the session to be opened: " << session->state();
if (session->isOpen() ||
!session->sessionProperty("ActiveConfiguration").toString().isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: session was already open / active.");
- return false;
+ result = false;
} else {
session->open();
session->waitForOpened(120000); // Bringing interfaces up and down may take time at platform
}
+ QTest::qWait(5000); // Wait a moment to ensure all signals are propagated
// Check that connection opening went by the book. Add checks here if more strictness needed.
if (!session->isOpen()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::open() failed.");
- return false;
+ result = false;
}
if (openedSpy.count() != 1) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::opened() - signal not received.");
- return false;
+ result = false;
}
if (!errorSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::error() - signal was detected.");
- return false;
+ result = false;
}
if (sessionInitState != QNetworkSession::Connected &&
stateChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::stateChanged() - signals not detected.");
- return false;
+ result = false;
}
if (configInitState != QNetworkConfiguration::Active &&
configChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkConfigurationManager::configurationChanged() - signals not detected.");
- return false;
+ result = false;
}
if (session->configuration().state() != QNetworkConfiguration::Active) {
qDebug("tst_QNetworkSession::openSession() failure: session's configuration is not in 'Active' -state.");
- return false;
+ qDebug() << "tst_QNetworkSession::openSession() state is: " << session->configuration().state();
+ result = false;
+ }
+ if (result == false) {
+ qDebug() << "tst_QNetworkSession::openSession() opening session failed.";
+ } else {
+ qDebug() << "tst_QNetworkSession::openSession() opening session succeeded.";
}
- return true;
+ qDebug() << "tst_QNetworkSession::openSession() name of the configuration is: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::openSession() configuration state is: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::openSession() session state is: " << session->state();
+
+ return result;
}
// Helper function for closing opened session. Performs checks that
@@ -1348,6 +1456,11 @@ bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) {
qDebug("tst_QNetworkSession::closeSession() failure: NULL session given");
return false;
}
+
+ qDebug() << "tst_QNetworkSession::closeSession() name of the configuration to be closed: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::closeSession() state of the configuration to be closed: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::closeSession() state of the session to be closed: " << session->state();
+
if (session->state() != QNetworkSession::Connected ||
!session->isOpen()) {
qDebug("tst_QNetworkSession::closeSession() failure: session is not opened.");
@@ -1359,38 +1472,48 @@ bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) {
QSignalSpy sessionErrorSpy(session, SIGNAL(error(QNetworkSession::SessionError)));
QSignalSpy configChangeSpy(&mgr, SIGNAL(configurationChanged(QNetworkConfiguration)));
+ bool result = true;
session->close();
+ QTest::qWait(5000); // Wait a moment so that all signals are propagated
if (!sessionErrorSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::error() received.");
- return false;
+ result = false;
}
if (sessionClosedSpy.count() != 1) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::closed() signal not received.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
sessionStateChangedSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::stateChanged() signals not received.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
session->state() != QNetworkSession::Disconnected) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession is not in Disconnected -state");
- return false;
+ result = false;
}
QTRY_NOOP(!configChangeSpy.isEmpty());
if (lastSessionOnConfiguration &&
configChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkConfigurationManager::configurationChanged() - signal not detected.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
session->configuration().state() == QNetworkConfiguration::Active) {
qDebug("tst_QNetworkSession::closeSession() failure: session's configuration is still in active state.");
- return false;
+ result = false;
}
- return true;
+ if (result == false) {
+ qDebug() << "tst_QNetworkSession::closeSession() closing session failed.";
+ } else {
+ qDebug() << "tst_QNetworkSession::closeSession() closing session succeeded.";
+ }
+ qDebug() << "tst_QNetworkSession::closeSession() name of the configuration is: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::closeSession() configuration state is: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::closeSession() session state is: " << session->state();
+ return result;
}
QTEST_MAIN(tst_QNetworkSession)
diff --git a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
index 0a4abaf546..e5ef4567dc 100644
--- a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
+++ b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.h b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.h
index d1fc8aa8df..22c71f4118 100644
--- a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.h
+++ b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_dummynmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
index 22a1fc38fa..d58c6529b6 100644
--- a/tests/auto/qnmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
index d72efa26f4..b26eb2e9ef 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
index 0281340f49..9c358ce290 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime.cpp
index 606a7e7593..ee5e1a70db 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime_generic.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime_generic.cpp
index 631c9461f4..73ae4397b6 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime_generic.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_realtime_generic.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation.cpp
index 676c13b4df..d42f042e2d 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation_generic.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation_generic.cpp
index 2add9c0110..ae8ce89814 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation_generic.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource_simulation_generic.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qpacket/tst_qpacket.cpp b/tests/auto/qpacket/tst_qpacket.cpp
index ab19a6c668..a9a4790aef 100644
--- a/tests/auto/qpacket/tst_qpacket.cpp
+++ b/tests/auto/qpacket/tst_qpacket.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qpacketprotocol/tst_qpacketprotocol.cpp b/tests/auto/qpacketprotocol/tst_qpacketprotocol.cpp
index e778aca949..eb4aae9ab1 100644
--- a/tests/auto/qpacketprotocol/tst_qpacketprotocol.cpp
+++ b/tests/auto/qpacketprotocol/tst_qpacketprotocol.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qpaintervideosurface/tst_qpaintervideosurface.cpp b/tests/auto/qpaintervideosurface/tst_qpaintervideosurface.cpp
index c83262208b..923473bfa6 100644
--- a/tests/auto/qpaintervideosurface/tst_qpaintervideosurface.cpp
+++ b/tests/auto/qpaintervideosurface/tst_qpaintervideosurface.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qradioplayer/tst_qradioplayer.cpp b/tests/auto/qradioplayer/tst_qradioplayer.cpp
index e8f4485cc6..e0e56a0f34 100644
--- a/tests/auto/qradioplayer/tst_qradioplayer.cpp
+++ b/tests/auto/qradioplayer/tst_qradioplayer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qradiotuner/tst_qradiotuner.cpp b/tests/auto/qradiotuner/tst_qradiotuner.cpp
index 7e6cf2189d..b5f3bb138e 100644
--- a/tests/auto/qradiotuner/tst_qradiotuner.cpp
+++ b/tests/auto/qradiotuner/tst_qradiotuner.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/main.cpp b/tests/auto/qsensor/main.cpp
index d040b17371..93945348d2 100644
--- a/tests/auto/qsensor/main.cpp
+++ b/tests/auto/qsensor/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/qsensor.pro b/tests/auto/qsensor/qsensor.pro
index ef818fa1ab..24dec056fe 100644
--- a/tests/auto/qsensor/qsensor.pro
+++ b/tests/auto/qsensor/qsensor.pro
@@ -34,3 +34,4 @@ SOURCES += \
dummyaccelerometer.cpp\
dummycommon.cpp
+symbian:TARGET.CAPABILITY = ALL -TCB
diff --git a/tests/auto/qsensor/test_sensor.cpp b/tests/auto/qsensor/test_sensor.cpp
index 5f67a4da38..c15fcd2b06 100644
--- a/tests/auto/qsensor/test_sensor.cpp
+++ b/tests/auto/qsensor/test_sensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/test_sensor.h b/tests/auto/qsensor/test_sensor.h
index 9359e36c8f..d3e3934658 100644
--- a/tests/auto/qsensor/test_sensor.h
+++ b/tests/auto/qsensor/test_sensor.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/test_sensor_p.h b/tests/auto/qsensor/test_sensor_p.h
index 45da4d6503..63f3fdc33d 100644
--- a/tests/auto/qsensor/test_sensor_p.h
+++ b/tests/auto/qsensor/test_sensor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/test_sensorimpl.cpp b/tests/auto/qsensor/test_sensorimpl.cpp
index 1fabe15230..df2ba28242 100644
--- a/tests/auto/qsensor/test_sensorimpl.cpp
+++ b/tests/auto/qsensor/test_sensorimpl.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/test_sensorimpl.h b/tests/auto/qsensor/test_sensorimpl.h
index 065b1e0844..c3ed508f33 100644
--- a/tests/auto/qsensor/test_sensorimpl.h
+++ b/tests/auto/qsensor/test_sensorimpl.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/test_sensorplugin.cpp b/tests/auto/qsensor/test_sensorplugin.cpp
index fdfe1265e3..9dadbe51e7 100644
--- a/tests/auto/qsensor/test_sensorplugin.cpp
+++ b/tests/auto/qsensor/test_sensorplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsensor/tst_qsensor.cpp b/tests/auto/qsensor/tst_qsensor.cpp
index 457747a71e..42d4cbbd5e 100644
--- a/tests/auto/qsensor/tst_qsensor.cpp
+++ b/tests/auto/qsensor/tst_qsensor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qservicecontext/tst_qservicecontext.cpp b/tests/auto/qservicecontext/tst_qservicecontext.cpp
index c08aefa210..dd3df18423 100644
--- a/tests/auto/qservicecontext/tst_qservicecontext.cpp
+++ b/tests/auto/qservicecontext/tst_qservicecontext.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qservicefilter/tst_qservicefilter.cpp b/tests/auto/qservicefilter/tst_qservicefilter.cpp
index 1b196ac33c..8b3143c61b 100644
--- a/tests/auto/qservicefilter/tst_qservicefilter.cpp
+++ b/tests/auto/qservicefilter/tst_qservicefilter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qserviceinterfacedescriptor/tst_qserviceinterfacedescriptor.cpp b/tests/auto/qserviceinterfacedescriptor/tst_qserviceinterfacedescriptor.cpp
index 144b718e8a..0b179c2b24 100644
--- a/tests/auto/qserviceinterfacedescriptor/tst_qserviceinterfacedescriptor.cpp
+++ b/tests/auto/qserviceinterfacedescriptor/tst_qserviceinterfacedescriptor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qservicemanager/tst_qservicemanager.cpp b/tests/auto/qservicemanager/tst_qservicemanager.cpp
index 23245f64ed..6c2b379430 100644
--- a/tests/auto/qservicemanager/tst_qservicemanager.cpp
+++ b/tests/auto/qservicemanager/tst_qservicemanager.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsfwtestutil.cpp b/tests/auto/qsfwtestutil.cpp
index 804e1ad63e..3c71041977 100644
--- a/tests/auto/qsfwtestutil.cpp
+++ b/tests/auto/qsfwtestutil.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsfwtestutil.h b/tests/auto/qsfwtestutil.h
index 39d6b2609d..cfdf0f7ba4 100644
--- a/tests/auto/qsfwtestutil.h
+++ b/tests/auto/qsfwtestutil.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemdeviceinfo/tst_qsystemdeviceinfo.cpp b/tests/auto/qsystemdeviceinfo/tst_qsystemdeviceinfo.cpp
index 0df83da4bf..66ab6fb695 100644
--- a/tests/auto/qsystemdeviceinfo/tst_qsystemdeviceinfo.cpp
+++ b/tests/auto/qsystemdeviceinfo/tst_qsystemdeviceinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemdisplayinfo/tst_qsystemdisplayinfo.cpp b/tests/auto/qsystemdisplayinfo/tst_qsystemdisplayinfo.cpp
index bed74d861f..c01878939a 100644
--- a/tests/auto/qsystemdisplayinfo/tst_qsystemdisplayinfo.cpp
+++ b/tests/auto/qsystemdisplayinfo/tst_qsystemdisplayinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsysteminfo/tst_qsysteminfo.cpp b/tests/auto/qsysteminfo/tst_qsysteminfo.cpp
index c0cdec4bf5..4a96d11a15 100644
--- a/tests/auto/qsysteminfo/tst_qsysteminfo.cpp
+++ b/tests/auto/qsysteminfo/tst_qsysteminfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsysteminfotestcommon.h b/tests/auto/qsysteminfotestcommon.h
index 977a22d935..556942af3a 100644
--- a/tests/auto/qsysteminfotestcommon.h
+++ b/tests/auto/qsysteminfotestcommon.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemnetworkinfo/tst_qsystemnetworkinfo.cpp b/tests/auto/qsystemnetworkinfo/tst_qsystemnetworkinfo.cpp
index 33b2fb8979..50e3c801aa 100644
--- a/tests/auto/qsystemnetworkinfo/tst_qsystemnetworkinfo.cpp
+++ b/tests/auto/qsystemnetworkinfo/tst_qsystemnetworkinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemreadwritelock/tst_qsystemreadwritelock.cpp b/tests/auto/qsystemreadwritelock/tst_qsystemreadwritelock.cpp
index 3c702d34bf..42c6f6f9eb 100644
--- a/tests/auto/qsystemreadwritelock/tst_qsystemreadwritelock.cpp
+++ b/tests/auto/qsystemreadwritelock/tst_qsystemreadwritelock.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemreadwritelock_oop/common.h b/tests/auto/qsystemreadwritelock_oop/common.h
index 14acfe611a..c87780579a 100644
--- a/tests/auto/qsystemreadwritelock_oop/common.h
+++ b/tests/auto/qsystemreadwritelock_oop/common.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemreadwritelock_oop/lackey/main.cpp b/tests/auto/qsystemreadwritelock_oop/lackey/main.cpp
index e5f9c1b458..83d1026773 100644
--- a/tests/auto/qsystemreadwritelock_oop/lackey/main.cpp
+++ b/tests/auto/qsystemreadwritelock_oop/lackey/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemreadwritelock_oop/tst_qsystemreadwritelock_oop.cpp b/tests/auto/qsystemreadwritelock_oop/tst_qsystemreadwritelock_oop.cpp
index d559db7f95..113eb60145 100644
--- a/tests/auto/qsystemreadwritelock_oop/tst_qsystemreadwritelock_oop.cpp
+++ b/tests/auto/qsystemreadwritelock_oop/tst_qsystemreadwritelock_oop.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemscreensaver/tst_qsystemscreensaver.cpp b/tests/auto/qsystemscreensaver/tst_qsystemscreensaver.cpp
index 02875ee2f7..afa0951c83 100644
--- a/tests/auto/qsystemscreensaver/tst_qsystemscreensaver.cpp
+++ b/tests/auto/qsystemscreensaver/tst_qsystemscreensaver.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qsystemstorageinfo/tst_qsystemstorageinfo.cpp b/tests/auto/qsystemstorageinfo/tst_qsystemstorageinfo.cpp
index 270ae96647..c58ae593b7 100644
--- a/tests/auto/qsystemstorageinfo/tst_qsystemstorageinfo.cpp
+++ b/tests/auto/qsystemstorageinfo/tst_qsystemstorageinfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespace/tst_qvaluespace.cpp b/tests/auto/qvaluespace/tst_qvaluespace.cpp
index 1b9326bb28..5231b72e62 100644
--- a/tests/auto/qvaluespace/tst_qvaluespace.cpp
+++ b/tests/auto/qvaluespace/tst_qvaluespace.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespacepublisher/tst_qvaluespacepublisher.cpp b/tests/auto/qvaluespacepublisher/tst_qvaluespacepublisher.cpp
index 34b32880bc..9510604f81 100644
--- a/tests/auto/qvaluespacepublisher/tst_qvaluespacepublisher.cpp
+++ b/tests/auto/qvaluespacepublisher/tst_qvaluespacepublisher.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespacesubscriber/lackey/main.cpp b/tests/auto/qvaluespacesubscriber/lackey/main.cpp
index 7c00c33e8d..4c1c79014c 100644
--- a/tests/auto/qvaluespacesubscriber/lackey/main.cpp
+++ b/tests/auto/qvaluespacesubscriber/lackey/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber/tst_qvaluespacesubscriber.cpp b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber/tst_qvaluespacesubscriber.cpp
index 6a422272f8..26e0c638bd 100644
--- a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber/tst_qvaluespacesubscriber.cpp
+++ b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber/tst_qvaluespacesubscriber.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber_oop/tst_qvaluespacesubscriber_oop.cpp b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber_oop/tst_qvaluespacesubscriber_oop.cpp
index 8d5ca7f062..26cbfe1b88 100644
--- a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber_oop/tst_qvaluespacesubscriber_oop.cpp
+++ b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscriber_oop/tst_qvaluespacesubscriber_oop.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -88,7 +88,7 @@ int main(int argc, char** argv)
return QTest::qExec(&test, argc-1, argv);
} else {
#ifdef Q_OS_UNIX
- QFile::remove("/tmp/qt-0/valuespace_shmlayer");
+ QFile::remove("/tmp/qt/valuespace_shmlayer");
#endif
QValueSpace::initValueSpaceServer();
QProcess process;
diff --git a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.cpp b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.cpp
index cae0bb5e43..e29fc75c7d 100644
--- a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.cpp
+++ b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.h b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.h
index b627a50a23..145dd8c1a5 100644
--- a/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.h
+++ b/tests/auto/qvaluespacesubscriber/tst_qvaluespacesubscribershared.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvcard21writer/tst_qvcard21writer.cpp b/tests/auto/qvcard21writer/tst_qvcard21writer.cpp
index ac1719de23..b857297629 100644
--- a/tests/auto/qvcard21writer/tst_qvcard21writer.cpp
+++ b/tests/auto/qvcard21writer/tst_qvcard21writer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvcard21writer/tst_qvcard21writer.h b/tests/auto/qvcard21writer/tst_qvcard21writer.h
index 3f45647397..610569da6d 100644
--- a/tests/auto/qvcard21writer/tst_qvcard21writer.h
+++ b/tests/auto/qvcard21writer/tst_qvcard21writer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvcard30writer/tst_qvcard30writer.cpp b/tests/auto/qvcard30writer/tst_qvcard30writer.cpp
index 1edca870b6..e4e5b7845e 100644
--- a/tests/auto/qvcard30writer/tst_qvcard30writer.cpp
+++ b/tests/auto/qvcard30writer/tst_qvcard30writer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -160,7 +160,7 @@ void tst_QVCard30Writer::testEncodeVersitProperty_data()
// Value is base64 encoded.
QByteArray value("value");
- expectedResult = "Springfield.HOUSE.PHOTO;ENCODING=B:" + value.toBase64() + "\r\n";
+ expectedResult = "Springfield.HOUSE.PHOTO;ENCODING=b:" + value.toBase64() + "\r\n";
QStringList groups(QString::fromAscii("Springfield"));
groups.append(QString::fromAscii("HOUSE"));
property.setGroups(groups);
diff --git a/tests/auto/qvcard30writer/tst_qvcard30writer.h b/tests/auto/qvcard30writer/tst_qvcard30writer.h
index a054ac351f..9f7eeda84a 100644
--- a/tests/auto/qvcard30writer/tst_qvcard30writer.h
+++ b/tests/auto/qvcard30writer/tst_qvcard30writer.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversit/tst_qversit.cpp b/tests/auto/qversit/tst_qversit.cpp
index 9c5fcfdf4c..f996d3a4fa 100644
--- a/tests/auto/qversit/tst_qversit.cpp
+++ b/tests/auto/qversit/tst_qversit.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -43,6 +43,7 @@
#include "tst_qversit.h"
#include "qversitreader.h"
#include "qversitreader_p.h"
+#include "qversitcontactexporter.h"
#include "qversitcontactimporter.h"
#include "qcontact.h"
#include "qcontactmanager.h"
@@ -81,6 +82,102 @@ public:
int mIndex;
QMap<QString, QByteArray> mObjects;
};
+
+
+class MyDetailHandler : public QVersitContactExporterDetailHandler {
+public:
+ MyDetailHandler() : detailNumber(0) {}
+ bool preProcessDetail(const QContact& contact, const QContactDetail& detail,
+ QVersitDocument* document) {
+ Q_UNUSED(contact) Q_UNUSED(detail) Q_UNUSED(document)
+ return false;
+ }
+ /* eg. a detail with definition name "Detail" and fields "Field1"="Value1" and
+ * "Field2"="Value2" will be exported to the vCard properties:
+ * G0.DETAIL-FIELD1:Value1
+ * G0.DETAIL-FIELD2:Value2
+ * And the next detail (say, "Detail" with a field "Field1"="Value3" will generate:
+ * G1.DETAIL-FIELD1:Value3
+ * ie. Different details will have different vCard groups.
+ */
+ bool postProcessDetail(const QContact& contact, const QContactDetail& detail,
+ bool alreadyProcessed, QVersitDocument* document) {
+ Q_UNUSED(contact)
+ // beware: if the base implementation exports some but not all fields, alreadyProcessed
+ // will be true and the unprocessed fields won't be exported
+ if (alreadyProcessed)
+ return false;
+ if (detail.definitionName() == QContactType::DefinitionName)
+ return false; // special case of an unhandled detail that we don't export
+ QVersitProperty property;
+ QVariantMap fields = detail.variantValues();
+ // fields from the same detail have the same group so the importer can collate them
+ QString detailGroup = QLatin1String("G") + QString::number(detailNumber++);
+ for (QVariantMap::const_iterator it = fields.constBegin();
+ it != fields.constEnd();
+ it++) {
+ property.setGroups(QStringList(detailGroup));
+ // beware: detail.definitionName and the field name will be made uppercase on export
+ property.setName(QLatin1String("X-QCONTACTDETAIL-")
+ + detail.definitionName()
+ + QLatin1String("-")
+ + it.key());
+ // beware: this might not handle nonstring values properly:
+ property.setValue(it.value());
+ document->addProperty(property);
+ }
+ return true;
+ }
+private:
+ int detailNumber;
+};
+
+class MyPropertyHandler : public QVersitContactImporterPropertyHandler {
+public:
+ bool preProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
+ int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(property) Q_UNUSED(contactIndex) Q_UNUSED(contact)
+ return false;
+ }
+ /* eg. if the document has the properties:
+ * G0.DETAIL-FIELD1:Value1
+ * G0.DETAIL-FIELD2:Value2
+ * G1.DETAIL-FIELD1:Value3
+ * This will generate two details - the first with fields "FIELD1"="Value1" and
+ * "FIELD2"="Value2" and the second with "FIELD1"="Value3"
+ * ie. the vCard groups determine which properties form a single detail.
+ */
+ bool postProcessProperty(const QVersitDocument& document, const QVersitProperty& property,
+ bool alreadyProcessed, int contactIndex, QContact* contact) {
+ Q_UNUSED(document) Q_UNUSED(contactIndex)
+ const QString prefix = QLatin1String("X-QCONTACTDETAIL-");
+ if (alreadyProcessed)
+ return false;
+ if (!property.name().startsWith(prefix))
+ return false;
+ QString detailAndField = property.name().mid(prefix.size());
+ QStringList detailAndFieldParts = detailAndField.split(QLatin1Char('-'),
+ QString::SkipEmptyParts);
+ if (detailAndFieldParts.size() != 2)
+ return false;
+ QString definitionName = detailAndFieldParts.at(0);
+ QString fieldName = detailAndFieldParts.at(1);
+ if (property.groups().size() != 1)
+ return false;
+ QString group = property.groups().first();
+ // find a detail generated from the a property with the same group
+ QContactDetail detail = handledDetails.value(group);
+ // make sure the the existing detail has the same definition name
+ if (detail.definitionName() != definitionName)
+ detail = QContactDetail(definitionName);
+ detail.setValue(fieldName, property.value());
+ contact->saveDetail(&detail);
+ handledDetails.insert(group, detail);
+ return false;
+ }
+ QMap<QString, QContactDetail> handledDetails; // map from group name to detail
+};
+
QTM_END_NAMESPACE
QTM_USE_NAMESPACE
@@ -90,6 +187,7 @@ QTM_USE_NAMESPACE
#endif
Q_DECLARE_METATYPE(QList<QContact>)
+Q_DECLARE_METATYPE(QContact)
void tst_QVersit::testImportFiles()
{
@@ -111,6 +209,8 @@ void tst_QVersit::testImportFiles()
QVersitContactImporter importer;
MyQVersitResourceHandler resourceHandler;
importer.setResourceHandler(&resourceHandler);
+ MyPropertyHandler propertyHandler;
+ importer.setPropertyHandler(&propertyHandler);
QVERIFY(importer.importDocuments(documents));
QList<QContact> contacts = importer.contacts();
@@ -161,7 +261,6 @@ void tst_QVersit::testImportFiles_data()
name.setCustomLabel(QLatin1String("Firstname Lastname"));
name.setFirstName(QLatin1String("Firstname"));
name.setLastName(QLatin1String("Lastname"));
- name.setMiddleName(QString());
name.setPrefix(QLatin1String("Title"));
name.setSuffix(QLatin1String("Suffix"));
contact.saveDetail(&name);
@@ -197,9 +296,6 @@ void tst_QVersit::testImportFiles_data()
name.setCustomLabel(QLatin1String("first last"));
name.setFirstName(QLatin1String("first"));
name.setLastName(QLatin1String("last"));
- name.setMiddleName(QString());
- name.setPrefix(QString());
- name.setSuffix(QString());
contact.saveDetail(&name);
QContactOrganization org;
org.setName(QLatin1String("Nokia"));
@@ -218,10 +314,6 @@ void tst_QVersit::testImportFiles_data()
QContact contact;
QContactName name;
name.setFirstName(QLatin1String("name"));
- name.setLastName(QString());
- name.setMiddleName(QString());
- name.setPrefix(QString());
- name.setSuffix(QString());
contact.saveDetail(&name);
QContactFamily family;
family.setChildren(QStringList(QLatin1String("Child1")));
@@ -250,4 +342,51 @@ void tst_QVersit::testImportFiles_data()
}
}
+void tst_QVersit::testExportImport()
+{
+ // Test that a contact, when exported, then imported again, is unaltered
+ QFETCH(QContact, contact);
+
+ QVersitContactExporter exporter;
+ MyDetailHandler detailHandler;
+ exporter.setDetailHandler(&detailHandler);
+ QVERIFY(exporter.exportContacts(QList<QContact>() << contact, QVersitDocument::VCard30Type));
+ QList<QVersitDocument> documents = exporter.documents();
+ QCOMPARE(documents.size(), 1);
+
+ QVersitContactImporter importer;
+ MyPropertyHandler propertyHandler;
+ importer.setPropertyHandler(&propertyHandler);
+ QVERIFY(importer.importDocuments(documents));
+ QList<QContact> contacts = importer.contacts();
+ QCOMPARE(contacts.size(), 1);
+ // We can't do a deep compare because detail ids are different
+ QCOMPARE(contacts.first().details().count(), contact.details().count());
+}
+
+void tst_QVersit::testExportImport_data()
+{
+ QTest::addColumn<QContact>("contact");
+
+ QContact contact;
+ QContactName name;
+ name.setFirstName(QLatin1String("first"));
+ name.setLastName(QLatin1String("last"));
+ name.setCustomLabel(QLatin1String("custom"));
+ contact.saveDetail(&name);
+ // detail definition/field names are encoded as vCard property names, which must be uppercase,
+ // so only uppercase definition/field names work.
+ QContactDetail customDetail1("CUSTOMDETAIL");
+ customDetail1.setValue(QLatin1String("CUSTOMFIELD11"), QLatin1String("Value11"));
+ customDetail1.setValue(QLatin1String("CUSTOMFIELD12"), QLatin1String("Value12"));
+ contact.saveDetail(&customDetail1);
+ QContactDetail customDetail2("CUSTOMDETAIL");
+ customDetail2.setValue(QLatin1String("CUSTOMFIELD21"), QLatin1String("Value21"));
+ customDetail2.setValue(QLatin1String("CUSTOMFIELD22"), QLatin1String("Value22"));
+ contact.saveDetail(&customDetail2);
+ contact.setType(QContactType::TypeContact);
+
+ QTest::newRow("custom detail") << contact;
+}
+
QTEST_MAIN(tst_QVersit)
diff --git a/tests/auto/qversit/tst_qversit.h b/tests/auto/qversit/tst_qversit.h
index d6cd555e7e..a40ead1813 100644
--- a/tests/auto/qversit/tst_qversit.h
+++ b/tests/auto/qversit/tst_qversit.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -62,6 +62,8 @@ class tst_QVersit : public QObject
private slots: // Tests
void testImportFiles();
void testImportFiles_data();
+ void testExportImport();
+ void testExportImport_data();
private:
};
diff --git a/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.cpp b/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.cpp
index 0c5f16f983..841300f14f 100644
--- a/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.cpp
+++ b/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.h b/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.h
index c225fd422c..79346d4520 100644
--- a/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.h
+++ b/tests/auto/qversitcontactexporter/tst_qversitcontactexporter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.cpp b/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.cpp
index d7e96c3c19..a6a5442b9d 100644
--- a/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.cpp
+++ b/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.h b/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.h
index b9989cea5a..917e9a1b54 100644
--- a/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.h
+++ b/tests/auto/qversitcontactimporter/tst_qversitcontactimporter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitdocument/tst_qversitdocument.cpp b/tests/auto/qversitdocument/tst_qversitdocument.cpp
index 75128a635c..f17c935da3 100644
--- a/tests/auto/qversitdocument/tst_qversitdocument.cpp
+++ b/tests/auto/qversitdocument/tst_qversitdocument.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitdocument/tst_qversitdocument.h b/tests/auto/qversitdocument/tst_qversitdocument.h
index 83438bf88e..efb765b97c 100644
--- a/tests/auto/qversitdocument/tst_qversitdocument.h
+++ b/tests/auto/qversitdocument/tst_qversitdocument.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitproperty/tst_qversitproperty.cpp b/tests/auto/qversitproperty/tst_qversitproperty.cpp
index f2a261e0f8..1350eab15b 100644
--- a/tests/auto/qversitproperty/tst_qversitproperty.cpp
+++ b/tests/auto/qversitproperty/tst_qversitproperty.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -95,18 +95,18 @@ void tst_QVersitProperty::testParameters()
mVersitProperty->insertParameter(name,value1);
QMultiHash<QString,QString> parameters = mVersitProperty->parameters();
QCOMPARE(parameters.count(), 1);
- QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("HOME")));
+ QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("home")));
QString value2(QString::fromAscii("voice"));
mVersitProperty->insertParameter(name,value2);
parameters = mVersitProperty->parameters();
QCOMPARE(parameters.count(), 2);
- QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("HOME")));
- QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("VOICE")));
+ QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("home")));
+ QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("voice")));
mVersitProperty->removeParameter(name,value1);
QCOMPARE(mVersitProperty->parameters().count(), 1);
- QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("HOME")));
+ QVERIFY(parameters.contains(typeParameterName,QString::fromAscii("home")));
mVersitProperty->removeParameter(name,value2);
QCOMPARE(mVersitProperty->parameters().count(), 0);
diff --git a/tests/auto/qversitproperty/tst_qversitproperty.h b/tests/auto/qversitproperty/tst_qversitproperty.h
index db56b0eda2..12ba542320 100644
--- a/tests/auto/qversitproperty/tst_qversitproperty.h
+++ b/tests/auto/qversitproperty/tst_qversitproperty.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitreader/tst_qversitreader.cpp b/tests/auto/qversitreader/tst_qversitreader.cpp
index f982dfcd0f..04efa6eb2a 100644
--- a/tests/auto/qversitreader/tst_qversitreader.cpp
+++ b/tests/auto/qversitreader/tst_qversitreader.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -69,6 +69,12 @@
// This says "NOKIA" in Katakana encoded with UTF-8
const QByteArray KATAKANA_NOKIA("\xe3\x83\x8e\xe3\x82\xad\xe3\x82\xa2");
+const static QByteArray SAMPLE_GIF_BASE64(QByteArray(
+ "R0lGODlhEgASAIAAAAAAAP///yH5BAEAAAEALAAAAAASABIAAAIdjI+py+0G"
+ "wEtxUmlPzRDnzYGfN3KBaKGT6rDmGxQAOw=="));
+
+const static QByteArray SAMPLE_GIF(QByteArray::fromBase64(SAMPLE_GIF_BASE64));
+
Q_DECLARE_METATYPE(QVersitDocument::VersitType);
Q_DECLARE_METATYPE(QVersitProperty);
@@ -556,34 +562,43 @@ void tst_QVersitReader::testParseNextVersitProperty_data()
{
QVersitProperty expectedProperty;
+ expectedProperty.setName(QLatin1String("ORG"));
+ expectedProperty.setValue(QString::fromUtf8(KATAKANA_NOKIA));
+ expectedProperty.setValueType(QVersitProperty::CompoundType);
+ QTest::newRow("vcard21 org utf8 qp")
+ << QVersitDocument::VCard21Type
+ << QByteArray("ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E3=83=8E=E3=82=AD=E3=82=A2\r\n")
+ << expectedProperty;
+ QTest::newRow("vcard30 org utf8 qp")
+ << QVersitDocument::VCard30Type
+ << QByteArray("ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E3=83=8E=E3=82=AD=E3=82=A2\r\n")
+ << expectedProperty;
+ }
+
+ {
+ QVersitProperty expectedProperty;
expectedProperty.setName(QLatin1String("PHOTO"));
- expectedProperty.setValue(QLatin1String("Qt is great!"));
+ expectedProperty.setValue(SAMPLE_GIF);
expectedProperty.setValueType(QVersitProperty::BinaryType);
QTest::newRow("vcard21 photo1")
<< QVersitDocument::VCard21Type
- << QByteArray("PHOTO;ENCODING=BASE64: U\t XQgaX MgZ\t3Jl YXQh\r\n\r\n")
+ << QByteArray("PHOTO;ENCODING=BASE64:") + SAMPLE_GIF_BASE64 + QByteArray("\r\n\r\n")
<< expectedProperty;
QTest::newRow("vcard30 photo1")
<< QVersitDocument::VCard30Type
- << QByteArray("PHOTO;ENCODING=B: U\t XQgaX MgZ\t3Jl YXQh\r\n\r\n")
+ << QByteArray("PHOTO;ENCODING=B:") + SAMPLE_GIF_BASE64 + QByteArray("\r\n\r\n")
<< expectedProperty;
- }
// Again, but without the explicit "ENCODING" parameter
- {
- QVersitProperty expectedProperty;
- expectedProperty.setName(QLatin1String("PHOTO"));
- expectedProperty.setValue(QLatin1String("Qt is great!"));
- expectedProperty.setValueType(QVersitProperty::BinaryType);
- QTest::newRow("photo2")
+ QTest::newRow("vcard21 photo2")
<< QVersitDocument::VCard21Type
- << QByteArray("PHOTO;BASE64: U\t XQgaX MgZ\t3Jl YXQh\r\n\r\n")
+ << QByteArray("PHOTO;BASE64:") + SAMPLE_GIF_BASE64 + QByteArray("\r\n\r\n")
<< expectedProperty;
- QTest::newRow("photo2")
+ QTest::newRow("vcard30 photo2")
<< QVersitDocument::VCard30Type
- << QByteArray("PHOTO;B: U\t XQgaX MgZ\t3Jl YXQh\r\n\r\n")
+ << QByteArray("PHOTO;B:") + SAMPLE_GIF_BASE64 + QByteArray("\r\n\r\n")
<< expectedProperty;
}
@@ -600,17 +615,6 @@ void tst_QVersitReader::testParseNextVersitProperty_data()
}
{
- QVersitProperty expectedProperty;
- expectedProperty.setName(QLatin1String("EMAIL"));
- expectedProperty.setValue(QLatin1String("john.citizen@example.com"));
- expectedProperty.setValueType(QVersitProperty::PlainType);
- QTest::newRow("email qp utf16")
- << QVersitDocument::VCard21Type
- << QByteArray("EMAIL;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-16BE:" + QTextCodec::codecForName("UTF-16BE")->fromUnicode(QLatin1String("john.citizen=40exam=\r\nple.com")) + "\r\n")
- << expectedProperty;
- }
-
- {
QVersitDocument subDocument;
subDocument.setType(QVersitDocument::VCard30Type);
QVersitProperty subProperty;
@@ -757,9 +761,9 @@ void tst_QVersitReader::testDecodeQuotedPrintable()
#ifndef QT_BUILD_INTERNAL
QSKIP("Testing private API", SkipSingle);
#else
- QFETCH(QString, encoded);
+ QFETCH(QByteArray, encoded);
- QFETCH(QString, decoded);
+ QFETCH(QByteArray, decoded);
mReaderPrivate->decodeQuotedPrintable(encoded);
QCOMPARE(encoded, decoded);
#endif
@@ -768,49 +772,49 @@ void tst_QVersitReader::testDecodeQuotedPrintable()
void tst_QVersitReader::testDecodeQuotedPrintable_data()
{
#ifdef QT_BUILD_INTERNAL
- QTest::addColumn<QString>("encoded");
- QTest::addColumn<QString>("decoded");
+ QTest::addColumn<QByteArray>("encoded");
+ QTest::addColumn<QByteArray>("decoded");
QTest::newRow("Soft line breaks")
- << QString::fromLatin1("This=\r\n is =\r\none line.")
- << QString::fromLatin1("This is one line.");
+ << QByteArray("This=\r\n is =\r\none line.")
+ << QByteArray("This is one line.");
QTest::newRow("Characters recommended to be encoded according to RFC 1521")
- << QString::fromLatin1("To be decoded: =0A=0D=21=22=23=24=3D=40=5B=5C=5D=5E=60=7B=7C=7D=7E")
- << QString::fromLatin1("To be decoded: \n\r!\"#$=@[\\]^`{|}~");
+ << QByteArray("To be decoded: =0A=0D=21=22=23=24=3D=40=5B=5C=5D=5E=60=7B=7C=7D=7E")
+ << QByteArray("To be decoded: \n\r!\"#$=@[\\]^`{|}~");
QTest::newRow("Characters recommended to be encoded according to RFC 1521(lower case)")
- << QString::fromLatin1("To be decoded: =0a=0d=21=22=23=24=3d=40=5b=5c=5d=5e=60=7b=7c=7d=7e")
- << QString::fromLatin1("To be decoded: \n\r!\"#$=@[\\]^`{|}~");
+ << QByteArray("To be decoded: =0a=0d=21=22=23=24=3d=40=5b=5c=5d=5e=60=7b=7c=7d=7e")
+ << QByteArray("To be decoded: \n\r!\"#$=@[\\]^`{|}~");
QTest::newRow("random characters encoded")
- << QString::fromLatin1("=45=6E=63=6F=64=65=64 =64=61=74=61")
- << QString::fromLatin1("Encoded data");
+ << QByteArray("=45=6E=63=6F=64=65=64 =64=61=74=61")
+ << QByteArray("Encoded data");
QTest::newRow("short string1")
- << QString::fromLatin1("-=_")
- << QString::fromLatin1("-=_");
+ << QByteArray("-=_")
+ << QByteArray("-=_");
QTest::newRow("short string2")
- << QString::fromLatin1("=0")
- << QString::fromLatin1("=0");
+ << QByteArray("=0")
+ << QByteArray("=0");
QTest::newRow("short string2")
- << QString::fromLatin1("\r")
- << QString::fromLatin1("\r");
+ << QByteArray("\r")
+ << QByteArray("\r");
QTest::newRow("short string2")
- << QString::fromLatin1("\n")
- << QString::fromLatin1("\n");
+ << QByteArray("\n")
+ << QByteArray("\n");
QTest::newRow("short string2")
- << QString::fromLatin1("\n\r")
- << QString::fromLatin1("\n\r");
+ << QByteArray("\n\r")
+ << QByteArray("\n\r");
QTest::newRow("White spaces")
- << QString::fromLatin1("=09=20")
- << QString::fromLatin1("\t ");
+ << QByteArray("=09=20")
+ << QByteArray("\t ");
#endif
}
void tst_QVersitReader::testParamName()
diff --git a/tests/auto/qversitreader/tst_qversitreader.h b/tests/auto/qversitreader/tst_qversitreader.h
index 643790070f..590c97b9d7 100644
--- a/tests/auto/qversitreader/tst_qversitreader.h
+++ b/tests/auto/qversitreader/tst_qversitreader.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitwriter/tst_qversitwriter.cpp b/tests/auto/qversitwriter/tst_qversitwriter.cpp
index c0edb45ec2..cff2c63bf2 100644
--- a/tests/auto/qversitwriter/tst_qversitwriter.cpp
+++ b/tests/auto/qversitwriter/tst_qversitwriter.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qversitwriter/tst_qversitwriter.h b/tests/auto/qversitwriter/tst_qversitwriter.h
index 087558d02a..d224e1cfe1 100644
--- a/tests/auto/qversitwriter/tst_qversitwriter.h
+++ b/tests/auto/qversitwriter/tst_qversitwriter.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/qvideowidget/tst_qvideowidget.cpp b/tests/auto/qvideowidget/tst_qvideowidget.cpp
index 2caee03e60..649a22bf37 100644
--- a/tests/auto/qvideowidget/tst_qvideowidget.cpp
+++ b/tests/auto/qvideowidget/tst_qvideowidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/servicedatabase/tst_servicedatabase.cpp b/tests/auto/servicedatabase/tst_servicedatabase.cpp
index 017b61a60c..0e0660593e 100644
--- a/tests/auto/servicedatabase/tst_servicedatabase.cpp
+++ b/tests/auto/servicedatabase/tst_servicedatabase.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/servicemetadata/tst_servicemetadata.cpp b/tests/auto/servicemetadata/tst_servicemetadata.cpp
index 5dd6dd7ac3..5ba579084c 100644
--- a/tests/auto/servicemetadata/tst_servicemetadata.cpp
+++ b/tests/auto/servicemetadata/tst_servicemetadata.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/support/support.h b/tests/auto/support/support.h
index d230190a3d..0c3402c657 100644
--- a/tests/auto/support/support.h
+++ b/tests/auto/support/support.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/support/support_maemo5.cpp b/tests/auto/support/support_maemo5.cpp
index 94e081689f..5397993f43 100644
--- a/tests/auto/support/support_maemo5.cpp
+++ b/tests/auto/support/support_maemo5.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/support/support_qmf.cpp b/tests/auto/support/support_qmf.cpp
index 5c89944afc..bc2d31b21d 100644
--- a/tests/auto/support/support_qmf.cpp
+++ b/tests/auto/support/support_qmf.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/support/support_stub.cpp b/tests/auto/support/support_stub.cpp
index 206551e20a..a0921df18c 100644
--- a/tests/auto/support/support_stub.cpp
+++ b/tests/auto/support/support_stub.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/support/support_symbian.cpp b/tests/auto/support/support_symbian.cpp
index 53e444c0ea..7eb23353ee 100644
--- a/tests/auto/support/support_symbian.cpp
+++ b/tests/auto/support/support_symbian.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -342,7 +342,7 @@ QMessageAccountId createPopAndSmtpAccountL(const TDesC& accountName, const TDesC
CleanupStack::PopAndDestroy(pImIAPPreferences);
CleanupStack::PopAndDestroy(pEmailAccounts);
- return QMessageAccountId(addIdPrefix(QString::number(popAccount.iPopService)));
+ return QMessageAccountId(addIdPrefix(QString::number(popAccount.iPopService), SymbianHelpers::EngineTypeMTM));
}
QMessageAccountId createPopAndSmtpAccount(const TDesC& accountName, const TDesC& fromAddress)
@@ -458,14 +458,20 @@ QMessageAccountId createImapAndSmtpAccountL(const TDesC& accountName, const TDes
pImSmtpSettings->SetReplyToAddressL(fromAddress);
pImSmtpSettings->SetReceiptAddressL(fromAddress);
pImSmtpSettings->SetPort(25);
- pEmailAccounts->CreateSmtpAccountL(imapAccount, *pImSmtpSettings, *pImIAPPreferences, EFalse);
+ TSmtpAccount smtpAccount = pEmailAccounts->CreateSmtpAccountL(imapAccount, *pImSmtpSettings, *pImIAPPreferences, EFalse);
+
+ TSmtpAccount defaultAccount;
+ if (pEmailAccounts->DefaultSmtpAccountL(defaultAccount) == KErrNotFound)
+ {
+ pEmailAccounts->SetDefaultSmtpAccountL(smtpAccount);
+ }
CleanupStack::PopAndDestroy(pImSmtpSettings);
CleanupStack::PopAndDestroy(pImap4Settings);
CleanupStack::PopAndDestroy(pImIAPPreferences);
CleanupStack::PopAndDestroy(pEmailAccounts);
- return QMessageAccountId(addIdPrefix(QString::number(imapAccount.iImapService)));
+ return QMessageAccountId(addIdPrefix(QString::number(imapAccount.iImapService), SymbianHelpers::EngineTypeMTM));
}
QMessageAccountId createImapAndSmtpAccount(const TDesC& accountName, const TDesC& fromAddress)
@@ -520,7 +526,7 @@ QMessageFolderId addFolderL(const TDesC& symbianAccountName, const TDesC& symbia
serviceEntryIdString = nullString.left(8-serviceEntryIdString.length()) + serviceEntryIdString;
QString folderIdString = QString::number(folderId);
folderIdString = nullString.left(8-folderIdString.length()) + folderIdString;
- return addIdPrefix(serviceEntryIdString+folderIdString);
+ return addIdPrefix(serviceEntryIdString+folderIdString, SymbianHelpers::EngineTypeMTM);
}
QMessageFolderId addFolder(const Parameters &params)
diff --git a/tests/auto/support/support_win.cpp b/tests/auto/support/support_win.cpp
index 2561d973a4..e077cdd7b0 100644
--- a/tests/auto/support/support_win.cpp
+++ b/tests/auto/support/support_win.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/symbian/qmediaobject_s60/tst_qmediaobject_s60.cpp b/tests/auto/symbian/qmediaobject_s60/tst_qmediaobject_s60.cpp
index edae34cc2d..517d15cd20 100644
--- a/tests/auto/symbian/qmediaobject_s60/tst_qmediaobject_s60.cpp
+++ b/tests/auto/symbian/qmediaobject_s60/tst_qmediaobject_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/symbian/qmediaplayer_s60/tst_qmediaplayer_s60.cpp b/tests/auto/symbian/qmediaplayer_s60/tst_qmediaplayer_s60.cpp
index 914026a106..ca55f62008 100644
--- a/tests/auto/symbian/qmediaplayer_s60/tst_qmediaplayer_s60.cpp
+++ b/tests/auto/symbian/qmediaplayer_s60/tst_qmediaplayer_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/symbian/qmediaplaylist_s60/tst_qmediaplaylist_s60.cpp b/tests/auto/symbian/qmediaplaylist_s60/tst_qmediaplaylist_s60.cpp
index 201cd6db13..9d7c79da04 100644
--- a/tests/auto/symbian/qmediaplaylist_s60/tst_qmediaplaylist_s60.cpp
+++ b/tests/auto/symbian/qmediaplaylist_s60/tst_qmediaplaylist_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/symbian/qmediarecorder_s60/tst_qmediarecorder_s60.cpp b/tests/auto/symbian/qmediarecorder_s60/tst_qmediarecorder_s60.cpp
index b0c530b429..2e639ac7ca 100644
--- a/tests/auto/symbian/qmediarecorder_s60/tst_qmediarecorder_s60.cpp
+++ b/tests/auto/symbian/qmediarecorder_s60/tst_qmediarecorder_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/symbian/qradiotuner_s60/tst_qradiotuner_s60.cpp b/tests/auto/symbian/qradiotuner_s60/tst_qradiotuner_s60.cpp
index 443a71f091..ffc4c34e81 100644
--- a/tests/auto/symbian/qradiotuner_s60/tst_qradiotuner_s60.cpp
+++ b/tests/auto/symbian/qradiotuner_s60/tst_qradiotuner_s60.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/testqgeopositioninfosource.cpp b/tests/auto/testqgeopositioninfosource.cpp
index ec00b66560..d35504cd9d 100644
--- a/tests/auto/testqgeopositioninfosource.cpp
+++ b/tests/auto/testqgeopositioninfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/testqgeopositioninfosource_p.h b/tests/auto/testqgeopositioninfosource_p.h
index 2dddb5f533..1c602af2d4 100644
--- a/tests/auto/testqgeopositioninfosource_p.h
+++ b/tests/auto/testqgeopositioninfosource_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/testqgeosatelliteinfosource.cpp b/tests/auto/testqgeosatelliteinfosource.cpp
index 631413b04d..cbc3d5b747 100644
--- a/tests/auto/testqgeosatelliteinfosource.cpp
+++ b/tests/auto/testqgeosatelliteinfosource.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/auto/testqgeosatelliteinfosource_p.h b/tests/auto/testqgeosatelliteinfosource_p.h
index 38c4438590..6dd3b36fad 100644
--- a/tests/auto/testqgeosatelliteinfosource_p.h
+++ b/tests/auto/testqgeosatelliteinfosource_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/bearerex/bearerex.cpp b/tests/bearerex/bearerex.cpp
index f62d8d2eb4..17e5c65173 100644
--- a/tests/bearerex/bearerex.cpp
+++ b/tests/bearerex/bearerex.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -39,6 +39,7 @@
**
****************************************************************************/
#include "bearerex.h"
+#include "datatransferer.h"
#include <QtNetwork>
@@ -260,8 +261,8 @@ SessionTab::SessionTab(QNetworkConfiguration* apNetworkConfiguration,
QListWidget* eventListWidget,
int index,
BearerEx * parent)
- : QWidget(parent), m_http(0), m_eventListWidget(eventListWidget),
- m_index(index), m_httpRequestOngoing(false), m_alrEnabled (false)
+ : QWidget(parent), m_dataTransferer(0), m_eventListWidget(eventListWidget),
+ m_index(index), m_alrEnabled (false)
{
setupUi(this);
@@ -299,37 +300,46 @@ SessionTab::SessionTab(QNetworkConfiguration* apNetworkConfiguration,
SessionTab::~SessionTab()
{
- delete m_NetworkSession;
- delete m_http;
+ delete m_NetworkSession; m_NetworkSession = 0;
+ delete m_dataTransferer; m_dataTransferer = 0;
}
-void SessionTab::on_createQHttpButton_clicked()
+void SessionTab::on_createQNetworkAccessManagerButton_clicked()
{
- if (m_httpRequestOngoing) {
- return;
+ if (m_dataTransferer) {
+ disconnect(m_dataTransferer, 0, 0, 0);
+ delete m_dataTransferer;
+ m_dataTransferer = 0;
}
-
- if (m_http) {
- disconnect(m_http, 0, 0, 0);
- delete m_http;
+ // Create new object according to current selection
+ QString type(comboBox->currentText());
+ if (type == "QNAM") {
+ m_dataTransferer = new DataTransfererQNam(this);
+ } else if (type == "QTcpSocket") {
+ m_dataTransferer = new DataTransfererQTcp(this);
+ } else if (type == "QHttp") {
+ m_dataTransferer = new DataTransfererQHttp(this);
+ } else {
+ qDebug("BearerEx Warning, unknown data transfer object requested, not creating anything.");
+ return;
}
- m_http = new QHttp(this);
- createQHttpButton->setText("Recreate QHttp");
- connect(m_http, SIGNAL(done(bool)), this, SLOT(done(bool)));
+ createQNetworkAccessManagerButton->setText("Recreate");
+ connect(m_dataTransferer, SIGNAL(finished(quint32, qint64, QString)), this, SLOT(finished(quint32, qint64, QString)));
}
void SessionTab::on_sendRequestButton_clicked()
{
- if (m_http) {
- QString urlstring("http://www.google.com");
- QUrl url(urlstring);
- m_http->setHost(url.host(), QHttp::ConnectionModeHttp, url.port() == -1 ? 0 : url.port());
- m_http->get(urlstring);
- m_httpRequestOngoing = true;
+ if (m_dataTransferer) {
+ if (!m_dataTransferer->transferData()) {
+ QMessageBox msgBox;
+ msgBox.setStandardButtons(QMessageBox::Close);
+ msgBox.setText("Data transfer not started. \nVery likely data transfer ongoing.");
+ msgBox.exec();
+ }
} else {
QMessageBox msgBox;
msgBox.setStandardButtons(QMessageBox::Close);
- msgBox.setText("QHttp not created.\nCreate QHttp First.");
+ msgBox.setText("Data object not created.\nCreate data object first.");
msgBox.exec();
}
}
@@ -414,7 +424,7 @@ void SessionTab::opened()
listItem->setText(QString("S")+QString::number(m_index)+QString(" - ")+QString("Opened"));
m_eventListWidget->addItem(listItem);
- QVariant identifier = m_NetworkSession->property("ActiveConfiguration");
+ QVariant identifier = m_NetworkSession->sessionProperty("ActiveConfiguration");
if (!identifier.isNull()) {
QString configId = identifier.toString();
QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId);
@@ -424,7 +434,7 @@ void SessionTab::opened()
}
if (m_NetworkSession->configuration().type() == QNetworkConfiguration::UserChoice) {
- QVariant identifier = m_NetworkSession->property("UserChoiceConfiguration");
+ QVariant identifier = m_NetworkSession->sessionProperty("UserChoiceConfiguration");
if (!identifier.isNull()) {
QString configId = identifier.toString();
QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId);
@@ -475,6 +485,18 @@ QString SessionTab::stateString(QNetworkSession::State state)
return stateString;
}
+void SessionTab::on_dataObjectChanged(const QString &newObjectType)
+{
+ qDebug() << "BearerEx SessionTab dataObjectChanged to: " << newObjectType;
+ if (m_dataTransferer) {
+ disconnect(m_dataTransferer, 0, 0, 0);
+ delete m_dataTransferer; m_dataTransferer = 0;
+ qDebug() << "BearerEx SessionTab, previous data object deleted.";
+ }
+ createQNetworkAccessManagerButton->setText("Create");
+}
+
+
void SessionTab::stateChanged(QNetworkSession::State state)
{
newState(state);
@@ -486,7 +508,7 @@ void SessionTab::stateChanged(QNetworkSession::State state)
void SessionTab::newState(QNetworkSession::State state)
{
- QVariant identifier = m_NetworkSession->property("ActiveConfiguration");
+ QVariant identifier = m_NetworkSession->sessionProperty("ActiveConfiguration");
if (state == QNetworkSession::Connected && !identifier.isNull()) {
QString configId = identifier.toString();
QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId);
@@ -537,23 +559,25 @@ void SessionTab::error(QNetworkSession::SessionError error)
msgBox.exec();
}
-void SessionTab::done(bool error)
+void SessionTab::finished(quint32 errorCode, qint64 dataReceived, QString errorType)
{
- m_httpRequestOngoing = false;
-
QMessageBox msgBox;
msgBox.setStandardButtons(QMessageBox::Close);
- if (error) {
- msgBox.setText("HTTP request failed.");
+ msgBox.setText(QString("Data transfer completed. \nError code: ") + QString::number(errorCode) +
+ "\nError type: " + errorType +
+ "\nBytes received: " +
+ QString::number(dataReceived));
+ msgBox.exec();
+ // Check if the networksession still exists - it may have gone after returning from
+ // the modal dialog (in the case that app has been closed, and deleting QHttp will
+ // trigger the done() invokation).
+ if (m_NetworkSession) {
+ sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+
+ QString(" / ")+
+ QString::number(m_NetworkSession->bytesReceived()));
} else {
- QString result(m_http->readAll());
- msgBox.setText(QString("HTTP request finished successfully.\nReceived ")+QString::number(result.length())+QString(" bytes."));
+ sentRecDataLineEdit->setText("Data amounts not available.");
}
- msgBox.exec();
-
- sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+
- QString(" / ")+
- QString::number(m_NetworkSession->bytesReceived()));
}
// End of file
diff --git a/tests/bearerex/bearerex.h b/tests/bearerex/bearerex.h
index 4fe0bd27df..e60d11de31 100644
--- a/tests/bearerex/bearerex.h
+++ b/tests/bearerex/bearerex.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -54,13 +54,16 @@
#endif
#include "qnetworkconfigmanager.h"
#include "qnetworksession.h"
+#include "datatransferer.h"
#include "xqlistwidget.h"
QT_BEGIN_NAMESPACE
-class QHttp;
+class QNetworkAccessManager;
+class QNetworkReply;
QT_END_NAMESPACE
class SessionTab;
+class DataTransferer;
QTM_USE_NAMESPACE
@@ -112,14 +115,15 @@ public:
QString stateString(QNetworkSession::State state);
private Q_SLOTS:
- void on_createQHttpButton_clicked();
+ void on_createQNetworkAccessManagerButton_clicked();
void on_sendRequestButton_clicked();
void on_openSessionButton_clicked();
void on_closeSessionButton_clicked();
void on_stopConnectionButton_clicked();
void on_deleteSessionButton_clicked();
+ void on_dataObjectChanged(const QString& newObjectType);
void on_alrButton_clicked();
- void done(bool error);
+ void finished(quint32 errorCode, qint64 dataReceived, QString errorType);
void newConfigurationActivated();
void preferredConfigurationChanged(const QNetworkConfiguration& config, bool isSeamless);
@@ -130,13 +134,14 @@ private Q_SLOTS:
void error(QNetworkSession::SessionError error);
private: //data
- QHttp* m_http;
+ // QNetworkAccessManager* m_networkAccessManager;
+ DataTransferer* m_dataTransferer;
QNetworkSession* m_NetworkSession;
QNetworkConfigurationManager* m_ConfigManager;
QListWidget* m_eventListWidget;
QNetworkConfiguration m_config;
int m_index;
- bool m_httpRequestOngoing;
+ bool m_dataTransferOngoing;
bool m_alrEnabled;
};
diff --git a/tests/bearerex/bearerex.pro b/tests/bearerex/bearerex.pro
index b56c57bc6a..2fddc1d80f 100644
--- a/tests/bearerex/bearerex.pro
+++ b/tests/bearerex/bearerex.pro
@@ -24,11 +24,13 @@ INCLUDEPATH += . \
# Example headers and sources
HEADERS += bearerex.h \
- xqlistwidget.h
+ xqlistwidget.h \
+ datatransferer.h
SOURCES += bearerex.cpp \
main.cpp \
- xqlistwidget.cpp
+ xqlistwidget.cpp \
+ datatransferer.cpp
CONFIG += mobility
MOBILITY = bearer
diff --git a/tests/bearerex/datatransferer.cpp b/tests/bearerex/datatransferer.cpp
new file mode 100644
index 0000000000..ef5753ec14
--- /dev/null
+++ b/tests/bearerex/datatransferer.cpp
@@ -0,0 +1,179 @@
+#include <QDebug>
+#include <QUrl>
+#include <QByteArray>
+#include <QDataStream>
+#include "datatransferer.h"
+
+DataTransferer::DataTransferer(QObject *parent) :
+ QObject(parent), m_dataTransferOngoing(false)
+{
+}
+
+bool DataTransferer::dataTransferOngoing()
+{
+ return m_dataTransferOngoing;
+}
+
+
+
+// -------- Based on QTcp
+
+DataTransfererQTcp::DataTransfererQTcp(QObject* parent) :
+ DataTransferer(parent)
+{
+ qDebug("BearerEx DataTransferer QTcp created.");
+
+ connect(&m_qsocket, SIGNAL(readyRead()), this, SLOT(readyRead()));
+ connect(&m_qsocket, SIGNAL(connected()), this, SLOT(connected()));
+ connect(&m_qsocket, SIGNAL(error(QAbstractSocket::SocketError)),
+ this, SLOT(error(QAbstractSocket::SocketError)));
+}
+
+DataTransfererQTcp::~DataTransfererQTcp()
+{
+ qDebug("BearerEx DataTransferer QTcp destroyed.");
+ m_qsocket.abort();
+}
+
+bool DataTransfererQTcp::transferData()
+{
+ if (m_dataTransferOngoing) {
+ return false;
+ }
+ qDebug("BearerEx datatransfer for QTcp requested.");
+ // Connect to host
+ QUrl url("http://www.google.com.au");
+ m_qsocket.connectToHost(url.host(), url.port(80));
+
+ // m_qsocket.connectToHost("http://www.google.com", 80);
+ // Wait for connected() signal.
+ m_dataTransferOngoing = true;
+ return true;
+}
+
+void DataTransfererQTcp::connected()
+{
+ qDebug("BearerEx DataTransfererQtcp connected, requesting data.");
+ // Establish HTTP request
+ //QByteArray request("GET / HTTP/1.1 \nHost: www.google.com\n\n");
+ QByteArray request("GET / HTTP/1.1\n\n");
+
+ // QByteArray request("GET /index.html HTTP/1.1 \n Host: www.google.com \n\n");
+ qint64 dataWritten = m_qsocket.write(request);
+ m_qsocket.flush();
+
+ qDebug() << "BearerEx DataTransferQTcp wrote " << dataWritten << " bytes";
+ // Start waiting for readyRead() of error()
+}
+
+void DataTransfererQTcp::readyRead()
+{
+ qDebug() << "BearerEx DataTransfererQTcp readyRead() with ";
+ qint64 bytesAvailable = m_qsocket.bytesAvailable();
+ qDebug() << bytesAvailable << " bytes available.";
+
+ // QDataStream in(&m_qsocket);
+ QByteArray array = m_qsocket.readAll();
+ QString data = QString::fromAscii(array);
+
+ // in >> data;
+
+ qDebug() << "BearerEx DataTransferQTcp data received: " << data;
+ m_dataTransferOngoing = false;
+ // m_qsocket.error() returns uninitialized value in case no error has occured,
+ // so emit '0'
+ emit finished(0, bytesAvailable, "QAbstractSocket::SocketError");
+}
+
+void DataTransfererQTcp::error(QAbstractSocket::SocketError socketError)
+{
+ qDebug("BearerEx DataTransfererQTcp error(), aborting socket.");
+ m_qsocket.abort();
+ m_dataTransferOngoing = false;
+ emit finished(socketError, 0, "QAbstractSocket::SocketError");
+}
+
+// -------- Based on QHttp
+
+DataTransfererQHttp::DataTransfererQHttp(QObject* parent) :
+ DataTransferer(parent)
+{
+ connect(&m_qhttp, SIGNAL(done(bool)), this, SLOT(done(bool)));
+ qDebug("BearerEx DataTransferer QHttp created.");
+}
+
+DataTransfererQHttp::~DataTransfererQHttp()
+{
+ qDebug("BearerEx DataTransferer QHttp destroyed.");
+}
+
+bool DataTransfererQHttp::transferData()
+{
+ qDebug("BearerEx datatransfer for QHttp requested.");
+ if (m_dataTransferOngoing) {
+ return false;
+ }
+ QString urlstring("http://www.google.com");
+ QUrl url(urlstring);
+ m_qhttp.setHost(url.host(), QHttp::ConnectionModeHttp, url.port() == -1 ? 0 : url.port());
+ m_qhttp.get(urlstring);
+ m_dataTransferOngoing = true;
+ return true;
+}
+
+void DataTransfererQHttp::done(bool /*error*/ )
+{
+ qDebug("BearerEx DatatransfererQHttp reply was finished (error code is type QHttp::Error).");
+ qint64 dataReceived = 0;
+ quint32 errorCode = m_qhttp.error();
+ if (m_qhttp.error() == QHttp::NoError) {
+ QString result(m_qhttp.readAll());
+ dataReceived = result.length();
+ }
+ m_dataTransferOngoing = false;
+ emit finished(errorCode, dataReceived, "QHttp::Error");
+}
+
+// -------- Based on QNetworkAccessManager
+
+DataTransfererQNam::DataTransfererQNam(QObject* parent) :
+ DataTransferer(parent)
+{
+ connect(&m_qnam, SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(replyFinished(QNetworkReply*)));
+ qDebug("BearerEx DataTransferer QNam created.");
+}
+
+DataTransfererQNam::~DataTransfererQNam()
+{
+ qDebug("BearerEx DataTransferer QNam destroyed.");
+}
+
+bool DataTransfererQNam::transferData()
+{
+ qDebug("BearerEx datatransfer for QNam requested.");
+ if (m_dataTransferOngoing) {
+ return false;
+ }
+ m_qnam.get(QNetworkRequest(QUrl("http://www.google.com")));
+ m_dataTransferOngoing = true;
+ return true;
+}
+
+void DataTransfererQNam::replyFinished(QNetworkReply *reply)
+{
+ qDebug("BearerEx DatatransfererQNam reply was finished (error code is type QNetworkReply::NetworkError).");
+ qint64 dataReceived = 0;
+ quint32 errorCode = (quint32)reply->error();
+
+ if (reply->error() == QNetworkReply::NoError) {
+ QString result(reply->readAll());
+ dataReceived = result.length();
+ }
+ m_dataTransferOngoing = false;
+ emit finished(errorCode, dataReceived, "QNetworkReply::NetworkError");
+ reply->deleteLater();
+}
+
+
+
diff --git a/tests/bearerex/datatransferer.h b/tests/bearerex/datatransferer.h
new file mode 100644
index 0000000000..b3afef67ef
--- /dev/null
+++ b/tests/bearerex/datatransferer.h
@@ -0,0 +1,89 @@
+#ifndef DATATRANSFERER_H
+#define DATATRANSFERER_H
+
+#include <QObject>
+#include <QString>
+#include <QNetworkReply>
+#include <QNetworkAccessManager>
+#include <QTcpSocket>
+#include <QHttp>
+#include <QDebug>
+
+// Interface-class for data transferring object
+
+class DataTransferer : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DataTransferer(QObject *parent = 0);
+ virtual ~DataTransferer() {
+ if (m_dataTransferOngoing) {
+ qDebug("BearerEx Warning: dataobjects transfer was ongoing when destroyed.");
+ }
+ }
+ virtual bool transferData() = 0;
+ bool dataTransferOngoing();
+
+signals:
+ void finished(quint32 errorCode, qint64 dataReceived, QString errorType);
+
+public slots:
+
+protected:
+ bool m_dataTransferOngoing;
+};
+
+
+// Specializations/concrete classes
+
+class DataTransfererQTcp : public DataTransferer
+{
+ Q_OBJECT
+public:
+ DataTransfererQTcp(QObject* parent = 0);
+ ~DataTransfererQTcp();
+
+ virtual bool transferData();
+
+public slots:
+ void readyRead();
+ void error(QAbstractSocket::SocketError socketError);
+ void connected();
+
+private:
+ QTcpSocket m_qsocket;
+};
+
+class DataTransfererQNam : public DataTransferer
+{
+ Q_OBJECT
+public:
+ DataTransfererQNam(QObject* parent = 0);
+ ~DataTransfererQNam();
+
+ virtual bool transferData();
+
+public slots:
+ void replyFinished(QNetworkReply* reply);
+
+private:
+ QNetworkAccessManager m_qnam;
+};
+
+class DataTransfererQHttp : public DataTransferer
+{
+ Q_OBJECT
+public:
+ DataTransfererQHttp(QObject* parent = 0);
+ ~DataTransfererQHttp();
+
+ virtual bool transferData();
+
+public slots:
+ void done(bool error);
+
+private:
+ QHttp m_qhttp;
+};
+
+#endif // DATATRANSFERER_H
diff --git a/tests/bearerex/main.cpp b/tests/bearerex/main.cpp
index e13a494ee5..63aa0704be 100644
--- a/tests/bearerex/main.cpp
+++ b/tests/bearerex/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/bearerex/sessiondialog.ui b/tests/bearerex/sessiondialog.ui
index fcf21368b2..f175411b11 100644
--- a/tests/bearerex/sessiondialog.ui
+++ b/tests/bearerex/sessiondialog.ui
@@ -1,139 +1,187 @@
-<ui version="4.0" >
- <class>SessionTab</class>
- <widget class="QWidget" name="SessionTab" >
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <layout class="QFormLayout" name="formLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="snapLabel" >
- <property name="text" >
- <string>SNAP</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="snapLineEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="iapLabel" >
- <property name="text" >
- <string>IAP</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLineEdit" name="iapLineEdit" >
- <property name="enabled" >
- <bool>true</bool>
- </property>
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="bearerLabel" >
- <property name="text" >
- <string>Bearer</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QLineEdit" name="bearerLineEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="sentRecDataLabel" >
- <property name="text" >
- <string>Sent/Rec.</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1" >
- <widget class="QLineEdit" name="sentRecDataLineEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="stateLabel" >
- <property name="text" >
- <string>State</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1" >
- <widget class="QLineEdit" name="stateLineEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <widget class="QPushButton" name="openSessionButton" >
- <property name="text" >
- <string>Open Session</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QPushButton" name="closeSessionButton" >
- <property name="text" >
- <string>Close Session</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QPushButton" name="stopConnectionButton" >
- <property name="text" >
- <string>Stop Conn.</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QPushButton" name="createQHttpButton" >
- <property name="text" >
- <string>Create QHttp</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QPushButton" name="sendRequestButton" >
- <property name="text" >
- <string>Send Test Req.</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0" >
- <widget class="QPushButton" name="alrButton" >
- <property name="text" >
- <string>Enable ALR</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1" >
- <widget class="QPushButton" name="deleteSessionButton" >
- <property name="text" >
- <string>Delete Session</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SessionTab</class>
+ <widget class="QWidget" name="SessionTab">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>192</width>
+ <height>262</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="snapLabel">
+ <property name="text">
+ <string>SNAP</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="snapLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="iapLabel">
+ <property name="text">
+ <string>IAP</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="iapLineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="bearerLabel">
+ <property name="text">
+ <string>Bearer</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="bearerLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="sentRecDataLabel">
+ <property name="text">
+ <string>Sent/Rec.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="sentRecDataLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="stateLabel">
+ <property name="text">
+ <string>State</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="stateLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="openSessionButton">
+ <property name="text">
+ <string>Open Session</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="closeSessionButton">
+ <property name="text">
+ <string>Close Session</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="stopConnectionButton">
+ <property name="text">
+ <string>Stop Conn.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="alrButton">
+ <property name="text">
+ <string>Enable ALR</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QPushButton" name="sendRequestButton">
+ <property name="text">
+ <string>Send Test Req.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="createQNetworkAccessManagerButton">
+ <property name="text">
+ <string>Create</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QComboBox" name="comboBox">
+ <item>
+ <property name="text">
+ <string>QNAM</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>QTcpSocket</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>QHttp</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QPushButton" name="deleteSessionButton">
+ <property name="text">
+ <string>Delete Session</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>comboBox</sender>
+ <signal>currentIndexChanged(QString)</signal>
+ <receiver>SessionTab</receiver>
+ <slot>on_dataObjectChanged(QString)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>40</x>
+ <y>211</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>10</x>
+ <y>258</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+ <slots>
+ <slot>on_dataObjectChanged(QString)</slot>
+ </slots>
+</ui>
diff --git a/tests/bearerex/xqlistwidget.cpp b/tests/bearerex/xqlistwidget.cpp
index 0618725702..f831fdb563 100644
--- a/tests/bearerex/xqlistwidget.cpp
+++ b/tests/bearerex/xqlistwidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/bearerex/xqlistwidget.h b/tests/bearerex/xqlistwidget.h
index 1053328000..23ed21d212 100644
--- a/tests/bearerex/xqlistwidget.h
+++ b/tests/bearerex/xqlistwidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/benchmarks/contacts/contacts.pro b/tests/benchmarks/contacts/contacts.pro
index 93fa5d1369..cb0439c4c3 100644
--- a/tests/benchmarks/contacts/contacts.pro
+++ b/tests/benchmarks/contacts/contacts.pro
@@ -16,6 +16,15 @@ include(../../../common.pri)
CONFIG += mobility
MOBILITY = contacts
+
+EXTRAPLUGINS = \
+ $$mobilityDeployFilename(qtcontacts_symbian)
+
+symbian:QCONTACT_PLUGINS_DEPLOY.sources = $$join(EXTRAPLUGINS, ".dll ", " ", ".dll")
+QCONTACT_PLUGINS_DEPLOY.path = ./plugins/contacts
+DEPLOYMENT += QCONTACT_PLUGINS_DEPLOY
+
+
symbian {
LIBS += -lcntmodel
TARGET.CAPABILITY = All -TCB
diff --git a/tests/benchmarks/contacts/tst_bm_contacts.cpp b/tests/benchmarks/contacts/tst_bm_contacts.cpp
index 4e3defa908..b0d1bb8d1a 100644
--- a/tests/benchmarks/contacts/tst_bm_contacts.cpp
+++ b/tests/benchmarks/contacts/tst_bm_contacts.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -64,30 +64,45 @@
QTM_USE_NAMESPACE
-//Q_DECLARE_METATYPE(QSystemInfo::Version);
-//Q_DECLARE_METATYPE(QSystemInfo::Feature);
-
class tst_Contact : public QObject
{
Q_OBJECT
+public:
+ enum platform {
+ QContacts,
+ Native
+ };
+
+
private slots:
void initTestCase();
void cleanupTestCase();
+ void tst_createTime_data();
void tst_createTime();
+ void tst_fetchAllContactIds_data();
void tst_fetchAllContactIds();
+ void tst_fetchOneContact_data();
void tst_fetchOneContact();
+ void tst_fetchTenContact_data();
void tst_fetchTenContact();
//void tst_fetchAllContact();
- void tst_createContact();
- void tst_saveContact();
+ void tst_createContact_data();
+ void tst_createContact();
+
+ void tst_saveContact_data();
+ void tst_saveContact();
+ void tst_nameFilter_data();
void tst_nameFilter();
+ void tst_removeOneContact_data();
void tst_removeOneContact();
+
+ void tst_removeAllContacts_data();
void tst_removeAllContacts();
@@ -107,20 +122,19 @@ public slots:
void timeout();
void resultsAvailable();
void resultsAvailableFilter();
- void setBackend(QString);
+ //void setManager(QContactManager *mgr);
private:
- void createContact();
- void clearContacts();
- int countContacts();
-
- enum {
- BackendQContacts,
- BackendContactsModel
- } m_backend;
+ void createContact(QContactManager *mgr, enum platform p = QContacts);
+ void clearContacts(QContactManager *mgr, enum platform p = QContacts);
+ int countContacts(QContactManager *mgr, enum platform p = QContacts);
+
QString manager;
QEventLoop *loop;
- QContactManager *m_qm;
+// QContactManager *m_qm;
+ QContactManager *m_systemManager;
+ QList<QContactManager *> m_managers;
+// enum platform m_platform;
int m_num_contacts;
QList<QContactLocalId> id_list;
@@ -134,74 +148,36 @@ private:
};
-void tst_Contact::setBackend(QString backend)
-{
- manager = backend;
- if(manager == "SymbianContactsModel") // Only one at the moment
- m_backend = BackendContactsModel;
- else
- m_backend = BackendQContacts;
- qWarning() << "Backend set to: " << manager;
-}
+Q_DECLARE_METATYPE(QContactManager *);
+Q_DECLARE_METATYPE(tst_Contact::platform);
void tst_Contact::initTestCase()
-{
+{
qDebug() << "Managers: " << QContactManager::availableManagers();
m_run = 0;
+ m_systemManager = 0x0;
-#if defined(Q_WS_MAEMO_6)
- QStringList list = QContactManager::availableManagers();
- int found = 0;
+ QStringList list = QContactManager::availableManagers();
while(!list.empty()){
- if(list.takeFirst() == "tracker"){
- found = 1;
- break;
+ QString mgr = list.takeFirst();
+ if((mgr != "invalid") && (mgr != "testdummy") && (mgr != "maliciousplugin")){
+ m_managers.append(new QContactManager(mgr));
+ if((mgr == "symbian") || (mgr == "tracker") || (mgr == "maemo5")) {
+ qDebug() << "Found system manager: " << mgr;
+ m_systemManager = m_managers.last();
}
- }
- if(!found)
- QFAIL("Unable to find Maemo 6 tracker plugin. Please check install");
-
- if(manager.isEmpty())
- manager = "memory";
- m_qm = new QContactManager(manager);
-#elif defined(Q_WS_MAEMO_5)
- if(manager.isEmpty()){
- //Looking for a manager
- QStringList list = QContactManager::availableManagers();
- if (list.contains("maemo5")){
- manager = "maemo5";
- } else {
- QFAIL("Unable to find Maemo 5 plugin. Please check install");
+ if(!m_systemManager && mgr == "memory"){
+ qDebug() << "Found system manager of last resort: " << mgr;
+ m_systemManager = m_managers.last();
}
+ }
}
- m_qm = new QContactManager(manager);
-
-#elif defined(Q_OS_SYMBIAN)
- if(m_backend != BackendContactsModel) {
- QStringList list = QContactManager::availableManagers();
- int found = 0;
- while(!list.empty()){
- if(list.takeFirst() == "symbian"){
- found = 1;
- break;
- }
- }
- if(!found) {
- QFAIL("Unable to find Symbian plugin. Please check install");
- }
-
- if(manager.isEmpty()) {
- manager = "symbian";
- }
- m_qm = new QContactManager(manager);
+ if(m_managers.isEmpty()) {
+ QFAIL("Unable to find valid managers. Please check install");
}
- else {
- m_qm = 0x0;
+ if(!m_systemManager){
+ QFAIL("Unable to find a default plugin to use, please install plugins or fix test");
}
-#else
- QFAIL("Platform not supported");
-#endif
-
// setup an event loop for waiting
loop = new QEventLoop;
@@ -209,15 +185,17 @@ void tst_Contact::initTestCase()
firstNames << "Anahera" << "Anaru" << "Hemi" << "Hine" << "Kiri" << "Maata" << "Mere" << "Moana" << "Paora" << "Petera" << "Piripi" << "Ruiha" << "Tane" << "Whetu";
lastNames << "Ati Awa" << "Kai Taho" << "Moriori" << "Muaupoko" << "Nga Rauru" << "Taranaki" << "Opotoki" << "Aotea" << "Taninui" << "Tuhourangi" << "Tainui" << "Waitaha";
- m_num_start = countContacts();
+ m_num_start = countContacts(m_systemManager);
qDebug() << "Number of Contact: " << m_num_start;
for(int i = 0; i < 20; i++){
- createContact();
+ foreach(QContactManager *mgr, m_managers){
+ createContact(mgr);
+ }
}
- int after = countContacts();
+ int after = countContacts(m_systemManager);
if(after - m_num_start != 20){
qWarning() << "Failed to create 20 contacts";
}
@@ -227,12 +205,13 @@ void tst_Contact::initTestCase()
}
-int tst_Contact::countContacts()
+int tst_Contact::countContacts(QContactManager *manager, enum platform platform)
{
- if(m_backend == BackendQContacts) {
- QList<QContactLocalId> qcl = m_qm->contactIds();
+ if(platform == tst_Contact::QContacts) {
+ QList<QContactLocalId> qcl = manager->contactIds();
return qcl.count();
- } else if(m_backend == BackendContactsModel){
+ }
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
CContactDatabase* contactsDb = CContactDatabase::OpenL();
CleanupStack::PushL(contactsDb);
@@ -252,94 +231,232 @@ int tst_Contact::countContacts()
void tst_Contact::cleanupTestCase()
{
- clearContacts();
- int num_end = countContacts();
- if(m_num_start != num_end){
- QFAIL(QString("Number of contacts ending: %2 is different that starting number %1. Poor cleanup").arg(m_num_start).arg(num_end).toAscii());
- }
+ foreach(QContactManager *manager, m_managers) {
+ clearContacts(manager);
+ }
+ if(countContacts(0x0, Native))
+ clearContacts(0x0, tst_Contact::Native);
+ int num_end = countContacts(0x0, tst_Contact::Native);
+ if(num_end){
+ qWarning() << "Ended with: " << num_end << " contacts, should be 0";
+ }
}
-void tst_Contact::clearContacts()
+void tst_Contact::createContact(QContactManager *manager, enum platform platform)
{
- if(m_backend == BackendQContacts) {
- QMap<int, QContactManager::Error> errorMap;
- m_qm->removeContacts(id_list, &errorMap);
- id_list.clear();
+ if(platform == tst_Contact::QContacts) {
+ QContact *c = new QContact;
+ c->setType(QContactType::TypeContact);
+ QContactName cname;
+ QString name;
+ name = firstNames.takeFirst();
+ firstNames.push_back(name);
+ cname.setFirstName(name);
+ name = lastNames.takeFirst();
+ lastNames.push_back(name);
+ cname.setLastName(name);
+#ifndef Q_WS_MAEMO_5
+ cname.setPrefix("Mr");
+#endif
+ c->saveDetail(&cname);
+
+ if(!manager->saveContact(c)){
+ qDebug() << "Failed to create contact during setup";
+ return;
+ }
+ id_list.append(c->localId());
+ delete c;
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
+ // Create a contact card and add a work phone number. Numeric values are
+ // stored in a text field (storage type = KStorageTypeText).
+
CContactDatabase* db = CContactDatabase::OpenL();
CleanupStack::PushL(db);
- CContactIdArray* idArray = CContactIdArray::NewLC();
- while(!id_list.isEmpty())
- idArray->AddL(id_list.takeFirst());
- db->DeleteContactsL(*idArray);
+ CContactCard* newCard = CContactCard::NewLC();
+
+ QString name;
+
+ // Create the firstName field and add the data to it
+ name = firstNames.takeFirst();
+ firstNames.push_back(name);
+ CContactItemField* firstName = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldGivenName);
+ TPtrC Firstname(reinterpret_cast<const TUint16*>(name.utf16()));
+ firstName->TextStorage()->SetTextL(Firstname);
+ newCard->AddFieldL(*firstName);
+ CleanupStack::Pop(firstName);
+
+ // Create the lastName field and add the data to it
+ name = lastNames.takeFirst();
+ lastNames.push_back(name);
+ CContactItemField* lastName= CContactItemField::NewLC(KStorageTypeText, KUidContactFieldFamilyName);
+ TPtrC Lastname(reinterpret_cast<const TUint16*>(name.utf16()));
+ lastName->TextStorage()->SetTextL(Lastname);
+ newCard->AddFieldL(*lastName);
+ CleanupStack::Pop(lastName);
+
+ CContactItemField* prefix = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldPrefixName);
+ _LIT(KPrefix, "Mr");
+ prefix->TextStorage()->SetTextL(KPrefix);
+ newCard->AddFieldL(*prefix);
+ CleanupStack::Pop(prefix);
+
+ // Add newCard to the database
+ const TContactItemId contactId = db->AddNewContactL(*newCard);
+ db->CloseContactL(contactId);
+
+ id_list.append(contactId);
+ CleanupStack::PopAndDestroy(2, db); //newCard, contactsDb
+#else
+ qWarning("No native test for createContact");
+#endif
+ }
+}
+
+void tst_Contact::clearContacts(QContactManager *manager, enum platform platform)
+{
+ if(platform == tst_Contact::QContacts) {
+ QMap<int, QContactManager::Error> errorMap;
+ manager->removeContacts(id_list, &errorMap);
+ id_list.clear();
+ }
+ else if(platform == tst_Contact::Native){
+#ifdef Q_OS_SYMBIAN
+ CContactDatabase* contactDb = CContactDatabase::OpenL();
+ CleanupStack::PushL(contactDb);
- CleanupStack::PopAndDestroy(2); //idArray, contactsDb
+ CCntFilter *filter = CCntFilter::NewL();
+ CleanupStack::PushL(filter);
+ //get all contact items (no groups, templates...)
+ filter->SetContactFilterTypeALL(EFalse);
+ filter->SetContactFilterTypeCard(ETrue);
+ TRAPD(err, contactDb->FilterDatabaseL(*filter));
+ if(err != KErrNone){
+ qWarning() << "clearContacts failed to get any contacts error: " << err;
+ CleanupStack::PopAndDestroy(2, contactDb);
+ return;
+ }
+
+ CContactIdArray *iContacts = 0;
+ TRAP(err, iContacts = CContactIdArray::NewL(filter->iIds));
+ if(err != KErrNone){
+ CleanupStack::PopAndDestroy(2, contactDb); //idArray, contactsDb
+ return;
+ }
+ CleanupStack::PushL(iContacts);
+
+ TRAP(err, contactDb->DeleteContactsL(*iContacts));
+ if(err != KErrNone)
+ qWarning() << "DeleteContacts failed with: " << err;
+
+ CleanupStack::PopAndDestroy(3, contactDb); //idArray, contactsDb
#endif
}
}
+void tst_Contact::tst_createTime_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
void tst_Contact::tst_createTime()
{
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
- if(m_backend == BackendQContacts){
+ if(platform == tst_Contact::QContacts){
+
QContactManager *qm = 0x0;
QBENCHMARK {
- qm = new QContactManager(manager);
+ qm = new QContactManager(manager->managerName());
}
-
delete qm;
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
CContactDatabase* db = 0x0;
QBENCHMARK {
db = CContactDatabase::OpenL();
}
CleanupStack::PushL(db);
- CleanupStack::PopAndDestroy(1); //db
+ CleanupStack::PopAndDestroy(db); //db
#endif
}
}
+void tst_Contact::tst_fetchAllContactIds_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
+
void tst_Contact::tst_fetchAllContactIds()
-{
- if(m_backend == BackendQContacts) {
- QList<QContactLocalId> ql;
+{
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts) {
+ QList<QContactLocalId> ql;
+
QBENCHMARK {
- ql = m_qm->contactIds();
+ ql = manager->contactIds();
}
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
//open database
// Open the default contact database
CContactDatabase* contactsDb = CContactDatabase::OpenL();
- CleanupStack::PushL(contactsDb);
+ CleanupStack::PushL(contactsDb);
CCntFilter *filter = CCntFilter::NewLC();
-
+
//get all contact items (no groups, templates...)
filter->SetContactFilterTypeALL(EFalse);
filter->SetContactFilterTypeCard(ETrue);
-
QBENCHMARK {
contactsDb->FilterDatabaseL(*filter);
CContactIdArray *iContacts = CContactIdArray::NewLC(filter->iIds);
+ CleanupStack::PopAndDestroy(iContacts);
}
-
- CleanupStack::PopAndDestroy(3); //iContacts, filter, contactsDb
+ CleanupStack::PopAndDestroy(2, contactsDb); //iContacts, filter, contactsDb
#endif
}
}
+void tst_Contact::tst_fetchOneContact_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
void tst_Contact::tst_fetchOneContact()
{
- if(m_backend == BackendQContacts){
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts){
QContact c;
m_run++;
@@ -348,7 +465,7 @@ void tst_Contact::tst_fetchOneContact()
int ret;
QContactFetchRequest* req = new QContactFetchRequest;
- QList<QContactLocalId> qcl = m_qm->contactIds();
+ QList<QContactLocalId> qcl = manager->contactIds();
if(qcl.count() < 1)
QFAIL("No contacts to pull from tracker");
QList<QContactLocalId> one;
@@ -357,7 +474,7 @@ void tst_Contact::tst_fetchOneContact()
idFil.setIds(one);
req->setFilter(idFil);
- req->setManager(m_qm);
+ req->setManager(manager);
//connect(req, SIGNAL(progress(QContactFetchRequest*, bool)), this, SLOT(gotContact(QContactFetchRequest*,bool)));
//connect(req, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(stateChanged(QContactAbstractRequest::State)));
connect(req, SIGNAL(resultsAvailable()), this, SLOT(resultsAvailable()));
@@ -378,51 +495,70 @@ void tst_Contact::tst_fetchOneContact()
delete req;
#elif defined(Q_OS_SYMBIAN)
- QList<QContactLocalId> qcl = m_qm->contactIds();
+ QList<QContactLocalId> qcl = manager->contactIds();
if(qcl.count() < 1)
QFAIL("No contacts to pull from tracker");
QBENCHMARK {
- c = m_qm->contact(qcl.first());
+ c = manager->contact(qcl.first());
}
#endif
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
//open database
// Open the default contact database
CContactDatabase* contactDb = CContactDatabase::OpenL();
- CleanupStack::PushL(contactDb);
-
- int id = id_list.takeFirst();
- id_list.append(id);
-
+ CleanupStack::PushL(contactDb);
CContactItem *item = 0;
TInt r;
-
- QBENCHMARK {
- TRAP(r, item = contactDb->ReadContactL(id));
- }
- CleanupStack::PushL(item);
- if(r != KErrNone){ qWarning() << "Error by OpenContactL: " << r; }
-
-// TRAP(r, contactDb->CloseContactL(id));
-// if(r != KErrNone){qWarning() << "Error by CloseContactL: " << r; }
-
- //qDebug() << "Call FetchContactDone: " << id;
+ CCntFilter *filter = CCntFilter::NewL();
+ CleanupStack::PushL(filter);
+
+ //get all contact items (no groups, templates...)
+ filter->SetContactFilterTypeALL(EFalse);
+ filter->SetContactFilterTypeCard(ETrue);
+ contactDb->FilterDatabaseL(*filter);
+ CContactIdArray *iContacts = CContactIdArray::NewL(filter->iIds);
+ CleanupStack::PushL(iContacts);
+ int cnt = iContacts->Count();
+ int i = 0;
+
+ QBENCHMARK {
+ TRAP(r, item = contactDb->ReadContactL((*iContacts)[i++]));
+ if(r == KErrNone)
+ delete item;
+ if(i >= cnt)
+ i = 0;
+ }
- CleanupStack::PopAndDestroy(2); //contact, lock, contactsDb
+ if(r != KErrNone){ qWarning() << "Error by OpenContactL: " << r; }
+
+ CleanupStack::PopAndDestroy(3, contactDb); //contact, filter, IdArray
#endif
}
}
+void tst_Contact::tst_fetchTenContact_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
void tst_Contact::tst_fetchTenContact()
{
- if(m_backend == BackendQContacts){
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts){
QContact c;
m_run++;
@@ -431,7 +567,7 @@ void tst_Contact::tst_fetchTenContact()
QContactFetchRequest* req = new QContactFetchRequest;
- QList<QContactLocalId> qcl = m_qm->contactIds();
+ QList<QContactLocalId> qcl = manager->contactIds();
if(qcl.count() < 10){
QFAIL("No enough contacts to get 10");
}
@@ -444,7 +580,7 @@ void tst_Contact::tst_fetchTenContact()
idFil.setIds(one);
req->setFilter(idFil);
- req->setManager(m_qm);
+ req->setManager(manager);
// connect(req, SIGNAL(progress(QContactFetchRequest*, bool)), this, SLOT(gotContact(QContactFetchRequest*,bool)));
connect(req, SIGNAL(resultsAvailable()), this, SLOT(resultsAvailable()));
@@ -465,7 +601,7 @@ void tst_Contact::tst_fetchTenContact()
delete req;
#elif defined(Q_OS_SYMBIAN)
- QList<QContactLocalId> qcl = m_qm->contactIds();
+ QList<QContactLocalId> qcl = manager->contactIds();
if(qcl.count() < 10){
QFAIL("No enough contacts to get 10");
}
@@ -479,7 +615,7 @@ void tst_Contact::tst_fetchTenContact()
QList<QContact> qlc;
QBENCHMARK {
- qlc = m_qm->contacts(idFil, QList<QContactSortOrder>(), QContactFetchHint());
+ qlc = manager->contacts(idFil, QList<QContactSortOrder>(), QContactFetchHint());
}
if(qlc.count() != 10){
@@ -488,73 +624,43 @@ void tst_Contact::tst_fetchTenContact()
#endif
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
//open database
// Open the default contact database
CContactDatabase* contactDb = CContactDatabase::OpenL();
CleanupStack::PushL(contactDb);
-
- int id = id_list.takeFirst();
- id_list.append(id);
+
+ CCntFilter *filter = CCntFilter::NewL();
+ CleanupStack::PushL(filter);
+
+ //get all contact items (no groups, templates...)
+ filter->SetContactFilterTypeALL(EFalse);
+ filter->SetContactFilterTypeCard(ETrue);
+ contactDb->FilterDatabaseL(*filter);
+ CContactIdArray *iContacts = CContactIdArray::NewL(filter->iIds);
+ CleanupStack::PushL(iContacts);
+ if(iContacts->Count() <= 10){
+ QFAIL("There are less than 10 contacts to fetch");
+ }
TInt r;
+ int i = 0;
+
+ CContactItem *item = 0;
+
+ // there is no multiple fetch in symbian
+
- CContactItem *item1 = 0;
- CContactItem *item2 = 0;
- CContactItem *item3 = 0;
- CContactItem *item4 = 0;
- CContactItem *item5 = 0;
- CContactItem *item6 = 0;
- CContactItem *item7 = 0;
- CContactItem *item8 = 0;
- CContactItem *item9 = 0;
- CContactItem *item10 = 0;
-
QBENCHMARK {
- TRAP(r, item1 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item2 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item3 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item4 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item5 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item6 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item7 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item8 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item9 = contactDb->ReadContactL(id));
- id = id_list.takeFirst();
- id_list.append(id);
- TRAP(r, item10 = contactDb->ReadContactL(id));
- }
- CleanupStack::PushL(item1);
- CleanupStack::PushL(item2);
- CleanupStack::PushL(item3);
- CleanupStack::PushL(item4);
- CleanupStack::PushL(item5);
- CleanupStack::PushL(item6);
- CleanupStack::PushL(item7);
- CleanupStack::PushL(item8);
- CleanupStack::PushL(item9);
- CleanupStack::PushL(item10);
-
- if(r != KErrNone){ qWarning() << "Error by OpenContactL: " << r; }
-
- CleanupStack::PopAndDestroy(11); //10*item + contactsDb
+ for(i = 0; i < 10; i++){
+ TRAP(r, item = contactDb->ReadContactL((*iContacts)[i]));
+ if(r == KErrNone)
+ delete item;
+ }
+ }
+
+ CleanupStack::PopAndDestroy(3, contactDb); //iContacts, filer, contactsDb
#endif
}
}
@@ -625,16 +731,44 @@ void tst_Contact::stateChanged(QContactAbstractRequest::State /*newState*/)
qDebug() << "Got state change";
}
+void tst_Contact::tst_createContact_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
void tst_Contact::tst_createContact()
{
- QBENCHMARK {
- createContact();
- }
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ QBENCHMARK {
+ createContact(manager, platform);
+ }
+}
+
+void tst_Contact::tst_saveContact_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
}
void tst_Contact::tst_saveContact()
{
- if(m_backend == BackendQContacts) {
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts) {
QContact *c = new QContact;
c->setType("Contact");
QContactName cname;
@@ -653,7 +787,7 @@ void tst_Contact::tst_saveContact()
int ret = 0;
QBENCHMARK {
- ret = m_qm->saveContact(c);
+ ret = manager->saveContact(c);
}
if(!ret){
qDebug() << "Failed to create contact durring setup";
@@ -662,7 +796,7 @@ void tst_Contact::tst_saveContact()
id_list.append(c->localId());
delete c;
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
// Create a contact card and add a work phone number. Numeric values are
// stored in a text field (storage type = KStorageTypeText).
@@ -691,13 +825,13 @@ void tst_Contact::tst_saveContact()
lastName->TextStorage()->SetTextL(Lastname);
newCard->AddFieldL(*lastName);
CleanupStack::Pop(lastName);
-#ifndef Q_WS_MAEMO_5
+
CContactItemField* prefix = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldPrefixName);
_LIT(KPrefix, "Mr");
prefix->TextStorage()->SetTextL(KPrefix);
newCard->AddFieldL(*prefix);
CleanupStack::Pop(prefix);
-#endif
+
QBENCHMARK {
// Add newCard to the database
const TContactItemId contactId = db->AddNewContactL(*newCard);
@@ -705,90 +839,31 @@ void tst_Contact::tst_saveContact()
id_list.append(contactId);
}
- CleanupStack::PopAndDestroy(2); //newCard, contactsDb
+ CleanupStack::PopAndDestroy(2, db); //newCard, contactsDb
#else
- qWarning("ContactModel set but Q_OS_SYMBIAN not set, this doesn't make sense");
+ qWarning("No native test defined for this platform and tst_saveContact()");
#endif
}
}
-
-void tst_Contact::createContact()
+void tst_Contact::tst_nameFilter_data()
{
- if(m_backend == BackendQContacts) {
- QContact *c = new QContact;
- c->setType(QContactType::TypeContact);
- QContactName cname;
- QString name;
- name = firstNames.takeFirst();
- firstNames.push_back(name);
- cname.setFirstName(name);
- name = lastNames.takeFirst();
- lastNames.push_back(name);
- cname.setLastName(name);
-#ifndef Q_WS_MAEMO_5
- cname.setPrefix("Mr");
-#endif
- c->saveDetail(&cname);
-
- if(!m_qm->saveContact(c)){
- qDebug() << "Failed to create contact during setup";
- return;
- }
- id_list.append(c->localId());
- delete c;
- }
- else if(m_backend == BackendContactsModel){
-#ifdef Q_OS_SYMBIAN
- // Create a contact card and add a work phone number. Numeric values are
- // stored in a text field (storage type = KStorageTypeText).
-
- CContactDatabase* db = CContactDatabase::OpenL();
- CleanupStack::PushL(db);
-
- CContactCard* newCard = CContactCard::NewLC();
-
- QString name;
-
- // Create the firstName field and add the data to it
- name = firstNames.takeFirst();
- firstNames.push_back(name);
- CContactItemField* firstName = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldGivenName);
- TPtrC Firstname(reinterpret_cast<const TUint16*>(name.utf16()));
- firstName->TextStorage()->SetTextL(Firstname);
- newCard->AddFieldL(*firstName);
- CleanupStack::Pop(firstName);
-
- // Create the lastName field and add the data to it
- name = lastNames.takeFirst();
- lastNames.push_back(name);
- CContactItemField* lastName= CContactItemField::NewLC(KStorageTypeText, KUidContactFieldFamilyName);
- TPtrC Lastname(reinterpret_cast<const TUint16*>(name.utf16()));
- lastName->TextStorage()->SetTextL(Lastname);
- newCard->AddFieldL(*lastName);
- CleanupStack::Pop(lastName);
-#ifndef Q_WS_MAEMO_5
- CContactItemField* prefix = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldPrefixName);
- _LIT(KPrefix, "Mr");
- prefix->TextStorage()->SetTextL(KPrefix);
- newCard->AddFieldL(*prefix);
- CleanupStack::Pop(prefix);
-#endif
- // Add newCard to the database
- const TContactItemId contactId = db->AddNewContactL(*newCard);
- db->CloseContactL(contactId);
-
- id_list.append(contactId);
- CleanupStack::PopAndDestroy(2); //newCard, contactsDb
-#else
- qWarning("ContactModel set but Q_OS_SYMBIAN not set, this doesn't make sense");
-#endif
- }
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
}
+
void tst_Contact::tst_nameFilter()
-{
- if(m_backend == BackendQContacts){
+{
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts){
QContactFilter fil = QContactName::match(firstNames.first(),""); // pick one first name to find
//QContactFilter fil = QContactName::match("sdfsdfsdfjhsjkdfshdkf", ""); // pick one first name to find
QContact c;
@@ -801,7 +876,7 @@ void tst_Contact::tst_nameFilter()
int ret;
QContactFetchRequest* req = new QContactFetchRequest;
req->setFilter(fil);
- req->setManager(m_qm);
+ req->setManager(manager);
connect(req, SIGNAL(resultsAvailable()), this, SLOT(resultsAvailableFilter()));
@@ -829,7 +904,7 @@ void tst_Contact::tst_nameFilter()
QList<QContact> qlc;
QBENCHMARK {
- qlc = m_qm->contacts(fil, QList<QContactSortOrder>(), QContactFetchHint());
+ qlc = manager->contacts(fil, QList<QContactSortOrder>(), QContactFetchHint());
}
// while(!qlc.isEmpty()){
@@ -838,7 +913,7 @@ void tst_Contact::tst_nameFilter()
// }
#endif
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
//open database
// Open the default contact database
@@ -846,8 +921,46 @@ void tst_Contact::tst_nameFilter()
CleanupStack::PushL(contactDb);
CContactItem *item = 0x0;
-
- const TPtrC Firstname(reinterpret_cast<const TUint16*>(firstNames.first().utf16()));
+
+ CCntFilter *filter = CCntFilter::NewL();
+ CleanupStack::PushL(filter);
+
+ //get all contact items (no groups, templates...)
+ filter->SetContactFilterTypeALL(EFalse);
+ filter->SetContactFilterTypeCard(ETrue);
+ contactDb->FilterDatabaseL(*filter);
+ CContactIdArray *iContacts;
+ TRAPD(filter_err, iContacts = CContactIdArray::NewL(filter->iIds));
+ if(filter_err != KErrNone){
+ CleanupStack::PopAndDestroy(2, contactDb); // filter, contactDB
+ QFAIL("Failed to fetch a list of contacts");
+ }
+ CleanupStack::PushL(iContacts);
+
+ TBuf<100> Firstname(0);
+
+ for(int i = 0; i< iContacts->Count(); i++){
+ TRAPD(err, item = contactDb->ReadContactL((*iContacts)[0]));
+ if(err != KErrNone) {
+ CleanupStack::PopAndDestroy(3, contactDb); // iContacts, filers, db
+ QFAIL("Unable to fetch a sample item from the contacts file");
+ }
+ CleanupStack::PushL(item);
+
+ int fieldNum = item->CardFields().Find(KUidContactFieldGivenName);
+ if(fieldNum != KErrNotFound){
+ Firstname.Copy((item->CardFields())[fieldNum].TextStorage()->Text());
+ CleanupStack::PopAndDestroy(item); // item
+ break;
+ }
+ CleanupStack::PopAndDestroy(item); // item
+ }
+ if(Firstname.Length() == 0){
+ QFAIL("Unable to find a contact to search for");
+ }
+
+
+ //const TPtrC Firstname(reinterpret_cast<const TUint16*>(firstNames.first().utf16()));
CContactIdArray* idArray;
CContactItemFieldDef* fieldDef = new (ELeave) CContactItemFieldDef();
@@ -857,68 +970,110 @@ void tst_Contact::tst_nameFilter()
QBENCHMARK {
idArray = contactDb->FindLC(Firstname, fieldDef);
- if(idArray->Count() > 0)
- item = contactDb->ReadContactL((*idArray)[0]);
- else
- QFAIL("No contacts returned from CContactDatabase::FindLC");
- }
- CleanupStack::PushL(item);
+ if(idArray->Count() > 0) {
+ item = contactDb->ReadContactL((*idArray)[0]);
+ delete item;
+ CleanupStack::PopAndDestroy(idArray);
+ }
+ else {
+ qDebug() << "Number of contacts native: " << countContacts(0x0, Native);
+ qDebug() << "Number of contacts qt/system: " << countContacts(m_systemManager);
+ QFAIL("No contacts returned from CContactDatabase::FindLC");
+ }
+ }
- CleanupStack::PopAndDestroy(4); //item, idArray, fielddef, lock, contactsDb
+ CleanupStack::PopAndDestroy(4, contactDb); //item, idArray, fielddef, lock, contactsDb
#endif
}
}
+void tst_Contact::tst_removeOneContact_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
void tst_Contact::tst_removeOneContact()
{
- if(m_backend == BackendQContacts){
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
+
+ if(platform == tst_Contact::QContacts){
QList<QContactLocalId> one;
QMap<int, QContactManager::Error> errorMap;
if(id_list.count() < 1){ // incase we run out of contacts
- createContact();
+ createContact(manager, platform);
}
-
+
one += id_list.takeFirst();
- QBENCHMARK {
- m_qm->removeContacts(one, &errorMap);
- }
+
+ QBENCHMARK_ONCE {
+ manager->removeContacts(one, &errorMap);
+ }
}
- else if(m_backend == BackendContactsModel){
+ else if(platform == tst_Contact::Native){
#ifdef Q_OS_SYMBIAN
- CContactDatabase* db = CContactDatabase::OpenL();
- CleanupStack::PushL(db);
-
- if(id_list.isEmpty())
- QFAIL("no contacts available to be removed for tst_removeOnContact()");
-
-
- TInt32 id = id_list.takeFirst();
-
- QBENCHMARK {
- db->DeleteContactL(id);
+ CContactDatabase* contactDb = CContactDatabase::OpenL();
+ CleanupStack::PushL(contactDb);
+
+ CCntFilter *filter = CCntFilter::NewL();
+ CleanupStack::PushL(filter);
+
+ //get all contact items (no groups, templates...)
+ filter->SetContactFilterTypeALL(EFalse);
+ filter->SetContactFilterTypeCard(ETrue);
+ contactDb->FilterDatabaseL(*filter);
+ CContactIdArray *iContacts = CContactIdArray::NewL(filter->iIds);
+ CleanupStack::PushL(iContacts);
+ int i = 0;
+
+ QBENCHMARK_ONCE { // Do it once only, to many removals becomes a problem
+ contactDb->DeleteContactL((*iContacts)[i++]);
+ if(i >= iContacts->Count()){
+ break;
+ }
}
- CleanupStack::PopAndDestroy(1); //idArray, contactsDb
+ CleanupStack::PopAndDestroy(3, contactDb); //idArray, contactsDb
#endif
}
}
+void tst_Contact::tst_removeAllContacts_data()
+{
+ QTest::addColumn<tst_Contact::platform>("platform");
+ QTest::addColumn<QContactManager *>("manager");
+
+ QTest::newRow("Native") << tst_Contact::Native << (QContactManager *)0x0;
+ foreach(QContactManager *mgr, m_managers){
+ QTest::newRow(QString("QContact-" + mgr->managerName()).toAscii()) << tst_Contact::QContacts << mgr;
+ }
+}
+
+
void tst_Contact::tst_removeAllContacts()
-{
- int before = countContacts();
+{
+ QFETCH(tst_Contact::platform, platform);
+ QFETCH(QContactManager *, manager);
- if(before < 20) {
- for(int i = before; i < 20; i++){
- createContact();
- }
- }
-
- QBENCHMARK {
- clearContacts();
+ int before = countContacts(manager, platform);
+
+ if(before < 20) {
+ for(int i = before; i < 20; i++){
+ createContact(manager, platform);
}
-
+ }
+
+ QBENCHMARK {
+ clearContacts(manager, platform);
+ }
}
int main(int argc, char **argv){
@@ -926,27 +1081,8 @@ int main(int argc, char **argv){
QApplication app(argc, argv);
tst_Contact test1;
- test1.setBackend("memory");
QTest::qExec(&test1, argc, argv);
-// tst_Contact test2;
-// test2.setBackend("tracker");
-// QTest::qExec(&test2, argc, argv);
-#if defined(Q_WS_MAEMO_5)
- tst_Contact test2;
- test2.setBackend("maemo5");
- QTest::qExec(&test2, argc, argv);
-#endif
-#if defined(Q_OS_SYMBIAN)
- tst_Contact test2;
- test2.setBackend("symbian");
- QTest::qExec(&test2, argc, argv);
-
- tst_Contact test3;
- test3.setBackend("SymbianContactsModel");
- QTest::qExec(&test3, argc, argv);
-#endif
-
}
#include "tst_bm_contacts.moc"
diff --git a/tests/benchmarks/location/location.pro b/tests/benchmarks/location/location.pro
new file mode 100644
index 0000000000..b4347831ab
--- /dev/null
+++ b/tests/benchmarks/location/location.pro
@@ -0,0 +1,25 @@
+TEMPLATE = app
+TARGET = tst_bm_location
+CONFIG += testcase
+
+SOURCES += tst_bm_location.cpp
+
+QT += core \
+ network
+
+
+INCLUDEPATH += ../../../src/location
+
+include(../../../common.pri)
+
+CONFIG += mobility
+
+MOBILITY = location
+
+
+symbian {
+ TARGET.CAPABILITY = All -TCB
+ INCLUDEPATH += $${EPOCROOT}epoc32/include/osextensions
+ INCLUDEPATH += $$(EPOCROOT)epoc32/include/app
+ INCLUDEPATH += $$(EPOCROOT)epoc32/include/platform/app
+}
diff --git a/tests/benchmarks/location/tst_bm_location.cpp b/tests/benchmarks/location/tst_bm_location.cpp
new file mode 100644
index 0000000000..aad8d2abc9
--- /dev/null
+++ b/tests/benchmarks/location/tst_bm_location.cpp
@@ -0,0 +1,379 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QApplication>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <QEventLoop>
+#include <QTimer>
+
+#include <qdebug.h>
+
+#include <qgeopositioninfosource.h>
+#include <qgeosatelliteinfosource.h>
+
+QTM_USE_NAMESPACE
+
+class tst_bm_location : public QObject
+{
+ Q_OBJECT
+
+public:
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+
+// void tst_createTime_data();
+ void tst_ps_createTime();
+// void tst_ps_createTime_2nd();
+ void tst_ps_setInterval();
+ void tst_ps_interval();
+ void tst_ps_setMethod();
+ void tst_ps_method();
+ void tst_ps_lastKnownPos();
+ void tst_ps_supportedPodMethods();
+ void tst_ps_minUpdateInterval();
+ void tst_ps_startRequest();
+ void tst_ps_stopUpdates();
+ void tst_ps_requestUpdates();
+
+ void tst_ps_getUpdate();
+
+ void tst_si_createTime();
+ void tst_si_startUpdates();
+ void tst_si_stopUpdates();
+ void tst_si_requestUpdates();
+
+ void tst_si_getUpdate();
+
+
+public slots:
+ void timeout();
+
+ void positionUpdated(const QGeoPositionInfo &update);
+ void updateTimeout();
+
+ void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites);
+ void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites);
+
+private:
+ QEventLoop *loop;
+ QTimer *timer;
+
+ int early_exit;
+
+};
+
+
+void tst_bm_location::initTestCase()
+{
+ loop = new QEventLoop;
+ timer = new QTimer(this);
+ timer->setSingleShot(true);
+ connect(timer, SIGNAL(timeout()), this, SLOT(timeout()));
+
+}
+
+void tst_bm_location::cleanupTestCase()
+{
+ delete loop;
+ delete timer;
+}
+
+void tst_bm_location::tst_ps_createTime()
+{
+ QGeoPositionInfoSource *ps = NULL;
+
+ QBENCHMARK {
+ ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+ }
+
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_setInterval()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->setUpdateInterval(3000);
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_interval()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->updateInterval();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_setMethod()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->setPreferredPositioningMethods(QGeoPositionInfoSource::AllPositioningMethods);
+ }
+ delete ps;
+}
+
+
+void tst_bm_location::tst_ps_method()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->preferredPositioningMethods();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_lastKnownPos()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->lastKnownPosition();
+ }
+ delete ps;
+
+}
+//void tst_bm_location::tst_ps_createTime_2nd()
+//{
+// QObject *o = new QObject;
+// QGeoPositionInfoSource *ps = NULL;
+//
+// QBENCHMARK {
+// ps = QGeoPositionInfoSource::createDefaultSource(o);
+// }
+//
+// delete ps;
+// delete o;
+//}
+
+void tst_bm_location::tst_ps_supportedPodMethods()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->supportedPositioningMethods();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_minUpdateInterval()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->minimumUpdateInterval();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_startRequest()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->startUpdates();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_stopUpdates()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->stopUpdates();
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_requestUpdates()
+{
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ ps->requestUpdate(5000);
+ }
+ delete ps;
+}
+
+void tst_bm_location::tst_ps_getUpdate(){ // XXX test may not produce stable results, might need to be removed
+ QGeoPositionInfoSource *ps = QGeoPositionInfoSource::createDefaultSource(NULL);
+
+ early_exit = 0;
+ connect(ps, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
+ connect(ps, SIGNAL(positionUpdated(const QGeoPositionInfo &)),
+ this, SLOT(positionUpdated(const QGeoPositionInfo &)));
+
+ timer->start(20000);
+ ps->startUpdates(); // XXX work around for bug, remove me
+
+ QBENCHMARK {
+ ps->requestUpdate(15000);
+ if(early_exit || (loop->exec() > 1)){
+ QFAIL("Test failed to provide any results within backup timeout");
+ }
+ }
+
+ ps->stopUpdates();
+ delete ps;
+}
+
+void tst_bm_location::updateTimeout()
+{
+ qDebug() << "Update timeout";
+ early_exit = 1;
+ loop->exit(1);
+}
+
+void tst_bm_location::timeout()
+{
+ qDebug() << "Timer timeout";
+ early_exit = 1;
+ loop->exit(2);
+}
+
+void tst_bm_location::positionUpdated(const QGeoPositionInfo &)
+{
+ early_exit = 1;
+ loop->exit(0);
+}
+
+void tst_bm_location::tst_si_createTime()
+{
+ QGeoSatelliteInfoSource *si = NULL;
+ QBENCHMARK {
+ si = QGeoSatelliteInfoSource::createDefaultSource(NULL);
+ }
+ delete si;
+}
+
+void tst_bm_location::tst_si_startUpdates()
+{
+ QGeoSatelliteInfoSource *si = QGeoSatelliteInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ si->startUpdates();
+ }
+ delete si;
+}
+
+void tst_bm_location::tst_si_stopUpdates()
+{
+ QGeoSatelliteInfoSource *si = QGeoSatelliteInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ si->stopUpdates();
+ }
+ delete si;
+}
+
+void tst_bm_location::tst_si_requestUpdates()
+{
+ QGeoSatelliteInfoSource *si = QGeoSatelliteInfoSource::createDefaultSource(NULL);
+
+ QBENCHMARK {
+ si->requestUpdate(0);
+ }
+ delete si;
+}
+
+void tst_bm_location::tst_si_getUpdate(){ // XXX test may not produce stable results, might need to be removed
+ QGeoSatelliteInfoSource *si = QGeoSatelliteInfoSource::createDefaultSource(NULL);
+
+ early_exit = 0;
+ connect(si, SIGNAL(requestTimeout()), this, SLOT(updateTimeout()));
+ connect(si, SIGNAL(satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &)),
+ this, SLOT(satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &)));
+ connect(si, SIGNAL(satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &)),
+ this, SLOT(satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &)));
+
+ timer->start(20000);
+ si->startUpdates(); // XXX work around for bug, remove me
+
+ QBENCHMARK {
+ si->requestUpdate(15000);
+ if(early_exit || (loop->exec() > 1)){
+ QFAIL("Test failed to provide any results within backup timeout");
+ }
+ }
+
+ si->stopUpdates();
+ delete si;
+}
+
+void tst_bm_location::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &)
+{
+// qDebug() << "Got location info" << update.timestamp() << " - " << update.isValid();
+ early_exit = 1;
+ loop->exit(0);
+}
+
+void tst_bm_location::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &)
+{
+// qDebug() << "Got location info" << update.timestamp() << " - " << update.isValid();
+ early_exit = 1;
+ loop->exit(0);
+}
+
+
+
+int main(int argc, char **argv){
+
+ QApplication app(argc, argv);
+
+ tst_bm_location test1;
+ QTest::qExec(&test1, argc, argv);
+
+}
+//QTEST_MAIN(tst_messaging);
+
+
+#include "tst_bm_location.moc"
+
diff --git a/tests/benchmarks/messaging/tst_messaging.cpp b/tests/benchmarks/messaging/tst_messaging.cpp
index e170ea5842..5144875321 100644
--- a/tests/benchmarks/messaging/tst_messaging.cpp
+++ b/tests/benchmarks/messaging/tst_messaging.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -56,15 +56,15 @@
#include <txtrich.h> // CRichText
#include <cemailaccounts.h>
#include <mmsconst.h>
-#include <MIUTMSG.H>
-#include <MSVFIND.H>
-#include <IMPCMTM.H>
+#include <miutmsg.h>
+#include <msvfind.h>
+#include <impcmtm.h>
#include <mmsclient.h>
#include <etelmm.h>
#include <msvapi.h>
-#include <IAPPrefs.h>
-#include <SMTCMTM.H>
-#include <SMUTHDR.H>
+#include <iapprefs.h>
+#include <smtcmtm.h>
+#include <smuthdr.h>
#endif
#include <qdebug.h>
diff --git a/tests/benchmarks/qsysteminfo/tst_qsysteminfo.cpp b/tests/benchmarks/qsysteminfo/tst_qsysteminfo.cpp
index b2ca04aa28..9dc4d61b76 100644
--- a/tests/benchmarks/qsysteminfo/tst_qsysteminfo.cpp
+++ b/tests/benchmarks/qsysteminfo/tst_qsysteminfo.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.cpp b/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.cpp
index c2d00f6c8a..1725566614 100644
--- a/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.cpp
+++ b/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.h b/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.h
index a1c3d9c0e9..58cc9a0937 100644
--- a/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.h
+++ b/tests/benchmarks/sampleserviceplugin/sampleserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/benchmarks/serviceframework/tst_serviceframework.cpp b/tests/benchmarks/serviceframework/tst_serviceframework.cpp
index 7a30dd522d..256fa61095 100644
--- a/tests/benchmarks/serviceframework/tst_serviceframework.cpp
+++ b/tests/benchmarks/serviceframework/tst_serviceframework.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/messagingex/main.cpp b/tests/messagingex/main.cpp
index 413e535842..d4c07f38bd 100644
--- a/tests/messagingex/main.cpp
+++ b/tests/messagingex/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/messagingex/messagingex.cpp b/tests/messagingex/messagingex.cpp
index a6a35b6325..8e1b44277b 100644
--- a/tests/messagingex/messagingex.cpp
+++ b/tests/messagingex/messagingex.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -54,7 +54,7 @@ MessagingEx::MessagingEx(QWidget* parent)
connect(&m_service, SIGNAL(messagesFound(const QMessageIdList&)), this, SLOT(messagesFound(const QMessageIdList&)));
m_accountList = m_manager.queryAccounts(QMessageAccountFilter(), QMessageAccountSortOrder(), 10 , 0);
for(int i = 0; i < m_accountList.count(); ++i){
- QMessageAccount account = QMessageAccount(m_accountList[i]);
+ QMessageAccount account = m_accountList[i];
accountComboBox->addItem(QString("%1 - %2").arg(i+1).arg(account.name()),account.id().toString());
accountComboBox_2->addItem(QString("%1 - %2").arg(i+1).arg(account.name()),account.id().toString());
folderAccountComboBox->addItem(QString("%1 - %2").arg(i+1).arg(account.name()),account.id().toString());
@@ -236,6 +236,19 @@ void MessagingEx::composeEmail()
{
QMessage message;
message.setType(QMessage::Email);
+ int index = accountComboBox->currentIndex();
+ m_account = QMessageAccount(m_accountList[index]).id();
+ QMessage::TypeFlags types = m_account.messageTypes();
+
+ if (!emailAddressEdit->text().isEmpty()){
+ message.setTo(QMessageAddress(QMessageAddress::Email, emailAddressEdit->text()));
+ }
+
+ message.setParentAccountId(m_account.id());
+ message.setSubject(subjectEdit->text());
+
+ message.setBody(QString(emailMessageEdit->toPlainText()));
+ message.appendAttachments(m_attachments);
m_service.compose(message);
}
@@ -348,34 +361,7 @@ void MessagingEx::on_sendMmsButton_clicked()
void MessagingEx::messageReceived(const QMessageId& aId)
{
- bool canShow = true;
- if (m_manager.message(aId).type() == QMessage::NoType) {
- // Message can not be read/shown
- // Wait message availability for 5 seconds at maximum
- canShow = false;
- int tries = 0;
- QEventLoop* loop = new QEventLoop(this);
- while (tries < 50) {
- // => Wait for 0.1 seconds and try to read message again
- QTimer::singleShot(100, loop, SLOT(quit()));
- loop->exec();
- if (m_manager.message(aId).type() != QMessage::NoType) {
- // Message can be read/shown
- canShow = true;
- break;
- } else {
- // Message can not be read/shown
- // => Continue waiting
- tries++;
- }
- }
- loop->disconnect();
- loop->deleteLater();
- }
-
- if (canShow) {
- m_service.show(aId);
- }
+ m_service.show(aId);
}
void MessagingEx::messageRemoved(const QMessageId& aId)
diff --git a/tests/messagingex/messagingex.h b/tests/messagingex/messagingex.h
index 132f5aa325..e51004fcf6 100644
--- a/tests/messagingex/messagingex.h
+++ b/tests/messagingex/messagingex.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/messagingex/messagingex.pro b/tests/messagingex/messagingex.pro
index bf6d5f8848..6050768ff9 100644
--- a/tests/messagingex/messagingex.pro
+++ b/tests/messagingex/messagingex.pro
@@ -34,5 +34,6 @@ symbian:TARGET.CAPABILITY = NetworkServices \
WriteUserData \
UserEnvironment \
ReadDeviceData \
- WriteDeviceData
+ WriteDeviceData \
+ SwEvent
diff --git a/tests/messagingex/messagingex.ui b/tests/messagingex/messagingex.ui
index dfca09263d..5543096b42 100644
--- a/tests/messagingex/messagingex.ui
+++ b/tests/messagingex/messagingex.ui
@@ -1,11 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
+<ui version="4.0" >
<class>MessagingExMainWindow</class>
- <widget class="QMainWindow" name="MessagingExMainWindow">
- <property name="windowModality">
+ <widget class="QMainWindow" name="MessagingExMainWindow" >
+ <property name="windowModality" >
<enum>Qt::WindowModal</enum>
</property>
- <property name="geometry">
+ <property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
@@ -13,95 +12,95 @@
<height>488</height>
</rect>
</property>
- <property name="minimumSize">
+ <property name="minimumSize" >
<size>
<width>278</width>
<height>390</height>
</size>
</property>
- <property name="windowTitle">
+ <property name="windowTitle" >
<string>Messaging Example</string>
</property>
- <widget class="QWidget" name="centralwidget">
- <layout class="QGridLayout" name="gridLayout_4">
- <item row="0" column="0">
- <widget class="QStackedWidget" name="stackedWidget">
- <property name="currentIndex">
- <number>0</number>
+ <widget class="QWidget" name="centralwidget" >
+ <layout class="QGridLayout" name="gridLayout_4" >
+ <item row="0" column="0" >
+ <widget class="QStackedWidget" name="stackedWidget" >
+ <property name="currentIndex" >
+ <number>1</number>
</property>
- <widget class="QWidget" name="page">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="phoneNumberLabel">
- <property name="text">
+ <widget class="QWidget" name="page" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="phoneNumberLabel" >
+ <property name="text" >
<string>Phone Number:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLineEdit" name="phoneNumberEdit"/>
+ <item row="1" column="0" >
+ <widget class="QLineEdit" name="phoneNumberEdit" />
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="textMessageLabel">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="textMessageLabel" >
+ <property name="text" >
<string>Text Message:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QTextEdit" name="smsMessageEdit"/>
+ <item row="3" column="0" >
+ <widget class="QTextEdit" name="smsMessageEdit" />
</item>
- <item row="4" column="0">
- <widget class="QPushButton" name="sendSmsButton">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QPushButton" name="sendSmsButton" >
+ <property name="text" >
<string>Send SMS</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_2">
- <layout class="QVBoxLayout" name="verticalLayout">
+ <widget class="QWidget" name="page_2" >
+ <layout class="QVBoxLayout" name="verticalLayout" >
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <layout class="QHBoxLayout" name="horizontalLayout_3" >
<item>
- <widget class="QLabel" name="label_3">
- <property name="text">
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
<string>Account:</string>
</property>
</widget>
</item>
<item>
- <widget class="QComboBox" name="accountComboBox"/>
+ <widget class="QComboBox" name="accountComboBox" />
</item>
</layout>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <layout class="QHBoxLayout" name="horizontalLayout" >
<item>
- <widget class="QLabel" name="label">
- <property name="text">
+ <widget class="QLabel" name="label" >
+ <property name="text" >
<string>To:</string>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="emailAddressEdit"/>
+ <widget class="QLineEdit" name="emailAddressEdit" />
</item>
</layout>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
- <widget class="QLabel" name="label_2">
- <property name="text">
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
<string>Subject:</string>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="subjectEdit">
- <property name="enabled">
+ <widget class="QLineEdit" name="subjectEdit" >
+ <property name="enabled" >
<bool>true</bool>
</property>
</widget>
@@ -109,23 +108,23 @@
</layout>
</item>
<item>
- <widget class="QTextEdit" name="emailMessageEdit"/>
+ <widget class="QTextEdit" name="emailMessageEdit" />
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <layout class="QHBoxLayout" name="horizontalLayout_7" >
<item>
- <widget class="QPushButton" name="addEmailAttachmentButton">
- <property name="enabled">
+ <widget class="QPushButton" name="addEmailAttachmentButton" >
+ <property name="enabled" >
<bool>true</bool>
</property>
- <property name="text">
+ <property name="text" >
<string>Add Attachment</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="removeAttachmentButton">
- <property name="text">
+ <widget class="QPushButton" name="removeAttachmentButton" >
+ <property name="text" >
<string>Remove Attachment</string>
</property>
</widget>
@@ -133,27 +132,27 @@
</layout>
</item>
<item>
- <widget class="QLabel" name="emailAttachmentLabel">
- <property name="text">
+ <widget class="QLabel" name="emailAttachmentLabel" >
+ <property name="text" >
<string/>
</property>
</widget>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <layout class="QHBoxLayout" name="horizontalLayout_6" >
<item>
- <widget class="QPushButton" name="addMessageButton">
- <property name="text">
+ <widget class="QPushButton" name="addMessageButton" >
+ <property name="text" >
<string>Store message</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="sendEmailButton">
- <property name="enabled">
+ <widget class="QPushButton" name="sendEmailButton" >
+ <property name="enabled" >
<bool>true</bool>
</property>
- <property name="text">
+ <property name="text" >
<string>Send Message</string>
</property>
</widget>
@@ -162,69 +161,69 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_3">
- <layout class="QVBoxLayout" name="verticalLayout_6">
+ <widget class="QWidget" name="page_3" >
+ <layout class="QVBoxLayout" name="verticalLayout_6" >
<item>
- <layout class="QVBoxLayout" name="verticalLayout_5">
+ <layout class="QVBoxLayout" name="verticalLayout_5" >
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <layout class="QHBoxLayout" name="horizontalLayout_4" >
<item>
- <widget class="QLabel" name="label_4">
- <property name="text">
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
<string>Phone number:</string>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="mmsPhoneNumberEdit"/>
+ <widget class="QLineEdit" name="mmsPhoneNumberEdit" />
</item>
</layout>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <layout class="QHBoxLayout" name="horizontalLayout_5" >
<item>
- <widget class="QLabel" name="label_5">
- <property name="text">
+ <widget class="QLabel" name="label_5" >
+ <property name="text" >
<string>Subject:</string>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="mmsSubjectEdit"/>
+ <widget class="QLineEdit" name="mmsSubjectEdit" />
</item>
</layout>
</item>
</layout>
</item>
<item>
- <widget class="QTextEdit" name="mmsBodyEdit"/>
+ <widget class="QTextEdit" name="mmsBodyEdit" />
</item>
<item>
- <layout class="QVBoxLayout" name="verticalLayout_4">
+ <layout class="QVBoxLayout" name="verticalLayout_4" >
<item>
- <widget class="QPushButton" name="appendAttachment">
- <property name="text">
+ <widget class="QPushButton" name="appendAttachment" >
+ <property name="text" >
<string>Append Attachment</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="removeAttachmentButton_2">
- <property name="text">
+ <widget class="QPushButton" name="removeAttachmentButton_2" >
+ <property name="text" >
<string>Remove Attachment</string>
</property>
</widget>
</item>
<item>
- <widget class="QLabel" name="attachmentLabel">
- <property name="text">
+ <widget class="QLabel" name="attachmentLabel" >
+ <property name="text" >
<string/>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="sendMmsButton">
- <property name="text">
+ <widget class="QPushButton" name="sendMmsButton" >
+ <property name="text" >
<string>Send MMS</string>
</property>
</widget>
@@ -233,141 +232,141 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_4">
- <layout class="QFormLayout" name="formLayout_8">
- <item row="0" column="0">
- <widget class="QLabel" name="label_27">
- <property name="font">
+ <widget class="QWidget" name="page_4" >
+ <layout class="QFormLayout" name="formLayout_8" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_27" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by priority:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="priorityAccountComboBox"/>
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="priorityAccountComboBox" />
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_10">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_10" >
+ <property name="text" >
<string>By Priority:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QComboBox" name="priorityComboBox">
+ <item row="3" column="0" >
+ <widget class="QComboBox" name="priorityComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>No priority filtering</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>High Priority, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Normal Priority, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Low Priority, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>High Priority, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Normal Priority, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Low Priority, not equal</string>
</property>
</item>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QPushButton" name="typeButton">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QPushButton" name="typeButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_5">
- <layout class="QFormLayout" name="formLayout_9">
- <item row="0" column="0">
- <widget class="QLabel" name="label_26">
- <property name="font">
+ <widget class="QWidget" name="page_5" >
+ <layout class="QFormLayout" name="formLayout_9" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_26" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by sender:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLineEdit" name="senderEdit"/>
+ <item row="3" column="0" >
+ <widget class="QLineEdit" name="senderEdit" />
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="senderAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="senderAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>select account</string>
</property>
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_6" >
+ <property name="text" >
<string>Sender:</string>
</property>
</widget>
</item>
- <item row="6" column="0">
- <widget class="QPushButton" name="senderButton">
- <property name="text">
+ <item row="6" column="0" >
+ <widget class="QPushButton" name="senderButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QComboBox" name="sendercomboBox">
+ <item row="4" column="0" >
+ <widget class="QComboBox" name="sendercomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>NotEqual</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Excludes</string>
</property>
</item>
@@ -375,57 +374,57 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_6">
- <layout class="QFormLayout" name="formLayout_6">
- <item row="0" column="0">
- <widget class="QLabel" name="label_25">
- <property name="font">
+ <widget class="QWidget" name="page_6" >
+ <layout class="QFormLayout" name="formLayout_6" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_25" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by recipient:</string>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_11">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_11" >
+ <property name="text" >
<string>Recipient:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLineEdit" name="recipientEdit"/>
+ <item row="3" column="0" >
+ <widget class="QLineEdit" name="recipientEdit" />
</item>
- <item row="4" column="0">
- <widget class="QComboBox" name="recipientcomboBox">
+ <item row="4" column="0" >
+ <widget class="QComboBox" name="recipientcomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Excludes</string>
</property>
</item>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QPushButton" name="recipientButton">
- <property name="text">
+ <item row="5" column="0" >
+ <widget class="QPushButton" name="recipientButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="recipientAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="recipientAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>select account</string>
</property>
</item>
@@ -433,252 +432,252 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_7">
- <layout class="QFormLayout" name="formLayout_5">
- <item row="0" column="0">
- <widget class="QLabel" name="label_24">
- <property name="font">
+ <widget class="QWidget" name="page_7" >
+ <layout class="QFormLayout" name="formLayout_5" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_24" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by subject:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="subjectAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="subjectAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>select account</string>
</property>
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_13" >
+ <property name="text" >
<string>Subject:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLineEdit" name="subjectEdit_2"/>
+ <item row="3" column="0" >
+ <widget class="QLineEdit" name="subjectEdit_2" />
</item>
- <item row="4" column="0">
- <widget class="QComboBox" name="subjectcomboBox">
+ <item row="4" column="0" >
+ <widget class="QComboBox" name="subjectcomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>NotEqual</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Excludes</string>
</property>
</item>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QPushButton" name="subjectButton">
- <property name="text">
+ <item row="5" column="0" >
+ <widget class="QPushButton" name="subjectButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_8">
- <layout class="QFormLayout" name="formLayout_4">
- <item row="0" column="0">
- <widget class="QLabel" name="label_16">
- <property name="font">
+ <widget class="QWidget" name="page_8" >
+ <layout class="QFormLayout" name="formLayout_4" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_16" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by status:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="statusAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="statusAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>select account</string>
</property>
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_15" >
+ <property name="text" >
<string>Status:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QComboBox" name="statuscomboBox">
+ <item row="3" column="0" >
+ <widget class="QComboBox" name="statuscomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Read, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Read, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Read, includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Read, excludes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>HasAttachment, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>HasAttachment, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>HasAttachment, includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>HasAttachment, exludes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Incoming, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Incoming, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Incoming, includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Incoming, excludes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Removed, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Removed, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Removed, includes</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Removed, excludes</string>
</property>
</item>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QPushButton" name="statusButton">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QPushButton" name="statusButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_9">
- <layout class="QFormLayout" name="formLayout_3">
- <item row="0" column="0">
- <widget class="QLabel" name="label_23">
- <property name="font">
+ <widget class="QWidget" name="page_9" >
+ <layout class="QFormLayout" name="formLayout_3" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_23" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by timestamp:</string>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QComboBox" name="timestampcomboBox">
+ <item row="2" column="0" >
+ <widget class="QComboBox" name="timestampcomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>NotEqual</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Less than</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Less than equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Greater than</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Greater than equal</string>
</property>
</item>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QDateTimeEdit" name="timestampdateTimeEdit">
- <property name="dateTime">
+ <item row="3" column="0" >
+ <widget class="QDateTimeEdit" name="timestampdateTimeEdit" >
+ <property name="dateTime" >
<datetime>
<hour>0</hour>
<minute>0</minute>
@@ -688,28 +687,28 @@
<day>1</day>
</datetime>
</property>
- <property name="currentSection">
- <enum>QDateTimeEdit::MonthSection</enum>
+ <property name="currentSection" >
+ <enum>QDateTimeEdit::YearSection</enum>
</property>
- <property name="displayFormat">
+ <property name="displayFormat" >
<string>yyyy/MM/dd HH:mm</string>
</property>
- <property name="calendarPopup">
+ <property name="calendarPopup" >
<bool>true</bool>
</property>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QPushButton" name="timestampButton">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QPushButton" name="timestampButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="timestampAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="timestampAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Select account</string>
</property>
</item>
@@ -717,180 +716,180 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_10">
- <layout class="QFormLayout" name="formLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="label_19">
- <property name="font">
+ <widget class="QWidget" name="page_10" >
+ <layout class="QFormLayout" name="formLayout_2" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_19" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>By receptiontime:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="timeAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="timeAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Select account</string>
</property>
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QComboBox" name="receptioncomboBox">
+ <item row="2" column="0" >
+ <widget class="QComboBox" name="receptioncomboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Less than</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Less than equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Greater than</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Greater than equal</string>
</property>
</item>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QDateTimeEdit" name="receptiondateTimeEdit">
- <property name="currentSection">
- <enum>QDateTimeEdit::MonthSection</enum>
+ <item row="3" column="0" >
+ <widget class="QDateTimeEdit" name="receptiondateTimeEdit" >
+ <property name="currentSection" >
+ <enum>QDateTimeEdit::YearSection</enum>
</property>
- <property name="displayFormat">
+ <property name="displayFormat" >
<string>yyyy/MM/dd HH:mm</string>
</property>
- <property name="calendarPopup">
+ <property name="calendarPopup" >
<bool>true</bool>
</property>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QPushButton" name="receptionButton">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QPushButton" name="receptionButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_11">
- <layout class="QFormLayout" name="formLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label_21">
- <property name="font">
+ <widget class="QWidget" name="page_11" >
+ <layout class="QFormLayout" name="formLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_21" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>Filter by folder:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QComboBox" name="folderAccountComboBox">
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="folderAccountComboBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Select account</string>
</property>
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QComboBox" name="foldercomboBox">
- <property name="font">
+ <item row="2" column="0" >
+ <widget class="QComboBox" name="foldercomboBox" >
+ <property name="font" >
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<item>
- <property name="text">
+ <property name="text" >
<string>Inbox folder, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Inbox folder, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Outbox folder, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Outbox folder, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Drafts folder, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Drafts folder, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Sent folder, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Sent folder, not equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Trash folder, equal</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Trahs folder, not equal</string>
</property>
</item>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QPushButton" name="folderButton">
- <property name="palette">
+ <item row="3" column="0" >
+ <widget class="QPushButton" name="folderButton" >
+ <property name="palette" >
<palette>
<active>
- <colorrole role="LinkVisited">
- <brush brushstyle="SolidPattern">
- <color alpha="255">
+ <colorrole role="LinkVisited" >
+ <brush brushstyle="SolidPattern" >
+ <color alpha="255" >
<red>51</red>
<green>129</green>
<blue>255</blue>
@@ -899,9 +898,9 @@
</colorrole>
</active>
<inactive>
- <colorrole role="LinkVisited">
- <brush brushstyle="SolidPattern">
- <color alpha="255">
+ <colorrole role="LinkVisited" >
+ <brush brushstyle="SolidPattern" >
+ <color alpha="255" >
<red>51</red>
<green>129</green>
<blue>255</blue>
@@ -910,9 +909,9 @@
</colorrole>
</inactive>
<disabled>
- <colorrole role="LinkVisited">
- <brush brushstyle="SolidPattern">
- <color alpha="255">
+ <colorrole role="LinkVisited" >
+ <brush brushstyle="SolidPattern" >
+ <color alpha="255" >
<red>51</red>
<green>129</green>
<blue>255</blue>
@@ -922,93 +921,93 @@
</disabled>
</palette>
</property>
- <property name="font">
+ <property name="font" >
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
- <property name="focusPolicy">
+ <property name="focusPolicy" >
<enum>Qt::StrongFocus</enum>
</property>
- <property name="contextMenuPolicy">
+ <property name="contextMenuPolicy" >
<enum>Qt::DefaultContextMenu</enum>
</property>
- <property name="text">
+ <property name="text" >
<string>make query</string>
</property>
</widget>
</item>
</layout>
</widget>
- <widget class="QWidget" name="page_12">
- <layout class="QFormLayout" name="formLayout_7">
- <item row="0" column="0">
- <widget class="QLabel" name="label_29">
- <property name="font">
+ <widget class="QWidget" name="page_12" >
+ <layout class="QFormLayout" name="formLayout_7" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_29" >
+ <property name="font" >
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
- <property name="text">
+ <property name="text" >
<string>By account:</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_28">
- <property name="text">
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_28" >
+ <property name="text" >
<string>Account:</string>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QComboBox" name="accountComboBox_2"/>
+ <item row="2" column="0" >
+ <widget class="QComboBox" name="accountComboBox_2" />
</item>
- <item row="3" column="0">
- <widget class="QComboBox" name="folderComboBox"/>
+ <item row="3" column="0" >
+ <widget class="QComboBox" name="folderComboBox" />
</item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_20">
- <property name="text">
+ <item row="4" column="0" >
+ <widget class="QLabel" name="label_20" >
+ <property name="text" >
<string>Default account:</string>
</property>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QComboBox" name="defaultAccountBox">
+ <item row="5" column="0" >
+ <widget class="QComboBox" name="defaultAccountBox" >
<item>
- <property name="text">
+ <property name="text" >
<string>Inbox</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Outbox</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Drafts</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Sent</string>
</property>
</item>
<item>
- <property name="text">
+ <property name="text" >
<string>Trash</string>
</property>
</item>
</widget>
</item>
- <item row="6" column="0">
- <widget class="QPushButton" name="findMessagesButton">
- <property name="text">
+ <item row="6" column="0" >
+ <widget class="QPushButton" name="findMessagesButton" >
+ <property name="text" >
<string>make query</string>
</property>
</widget>
@@ -1022,10 +1021,10 @@
<zorder>label_28</zorder>
<zorder>label_29</zorder>
</widget>
- <widget class="QWidget" name="page_13">
- <layout class="QVBoxLayout" name="verticalLayout_9">
+ <widget class="QWidget" name="page_13" >
+ <layout class="QVBoxLayout" name="verticalLayout_9" >
<item>
- <widget class="QListView" name="messageListView"/>
+ <widget class="QListView" name="messageListView" />
</item>
</layout>
</widget>
diff --git a/tests/networkmanager/README b/tests/networkmanager/README
deleted file mode 100644
index 4bc7171954..0000000000
--- a/tests/networkmanager/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This application serves as prototype/test-bed for NetworkManager development. The excellent (non-existing) documentation
-for the various NetworkManager interfaces makes this harder than it should be.
diff --git a/tests/networkmanager/dialog.ui b/tests/networkmanager/dialog.ui
deleted file mode 100644
index 13019086b6..0000000000
--- a/tests/networkmanager/dialog.ui
+++ /dev/null
@@ -1,213 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>Dialog</class>
- <widget class="QDialog" name="Dialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>919</width>
- <height>657</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Dialog</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Connections</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTreeWidget" name="cons">
- <column>
- <property name="text">
- <string>Path</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>State</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Id</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Settings</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Devices:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTreeWidget" name="devicesTreeWidget">
- <column>
- <property name="text">
- <string>Path</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Managed</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Interface</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Driver</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Type</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>State</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>IP4 Address</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>IP4 Config</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Hostname</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Domains</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="0">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>908</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="0">
- <widget class="QTreeWidget" name="accessPointsTreeWidget">
- <property name="sortingEnabled">
- <bool>true</bool>
- </property>
- <column>
- <property name="text">
- <string>SSID</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Strength</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Wpa</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Rsn</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Freq</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Hardware Address</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Mode</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Max Bitrate</string>
- </property>
- </column>
- </widget>
- </item>
- <item row="4" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <widget class="QPushButton" name="startButton">
- <property name="text">
- <string>Start</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="stopButton">
- <property name="text">
- <string>Stop</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="scanButton">
- <property name="text">
- <string>Scan</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="updateButton">
- <property name="text">
- <string>Update</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/tests/networkmanager/networkmanager.pro b/tests/networkmanager/networkmanager.pro
deleted file mode 100644
index 7ff370aaef..0000000000
--- a/tests/networkmanager/networkmanager.pro
+++ /dev/null
@@ -1,20 +0,0 @@
-SOURCES += networkmanagertest.cpp nmview.cpp
-HEADERS += nmview.h
-TARGET = tst_networkmanagertest
-
-QT = core network dbus gui
-
-#not really a test case but deployment happens same way
-CONFIG += testcase
-
-requires(contains(QT_CONFIG,dbus))
-
-INCLUDEPATH += ../../src/bearer
-include(../../common.pri)
-
-CONFIG += mobility
-MOBILITY = bearer
-
-#MOC_DIR = .moc
-#OBJECTS_DIR = .obj
-FORMS += dialog.ui
diff --git a/tests/networkmanager/networkmanagertest.cpp b/tests/networkmanager/networkmanagertest.cpp
deleted file mode 100644
index a39b041321..0000000000
--- a/tests/networkmanager/networkmanagertest.cpp
+++ /dev/null
@@ -1,287 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDBusConnection>
-#include <QDBusError>
-#include <QDBusInterface>
-#include <QDBusMessage>
-#include <QDBusReply>
-#include <QtDBus>
-#include <QHostAddress>
-#include <QDebug>
-#include <NetworkManager/NetworkManager.h>
-#include <QApplication>
-#include <QMainWindow>
-#include "nmview.h"
-
-#include <arpa/inet.h>
-
-typedef QMap< QString, QMap<QString,QVariant> > SettingsMap;
-Q_DECLARE_METATYPE(SettingsMap)
-
-void printConnectionDetails(const QString& service)
-{
- QDBusConnection dbc = QDBusConnection::systemBus();
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- QDBusInterface allCons(service, NM_DBUS_PATH_SETTINGS, NM_DBUS_IFACE_SETTINGS, dbc);
- if (allCons.isValid()) {
- QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections");
- if ( reply.isValid() ) {
- qWarning() << "Known connections:";
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() << " " << path.path();
- QDBusInterface sysIface(NM_DBUS_SERVICE_SYSTEM_SETTINGS, path.path(), NM_DBUS_IFACE_SETTINGS_CONNECTION, dbc);
- if (sysIface.isValid()) {
- QDBusMessage r = sysIface.call("GetSettings");
- QDBusReply< SettingsMap > rep = sysIface.call("GetSettings");
- qWarning() << " GetSettings:" << r.arguments() << r.signature() << rep.isValid() << sysIface.lastError();
- QMap< QString, QMap<QString,QVariant> > map = rep.value();
- QList<QString> list = map.keys();
- foreach (QString key, list) {
- QMap<QString,QVariant> innerMap = map[key];
- qWarning() << " Key: " << key;
- QMap<QString,QVariant>::const_iterator i = innerMap.constBegin();
- while (i != innerMap.constEnd()) {
- QString k = i.key();
- qWarning() << " Key: " << k << " Entry: " << i.value();
- if (k == "addresses" && i.value().canConvert<QDBusArgument>()) {
- QDBusArgument arg = i.value().value<QDBusArgument>();
- arg.beginArray();
- while (!arg.atEnd()) {
- QDBusVariant addr;
- arg >> addr;
- uint ip = addr.variant().toUInt();
- qWarning() << ip;
- qWarning() << " " << QHostAddress(htonl(ip)).toString();
- }
-
- }
- i++;
- }
- }
- }
- }
- }
- }
-
-
-}
-
-void readConnectionManagerDetails()
-{
- qDBusRegisterMetaType<SettingsMap>();
- QDBusConnection dbc = QDBusConnection::systemBus();
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
-
- QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
-
- uint state = iface.property("State").toUInt();
- switch(state) {
- case NM_STATE_UNKNOWN:
- qWarning() << "State: Unknown"; break;
- case NM_STATE_ASLEEP:
- qWarning() << "State: Asleep"; break;
- case NM_STATE_CONNECTING:
- qWarning() << "State: Connecting"; break;
- case NM_STATE_CONNECTED:
- qWarning() << "State: Connected"; break;
- case NM_STATE_DISCONNECTED:
- qWarning() << "State: Disconnected"; break;
- }
- //get list of network devices
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
- qWarning() << "Current devices:";
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() << " " << path.path();
- QDBusInterface devIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_DEVICE, dbc);
- if (devIface.isValid()) {
- qWarning() << " Managed: " << devIface.property("Managed").toBool();
- qWarning() << " Interface: " << devIface.property("Interface").toString();
- qWarning() << " HAL UDI: " << devIface.property("Udi").toString();
- qWarning() << " Driver: " << devIface.property("Driver").toString();
- QVariant v = devIface.property("DeviceType");
- switch(v.toUInt()) {
- case DEVICE_TYPE_UNKNOWN:
- qWarning() << " DeviceType: Unknown" ;
- break;
- case DEVICE_TYPE_802_3_ETHERNET:
- qWarning() << " DeviceType: Ethernet" ;
- break;
- case DEVICE_TYPE_802_11_WIRELESS:
- qWarning() << " DeviceType: Wireless" ;
- break;
- case DEVICE_TYPE_GSM:
- qWarning() << " DeviceType: GSM" ;
- break;
- case DEVICE_TYPE_CDMA:
- qWarning() << " DeviceType: CDMA" ;
- break;
-
- }
- v = devIface.property("State");
- switch(v.toUInt()) {
- case NM_DEVICE_STATE_UNKNOWN:
- qWarning() << " State: Unknown" ; break;
- case NM_DEVICE_STATE_UNMANAGED:
- qWarning() << " State: Unmanaged" ; break;
- case NM_DEVICE_STATE_UNAVAILABLE:
- qWarning() << " State: Unavailable" ; break;
- case NM_DEVICE_STATE_DISCONNECTED:
- qWarning() << " State: Disconnected" ; break;
- case NM_DEVICE_STATE_PREPARE:
- qWarning() << " State: Preparing" ; break;
- case NM_DEVICE_STATE_CONFIG:
- qWarning() << " State: Being configured" ; break;
- case NM_DEVICE_STATE_NEED_AUTH:
- qWarning() << " State: Awaiting secrets" ; break;
- case NM_DEVICE_STATE_IP_CONFIG:
- qWarning() << " State: IP requested" ; break;
- case NM_DEVICE_STATE_ACTIVATED:
- qWarning() << " State: Activated" ; break;
- case NM_DEVICE_STATE_FAILED:
- qWarning() << " State: FAILED" ; break;
- }
- quint32 ip = devIface.property("Ip4Address").toUInt();
- qWarning() << " IP4Address: " << QHostAddress(htonl(ip)).toString();
- if (v.toUInt() == NM_DEVICE_STATE_ACTIVATED) {
- QString path = devIface.property("Ip4Config").value<QDBusObjectPath>().path();
- qWarning() << " IP4Config: " << path;
- QDBusInterface ipIface(NM_DBUS_SERVICE, path, NM_DBUS_INTERFACE_IP4_CONFIG, dbc);
- if (ipIface.isValid()) {
- qWarning() << " Hostname: " << ipIface.property("Hostname").toString();
- qWarning() << " Domains: " << ipIface.property("Domains").toStringList();
- qWarning() << " NisDomain: " << ipIface.property("NisDomain").toString();
- QDBusArgument arg= ipIface.property("Addresses").value<QDBusArgument>();
- //qWarning() << " " << arg.currentType();
- qWarning() << " Addresses: " << ipIface.property("Addresses");
- qWarning() << " Nameservers: " << ipIface.property("Nameservers");
- qWarning() << " NisServers: " << ipIface.property("NisServers");
- }
-
- }
-
- }
- }
- }
-
- //get list of active connections
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- QString activePath;
- if ( connections.count() )
- qWarning() << "Active connections:";
- foreach(QDBusObjectPath path, connections) {
- qWarning() << " " << path.path();
- activePath = path.path();
- QString serviceName;
- QDBusInterface conIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_ACTIVE_CONNECTION, dbc);
- if (conIface.isValid()) {
- qWarning() << " default connection: " << conIface.property("Default").toBool();
- serviceName = conIface.property("ServiceName").toString();
- qWarning() << " service name: " << serviceName;
- qWarning() << " connection path: " << conIface.property("Connection").value<QDBusObjectPath>().path();
- qWarning() << " specific object:" << conIface.property("SpecificObject").value<QDBusObjectPath>().path();
- qWarning() << " sharedServiceName: " << conIface.property("SharedServiceName").toString();
- QList<QDBusObjectPath> devs = conIface.property("Devices").value<QList<QDBusObjectPath> >();
- qWarning() << " devices: ";
- foreach(QDBusObjectPath p, devs)
- qWarning() << " " << path.path();
- QVariant v = conIface.property("State");
- switch (v.toInt()) {
- case NM_ACTIVE_CONNECTION_STATE_UNKNOWN:
- qWarning()<< " State: unknown"; break;
- case NM_ACTIVE_CONNECTION_STATE_ACTIVATING:
- qWarning()<< " State: activating"; break;
- case NM_ACTIVE_CONNECTION_STATE_ACTIVATED:
- qWarning()<< " State: activated"; break;
- }
- } else {
- qWarning() << conIface.lastError();
- }
-
- }
-
- printConnectionDetails(NM_DBUS_SERVICE_SYSTEM_SETTINGS);
- printConnectionDetails(NM_DBUS_SERVICE_USER_SETTINGS);
-
-
- //turn active connection off
- /*QDBusObjectPath dbop("/org/freedesktop/NetworkManager/ActiveConnection/1");
- QVariant asd = QVariant::fromValue(dbop);
- iface.call(QLatin1String("DeactivateConnection"), asd);
- qWarning() << iface.lastError();*/
-
- /*QDBusObjectPath p1device("/org/freedesktop/Hal/devices/net_00_60_6e_82_02_65");
- QVariant p1v = QVariant::fromValue(p1device);
- QDBusObjectPath p1con("/org/freedesktop/NetworkManagerSettings/0");
- QVariant p1c = QVariant::fromValue(p1con);
- QDBusObjectPath p1sp("");
- QVariant p1sp1 = QVariant::fromValue(p1sp);
- iface.call(QLatin1String("ActivateConnection"),
- QString("/org/freedesktop/NetworkManagerSystemSettings"), p1c,p1v, p1v );
- qWarning() << iface.lastError();
- */
-}
-
-int main( int argc, char** argv)
-{
- QApplication app(argc, argv);
- //readConnectionManagerDetails();
- QMainWindow main;
- NMView view;
- main.setCentralWidget(&view);
- main.show();
- return app.exec();
-
-}
diff --git a/tests/networkmanager/nmview.cpp b/tests/networkmanager/nmview.cpp
deleted file mode 100644
index fde5cae2a1..0000000000
--- a/tests/networkmanager/nmview.cpp
+++ /dev/null
@@ -1,1028 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "nmview.h"
-
-#include <QLabel>
-#include <QLayout>
-#include <QListWidget>
-#include <QDebug>
-#include <QPushButton>
-
-#include <QtDBus>
-#include <QtNetwork>
-#include <NetworkManager/NetworkManager.h>
-#include <arpa/inet.h>
-
-#include <QDBusConnection>
-#include <QDBusError>
-#include <QDBusInterface>
-#include <QDBusMessage>
-#include <QDBusReply>
-
-#include <QHostAddress>
-#include <QNetworkInterface>
-#include <QTreeWidgetItem>
-#include <QMessageBox>
-
-//#include "ui_dialog.h"
-
-#include <qnetworkconfiguration.h>
-#include <qnetworkconfigmanager.h>
-#include <qnetworksession.h>
-#include <qnetworkmanagerservice_p.h>
-
-//static QDBusConnection dbc = QDBusConnection::systemBus();
-//typedef QMap< QString, QMap<QString,QVariant> > SettingsMap;
-//Q_DECLARE_METATYPE(SettingsMap)
-
-
-NMView::NMView(QDialog* parent)
- : QDialog(parent, 0), dbc(QDBusConnection::systemBus())
-{
- init();
-
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- updateConnections();
- getDevices();
-}
-
-NMView::~NMView()
-{
-}
-void NMView::init()
-{
- setupUi(this);
- sess = 0;
-// readSettings();
- connect(startButton, SIGNAL(clicked()), this, SLOT(activate()));
- connect(stopButton, SIGNAL(clicked()), this, SLOT(deactivate()));
- connect(scanButton, SIGNAL(clicked()), this, SLOT(findAccessPoints()));
- connect(updateButton, SIGNAL(clicked()), this, SLOT(update()));
-
- connect(cons, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
- this,SLOT(connectionItemActivated(QTreeWidgetItem*, int)));
-
-
- connect(devicesTreeWidget, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
- this, SLOT(deviceItemActivated(QTreeWidgetItem*, int)));
-
- cons->header()->setResizeMode(QHeaderView::ResizeToContents);
- devicesTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
- accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
-// accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
-
- manager = new QNetworkConfigurationManager(this);
-
- connect(manager, SIGNAL(updateCompleted()), this, SLOT(updateCompleted()));
-
- connect(manager, SIGNAL(configurationAdded(const QNetworkConfiguration &)),
- this, SLOT(configurationAdded(const QNetworkConfiguration&)));
-
- devicesTreeWidget->header()->hideSection(0);
- devicesTreeWidget->header()->hideSection(1);
- devicesTreeWidget->header()->hideSection(3);
- devicesTreeWidget->header()->hideSection(5);
- devicesTreeWidget->header()->hideSection(6);
- devicesTreeWidget->header()->hideSection(7);
- devicesTreeWidget->header()->hideSection(8);
- devicesTreeWidget->header()->hideSection(9);
-}
-
-void NMView::updateConnections()
-{
- cons->clear();
- manager->updateConfigurations();
- QList<QNetworkConfiguration> configs = manager->allConfigurations();
- foreach(QNetworkConfiguration p, configs) {
- QStringList strlist;
- strlist << p.name();
- strlist << stateToString(p.state());
- strlist << p.identifier();
- strlist << typeToString(p.type());
- QTreeWidgetItem *item;
- item = new QTreeWidgetItem(strlist);
- cons->insertTopLevelItem(0, item);
- }
- cons->sortItems ( 1, Qt::AscendingOrder);
-}
-
-void NMView::getActiveConnections()
-{
- QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active);
- foreach(QNetworkConfiguration p, configs) {
- qWarning() << __FUNCTION__ << p.name() << p.identifier();
- }
-
-// QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
-// if (!iface.isValid()) {
-// qWarning() << "Could not find NetworkManager";
-// return;
-// }
-
-// QVariant prop = iface.property("ActiveConnections");
-// QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
-// foreach(QDBusObjectPath path, connections) {
-// QDBusInterface conDetails(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_ACTIVE_CONNECTION, dbc);
-// if (conDetails.isValid()) {
-// QString desc = path.path();
-// conDetails.property("Connection Path").value<QDBusObjectPath>().path();
-
-// QList<QDBusObjectPath> devices = conDetails.property("Devices").value<QList<QDBusObjectPath> >();
-//
-// foreach(QDBusObjectPath devpath, devices) {
-// QDBusInterface devIface(NM_DBUS_SERVICE, devpath.path(), NM_DBUS_INTERFACE_DEVICE, dbc);
-// desc += " "+devIface.property("Interface").toString();
-// desc += " "+QHostAddress(htonl(devIface.property("Ip4Address").toUInt())).toString();
-
-// }
-
-// qWarning() << conDetails.property("Connection").value<QDBusObjectPath>().path() << path.path();
-
-// QListWidgetItem* item = new QListWidgetItem(desc, activeCons);
-// item->setData(Qt::UserRole, path.path());
-// }
-// }
-}
-
-void NMView::update()
-{
-// QNetworkManagerInterface *dbIface;
-// dbIface = new QNetworkManagerInterface;
-// QList <QDBusObjectPath> connections = dbIface->activeConnections();
-//
-// foreach(QDBusObjectPath conpath, connections) {
-// QNetworkManagerConnectionActive *aConn;
-// aConn = new QNetworkManagerConnectionActive(conpath.path());
-// // in case of accesspoint, specificObject will hold the accessPOintObjectPath
-// qWarning() << aConn->connection().path() << aConn->specificObject().path() << aConn->devices().count();
-// QList <QDBusObjectPath> devs = aConn->devices();
-// foreach(QDBusObjectPath device, devs) {
-// qWarning() << " " << device.path();
-// }
-// }
-
- QStringList connectionServices;
- connectionServices << NM_DBUS_SERVICE_SYSTEM_SETTINGS;
- connectionServices << NM_DBUS_SERVICE_USER_SETTINGS;
- foreach (QString service, connectionServices) {
- QDBusInterface allCons(service,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS,
- dbc);
- if (allCons.isValid()) {
- QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QDBusInterface sysIface(service,
- path.path(),
- NM_DBUS_IFACE_SETTINGS_CONNECTION,
- dbc);
- if (sysIface.isValid()) {
- qWarning() << "";
- qWarning() << path.path();
-
- // QDBusMessage r = sysIface.call("GetSettings");
- QDBusReply< QNmSettingsMap > rep = sysIface.call("GetSettings");
-
- QMap< QString, QMap<QString,QVariant> > map = rep.value();
- QList<QString> list = map.keys();
- foreach (QString key, list) {
- QMap<QString,QVariant> innerMap = map[key];
- qWarning() << " Key: " << key;
- QMap<QString,QVariant>::const_iterator i = innerMap.constBegin();
-
- while (i != innerMap.constEnd()) {
- QString k = i.key();
- qWarning() << " Key: " << k << " Entry: " << i.value();
- i++;
- }//end innerMap
- }//end foreach key
- }//end settings connection
- } // foreach path
- } //end ListConnections
- } //end settingsInterface
- }// end services
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
- if (iface.isValid()) {
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath conpath, connections) {
- qWarning() << "Active connection" << conpath.path();
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- conpath.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
- if (conDetails.isValid()) {
-
- QVariant prop = conDetails.property("Connection");
- QDBusObjectPath connection = prop.value<QDBusObjectPath>();
- qWarning() << conDetails.property("Default").toBool() << connection.path();
-
-// QVariant Sprop = conDetails.property("Devices");
-// QList<QDBusObjectPath> so = Sprop.value<QList<QDBusObjectPath> >();
-// foreach(QDBusObjectPath device, so) {
-// if(device.path() == devicePath) {
-// path = connection.path();
-// }
-// break;
-// }
- }
- }
- }
-qWarning() << "";
-}
-
-void NMView::deactivate()
-{
- QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active);
- foreach(QNetworkConfiguration p, configs) {
- qWarning() << "Active cons" << p.name();
- if(p.name() == cons->currentItem()->text(0)
- && p.identifier() == cons->currentItem()->text(2)) {
- qWarning() <<__FUNCTION__<< p.name();
- if(!sess) {
- sess = new QNetworkSession(p);
-
- connect(sess, SIGNAL(stateChanged(QNetworkSession::State)),
- this, SLOT(stateChanged(QNetworkSession::State)));
-
- connect(sess, SIGNAL(error(QNetworkSession::SessionError)),
- this, SLOT(networkSessionError(QNetworkSession::SessionError)));
- }
- sess->close();
- delete sess;
- sess = 0;
- }
- }
-}
-
-void NMView::activate()
-{
- qWarning() << __FUNCTION__ << cons->currentItem()->text(0);
-
- QList<QNetworkConfiguration> configs = manager->allConfigurations();
- foreach(QNetworkConfiguration p, configs) {
- if(p.name() == cons->currentItem()->text(0)) {
-
- sess = new QNetworkSession(p);
-
- connect(sess, SIGNAL(newConfigurationActivated()),
- this, SLOT(getActiveConnections()));
-
- connect(sess, SIGNAL(stateChanged(QNetworkSession::State)),
- this, SLOT(stateChanged(QNetworkSession::State)));
-
- connect(sess, SIGNAL(error(QNetworkSession::SessionError)),
- this, SLOT(networkSessionError(QNetworkSession::SessionError)));
-
- sess->open();
- }
- }
-}
-
-void NMView::getDevices()
-{
- qWarning() << "";
- qWarning() << __FUNCTION__;
- devicesTreeWidget->clear();
- //qDBusRegisterMetaType<SettingsMap>();
-
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
-//NetworkManager interface
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
-
-// uint state = iface.property("State").toUInt();
-// switch(state) {
-// case NM_STATE_UNKNOWN:
-// qWarning() << "State: Unknown"; break;
-// case NM_STATE_ASLEEP:
-// qWarning() << "State: Asleep"; break;
-// case NM_STATE_CONNECTING:
-// qWarning() << "State: Connecting"; break;
-// case NM_STATE_CONNECTED:
-// qWarning() << "State: Connected"; break;
-// case NM_STATE_DISCONNECTED:
-// qWarning() << "State: Disconnected"; break;
-// }
-
- //get list of network devices
- QTreeWidgetItem *item;
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
-// qWarning() << "Current devices:";
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QStringList devicesList;
- qWarning() << " " << path.path();
- devicesList << path.path();
-
- QDBusInterface devIface(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_DEVICE,
- dbc);
- if (devIface.isValid()) {
-
-
-
- ////// connect the dbus signal
-// /*if(*/dbc.connect(NM_DBUS_SERVICE,
-// path.path(),
-// NM_DBUS_INTERFACE_DEVICE,
-// "StateChanged",
-// this,SLOT(deviceStateChanged(quint32)));
-// {
-// qWarning() << "XXXXXXXXXX dbus connect successful" << path.path();
-// }
-
-
- // qWarning() << " Managed: " << devIface.property("Managed").toBool();
- devicesList << devIface.property("Managed").toString();
- // qWarning() << " Interface: " << devIface.property("Interface").toString();
- devicesList << devIface.property("Interface").toString();
- // qWarning() << " HAL UDI: " << devIface.property("Udi").toString();
- // qWarning() << " Driver: " << devIface.property("Driver").toString();
- devicesList << devIface.property("Driver").toString();
-
- QString x = deviceTypeToString(devIface.property("DeviceType").toUInt());
- // qWarning() << " Type:" << x;
- devicesList << x;
-
- if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) {
- qWarning() << "Device is WIFI";
- // // findAccessPoints(path.path());
- }
-
- QVariant v = devIface.property("State");
- x = deviceStateToString(v.toUInt());
-// qWarning() << " State:" << x;
- devicesList << x;
-
- quint32 ip = devIface.property("Ip4Address").toUInt();
-// qWarning() << " IP4Address: " << QHostAddress(htonl(ip)).toString();
- devicesList << QHostAddress(htonl(ip)).toString();
-
-
- if (v.toUInt() == NM_DEVICE_STATE_ACTIVATED) {
- QString path = devIface.property("Ip4Config").value<QDBusObjectPath>().path();
-// qWarning() << " IP4Config: " << path;
- devicesList << path;
- QDBusInterface ipIface(NM_DBUS_SERVICE,
- path,
- NM_DBUS_INTERFACE_IP4_CONFIG,
- dbc);
- if (ipIface.isValid()) {
- // qWarning() << " Hostname: " << ipIface.property("Hostname").toString();
- devicesList << ipIface.property("Hostname").toString();
-// qWarning() << " Domains: " << ipIface.property("Domains").toStringList();
- devicesList << ipIface.property("Domains").toStringList().join(", ");
-// qWarning() << " NisDomain: " << ipIface.property("NisDomain").toString();
- QDBusArgument arg= ipIface.property("Addresses").value<QDBusArgument>();
-// qWarning() << " Addresses: " << ipIface.property("Addresses");
-// qWarning() << " Nameservers: " << ipIface.property("Nameservers");
-// qWarning() << " NisServers: " << ipIface.property("NisServers");
- }
-
- }
-
- }
- item = new QTreeWidgetItem(devicesList);
- devicesTreeWidget->insertTopLevelItem(0, item);
- }
- }
-
-
-// netconfig();
-
-}
-
-void NMView::readSettings()
-{
- QDBusInterface settingsiface(NM_DBUS_SERVICE_SYSTEM_SETTINGS,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS,
- dbc);
- //NetworkManagerSettings interface
- if (settingsiface.isValid()) {
- QDBusReply<QList<QDBusObjectPath> > reply = settingsiface.call("ListConnections");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() <<__FUNCTION__ << path.path();
-
- }
- }
- }
-
- QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
-
- // QStringList list = item->text().split(" -> ");
-
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath path, connections) {
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
-
- if (conDetails.isValid()) {
- QString desc = path.path();
- qWarning() << desc;
- //if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) {
- // QListWidgetItem* item = new QTreeWidgetItem( desc,
- // cons);
- // item->setData(Qt::UserRole, desc);
- // activeItemActivated( item );
- //}
- }
- }
-}
-
-void NMView::printConnectionDetails(const QString& service)
-{
- Q_UNUSED(service);
-
-//
-// qWarning() << __FUNCTION__ << service;
-//
-// QDBusConnection dbc = QDBusConnection::systemBus();
-// if (!dbc.isConnected()) {
-// qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
-// return;
-// }
-// QDBusInterface allCons(service,
-// NM_DBUS_PATH_SETTINGS,
-// NM_DBUS_IFACE_SETTINGS,
-// dbc);
-//
-// if (allCons.isValid()) {
-// QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections");
-//
-// if ( reply.isValid() ) {
-// qWarning() << "Known connections:";
-// QList<QDBusObjectPath> list = reply.value();
-//
-// foreach(QDBusObjectPath path, list) {
-// qWarning() << " " << path.path();
-//
-// QDBusInterface sysIface(NM_DBUS_SERVICE_SYSTEM_SETTINGS,
-// path.path(),
-// NM_DBUS_IFACE_SETTINGS_CONNECTION,
-// dbc);
-//
-// if (sysIface.isValid()) {
-// QDBusMessage r = sysIface.call("GetSettings");
-// QDBusReply< QSettingsMap > rep = sysIface.call("GetSettings");
-//
-// qWarning() << " GetSettings:" << r.arguments() << r.signature() << rep.isValid() << sysIface.lastError();
-//
-// QMap< QString, QMap<QString,QVariant> > map = rep.value();
-// QList<QString> list = map.keys();
-//
-// foreach (QString key, list) {
-// QMap<QString,QVariant> innerMap = map[key];
-// qWarning() << " Key: " << key;
-// QMap<QString,QVariant>::const_iterator i = innerMap.constBegin();
-//
-// while (i != innerMap.constEnd()) {
-// QString k = i.key();
-// qWarning() << " Key: " << k << " Entry: " << i.value();
-//
-// if (k == "addresses" && i.value().canConvert<QDBusArgument>()) {
-// QDBusArgument arg = i.value().value<QDBusArgument>();
-// arg.beginArray();
-//
-// while (!arg.atEnd()) {
-// QDBusVariant addr;
-// arg >> addr;
-// uint ip = addr.variant().toUInt();
-// qWarning() << ip;
-// qWarning() << " " << QHostAddress(htonl(ip)).toString();
-// }
-//
-// }
-// i++;
-// }
-// }
-// }
-// }
-// }
-// }
- qWarning() << "";
-}
-
-void NMView::getNetworkDevices()
-{
-
-}
-
-void NMView::connectionItemActivated( QTreeWidgetItem * item, int col )
-{
- Q_UNUSED(col);
-
- qWarning() <<__FUNCTION__<< item->text(0);
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath path, connections) {
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
-
- if (conDetails.isValid()) {
- QString desc = path.path();
- qWarning() << desc;
- if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) {
-// QListWidgetItem* item = new QTreeWidgetItem( desc,
-// cons);
-// item->setData(Qt::UserRole, desc);
-// activeItemActivated( item );
- }
- }
- }
-}
-
-
-
-void NMView::deviceItemActivated( QTreeWidgetItem * item , int section)
-{
- Q_UNUSED(item);
- Q_UNUSED(section);
-
- // qWarning() << item->text(section) << item->text(4);
- //if(item->text(4) == "Wireless") findAccessPoints(item->text(0));
-}
-
-
-void NMView::netconfig()
-{
-// qWarning() << __FUNCTION__;
-
-// qDBusRegisterMetaType<SettingsMap>();
- QDBusConnection dbc = QDBusConnection::systemBus();
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
-
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_IFACE_SETTINGS_CONNECTION,
- dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager Settings";
- return;
- } else {
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("ListConnections");
- QList<QDBusObjectPath> list = reply.value();
-// qWarning() << reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() << " " << path.path();
- }
- }
-}
-
-
-void NMView::findAccessPoints()
-{
- accessPointsTreeWidget->clear();
-
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
-
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QDBusInterface devIface(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_DEVICE,
- dbc);
- if (devIface.isValid()) {
-
- if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) {
-
-// qWarning() <<"deviface"<< devIface.path();
- QDBusInterface wififace(NM_DBUS_SERVICE,
- devIface.path(),
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
- dbc);
- if (!wififace.isValid()) {
- qWarning() << "Could not find NetworkManager wireless interface";
- return;
- }
-
-/////////////////////////
-// if(dbc.connect(NM_DBUS_SERVICE,
-// path.path(),
-// NM_DBUS_INTERFACE_DEVICE_WIRELESS,
-// "PropertiesChanged",
-// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) {
-// qWarning() << "PropertiesChanged connect";
-// } else {
-// qWarning() << "NOT connect";
-
-// }
-/////////////////////////
- qWarning() <<"wififace"<< wififace.path();
- QDBusReply<QList<QDBusObjectPath> > reply2 = wififace.call("GetAccessPoints");
- if ( reply2.isValid() ) {
- QTreeWidgetItem *item;
- QList<QDBusObjectPath> list2 = reply2.value();
- foreach(QDBusObjectPath path2, list2) {
- QDBusInterface accessPointIface(NM_DBUS_SERVICE,
- path2.path(),
- NM_DBUS_INTERFACE_ACCESS_POINT,
- dbc);
- if (accessPointIface.isValid()) {
-//// qWarning() <<"path2" << path2.path();
-
-// if(dbc.connect(NM_DBUS_SERVICE, //signal strength
-// path2.path(),
-// NM_DBUS_INTERFACE_ACCESS_POINT,
-// "PropertiesChanged",
-// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) {
-// qWarning() << "PropertiesChanged connect";
-// } else {
-// qWarning() << "NOT connect";
-//
-// }
-
- QStringList accessPoints;
- accessPoints << accessPointIface.property("Ssid").toString();
- accessPoints << QString::number(accessPointIface.property("Strength").toInt());
- accessPoints << securityCapabilitiesToString(accessPointIface.property("WpaFlags" ).toInt());
- accessPoints << securityCapabilitiesToString(accessPointIface.property("RsnFlags" ).toInt());
- accessPoints << accessPointIface.property("Frequency" ).toString();
- accessPoints << accessPointIface.property("HwAddress" ).toString();
- accessPoints << deviceModeToString(accessPointIface.property("Mode" ).toInt());
- accessPoints << accessPointIface.property("MaxBitrate" ).toString();
- //HwAddress
- // if(accessPointIface.property("Flags" ).toInt() == NM_802_11_AP_FLAGS_PRIVACY ) {
- // qWarning() << "Secure";
- // }
- item = new QTreeWidgetItem(accessPoints);
- accessPointsTreeWidget->insertTopLevelItem(0, item);
- }
- }
- }
- }
- }
- }
- }
-}
-
-QString NMView::deviceStateToString(int state)
-{
- QString ret;
- switch(state) {
- case NM_DEVICE_STATE_UNKNOWN:
- ret = "Unknown";
- break;
- case NM_DEVICE_STATE_UNMANAGED:
- ret = "Unmanaged";
- break;
- case NM_DEVICE_STATE_UNAVAILABLE:
- ret = "Unavailable";
- break;
- case NM_DEVICE_STATE_DISCONNECTED:
- ret = "Disconnected";
- break;
- case NM_DEVICE_STATE_PREPARE:
- ret = "Preparing to connect";
- break;
- case NM_DEVICE_STATE_CONFIG:
- ret = "Being configured";
- break;
- case NM_DEVICE_STATE_NEED_AUTH:
- ret = "Awaiting secrets";
- break;
- case NM_DEVICE_STATE_IP_CONFIG:
- ret = "IP requested";
- break;
- case NM_DEVICE_STATE_ACTIVATED:
- ret = "Activated";
- break;
- case NM_DEVICE_STATE_FAILED:
- ret = "FAILED";
- break;
- };
- return ret;
-}
-
-QString NMView::deviceTypeToString(int device)
-{
- QString ret;
- switch(device) {
- case DEVICE_TYPE_UNKNOWN:
- ret = "Unknown";
- break;
- case DEVICE_TYPE_802_3_ETHERNET:
- ret = "Ethernet";
- break;
- case DEVICE_TYPE_802_11_WIRELESS:
- ret = "Wireless";
- break;
- case DEVICE_TYPE_GSM:
- ret = "GSM";
- break;
- case DEVICE_TYPE_CDMA:
- ret = "CDMA";
- break;
- };
- return ret;
-}
-
-QString NMView::securityCapabilitiesToString(int caps)
-{
- int check = caps;
-// qWarning() << __FUNCTION__<< caps;
- QString ret;
- if( check == 0 )
- ret += "None.";
- if( (check & NM_802_11_AP_SEC_PAIR_WEP40))
- ret += " 40-bit WEP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_WEP104) )
- ret += " 104-bit WEP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_TKIP) )
- ret += " TKIP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_CCMP) )
- ret += " CCMP encryption. ";
- if( (check & NM_802_11_AP_SEC_GROUP_WEP40))
- ret += " 40-bit WEP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_WEP104))
- ret += " 104-bit WEP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_TKIP) )
- ret += " TKIP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_CCMP) )
- ret += " CCMP cipher. ";
- if( (check & NM_802_11_AP_SEC_KEY_MGMT_PSK))
- ret += " PSK key management. ";
- if( (check & NM_802_11_AP_SEC_KEY_MGMT_802_1X) )
- ret += " 802.1x key management. ";
- return ret;
-}
-
-QString NMView::deviceModeToString(int mode)
-{
- QString ret;
- switch (mode) {
- case NM_802_11_MODE_UNKNOWN:
- ret = "Unknown";
- break;
- case NM_802_11_MODE_ADHOC:
- ret = " (Adhoc).";
- break;
- case NM_802_11_MODE_INFRA:
- ret = " (Infrastructure)";
- };
- return ret;
-}
-
-void NMView::netManagerState(quint32 state)
-{
- qWarning() << __FUNCTION__ << state;// << old << reason;
- switch(state) {
- case NM_STATE_UNKNOWN:
- qWarning() << "The NetworkManager daemon is in an unknown state. ";
- break;
- case NM_STATE_ASLEEP:
- qWarning() << "The NetworkManager daemon is asleep and all interfaces managed by it are inactive. ";
- break;
- case NM_STATE_CONNECTING:
- qWarning() << "The NetworkManager daemon is connecting a device. FIXME: What does this mean when one device is active and another is connecting? ";
- break;
- case NM_STATE_CONNECTED:
- qWarning() <<"The NetworkManager daemon is connected. ";
- break;
- case NM_STATE_DISCONNECTED:
- qWarning() << "The NetworkManager daemon is disconnected.";
- break;
-
- };
-}
-
-void NMView::deviceStateChanged(quint32 state)
-{
- qWarning() << __FUNCTION__ << state;
- switch(state) {
- case NM_DEVICE_STATE_UNKNOWN :
- qWarning() <<"The device is in an unknown state. ";
- break;
- case NM_DEVICE_STATE_UNMANAGED:
- qWarning() <<"The device is not managed by NetworkManager.";
- break;
- case NM_DEVICE_STATE_UNAVAILABLE:
- qWarning() <<"The device cannot be used (carrier off, rfkill, etc).";
- break;
- case NM_DEVICE_STATE_DISCONNECTED:
- qWarning() <<"The device is not connected.";
- break;
- case NM_DEVICE_STATE_PREPARE:
- qWarning() <<"The device is preparing to connect.";
- break;
- case NM_DEVICE_STATE_CONFIG:
- qWarning() <<"The device is being configured.";
- break;
- case NM_DEVICE_STATE_NEED_AUTH:
- qWarning() <<"The device is awaiting secrets necessary to continue connection.";
- break;
- case NM_DEVICE_STATE_IP_CONFIG:
- qWarning() <<"The IP settings of the device are being requested and configured.";
- break;
- case NM_DEVICE_STATE_ACTIVATED:
- qWarning() <<"The device is active.";
- break;
- case NM_DEVICE_STATE_FAILED:
- qWarning() <<"The device is in a failure state following an attempt to activate it.";
- break;
- };
-}
-
-void NMView::updateCompleted()
-{
- qWarning() << __FUNCTION__;
-}
-
-void NMView::newConfigurationActivated()
-{
- qWarning() << __FUNCTION__;
- getActiveConnections();
-}
-
-void NMView::stateChanged(QNetworkSession::State state)
-{
- // QString stateStringstr;
- switch (state) {
- case QNetworkSession::Invalid:
- stateString = "Invalid session";
- break;
- case QNetworkSession::NotAvailable:
- stateString = "Session is defined but not yet discovered";
- break;
- case QNetworkSession::Connecting:
- stateString = "Session is being established";
- break;
- case QNetworkSession::Connected:
- stateString = "Session is active and can be used for socket operations";
- cons->currentItem()->setText(1, "Active");
- break;
- case QNetworkSession::Closing:
- stateString = "Session is being shutdown";
- break;
- case QNetworkSession::Disconnected:
- qWarning() << __FUNCTION__;
- manager->updateConfigurations();
- stateString = "Session disconnected";
- cons->currentItem()->setText(1,"Discovered") ;
- break;
- case QNetworkSession::Roaming:
- stateString = "session is roaming from one AP to another";
- break;
- };
- qWarning() << __FUNCTION__ << state << stateString;
-}
-
-QString NMView::stateToString(int state)
-{
- switch (state) {
- case QNetworkConfiguration::Undefined:
- return "Undefined";
- break;
- case QNetworkConfiguration::Defined:
- return "Defined";
- break;
- case QNetworkConfiguration::Discovered:
- return "Discovered";
- break;
- case QNetworkConfiguration::Active:
- return "Active";
- break;
- };
- return "";
-}
-
-void NMView::configurationAdded(const QNetworkConfiguration &config)
-{
- qWarning() << __FUNCTION__<< config.name() << config.identifier();
-}
-
-QString NMView::typeToString(int type)
-{
- switch(type) {
- case QNetworkConfiguration::InternetAccessPoint:
- return "Internet AccessPoint";
- break;
- case QNetworkConfiguration::ServiceNetwork:
- return "Service Network";
- break;
- };
- return QString();
-}
-
-void NMView::aPPropertiesChanged( QMap<QString,QVariant> map)
-{
- //QMap<QString, QVariant>::const_iterator iterator = d->values.find(type + QLatin1String("Path"))
- QMapIterator<QString, QVariant> i(map);
- while (i.hasNext()) {
- i.next();
- if( i.key() == "State") {
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt();
-// deviceStateChanged(i.value().toUInt());
- } else if( i.key() == "ActiveAccessPoint") {
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().value<QDBusObjectPath>().path();
- } else if( i.key() == "Strength")
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt();
- else
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value();
- }
-}
-
-void NMView::networkSessionError(QNetworkSession::SessionError error)
-{
- QString errorStr;
- switch(error) {
- case QNetworkSession::RoamingError:
- errorStr = "Roaming error";
- break;
- case QNetworkSession::SessionAbortedError:
- errorStr = "Session aborted by user or system";
- break;
- default:
- case QNetworkSession::UnknownSessionError:
- errorStr = "Unidentified Error";
- break;
- };
-
- QMessageBox::warning(this, tr("NMView"), errorStr, QMessageBox::Ok);
-}
diff --git a/tests/networkmanager/nmview.h b/tests/networkmanager/nmview.h
deleted file mode 100644
index e15aacdcfb..0000000000
--- a/tests/networkmanager/nmview.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QWidget>
-#include <QDBusConnection>
-#include <qnetworkconfigmanager.h>
-#include <qnetworksession.h>
-#include <qnetworkconfiguration.h>
-
-#include "ui_dialog.h"
-
-QTM_USE_NAMESPACE
-
-QT_BEGIN_NAMESPACE
-class QListWidget;
-class QTreeWidget;
-class QTreeWidgetItem;
-QT_END_NAMESPACE
-
-class NMView : public QDialog, private Ui::Dialog
-{
- Q_OBJECT
-public:
- NMView(QDialog* parent = 0);
- virtual ~NMView();
-
-private:
- void init();
- QString stateString;
-
- QDBusConnection dbc;
- void printConnectionDetails(const QString&);
-
- QString deviceStateToString(int state);
- QString deviceTypeToString(int device);
- QString securityCapabilitiesToString(int caps);
- QString deviceModeToString(int mode);
-//QDBusInterface getInterface();
- QNetworkConfigurationManager *manager;
- QNetworkSession *sess;
- QString stateToString(int state);
- QString typeToString(int type);
-
-private slots:
- void update();
- void deactivate();
- void activate();
- void getActiveConnections();
- void updateConnections();
- void getDevices();
- // void readConnectionManagerDetails();
- void getNetworkDevices();
- void connectionItemActivated( QTreeWidgetItem *, int);
-// void activeItemActivated( QListWidgetItem *);
- void deviceItemActivated( QTreeWidgetItem *, int);
- void netconfig();
- void findAccessPoints();
-
- void netManagerState(quint32);
- void readSettings();
- void updateCompleted();
- void newConfigurationActivated();
-
- void stateChanged(QNetworkSession::State);
- void deviceStateChanged(quint32 state);
-
- void configurationAdded(const QNetworkConfiguration &config);
- void aPPropertiesChanged( QMap<QString,QVariant> map);
- void networkSessionError(QNetworkSession::SessionError);
-
-};
diff --git a/tests/networkmanager/startdlg.cpp b/tests/networkmanager/startdlg.cpp
deleted file mode 100644
index 4720932bd0..0000000000
--- a/tests/networkmanager/startdlg.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "startdlg.h"
-#include <NetworkManager/NetworkManager.h>
-
-
-StartDialog::StartDialog(QWidget * parent)
- :QDialog(parent)
-{
- QVBoxLayout *layout = new QVBoxLayout(this);
- box = new QComboBox();
- layout->addWidget(box);
-
- QHBoxLayout* hbox = new QHBoxLayout();
- QPushButton* start = new QPushButton("Start");
- connect(start, SIGNAL(clicked()), this, SLOT(accept()));
- QPushButton* cancel = new QPushButton("Cancel");
- connect(cancel, SIGNAL(clicked()), this, SLOT(reject()));
-
-
- hbox->addWidget(start);
- hbox->addWidget(cancel);
-
- layout->addLayout(hbox);
-
- QDBusConnection dbc = QDBusConnection::systemBus();
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QDBusInterface devIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_DEVICE, dbc);
- if ( devIface.isValid() ) {
- box->addItem(devIface.property("Interface").toString(), QVariant(path.path()));
- }
- }
- }
-}
-
-QString StartDialog::device() const
-{
- return dev;
-}
-
-void StartDialog::accept()
-{
- dev = box->itemData(box->currentIndex(), Qt::UserRole).toString();
- QDialog::accept();
-}
diff --git a/tests/networkmanager/startdlg.h b/tests/networkmanager/startdlg.h
deleted file mode 100644
index a9f1e7c6af..0000000000
--- a/tests/networkmanager/startdlg.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QDialog>
-#include <QtDBus>
-#include <QtGui>
-
-class StartDialog : public QDialog
-{
- Q_OBJECT
-public:
- StartDialog(QWidget* parent = 0);
-
- QString device() const;
-
-public slots:
- void accept();
-private:
- QString dev;
- QComboBox* box;
-};
diff --git a/tests/publishsubscribeex/main.cpp b/tests/publishsubscribeex/main.cpp
index 8fcce24721..3370f10334 100644
--- a/tests/publishsubscribeex/main.cpp
+++ b/tests/publishsubscribeex/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/publishsubscribeex/publishsubscribemainwindow.cpp b/tests/publishsubscribeex/publishsubscribemainwindow.cpp
index c77066197b..9ae4d72040 100644
--- a/tests/publishsubscribeex/publishsubscribemainwindow.cpp
+++ b/tests/publishsubscribeex/publishsubscribemainwindow.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/publishsubscribeex/publishsubscribemainwindow.h b/tests/publishsubscribeex/publishsubscribemainwindow.h
index 49cfe7c7c0..dc89e09ba6 100644
--- a/tests/publishsubscribeex/publishsubscribemainwindow.h
+++ b/tests/publishsubscribeex/publishsubscribemainwindow.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/sampleserviceplugin/sampleserviceplugin.cpp b/tests/sampleserviceplugin/sampleserviceplugin.cpp
index f47c1f5337..c0f4a30584 100644
--- a/tests/sampleserviceplugin/sampleserviceplugin.cpp
+++ b/tests/sampleserviceplugin/sampleserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/sampleserviceplugin/sampleserviceplugin.h b/tests/sampleserviceplugin/sampleserviceplugin.h
index a1c3d9c0e9..58cc9a0937 100644
--- a/tests/sampleserviceplugin/sampleserviceplugin.h
+++ b/tests/sampleserviceplugin/sampleserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/sampleserviceplugin2/sampleserviceplugin2.cpp b/tests/sampleserviceplugin2/sampleserviceplugin2.cpp
index 2aaf66794b..eb62806dca 100644
--- a/tests/sampleserviceplugin2/sampleserviceplugin2.cpp
+++ b/tests/sampleserviceplugin2/sampleserviceplugin2.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/sampleserviceplugin2/sampleserviceplugin2.h b/tests/sampleserviceplugin2/sampleserviceplugin2.h
index 9f5660cd05..288469177d 100644
--- a/tests/sampleserviceplugin2/sampleserviceplugin2.h
+++ b/tests/sampleserviceplugin2/sampleserviceplugin2.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/tests.pro b/tests/tests.pro
index 05ed9fc201..6c3f2ac130 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -5,9 +5,6 @@ SUBDIRS += auto benchmarks
contains(mobility_modules,serviceframework): SUBDIRS += testservice2 sampleserviceplugin sampleserviceplugin2
contains(mobility_modules,bearer) {
- contains(QT_CONFIG,dbus) {
- !symbian:!mac:!maemo6:!maemo5:unix:SUBDIRS += networkmanager
- }
symbian:SUBDIRS += bearerex
}
diff --git a/tests/testservice2/testservice.h b/tests/testservice2/testservice.h
index fe654a9e0a..65f1e58cf1 100644
--- a/tests/testservice2/testservice.h
+++ b/tests/testservice2/testservice.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/testservice2/testserviceinterface.h b/tests/testservice2/testserviceinterface.h
index 5e0455daae..b0cc448c1a 100644
--- a/tests/testservice2/testserviceinterface.h
+++ b/tests/testservice2/testserviceinterface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/testservice2/testserviceplugin.cpp b/tests/testservice2/testserviceplugin.cpp
index 32ecbe818c..a58e23d489 100644
--- a/tests/testservice2/testserviceplugin.cpp
+++ b/tests/testservice2/testserviceplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tests/testservice2/testserviceplugin.h b/tests/testservice2/testserviceplugin.h
index 86b44f3aa3..84059ee786 100644
--- a/tests/testservice2/testserviceplugin.h
+++ b/tests/testservice2/testserviceplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/qcrmlgen/main.cpp b/tools/qcrmlgen/main.cpp
index e35c601032..36e3a4631c 100644
--- a/tools/qcrmlgen/main.cpp
+++ b/tools/qcrmlgen/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/qcrmlgen/qcrmlgen.cpp b/tools/qcrmlgen/qcrmlgen.cpp
index 94cb0bc956..0aacdc0fa5 100644
--- a/tools/qcrmlgen/qcrmlgen.cpp
+++ b/tools/qcrmlgen/qcrmlgen.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -121,7 +121,8 @@ QWidget *KeyIdDelegate::createEditor(QWidget *parent,
if (!item->text().isEmpty()) {
editor->setText(item->text());
}
- QRegExpValidator *validator = new QRegExpValidator(QRegExp("([0-9]|[A-F]|[a-f]){1,8}"), editor);
+ QRegExpValidator *validator =
+ new QRegExpValidator(QRegExp(QLatin1String("([0-9]|[A-F]|[a-f]){1,8}")), editor);
editor->setValidator(validator);
return editor;
@@ -160,8 +161,8 @@ void PathDelegate::setModelData(QWidget *editor,
}
EditorWidget::EditorWidget():m_isModified(false) {
- m_RPropRadio = new QRadioButton("RProperty");
- m_CRepRadio = new QRadioButton("CRepository");
+ m_RPropRadio = new QRadioButton(QLatin1String("RProperty"));
+ m_CRepRadio = new QRadioButton(QLatin1String("CRepository"));
QButtonGroup *targetGroup = new QButtonGroup(this);
targetGroup->addButton(m_CRepRadio);
targetGroup->addButton(m_RPropRadio);
@@ -173,12 +174,13 @@ EditorWidget::EditorWidget():m_isModified(false) {
targetLayout->addWidget(m_CRepRadio);
m_RPropRadio->setChecked(true);
- m_repoLabel = new QLabel("Category ID", this);
+ m_repoLabel = new QLabel(tr("Category ID"), this);
m_repoUID = new QLineEdit(this);
- QRegExpValidator *validator = new QRegExpValidator(QRegExp("([0-9]|[A-F]|[a-f]){1,8}"), this);
+ QRegExpValidator *validator =
+ new QRegExpValidator(QRegExp(QLatin1String("([0-9]|[A-F]|[a-f]){1,8}")), this);
m_repoUID->setValidator(validator);
connect(m_repoUID, SIGNAL(textEdited(const QString &)), this, SLOT(setModified()));
- m_repoUID->setToolTip("Must be a hexidecimal number no longer than 8 digits");
+ m_repoUID->setToolTip(tr("Must be a hexidecimal number no longer than 8 digits"));
QHBoxLayout *repoLayout = new QHBoxLayout;
repoLayout->addWidget(m_repoLabel);
@@ -241,15 +243,15 @@ void EditorWidget::addRow()
QTableWidgetItem *item;
item = new QTableWidgetItem;
- item->setToolTip("Must be a hexidecimal number no longer than 8 digits");
+ item->setToolTip(tr("Must be a hexidecimal number no longer than 8 digits"));
m_tableWidget->setItem(row, EditorWidget::KeyId, item);
- item = new QTableWidgetItem("/");
- item->setToolTip("Must not be empty and must start with a /");
+ item = new QTableWidgetItem(QLatin1String("/"));
+ item->setToolTip(tr("Must not be empty and must start with a /"));
m_tableWidget->setItem(row, EditorWidget::Path, item);
#ifdef INCL_TYPE
- item = new QTableWidgetItem("int");
+ item = new QTableWidgetItem(tr("int"));
m_tableWidget->setItem(row, EditorWidget::Type, item);
#endif
@@ -293,19 +295,18 @@ void EditorWidget::save(const QString &filePath)
#ifdef INCL_TYPE
QString type;
#endif
- QString documentStart("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ QString documentStart(QLatin1String("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"));
file.write(documentStart.toUtf8());
- QString repositoryElementStart("<repository target=\"%1\" uidValue=\"0x%2\">\n");
- QString target = m_RPropRadio->isChecked()?"RProperty":"CRepository";
+ QString repositoryElementStart(QLatin1String("<repository target=\"%1\" uidValue=\"0x%2\">\n"));
+ QString target = m_RPropRadio->isChecked() ? QLatin1String("RProperty") : QLatin1String("CRepository");
file.write(repositoryElementStart.arg(target).arg(repoUID).toUtf8());
#ifdef INCL_TYPE
- QString keyElementStart(" <key int=\"0x%1\" type=\"%2\" ref=\"%3\">\n");
+ QString keyElementStart(QLatin1String(" <key int=\"0x%1\" type=\"%2\" ref=\"%3\">\n"));
#else
-
- QString keyElementStart(" <key int=\"0x%1\" ref=\"%2\">\n");
+ QString keyElementStart(QLatin1String(" <key int=\"0x%1\" ref=\"%2\">\n"));
#endif
- QString keyElementEnd(" </key>\n");
+ QString keyElementEnd(QLatin1String(" </key>\n"));
for(int i=0; i < m_tableWidget->rowCount(); i++) {
keyId = m_tableWidget->item(i, EditorWidget::KeyId)->text();
@@ -320,7 +321,7 @@ void EditorWidget::save(const QString &filePath)
file.write(keyElementEnd.toUtf8());
}
- QString repositoryElementEnd("</repository>\n");
+ QString repositoryElementEnd(QLatin1String("</repository>\n"));
file.write(repositoryElementEnd.toUtf8());
file.close();
setModified(false);
@@ -414,7 +415,10 @@ bool EditorWidget::verifyContents()
QString repoUID = m_repoUID->text();
if (!checkID(repoUID)) {
- QMessageBox::warning(this, "Invalid input", m_repoLabel->text() + "field is invalid, it must be a hexidecimal number no longer than 8 digits");
+ QMessageBox::warning(this, tr("Invalid input"),
+ tr("The '%1' field is invalid, "
+ "it must be a hexidecimal number no longer than 8 digits.")
+ .arg(m_repoLabel->text()));
m_repoUID->setFocus();
return false;
}
@@ -435,7 +439,7 @@ bool EditorWidget::verifyContents()
}
path = m_tableWidget->item(i, EditorWidget::Path)->text();
- if (path.isEmpty() || !path.startsWith("/")) {
+ if (path.isEmpty() || !path.startsWith(QLatin1Char('/'))) {
QMessageBox::warning(this, tr("Invalid Path"),
tr("The Key Path field is invalid, it must not be empty and start with a /"));
m_tableWidget->setCurrentCell(i, EditorWidget::Path);
@@ -501,9 +505,9 @@ void EditorWidget::moveRowDown()
void EditorWidget::targetChanged(QAbstractButton *button)
{
if (button == m_RPropRadio)
- m_repoLabel->setText("Category ID");
+ m_repoLabel->setText(tr("Category ID"));
else
- m_repoLabel->setText("Repository ID");
+ m_repoLabel->setText(tr("Repository ID"));
}
QCrmlGenerator::QCrmlGenerator()
@@ -571,7 +575,7 @@ void QCrmlGenerator::saveFileAs()
{
if (m_editorWidget->verifyContents()) {
QFileDialog saveDialog(this, tr("Save As"), QString(), tr("QCrml (*.qcrml);;Any Files (*)"));
- saveDialog.setDefaultSuffix("qcrml");
+ saveDialog.setDefaultSuffix(QLatin1String("qcrml"));
saveDialog.setFileMode(QFileDialog::AnyFile);
saveDialog.setAcceptMode(QFileDialog::AcceptSave);
if (saveDialog.exec() == QDialog::Accepted) {
diff --git a/tools/qcrmlgen/qcrmlgen.h b/tools/qcrmlgen/qcrmlgen.h
index bbd5454ee1..d54d0f8a58 100644
--- a/tools/qcrmlgen/qcrmlgen.h
+++ b/tools/qcrmlgen/qcrmlgen.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicefw/servicefw.cpp b/tools/servicefw/servicefw.cpp
index fec5f24e1f..355d3d7495 100644
--- a/tools/servicefw/servicefw.cpp
+++ b/tools/servicefw/servicefw.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/errorcollector.cpp b/tools/servicexmlgen/errorcollector.cpp
index 13f59103a4..56c835ee89 100644
--- a/tools/servicexmlgen/errorcollector.cpp
+++ b/tools/servicexmlgen/errorcollector.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/errorcollector.h b/tools/servicexmlgen/errorcollector.h
index ad78df20d3..894671f409 100644
--- a/tools/servicexmlgen/errorcollector.h
+++ b/tools/servicexmlgen/errorcollector.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/interfacestabwidget.cpp b/tools/servicexmlgen/interfacestabwidget.cpp
index 7ffbb7e94a..37b6b4e404 100644
--- a/tools/servicexmlgen/interfacestabwidget.cpp
+++ b/tools/servicexmlgen/interfacestabwidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/interfacestabwidget.h b/tools/servicexmlgen/interfacestabwidget.h
index 765254a480..94f3fc8541 100644
--- a/tools/servicexmlgen/interfacestabwidget.h
+++ b/tools/servicexmlgen/interfacestabwidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/interfacewidget.cpp b/tools/servicexmlgen/interfacewidget.cpp
index f3bff0c373..7d6e9c60b4 100644
--- a/tools/servicexmlgen/interfacewidget.cpp
+++ b/tools/servicexmlgen/interfacewidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/interfacewidget.h b/tools/servicexmlgen/interfacewidget.h
index e0f7b3bbeb..a5e5d7cf9d 100644
--- a/tools/servicexmlgen/interfacewidget.h
+++ b/tools/servicexmlgen/interfacewidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/mandatorylineedit.cpp b/tools/servicexmlgen/mandatorylineedit.cpp
index 263cf5789d..6f2e207769 100644
--- a/tools/servicexmlgen/mandatorylineedit.cpp
+++ b/tools/servicexmlgen/mandatorylineedit.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/mandatorylineedit.h b/tools/servicexmlgen/mandatorylineedit.h
index 28984ce480..f2b09ea052 100644
--- a/tools/servicexmlgen/mandatorylineedit.h
+++ b/tools/servicexmlgen/mandatorylineedit.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/servicewidget.cpp b/tools/servicexmlgen/servicewidget.cpp
index 856e37c610..cb418e89e8 100644
--- a/tools/servicexmlgen/servicewidget.cpp
+++ b/tools/servicexmlgen/servicewidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/servicewidget.h b/tools/servicexmlgen/servicewidget.h
index dbbeee0127..96f3daed54 100644
--- a/tools/servicexmlgen/servicewidget.h
+++ b/tools/servicexmlgen/servicewidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/servicexmlgen.cpp b/tools/servicexmlgen/servicexmlgen.cpp
index 02c2756cfd..4e757ee219 100644
--- a/tools/servicexmlgen/servicexmlgen.cpp
+++ b/tools/servicexmlgen/servicexmlgen.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/servicexmlgen/servicexmlgen.h b/tools/servicexmlgen/servicexmlgen.h
index b916420aae..4a3b8d85de 100644
--- a/tools/servicexmlgen/servicexmlgen.h
+++ b/tools/servicexmlgen/servicexmlgen.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/tools/vsexplorer/vsexplorer.cpp b/tools/vsexplorer/vsexplorer.cpp
index 5546c692d7..e74355dcd3 100644
--- a/tools/vsexplorer/vsexplorer.cpp
+++ b/tools/vsexplorer/vsexplorer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -160,7 +160,7 @@ private:
};
VSExplorer::VSExplorer()
-: isSuppress(false), pwd("/"), prov("/")
+: isSuppress(false), pwd(QLatin1String("/")), prov(QLatin1String("/"))
{
}
@@ -178,7 +178,7 @@ void VSExplorer::interestChanged(const QString &attribute, bool interested)
static QString variantToString( const QVariant& var )
{
if ( var.type() == QVariant::StringList )
- return var.toStringList().join(", ");
+ return var.toStringList().join(QLatin1String(", "));
else
return var.toString();
}
@@ -234,8 +234,6 @@ void VSExplorer::ls(const QString &abs, bool all)
void VSExplorer::lsPath(QValueSpaceSubscriber * p, int indent, bool showHidden)
{
- QStringList paths = p->subPaths();
-
QVariant var = p->value();
bool spaceRequired = false;
if(!var.isNull()) {
@@ -244,8 +242,8 @@ void VSExplorer::lsPath(QValueSpaceSubscriber * p, int indent, bool showHidden)
spaceRequired = true;
}
- foreach(QString path, paths) {
- if(!showHidden && path.startsWith("."))
+ foreach (const QString &path, p->subPaths()) {
+ if (!showHidden && path.startsWith(QLatin1Char('.')))
continue;
if(spaceRequired) {
@@ -370,142 +368,146 @@ void VSExplorer::suppress()
void VSExplorer::set(const QString &name, const QString &value)
{
- if('/' == *name.constData())
+ if (name.startsWith(QLatin1Char('/')))
prov.setValue(name, value);
- else if(pwd.path().endsWith("/"))
+ else if (pwd.path().endsWith(QLatin1Char('/')))
prov.setValue(pwd.path() + name, value);
else
- prov.setValue(pwd.path() + "/" + name, value);
+ prov.setValue(pwd.path() + QLatin1Char('/') + name, value);
}
void VSExplorer::clear(const QString &name)
{
- if('/' == *name.constData())
+ if (name.startsWith(QLatin1Char('/')))
prov.resetValue(name);
- else if(pwd.path().endsWith("/"))
+ else if (pwd.path().endsWith(QLatin1Char('/')))
prov.resetValue(pwd.path() + name);
else
- prov.resetValue(pwd.path() + "/" + name);
+ prov.resetValue(pwd.path() + QLatin1Char('/') + name);
}
void VSExplorer::processLine(const QString &line)
{
- QStringList cmds = line.trimmed().split(' ');
+ QStringList cmds = line.trimmed().split(QLatin1Char(' '));
if(cmds.isEmpty()) {
return;
}
const QString & cmd = cmds.at(0);
- if(cmd == "ls" && 1 == cmds.count()) {
+ if (cmd.isEmpty()) {
+
+ } else if (cmd == QLatin1String("ls") && 1 == cmds.count()) {
ls();
- } else if(cmd == "dump") {
+ } else if (cmd == QLatin1String("dump")) {
dump();
- } else if(cmd == "pwd") {
+ } else if (cmd == QLatin1String("pwd")) {
pwdCmd();
- } else if(cmd == "ls" && 2 <= cmds.count()) {
+ } else if (cmd == QLatin1String("ls") && 2 <= cmds.count()) {
QStringList newCmds = cmds;
newCmds.removeFirst();
bool lsAll = false;
- if(newCmds.first() == "-a") {
+ if (newCmds.first() == QLatin1String("-a")) {
lsAll = true;
newCmds.removeFirst();
}
- QString newPath = newCmds.join(" ");
- if(newPath.startsWith("\"") && newPath.endsWith("\"")) {
+ QString newPath = newCmds.join(QLatin1String(" "));
+ if (newPath.startsWith(QLatin1Char('"')) && newPath.endsWith(QLatin1Char('"'))) {
newPath = newPath.mid(1);
newPath = newPath.left(newPath.length() - 1);
}
if(newPath.isEmpty()) {
- ls(pwd.path().toAscii(), lsAll);
- } else if(newPath.startsWith("/")) {
- ls(newPath.toAscii(), lsAll);
+ ls(pwd.path(), lsAll);
+ } else if (newPath.startsWith(QLatin1Char('/'))) {
+ ls(newPath, lsAll);
} else {
QString oldPath = pwd.path();
- if(!oldPath.endsWith("/"))
- oldPath.append("/");
+ if (!oldPath.endsWith(QLatin1Char('/')))
+ oldPath.append(QLatin1Char('/'));
oldPath.append(newPath);
oldPath = QDir::cleanPath(oldPath);
- ls(oldPath.toAscii(), lsAll);
+ ls(oldPath, lsAll);
}
- } else if(cmd == "cd" && 2 <= cmds.count()) {
+ } else if (cmd == QLatin1String("cd") && 2 <= cmds.count()) {
QStringList newCmds = cmds;
newCmds.removeFirst();
- QString newPath = newCmds.join(" ");
- if(newPath.startsWith("\"") && newPath.endsWith("\"")) {
+ QString newPath = newCmds.join(QLatin1String(" "));
+ if (newPath.startsWith(QLatin1Char('"')) && newPath.endsWith(QLatin1Char('"'))) {
newPath = newPath.mid(1);
newPath = newPath.left(newPath.length() - 1);
}
- if(newPath.startsWith("/")) {
+ if (newPath.startsWith(QLatin1Char('/'))) {
pwd.setPath(newPath);
} else {
QString oldPath = pwd.path();
- if(!oldPath.endsWith("/"))
- oldPath.append("/");
+ if (!oldPath.endsWith(QLatin1Char('/')))
+ oldPath.append(QLatin1Char('/'));
oldPath.append(newPath);
oldPath = QDir::cleanPath(oldPath);
pwd.setPath(oldPath);
}
- } else if(cmd == "unwatch" && 2 <= cmds.count()) {
+ } else if (cmd == QLatin1String("unwatch") && 2 <= cmds.count()) {
QStringList newCmds = cmds;
newCmds.removeFirst();
- QString newPath = newCmds.join(" ");
+ QString newPath = newCmds.join(QLatin1String(" "));
QString finalPath;
- if(newPath.startsWith("\"") && newPath.endsWith("\"")) {
+ if (newPath.startsWith(QLatin1Char('"')) && newPath.endsWith(QLatin1Char('"'))) {
newPath = newPath.mid(1);
newPath = newPath.left(newPath.length() - 1);
}
- if(newPath.startsWith("/")) {
+ if (newPath.startsWith(QLatin1Char('/'))) {
finalPath = QValueSpaceSubscriber(newPath).path();
} else {
QString oldPath = pwd.path();
- if(!oldPath.endsWith("/"))
- oldPath.append("/");
+ if (!oldPath.endsWith(QLatin1Char('/')))
+ oldPath.append(QLatin1Char('/'));
oldPath.append(newPath);
oldPath = QDir::cleanPath(oldPath);
finalPath = QValueSpaceSubscriber(oldPath).path();
}
- unwatch(finalPath.toUtf8());
- } else if(cmd == "watch" && 2 <= cmds.count()) {
+ unwatch(finalPath);
+ } else if (cmd == QLatin1String("watch") && 2 <= cmds.count()) {
QStringList newCmds = cmds;
newCmds.removeFirst();
- QString newPath = newCmds.join(" ");
+ QString newPath = newCmds.join(QLatin1String(" "));
QString finalPath;
- if(newPath.startsWith("\"") && newPath.endsWith("\"")) {
+ if (newPath.startsWith(QLatin1Char('"')) && newPath.endsWith(QLatin1Char('"'))) {
newPath = newPath.mid(1);
newPath = newPath.left(newPath.length() - 1);
}
- if(newPath.startsWith("/")) {
+ if (newPath.startsWith(QLatin1Char('/'))) {
finalPath = QValueSpaceSubscriber(newPath).path();
} else {
QString oldPath = pwd.path();
- if(!oldPath.endsWith("/"))
- oldPath.append("/");
+ if (!oldPath.endsWith(QLatin1Char('/')))
+ oldPath.append(QLatin1Char('/'));
oldPath.append(newPath);
oldPath = QDir::cleanPath(oldPath);
finalPath = QValueSpaceSubscriber(oldPath).path();
}
- watch(finalPath.toUtf8());
- } else if(cmd == "set" && 3 == cmds.count()) {
+ watch(finalPath);
+ } else if (cmd == QLatin1String("set") && 3 == cmds.count()) {
set(cmds.at(1).trimmed(), cmds.at(2).trimmed());
- } else if(cmd == "clear" && 2 == cmds.count()) {
+ } else if (cmd == QLatin1String("clear") && 2 == cmds.count()) {
clear(cmds.at(1).trimmed());
- } else if((cmd == "subscribe" || cmd == "sub") && 1 == cmds.count()) {
+ } else if ((cmd == QLatin1String("subscribe") || cmd == QLatin1String("sub")) &&
+ 1 == cmds.count()) {
subscribe();
- } else if((cmd == "unsubscribe" || cmd == "unsub") && 1 == cmds.count()) {
+ } else if ((cmd == QLatin1String("unsubscribe") || cmd == QLatin1String("unsub")) &&
+ 1 == cmds.count()) {
unsubscribe();
- } else if((cmd == "?" || cmd == "help") && 1 == cmds.count()) {
+ } else if ((cmd == QLatin1String("?") || cmd == QLatin1String("help")) && 1 == cmds.count()) {
printHelp();
- } else if((cmd == "quit" || cmd == "exit") && 1 == cmds.count()) {
+ } else if ((cmd == QLatin1String("quit") || cmd == QLatin1String("exit")) &&
+ 1 == cmds.count()) {
quit();
- } else if((cmd == "suppress") && 1 == cmds.count()) {
+ } else if (cmd == QLatin1String("suppress") && 1 == cmds.count()) {
suppress();
- } else if((cmd == "watchers") && 1 == cmds.count()) {
+ } else if (cmd == QLatin1String("watchers") && 1 == cmds.count()) {
listwatchers();
- } else if((cmd == "subscriptions") && 1 == cmds.count()) {
+ } else if (cmd == QLatin1String("subscriptions") && 1 == cmds.count()) {
subscriptions();
- } else if(cmd.isEmpty()) {
} else {
printError();
}
@@ -666,10 +668,10 @@ char * item_generator(const char * t, int num)
QString vsBase;
- if(*textBase.constData() != '/') {
+ if (!textBase.startsWith(QLatin1Char('/'))) {
QString in = vse->path();
- if(!in.endsWith("/"))
- vsBase = in + "/" + textBase;
+ if (!in.endsWith(QLatin1Char('/')))
+ vsBase = in + QLatin1Char('/') + textBase;
else
vsBase = in + textBase;
} else {
@@ -685,9 +687,9 @@ char * item_generator(const char * t, int num)
QString completion;
completion.append(textBase);
if(!completion.isEmpty())
- completion.append("/");
+ completion.append(QLatin1Char('/'));
completion.append(child.toAscii());
- completion.append("/");
+ completion.append(QLatin1Char('/'));
children.append(completion);
}
}
@@ -808,7 +810,7 @@ int main(int argc, char ** argv)
QValueSpace::initValueSpaceServer();
if(dump) {
- QValueSpaceSubscriber subscriber("/");
+ QValueSpaceSubscriber subscriber(QLatin1String("/"));
dodump(&subscriber);
return 0;
} else {
diff --git a/translations/qtmobility_ar.ts b/translations/qtmobility_ar.ts
new file mode 100644
index 0000000000..427cbcfa44
--- /dev/null
+++ b/translations/qtmobility_ar.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ar_SA">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_cs.ts b/translations/qtmobility_cs.ts
new file mode 100644
index 0000000000..de0983cd40
--- /dev/null
+++ b/translations/qtmobility_cs.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="cs_CZ">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_da.ts b/translations/qtmobility_da.ts
new file mode 100644
index 0000000000..89539e1b89
--- /dev/null
+++ b/translations/qtmobility_da.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="da_DK">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_de.ts b/translations/qtmobility_de.ts
new file mode 100644
index 0000000000..3561f682f1
--- /dev/null
+++ b/translations/qtmobility_de.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de_DE">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_es.ts b/translations/qtmobility_es.ts
new file mode 100644
index 0000000000..6caeb35644
--- /dev/null
+++ b/translations/qtmobility_es.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="es_ES">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_fr.ts b/translations/qtmobility_fr.ts
new file mode 100644
index 0000000000..38b0b443ee
--- /dev/null
+++ b/translations/qtmobility_fr.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_he.ts b/translations/qtmobility_he.ts
new file mode 100644
index 0000000000..ea5fd41283
--- /dev/null
+++ b/translations/qtmobility_he.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="he_IL">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_hu.ts b/translations/qtmobility_hu.ts
new file mode 100644
index 0000000000..a2651da483
--- /dev/null
+++ b/translations/qtmobility_hu.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="hu_HU">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_ja_JP.ts b/translations/qtmobility_ja_JP.ts
new file mode 100644
index 0000000000..1fcdd5d890
--- /dev/null
+++ b/translations/qtmobility_ja_JP.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ja_JP">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_pl.ts b/translations/qtmobility_pl.ts
new file mode 100644
index 0000000000..7245ee043a
--- /dev/null
+++ b/translations/qtmobility_pl.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl_PL">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_pt.ts b/translations/qtmobility_pt.ts
new file mode 100644
index 0000000000..ff546cf6c8
--- /dev/null
+++ b/translations/qtmobility_pt.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pt_PT">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_ru.ts b/translations/qtmobility_ru.ts
new file mode 100644
index 0000000000..62815ebf8c
--- /dev/null
+++ b/translations/qtmobility_ru.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_sk.ts b/translations/qtmobility_sk.ts
new file mode 100644
index 0000000000..8be183e345
--- /dev/null
+++ b/translations/qtmobility_sk.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sk_SK">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_sl.ts b/translations/qtmobility_sl.ts
new file mode 100644
index 0000000000..1ad9ac2733
--- /dev/null
+++ b/translations/qtmobility_sl.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sl_SI">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_sv.ts b/translations/qtmobility_sv.ts
new file mode 100644
index 0000000000..aea1607bec
--- /dev/null
+++ b/translations/qtmobility_sv.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sv_SE">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_uk.ts b/translations/qtmobility_uk.ts
new file mode 100644
index 0000000000..cb2a459627
--- /dev/null
+++ b/translations/qtmobility_uk.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="uk_UA">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_zh_CN.ts b/translations/qtmobility_zh_CN.ts
new file mode 100644
index 0000000000..22bd533f97
--- /dev/null
+++ b/translations/qtmobility_zh_CN.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qtmobility_zh_TW.ts b/translations/qtmobility_zh_TW.ts
new file mode 100644
index 0000000000..8c4c95df6b
--- /dev/null
+++ b/translations/qtmobility_zh_TW.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
+<context>
+ <name>AudioCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audiocapturesession.cpp" line="+141"/>
+ <source>RAW file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>WAV file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AudioEncoderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/audiocapture/audioencodercontrol.cpp" line="+87"/>
+ <source>PCM audio data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerAudioEncode</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreameraudioencode_maemo.cpp" line="+68"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreameraudioencode.cpp" line="+83"/>
+ <source>Raw PCM audio</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerCaptureSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamercapturesession.cpp" line="+200"/>
+ <source>Could not create an audio source element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+244"/>
+ <source>Failed to build media capture pipeline.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+271"/>
+ <location line="+16"/>
+ <source>Unable to play %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerRecorderControl</name>
+ <message>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/maemo/qgstreamerrecordercontrol_maemo.cpp" line="+108"/>
+ <location line="+8"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+109"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <location filename="../plugins/multimedia/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp" line="+92"/>
+ <source>Not compatible codecs and container format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplayer.cpp" line="+475"/>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <location filename="../src/multimedia/qmediaplaylist.cpp" line="+449"/>
+ <location line="+46"/>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <location line="+46"/>
+ <source>Playlist format is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>The file could not be accessed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Playlist format is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QMessage</name>
+ <message>
+ <location filename="../src/messaging/qmessage_qmf.cpp" line="+597"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+534"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+1"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location filename="../src/messaging/qmessage_win.cpp" line="+66"/>
+ <source>On %1 you wrote:
+&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/messaging/qmessage_win.cpp" line="-70"/>
+ <source>Forwarded Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkConfigurationManagerPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworkconfigmanager_p.cpp" line="+178"/>
+ <source>Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivate</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_p.cpp" line="+301"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+265"/>
+ <source>Unknown session error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/bearer/qnetworksession_s60_p.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../src/bearer/qnetworksession_maemo.cpp" line="+993"/>
+ <source>Roaming error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_unix.cpp" line="+237"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: unable to make key file for key: %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: ftok failed for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock:QSystemReadWriteLock: Unable to access semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to reset semaphore set for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>QSystemReadWriteLock::QSystemReadWriteLock: Unable to increment NumInstances semaphore for key%1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForRead: Unable to lock for read for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>QSystemReadWriteLock::lockForWrite: Unable to lock for write for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not increment TotalWriters semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not detect if all readers were finished for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>QSystemReadWriteLock::lockForWrite: Could not decrement ActiveWriterSem semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>QSystemReadWriteLock::unlock: Unable to unlock for key %1(Lock had not been correctly initialized)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>QSystemSemaphoreWriteLock::unlock: Unable to check and update writer semaphores for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>QSystemReadWriteLock::unlock: Unable to decrement ActiveReaders semaphore for key %1(%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/publishsubscribe/qsystemreadwritelock_win.cpp" line="+105"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to create/attach to shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>QSystemReadWriteLockPrivate::QSystemReadWriteLockPrivate: Unable to initialize shared memory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>QSystemReadWriteLock::lockForRead(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>QSystemReadWriteLock::lockForWrite(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+39"/>
+ <source>QSystemReadWriteLock::lockForwrite(): cannot perform operation, locking of shared memory was unsuccessful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-6"/>
+ <source>QSystemReadWriteLock::unlock(): cannot peform operation, lock initialization had not been successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QXARecordSession</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/openmaxal/mediarecorder/qxarecordsession.cpp" line="+60"/>
+ <location line="+11"/>
+ <source>Service has not been started</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Unable to start Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+48"/>
+ <source>Generic error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Unable to stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Resources Unavailable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <source>Invalid endpoint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <location line="+12"/>
+ <source>Invalid container</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Invalid bitrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid channel count</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid codec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid encoding quality setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <location line="+14"/>
+ <location line="+14"/>
+ <source>Invalid encoding mode setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-23"/>
+ <location line="+14"/>
+ <source>Internal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid sample rate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>S60MediaPlayerControl</name>
+ <message>
+ <location filename="../plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp" line="+229"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/translations.pri b/translations/translations.pri
new file mode 100644
index 0000000000..aae1062120
--- /dev/null
+++ b/translations/translations.pri
@@ -0,0 +1,31 @@
+defineReplace(prependAll) {
+ prepend = $$1
+ arglist = $$2
+ append = $$3
+ for(a,arglist) {
+ result += $${prepend}$${a}$${append}
+ }
+ return ($$result)
+}
+
+qtPrepareTool(LUPDATE, lupdate)
+LUPDATE += -locations relative -no-ui-lines
+
+QTMOBILITY_TS = ar cs da de es fr he hu ja_JP pl pt ru sk sl sv uk zh_CN zh_TW
+
+lupdate.commands = (cd $$QT_MOBILITY_SOURCE_TREE && $$LUPDATE \
+ -I../include \
+ src/bearer \
+ src/contacts \
+ src/location \
+ src/messaging \
+ src/multimedia \
+ src/publishsubscribe \
+ src/sensors \
+ src/serviceframework \
+ src/systeminfo \
+ src/versit \
+ plugins \
+ -ts $$prependAll($$QT_MOBILITY_SOURCE_TREE/translations/qtmobility_,$$QTMOBILITY_TS,.ts))
+
+QMAKE_EXTRA_TARGETS += lupdate
diff --git a/translations/translations.pro b/translations/translations.pro
new file mode 100644
index 0000000000..0daa888a59
--- /dev/null
+++ b/translations/translations.pro
@@ -0,0 +1,50 @@
+include(../staticconfig.pri)
+
+#most of this is shamelessly copied from Qt
+
+include(translations.pri) # for "make lupdate" rule
+
+TRANSLATIONS = $$files(*.ts)
+
+qtPrepareTool(LRELEASE, lrelease)
+
+contains(TEMPLATE_PREFIX, vc):vcproj = 1
+
+TEMPLATE = app
+TARGET = qm_phony_target
+CONFIG -= qt separate_debug_info sis_targets
+CONFIG += no_icon
+QT =
+LIBS =
+
+updateqm.input = TRANSLATIONS
+updateqm.output = ${QMAKE_FILE_BASE}.qm
+isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
+updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
+silent:updateqm.commands = @echo lrelease ${QMAKE_FILE_IN} && $$updateqm.commands
+updateqm.name = LRELEASE ${QMAKE_FILE_IN}
+updateqm.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += updateqm
+
+isEmpty(vcproj) {
+ QMAKE_LINK = @: IGNORE THIS LINE
+ OBJECTS_DIR =
+ win32:CONFIG -= embed_manifest_exe
+} else {
+ CONFIG += console
+ PHONY_DEPS = .
+ phony_src.input = PHONY_DEPS
+ phony_src.output = phony.c
+ phony_src.variable_out = GENERATED_SOURCES
+ phony_src.commands = echo int main() { return 0; } > phony.c
+ phony_src.name = CREATE phony.c
+ phony_src.CONFIG += combine
+ QMAKE_EXTRA_COMPILERS += phony_src
+}
+
+translations.path = $${QT_MOBILITY_PREFIX}/translations
+translations.files = $$TRANSLATIONS
+translations.files ~= s,\\.ts$,.qm,g
+translations.files ~= s,^,$$OUT_PWD/,g
+translations.CONFIG += no_check_exist
+INSTALLS += translations